diff --git a/.github/workflows/main_deploy.yaml b/.github/workflows/main_deploy.yaml index 6bda0c1db..46f909e1f 100644 --- a/.github/workflows/main_deploy.yaml +++ b/.github/workflows/main_deploy.yaml @@ -79,5 +79,7 @@ jobs: with: name: web path: build/web + - name: Update packages + run: flutter pub get - name: Update sentry run: flutter packages pub run sentry_dart_plugin diff --git a/assets/l10n/intl_en.arb b/assets/l10n/intl_en.arb index 056c6a347..7f44188a6 100644 --- a/assets/l10n/intl_en.arb +++ b/assets/l10n/intl_en.arb @@ -2894,21 +2894,23 @@ "type": "text", "placeholders": {} }, - "helpMeTranslate": "Help me translate!", + "helpMeTranslate": "Yes!", "@helpMeTranslate": { "type": "text", "placeholders": {} }, - "needsItShortMessage": "Try interactive translation!", + "needsItShortMessage": "Out of target", "needsIGCShortMessage": "Try interactive grammar assistance!", "@needsItShortMessage": { "type": "text", "placeholders": {} }, - "needsItMessage": "This message has too many words in your base language.", + "needsItMessage": "Wait, that's not {targetLanguage}! Do you need help translating?", "@needsItMessage": { "type": "text", - "placeholders": {} + "placeholders": { + "targetLanguage": {} + } }, "needsIgcMessage": "This message has a grammar error.", "tokenTranslationTitle": "A word is in your base language.", @@ -3109,7 +3111,7 @@ "prettyGood": "Pretty good! Here's what I would have said.", "letMeThink": "Hmm, let's see how you did!", "clickMessageTitle": "Need help?", - "clickMessageBody": "Click messages to access definitions, translations, and audio!", + "clickMessageBody": "Click a message for language help! Click and hold to react 😀.", "understandingMessagesTitle": "Definitions and translations!", "understandingMessagesBody": "Click underlined words for definitions. Translate with message options (upper right).", "allDone": "All done!", @@ -3998,6 +4000,10 @@ "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel": "Hours between discussion prompts", "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel": "Responds on ⏩ reaction", "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel": "Reaction to send discussion prompt", + "conversationBotCustomZone_title": "Custom Settings", + "conversationBotCustomZone_customSystemPromptLabel": "System prompt", + "conversationBotCustomZone_customSystemPromptPlaceholder": "Set custom system prompt", + "conversationBotCustomZone_customTriggerReactionEnabledLabel": "Responds on ⏩ reaction", "addConversationBotDialogTitleInvite": "Confirm inviting conversation bot", "addConversationBotButtonInvite": "Invite", "addConversationBotDialogInviteConfirmation": "Invite", @@ -4010,9 +4016,9 @@ "wordsPerMinute": "Words per minute", "autoIGCToolName": "Run Language Assistance Automatically", "autoIGCToolDescription": "Automatically run language assistance after typing messages", - "runGrammarCorrection": "Run grammar correction", + "runGrammarCorrection": "Check message", "grammarCorrectionFailed": "Issues to address", - "grammarCorrectionComplete": "Grammar correction complete", + "grammarCorrectionComplete": "Looks good!", "leaveRoomDescription": "The chat will be moved to the archive. Other users will be able to see that you have left the chat.", "archiveSpaceDescription": "All chats within this space will be moved to the archive for yourself and other non-admin users.", "leaveSpaceDescription": "All chats within this space will be moved to the archive. Other users will be able to see that you have left the space.", @@ -4058,5 +4064,26 @@ "suggestToSpaceDesc": "Suggested spaces will appear in the chat lists for their parent spaces", "practice": "Practice", "noLanguagesSet": "No languages set", - "noActivitiesFound": "No practice activities found for this message" + "noActivitiesFound": "No practice activities found for this message", + "hintTitle": "Hint:", + "speechToTextBody": "See how well you did by looking at your Accuracy and Words Per Minute scores", + "previous": "Previous", + "languageButtonLabel": "Language: {currentLanguage}", + "@languageButtonLabel": { + "type": "text", + "placeholders": { + "currentLanguage": {} + } + }, + "interactiveTranslatorAutoPlaySliderHeader": "Autoplay translation", + "@interactiveTranslatorAutoPlaySliderHeader": { + "type": "text", + "placeholders": {} + }, + "interactiveTranslatorAutoPlayDesc": "Launches the interactive translator without asking.", + "@interactiveTranslatorAutoPlayDesc": { + "type": "text", + "placeholders": {} + }, + "changeAnalyticsView": "Change Analytics View" } \ No newline at end of file diff --git a/assets/l10n/intl_es.arb b/assets/l10n/intl_es.arb index 0658bff50..ac6b30c76 100644 --- a/assets/l10n/intl_es.arb +++ b/assets/l10n/intl_es.arb @@ -3064,6 +3064,17 @@ "type": "text", "placeholders": {} }, + "interactiveTranslatorAutoPlaySliderHeader": "Traducción de reproducción automática", + "interactiveTranslatorAutoPlay": "Traductora interactiva de reproducción automática", + "@interactiveTranslatorAutoPlay": { + "type": "text", + "placeholders": {} + }, + "interactiveTranslatorAutoPlayDesc": "Inicia el traductor interactivo sin preguntar.", + "@interactiveTranslatorAutoPlayDesc": { + "type": "text", + "placeholders": {} + }, "grammarAssistance": "Asistencia gramatical", "@grammarAssistance": { "type": "text", @@ -3126,10 +3137,16 @@ "translationSeemsFinished": "La traducción parece estar terminada.", "needsItShortMessage": "¡Pruebe la traducción interactiva!", "needsIGCShortMessage": "¡Pruebe el corrector gramatical interactivo!", - "needsItMessage": "Este mensaje tiene demasiadas palabras en su idioma base.", + "needsItMessage": "Espera, ¡ese no es {targetLanguage}! ¿Necesitas ayuda para traducir?", + "@needsItMessage": { + "type": "text", + "placeholders": { + "targetLanguage": {} + } + }, "needsIgcMessage": "Este mensaje tiene un error gramatical.", "tokenTranslationTitle": "Una palabra está en su idioma base.", - "helpMeTranslate": "¡Ayúdeme a traducir!", + "helpMeTranslate": "¡Sí!", "setToPublicSettingsTitle": "¿Quiere encontrar un compañero de conversación?", "setToPublicSettingsDesc": "Antes de que pueda buscar un compañero de conversación, debe configurar la visibilidad de su perfil como pública.", "publicProfileTitle": "Perfil público", @@ -4512,7 +4529,7 @@ "definitions": "definiciones", "subscribedToUnlockTools": "Suscríbase para desbloquear herramientas lingüísticas, como", "clickMessageTitle": "¿Necesitas ayuda?", - "clickMessageBody": "Haga clic en los mensajes para acceder a las definiciones, traducciones y audio.", + "clickMessageBody": "¡Lame un mensaje para obtener ayuda con el idioma! Haz clic y mantén presionado para reaccionar 😀", "more": "Más", "translationTooltip": "Traducir", "audioTooltip": "Reproducir audio", @@ -4609,9 +4626,9 @@ "enterNumber": "Introduzca un valor numérico entero.", "autoIGCToolName": "Ejecutar automáticamente la asistencia lingüística", "autoIGCToolDescription": "Ejecutar automáticamente la asistencia lingüística después de escribir mensajes", - "runGrammarCorrection": "Corregir la gramática", + "runGrammarCorrection": "Comprobar mensaje", "grammarCorrectionFailed": "Cuestiones a tratar", - "grammarCorrectionComplete": "Corrección gramatical completa", + "grammarCorrectionComplete": "¡Se ve bien!", "leaveRoomDescription": "El chat se moverá al archivo. Los demás usuarios podrán ver que has abandonado el chat.", "archiveSpaceDescription": "Todos los chats de este espacio se moverán al archivo para ti y otros usuarios que no sean administradores.", "leaveSpaceDescription": "Todos los chats dentro de este espacio se moverán al archivo. Los demás usuarios podrán ver que has abandonado el espacio.", diff --git a/assets/pangea/bot_faces/pangea_bot.riv b/assets/pangea/bot_faces/pangea_bot.riv new file mode 100644 index 000000000..94244a30f Binary files /dev/null and b/assets/pangea/bot_faces/pangea_bot.riv differ diff --git a/lib/config/routes.dart b/lib/config/routes.dart index eba1ae511..51c631ff3 100644 --- a/lib/config/routes.dart +++ b/lib/config/routes.dart @@ -170,31 +170,11 @@ abstract class AppRoutes { pageBuilder: (context, state) => defaultPageBuilder( context, state, - const StudentAnalyticsPage(), + const StudentAnalyticsPage( + selectedView: BarChartViewSelection.messages, + ), ), redirect: loggedOutRedirect, - routes: [ - GoRoute( - path: 'messages', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const StudentAnalyticsPage( - selectedView: BarChartViewSelection.messages, - ), - ), - ), - GoRoute( - path: 'errors', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const StudentAnalyticsPage( - selectedView: BarChartViewSelection.grammar, - ), - ), - ), - ], ), GoRoute( path: 'analytics', @@ -207,34 +187,13 @@ abstract class AppRoutes { routes: [ GoRoute( path: ':spaceid', - redirect: loggedOutRedirect, pageBuilder: (context, state) => defaultPageBuilder( context, state, - const SpaceAnalyticsPage(), + const SpaceAnalyticsPage( + selectedView: BarChartViewSelection.messages, + ), ), - routes: [ - GoRoute( - path: 'messages', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const SpaceAnalyticsPage( - selectedView: BarChartViewSelection.messages, - ), - ), - ), - GoRoute( - path: 'errors', - pageBuilder: (context, state) => defaultPageBuilder( - context, - state, - const SpaceAnalyticsPage( - selectedView: BarChartViewSelection.grammar, - ), - ), - ), - ], ), ], ), diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 13f09ffb6..5629d809e 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -16,7 +16,6 @@ import 'package:fluffychat/pages/chat/recording_dialog.dart'; import 'package:fluffychat/pages/chat_details/chat_details.dart'; import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; -import 'package:fluffychat/pangea/enum/use_type.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/models/choreo_record.dart'; @@ -586,7 +585,6 @@ class ChatController extends State PangeaMessageTokens? tokensSent, PangeaMessageTokens? tokensWritten, ChoreoRecord? choreo, - UseType? useType, }) async { // Pangea# if (sendController.text.trim().isEmpty) return; @@ -630,7 +628,6 @@ class ChatController extends State tokensSent: tokensSent, tokensWritten: tokensWritten, choreo: choreo, - useType: useType, ) .then( (String? msgEventId) async { @@ -644,7 +641,6 @@ class ChatController extends State GoogleAnalytics.sendMessage( room.id, room.classCode, - useType ?? UseType.un, ); if (msgEventId == null) { diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index 048b54443..24508bb62 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -4,8 +4,8 @@ import 'package:fluffychat/pages/chat/events/message.dart'; import 'package:fluffychat/pages/chat/seen_by_row.dart'; import 'package:fluffychat/pages/chat/typing_indicators.dart'; import 'package:fluffychat/pages/user_bottom_sheet/user_bottom_sheet.dart'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; -import 'package:fluffychat/pangea/utils/instructions.dart'; import 'package:fluffychat/pangea/widgets/chat/locked_chat_message.dart'; import 'package:fluffychat/utils/account_config.dart'; import 'package:fluffychat/utils/adaptive_bottom_sheet.dart'; @@ -46,7 +46,7 @@ class ChatEventList extends StatelessWidget { // card, attach it on top of the first shown message WidgetsBinding.instance.addPostFrameCallback((_) { if (events.isEmpty) return; - controller.pangeaController.instructions.show( + controller.pangeaController.instructions.showInstructionsPopup( context, InstructionsEnum.clickMessage, events[0].eventId, diff --git a/lib/pages/chat/chat_input_row.dart b/lib/pages/chat/chat_input_row.dart index 6bf19a850..2ba6a0957 100644 --- a/lib/pages/chat/chat_input_row.dart +++ b/lib/pages/chat/chat_input_row.dart @@ -1,9 +1,8 @@ import 'package:animations/animations.dart'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart'; -import 'package:fluffychat/pangea/choreographer/widgets/it_bar.dart'; import 'package:fluffychat/pangea/choreographer/widgets/send_button.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/utils/platform_infos.dart'; import 'package:fluffychat/widgets/avatar.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -55,9 +54,6 @@ class ChatInputRow extends StatelessWidget { return Column( children: [ - ITBar( - choreographer: controller.choreographer, - ), Row( // crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.center, diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 5ee52c46b..5b4f96606 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -24,6 +24,7 @@ import 'package:future_loading_dialog/future_loading_dialog.dart'; import 'package:go_router/go_router.dart'; import 'package:matrix/matrix.dart'; +import '../../pangea/choreographer/widgets/it_bar.dart'; import '../../utils/stream_extension.dart'; import 'chat_emoji_picker.dart'; import 'chat_input_row.dart'; @@ -440,6 +441,9 @@ class ChatView extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ const ConnectionStatusHeader(), + ITBar( + choreographer: controller.choreographer, + ), ReactionsPicker(controller), ReplyDisplay(controller), ChatInputRow(controller), diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index c5756438c..3b2c1b2fb 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -470,7 +470,7 @@ class Message extends StatelessWidget { ?.showUseType ?? false) ...[ pangeaMessageEvent! - .useType + .msgUseType .iconView( context, textColor diff --git a/lib/pages/chat_details/chat_details_view.dart b/lib/pages/chat_details/chat_details_view.dart index 2ff139a93..4f4e091d0 100644 --- a/lib/pages/chat_details/chat_details_view.dart +++ b/lib/pages/chat_details/chat_details_view.dart @@ -102,375 +102,171 @@ class ChatDetailsView extends StatelessWidget { backgroundColor: Theme.of(context).appBarTheme.backgroundColor, ), body: MaxWidthBody( - child: ListView.builder( - physics: const NeverScrollableScrollPhysics(), - shrinkWrap: true, - itemCount: members.length + 1 + (canRequestMoreMembers ? 1 : 0), - itemBuilder: (BuildContext context, int i) => i == 0 - ? Column( - crossAxisAlignment: CrossAxisAlignment.stretch, - children: [ - Row( - children: [ - Padding( - padding: const EdgeInsets.all(32.0), - child: Stack( - children: [ - Material( - elevation: Theme.of(context) - .appBarTheme - .scrolledUnderElevation ?? - 4, - shadowColor: Theme.of(context) - .appBarTheme - .shadowColor, - shape: RoundedRectangleBorder( - side: BorderSide( - color: Theme.of(context).dividerColor, + // #Pangea + // Chat description title has its own scrollbar so we disable the parent one + // otherwise they scroll with each other + child: ScrollConfiguration( + behavior: + ScrollConfiguration.of(context).copyWith(scrollbars: false), + // Pangea# + child: ListView.builder( + physics: const NeverScrollableScrollPhysics(), + shrinkWrap: true, + itemCount: members.length + 1 + (canRequestMoreMembers ? 1 : 0), + itemBuilder: (BuildContext context, int i) => i == 0 + ? Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + Row( + children: [ + Padding( + padding: const EdgeInsets.all(32.0), + child: Stack( + children: [ + Material( + elevation: Theme.of(context) + .appBarTheme + .scrolledUnderElevation ?? + 4, + shadowColor: Theme.of(context) + .appBarTheme + .shadowColor, + shape: RoundedRectangleBorder( + side: BorderSide( + color: Theme.of(context).dividerColor, + ), + borderRadius: BorderRadius.circular( + Avatar.defaultSize * 2.5, + ), ), - borderRadius: BorderRadius.circular( - Avatar.defaultSize * 2.5, - ), - ), - child: Hero( - tag: controller - .widget.embeddedCloseButton != - null - ? 'embedded_content_banner' - : 'content_banner', - child: Avatar( - mxContent: room.avatar, - name: displayname, - size: Avatar.defaultSize * 2.5, - ), - ), - ), - if (!room.isDirectChat && - room.canChangeStateEvent( - EventTypes.RoomAvatar, - )) - Positioned( - bottom: 0, - right: 0, - child: FloatingActionButton.small( - onPressed: controller.setAvatarAction, - heroTag: null, - child: const Icon( - Icons.camera_alt_outlined, + child: Hero( + tag: controller.widget + .embeddedCloseButton != + null + ? 'embedded_content_banner' + : 'content_banner', + child: Avatar( + mxContent: room.avatar, + name: displayname, + size: Avatar.defaultSize * 2.5, ), ), ), - ], + if (!room.isDirectChat && + room.canChangeStateEvent( + EventTypes.RoomAvatar, + )) + Positioned( + bottom: 0, + right: 0, + child: FloatingActionButton.small( + onPressed: controller.setAvatarAction, + heroTag: null, + child: const Icon( + Icons.camera_alt_outlined, + ), + ), + ), + ], + ), ), - ), - Expanded( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - TextButton.icon( - onPressed: () => room.isDirectChat - ? null - : room.canChangeStateEvent( - EventTypes.RoomName, - ) - ? controller.setDisplaynameAction() - : FluffyShare.share( - displayname, - context, - copyOnly: true, - ), - icon: Icon( - room.isDirectChat - ? Icons.chat_bubble_outline + Expanded( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TextButton.icon( + onPressed: () => room.isDirectChat + ? null : room.canChangeStateEvent( EventTypes.RoomName, ) - ? Icons.edit_outlined - : Icons.copy_outlined, - size: 16, - ), - style: TextButton.styleFrom( - foregroundColor: Theme.of(context) - .colorScheme - .onSurface, - ), - label: Text( - room.isDirectChat - ? L10n.of(context)!.directChat - : displayname, - maxLines: 1, - overflow: TextOverflow.ellipsis, - // style: const TextStyle(fontSize: 18), - ), - ), - TextButton.icon( - onPressed: () => room.isDirectChat - ? null - : context.push( - '/rooms/${controller.roomId}/details/members', - ), - icon: const Icon( - Icons.group_outlined, - size: 14, - ), - style: TextButton.styleFrom( - foregroundColor: Theme.of(context) - .colorScheme - .secondary, - ), - label: Text( - L10n.of(context)!.countParticipants( - actualMembersCount, + ? controller + .setDisplaynameAction() + : FluffyShare.share( + displayname, + context, + copyOnly: true, + ), + icon: Icon( + room.isDirectChat + ? Icons.chat_bubble_outline + : room.canChangeStateEvent( + EventTypes.RoomName, + ) + ? Icons.edit_outlined + : Icons.copy_outlined, + size: 16, + ), + style: TextButton.styleFrom( + foregroundColor: Theme.of(context) + .colorScheme + .onSurface, + ), + label: Text( + room.isDirectChat + ? L10n.of(context)!.directChat + : displayname, + maxLines: 1, + overflow: TextOverflow.ellipsis, + // style: const TextStyle(fontSize: 18), ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - // style: const TextStyle(fontSize: 12), ), - ), - ], + TextButton.icon( + onPressed: () => room.isDirectChat + ? null + : context.push( + '/rooms/${controller.roomId}/details/members', + ), + icon: const Icon( + Icons.group_outlined, + size: 14, + ), + style: TextButton.styleFrom( + foregroundColor: Theme.of(context) + .colorScheme + .secondary, + ), + label: Text( + L10n.of(context)!.countParticipants( + actualMembersCount, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + // style: const TextStyle(fontSize: 12), + ), + ), + ], + ), ), - ), - ], - ), - Divider( - height: 1, - color: Theme.of(context).dividerColor, - ), - // if (room.canSendEvent('m.room.name')) - if (room.isRoomAdmin) - // #Pangea - ClassNameButton( - room: room, - controller: controller, + ], ), - if (room.canSendEvent('m.room.topic')) - ClassDescriptionButton( - room: room, - controller: controller, + Divider( + height: 1, + color: Theme.of(context).dividerColor, ), - // #Pangea - RoomCapacityButton( - room: room, - controller: controller, - ), - // Pangea# - if (room.isSpace && room.isRoomAdmin) - ListTile( - title: Text( - L10n.of(context)!.spaceAnalytics, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - ), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: iconColor, - child: const Icon( - Icons.analytics_outlined, - ), - ), - onTap: () => context.go( - '/rooms/analytics/${room.id}', - ), - ), - // commenting out language settings in spaces for now - // if (room.languageSettings != null && room.isRoomAdmin) - // LanguageSettings( - // roomId: controller.roomId, - // startOpen: false, - // ), - if (room.pangeaRoomRules != null) - RoomRulesEditor( - roomId: controller.roomId, - startOpen: false, - ), - // if (!room.canChangeStateEvent(EventTypes.RoomTopic)) - // ListTile( - // title: Text( - // L10n.of(context)!.chatDescription, - // style: TextStyle( - // color: Theme.of(context).colorScheme.secondary, - // fontWeight: FontWeight.bold, - // ), - // ), - // ) - // else - // Padding( - // padding: const EdgeInsets.all(16.0), - // child: TextButton.icon( - // onPressed: controller.setTopicAction, - // label: Text(L10n.of(context)!.setChatDescription), - // icon: const Icon(Icons.edit_outlined), - // style: TextButton.styleFrom( - // backgroundColor: Theme.of(context) - // .colorScheme - // .secondaryContainer, - // foregroundColor: Theme.of(context) - // .colorScheme - // .onSecondaryContainer, - // ), - // ), - // ), - // Padding( - // padding: const EdgeInsets.symmetric( - // horizontal: 16.0, - // ), - // child: SelectableLinkify( - // text: room.topic.isEmpty - // ? L10n.of(context)!.noChatDescriptionYet - // : room.topic, - // options: const LinkifyOptions(humanize: false), - // linkStyle: const TextStyle( - // color: Colors.blueAccent, - // decorationColor: Colors.blueAccent, - // ), - // style: TextStyle( - // fontSize: 14, - // fontStyle: room.topic.isEmpty - // ? FontStyle.italic - // : FontStyle.normal, - // color: - // Theme.of(context).textTheme.bodyMedium!.color, - // decorationColor: - // Theme.of(context).textTheme.bodyMedium!.color, - // ), - // onOpen: (url) => - // UrlLauncher(context, url.url).launchUrl(), - // ), - // ), - // const SizedBox(height: 16), - // Divider( - // height: 1, - // color: Theme.of(context).dividerColor, - // ), - // ListTile( - // leading: CircleAvatar( - // backgroundColor: - // Theme.of(context).scaffoldBackgroundColor, - // foregroundColor: iconColor, - // child: const Icon( - // Icons.insert_emoticon_outlined, - // ), - // ), - // title: - // Text(L10n.of(context)!.customEmojisAndStickers), - // subtitle: Text(L10n.of(context)!.setCustomEmotes), - // onTap: controller.goToEmoteSettings, - // trailing: const Icon(Icons.chevron_right_outlined), - // ), - // if (!room.isDirectChat) - // ListTile( - // leading: CircleAvatar( - // backgroundColor: - // Theme.of(context).scaffoldBackgroundColor, - // foregroundColor: iconColor, - // child: const Icon(Icons.shield_outlined), - // ), - // title: Text( - // L10n.of(context)!.accessAndVisibility, - // ), - // subtitle: Text( - // L10n.of(context)!.accessAndVisibilityDescription, - // ), - // onTap: () => context - // .push('/rooms/${room.id}/details/access'), - // trailing: const Icon(Icons.chevron_right_outlined), - // ), - // if (!room.isDirectChat) - if (!room.isDirectChat && - !room.isSpace && - room.isRoomAdmin) - // Pangea# - ListTile( - // #Pangea - // title: Text(L10n.of(context)!.chatPermissions), - title: Text( - L10n.of(context)!.editChatPermissions, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - ), - // Pangea# - subtitle: Text( - L10n.of(context)!.whoCanPerformWhichAction, - ), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: iconColor, - child: const Icon( - Icons.edit_attributes_outlined, - ), - ), - // #Pangea - // trailing: const Icon(Icons.chevron_right_outlined), - // Pangea# - onTap: () => context - .push('/rooms/${room.id}/details/permissions'), - ), - Divider( - height: 1, - color: Theme.of(context).dividerColor, - ), - // #Pangea - if (room.canInvite && - !room.isDirectChat && - (!room.isSpace || room.isRoomAdmin)) - ListTile( - title: Text( - room.isSpace - ? L10n.of(context)!.inviteUsersFromPangea - : L10n.of(context)!.inviteStudentByUserName, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - ), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: - Theme.of(context).textTheme.bodyLarge!.color, - child: const Icon( - Icons.add, - ), - ), - onTap: () => context.go('/rooms/${room.id}/invite'), - ), - if (room.showClassEditOptions && room.isSpace) - SpaceDetailsToggleAddStudentsTile( - controller: controller, - ), - if (controller.displayAddStudentOptions && - room.showClassEditOptions) - ClassInvitationButtons(roomId: controller.roomId!), - const Divider(height: 1), - if (!room.isSpace && - !room.isDirectChat && - room.canInvite) - ConversationBotSettings( - key: controller.addConversationBotKey, - room: room, - ), - const Divider(height: 1), - if (!room.isDirectChat && room.isRoomAdmin) - AddToSpaceToggles( - roomId: room.id, - key: controller.addToSpaceKey, - startOpen: false, - ), - const Divider(height: 1), - if (!room.isDirectChat) + // if (room.canSendEvent('m.room.name')) if (room.isRoomAdmin) + // #Pangea + ClassNameButton( + room: room, + controller: controller, + ), + if (room.canSendEvent('m.room.topic')) + ClassDescriptionButton( + room: room, + controller: controller, + ), + // #Pangea + RoomCapacityButton( + room: room, + controller: controller, + ), + // Pangea# + if (room.isSpace && room.isRoomAdmin) ListTile( title: Text( - room.isSpace - ? L10n.of(context)!.archiveSpace - : L10n.of(context)!.archive, + L10n.of(context)!.spaceAnalytics, style: TextStyle( color: Theme.of(context).colorScheme.secondary, @@ -482,199 +278,421 @@ class ChatDetailsView extends StatelessWidget { Theme.of(context).scaffoldBackgroundColor, foregroundColor: iconColor, child: const Icon( - Icons.archive_outlined, + Icons.analytics_outlined, ), ), - onTap: () async { - OkCancelResult confirmed = OkCancelResult.ok; - bool shouldGo = false; - // archiveSpace has its own popup; only show if not space - if (!room.isSpace) { - confirmed = await showOkCancelAlertDialog( - useRootNavigator: false, - context: context, - title: L10n.of(context)!.areYouSure, - okLabel: L10n.of(context)!.ok, - cancelLabel: L10n.of(context)!.cancel, - message: L10n.of(context)! - .archiveRoomDescription, - ); - } - if (confirmed == OkCancelResult.ok) { - if (room.isSpace) { - shouldGo = await room.archiveSpace( - context, - Matrix.of(context).client, - ); - } else { - final success = - await showFutureLoadingDialog( + onTap: () => context.go( + '/rooms/analytics/${room.id}', + ), + ), + // commenting out language settings in spaces for now + // if (room.languageSettings != null && room.isRoomAdmin) + // LanguageSettings( + // roomId: controller.roomId, + // startOpen: false, + // ), + if (room.pangeaRoomRules != null) + RoomRulesEditor( + roomId: controller.roomId, + startOpen: false, + ), + // if (!room.canChangeStateEvent(EventTypes.RoomTopic)) + // ListTile( + // title: Text( + // L10n.of(context)!.chatDescription, + // style: TextStyle( + // color: Theme.of(context).colorScheme.secondary, + // fontWeight: FontWeight.bold, + // ), + // ), + // ) + // else + // Padding( + // padding: const EdgeInsets.all(16.0), + // child: TextButton.icon( + // onPressed: controller.setTopicAction, + // label: Text(L10n.of(context)!.setChatDescription), + // icon: const Icon(Icons.edit_outlined), + // style: TextButton.styleFrom( + // backgroundColor: Theme.of(context) + // .colorScheme + // .secondaryContainer, + // foregroundColor: Theme.of(context) + // .colorScheme + // .onSecondaryContainer, + // ), + // ), + // ), + // Padding( + // padding: const EdgeInsets.symmetric( + // horizontal: 16.0, + // ), + // child: SelectableLinkify( + // text: room.topic.isEmpty + // ? L10n.of(context)!.noChatDescriptionYet + // : room.topic, + // options: const LinkifyOptions(humanize: false), + // linkStyle: const TextStyle( + // color: Colors.blueAccent, + // decorationColor: Colors.blueAccent, + // ), + // style: TextStyle( + // fontSize: 14, + // fontStyle: room.topic.isEmpty + // ? FontStyle.italic + // : FontStyle.normal, + // color: + // Theme.of(context).textTheme.bodyMedium!.color, + // decorationColor: + // Theme.of(context).textTheme.bodyMedium!.color, + // ), + // onOpen: (url) => + // UrlLauncher(context, url.url).launchUrl(), + // ), + // ), + // const SizedBox(height: 16), + // Divider( + // height: 1, + // color: Theme.of(context).dividerColor, + // ), + // ListTile( + // leading: CircleAvatar( + // backgroundColor: + // Theme.of(context).scaffoldBackgroundColor, + // foregroundColor: iconColor, + // child: const Icon( + // Icons.insert_emoticon_outlined, + // ), + // ), + // title: + // Text(L10n.of(context)!.customEmojisAndStickers), + // subtitle: Text(L10n.of(context)!.setCustomEmotes), + // onTap: controller.goToEmoteSettings, + // trailing: const Icon(Icons.chevron_right_outlined), + // ), + // if (!room.isDirectChat) + // ListTile( + // leading: CircleAvatar( + // backgroundColor: + // Theme.of(context).scaffoldBackgroundColor, + // foregroundColor: iconColor, + // child: const Icon(Icons.shield_outlined), + // ), + // title: Text( + // L10n.of(context)!.accessAndVisibility, + // ), + // subtitle: Text( + // L10n.of(context)!.accessAndVisibilityDescription, + // ), + // onTap: () => context + // .push('/rooms/${room.id}/details/access'), + // trailing: const Icon(Icons.chevron_right_outlined), + // ), + // if (!room.isDirectChat) + if (!room.isDirectChat && + !room.isSpace && + room.isRoomAdmin) + // Pangea# + ListTile( + // #Pangea + // title: Text(L10n.of(context)!.chatPermissions), + title: Text( + L10n.of(context)!.editChatPermissions, + style: TextStyle( + color: + Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + // Pangea# + subtitle: Text( + L10n.of(context)!.whoCanPerformWhichAction, + ), + leading: CircleAvatar( + backgroundColor: + Theme.of(context).scaffoldBackgroundColor, + foregroundColor: iconColor, + child: const Icon( + Icons.edit_attributes_outlined, + ), + ), + // #Pangea + // trailing: const Icon(Icons.chevron_right_outlined), + // Pangea# + onTap: () => context.push( + '/rooms/${room.id}/details/permissions', + ), + ), + Divider( + height: 1, + color: Theme.of(context).dividerColor, + ), + // #Pangea + if (room.canInvite && + !room.isDirectChat && + (!room.isSpace || room.isRoomAdmin)) + ListTile( + title: Text( + room.isSpace + ? L10n.of(context)!.inviteUsersFromPangea + : L10n.of(context)!.inviteStudentByUserName, + style: TextStyle( + color: + Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + leading: CircleAvatar( + backgroundColor: + Theme.of(context).scaffoldBackgroundColor, + foregroundColor: Theme.of(context) + .textTheme + .bodyLarge! + .color, + child: const Icon( + Icons.add, + ), + ), + onTap: () => + context.go('/rooms/${room.id}/invite'), + ), + if (room.showClassEditOptions && room.isSpace) + SpaceDetailsToggleAddStudentsTile( + controller: controller, + ), + if (controller.displayAddStudentOptions && + room.showClassEditOptions) + ClassInvitationButtons(roomId: controller.roomId!), + const Divider(height: 1), + if (!room.isSpace && + !room.isDirectChat && + room.canInvite) + ConversationBotSettings( + key: controller.addConversationBotKey, + room: room, + ), + const Divider(height: 1), + if (!room.isDirectChat && room.isRoomAdmin) + AddToSpaceToggles( + roomId: room.id, + key: controller.addToSpaceKey, + startOpen: false, + ), + const Divider(height: 1), + if (!room.isDirectChat) + if (room.isRoomAdmin) + ListTile( + title: Text( + room.isSpace + ? L10n.of(context)!.archiveSpace + : L10n.of(context)!.archive, + style: TextStyle( + color: + Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + leading: CircleAvatar( + backgroundColor: + Theme.of(context).scaffoldBackgroundColor, + foregroundColor: iconColor, + child: const Icon( + Icons.archive_outlined, + ), + ), + onTap: () async { + OkCancelResult confirmed = OkCancelResult.ok; + bool shouldGo = false; + // archiveSpace has its own popup; only show if not space + if (!room.isSpace) { + confirmed = await showOkCancelAlertDialog( + useRootNavigator: false, context: context, - future: () async { - await room.archive(); - }, + title: L10n.of(context)!.areYouSure, + okLabel: L10n.of(context)!.ok, + cancelLabel: L10n.of(context)!.cancel, + message: L10n.of(context)! + .archiveRoomDescription, ); - shouldGo = (success.error == null); } - if (shouldGo) { - context.go('/rooms'); - } - } - }, - ), - ListTile( - title: Text( - L10n.of(context)!.leave, - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, - ), - ), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: iconColor, - child: const Icon( - Icons.arrow_forward, - ), - ), - onTap: () async { - OkCancelResult confirmed = OkCancelResult.ok; - bool shouldGo = false; - // If user is only admin, room will be archived - final bool onlyAdmin = await room.isOnlyAdmin(); - // archiveSpace has its own popup; only show if not space - if (!room.isSpace) { - confirmed = await showOkCancelAlertDialog( - useRootNavigator: false, - context: context, - title: L10n.of(context)!.areYouSure, - okLabel: L10n.of(context)!.ok, - cancelLabel: L10n.of(context)!.cancel, - message: onlyAdmin - ? L10n.of(context)!.onlyAdminDescription - : L10n.of(context)!.leaveRoomDescription, - ); - } - if (confirmed == OkCancelResult.ok) { - if (room.isSpace) { - shouldGo = onlyAdmin - ? await room.archiveSpace( - context, - Matrix.of(context).client, - onlyAdmin: true, - ) - : await room.leaveSpace( + if (confirmed == OkCancelResult.ok) { + if (room.isSpace) { + shouldGo = await room.archiveSpace( context, Matrix.of(context).client, ); - } else { - final success = await showFutureLoadingDialog( - context: context, - future: () async { - onlyAdmin - ? await room.archive() - : await room.leave(); - }, - ); - shouldGo = (success.error == null); - } - if (shouldGo) { - context.go('/rooms'); - } - } - }, - ), - if (room.isRoomAdmin && !room.isDirectChat) - SwitchListTile.adaptive( - activeColor: AppConfig.activeToggleColor, + } else { + final success = + await showFutureLoadingDialog( + context: context, + future: () async { + await room.archive(); + }, + ); + shouldGo = (success.error == null); + } + if (shouldGo) { + context.go('/rooms'); + } + } + }, + ), + ListTile( title: Text( - room.isSpace - ? L10n.of(context)!.lockSpace - : L10n.of(context)!.lockChat, + L10n.of(context)!.leave, style: TextStyle( color: Theme.of(context).colorScheme.secondary, fontWeight: FontWeight.bold, ), ), - secondary: CircleAvatar( + leading: CircleAvatar( backgroundColor: Theme.of(context).scaffoldBackgroundColor, foregroundColor: iconColor, - child: Icon( - room.isLocked - ? Icons.lock_outlined - : Icons.no_encryption_outlined, + child: const Icon( + Icons.arrow_forward, ), ), - value: room.isLocked, - onChanged: (value) => showFutureLoadingDialog( - context: context, - future: () => value - ? lockRoom( - room, - Matrix.of(context).client, - ) - : unlockRoom( - room, - Matrix.of(context).client, - ), + onTap: () async { + OkCancelResult confirmed = OkCancelResult.ok; + bool shouldGo = false; + // If user is only admin, room will be archived + final bool onlyAdmin = await room.isOnlyAdmin(); + // archiveSpace has its own popup; only show if not space + if (!room.isSpace) { + confirmed = await showOkCancelAlertDialog( + useRootNavigator: false, + context: context, + title: L10n.of(context)!.areYouSure, + okLabel: L10n.of(context)!.ok, + cancelLabel: L10n.of(context)!.cancel, + message: onlyAdmin + ? L10n.of(context)!.onlyAdminDescription + : L10n.of(context)!.leaveRoomDescription, + ); + } + if (confirmed == OkCancelResult.ok) { + if (room.isSpace) { + shouldGo = onlyAdmin + ? await room.archiveSpace( + context, + Matrix.of(context).client, + onlyAdmin: true, + ) + : await room.leaveSpace( + context, + Matrix.of(context).client, + ); + } else { + final success = await showFutureLoadingDialog( + context: context, + future: () async { + onlyAdmin + ? await room.archive() + : await room.leave(); + }, + ); + shouldGo = (success.error == null); + } + if (shouldGo) { + context.go('/rooms'); + } + } + }, + ), + if (room.isRoomAdmin && !room.isDirectChat) + SwitchListTile.adaptive( + activeColor: AppConfig.activeToggleColor, + title: Text( + room.isSpace + ? L10n.of(context)!.lockSpace + : L10n.of(context)!.lockChat, + style: TextStyle( + color: + Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + secondary: CircleAvatar( + backgroundColor: + Theme.of(context).scaffoldBackgroundColor, + foregroundColor: iconColor, + child: Icon( + room.isLocked + ? Icons.lock_outlined + : Icons.no_encryption_outlined, + ), + ), + value: room.isLocked, + onChanged: (value) => showFutureLoadingDialog( + context: context, + future: () => value + ? lockRoom( + room, + Matrix.of(context).client, + ) + : unlockRoom( + room, + Matrix.of(context).client, + ), + ), + ), + const Divider(height: 1), + // Pangea# + ListTile( + title: Text( + L10n.of(context)!.countParticipants( + actualMembersCount.toString(), + ), + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), ), ), - const Divider(height: 1), - // Pangea# - ListTile( - title: Text( - L10n.of(context)!.countParticipants( - actualMembersCount.toString(), + // #Pangea + // if (!room.isDirectChat && room.canInvite) + // ListTile( + // title: Text(L10n.of(context)!.inviteContact), + // leading: CircleAvatar( + // backgroundColor: Theme.of(context) + // .colorScheme + // .primaryContainer, + // foregroundColor: Theme.of(context) + // .colorScheme + // .onPrimaryContainer, + // radius: Avatar.defaultSize / 2, + // child: const Icon(Icons.add_outlined), + // ), + // trailing: const Icon(Icons.chevron_right_outlined), + // onTap: () => context.go('/rooms/${room.id}/invite'), + // ), + // Pangea# + ], + ) + : i < members.length + 1 + ? ParticipantListItem(members[i - 1]) + : ListTile( + title: Text( + L10n.of(context)!.loadCountMoreParticipants( + (actualMembersCount - members.length) + .toString(), + ), ), - style: TextStyle( - color: Theme.of(context).colorScheme.secondary, - fontWeight: FontWeight.bold, + leading: CircleAvatar( + backgroundColor: + Theme.of(context).scaffoldBackgroundColor, + child: const Icon( + Icons.group_outlined, + color: Colors.grey, + ), ), - ), - ), - // #Pangea - // if (!room.isDirectChat && room.canInvite) - // ListTile( - // title: Text(L10n.of(context)!.inviteContact), - // leading: CircleAvatar( - // backgroundColor: Theme.of(context) - // .colorScheme - // .primaryContainer, - // foregroundColor: Theme.of(context) - // .colorScheme - // .onPrimaryContainer, - // radius: Avatar.defaultSize / 2, - // child: const Icon(Icons.add_outlined), - // ), - // trailing: const Icon(Icons.chevron_right_outlined), - // onTap: () => context.go('/rooms/${room.id}/invite'), - // ), - // Pangea# - ], - ) - : i < members.length + 1 - ? ParticipantListItem(members[i - 1]) - : ListTile( - title: Text( - L10n.of(context)!.loadCountMoreParticipants( - (actualMembersCount - members.length).toString(), + onTap: () => context.push( + '/rooms/${controller.roomId!}/details/members', ), + trailing: const Icon(Icons.chevron_right_outlined), ), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - child: const Icon( - Icons.group_outlined, - color: Colors.grey, - ), - ), - onTap: () => context.push( - '/rooms/${controller.roomId!}/details/members', - ), - trailing: const Icon(Icons.chevron_right_outlined), - ), + ), ), ), ); diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index 569eba880..89f31fd68 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -917,7 +917,7 @@ class ChatListController extends State if (mounted) { GoogleAnalytics.analyticsUserUpdate(client.userID); await pangeaController.subscriptionController.initialize(); - await pangeaController.myAnalytics.addEventsListener(); + await pangeaController.myAnalytics.initialize(); pangeaController.afterSyncAndFirstLoginInitialization(context); await pangeaController.inviteBotToExistingSpaces(); await pangeaController.setPangeaPushRules(); diff --git a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart index ea81c842c..2b1dff187 100644 --- a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart +++ b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart @@ -35,11 +35,26 @@ class ChatPermissionsSettingsView extends StatelessWidget { final powerLevels = Map.from(powerLevelsContent) // #Pangea // ..removeWhere((k, v) => v is! int); - ..removeWhere((k, v) => v is! int || k.equals("m.call.invite")); + ..removeWhere( + (k, v) => + v is! int || + k.equals("m.call.invite") || + k.equals("historical") || + k.equals("state_default"), + ); // Pangea# final eventsPowerLevels = Map.from( powerLevelsContent.tryGetMap('events') ?? {}, - )..removeWhere((k, v) => v is! int); + // #Pangea + )..removeWhere( + (k, v) => + v is! int || + k.equals("m.space.child") || + k.equals("pangea.usranalytics") || + k.equals(EventTypes.RoomPowerLevels), + ); + // )..removeWhere((k, v) => v is! int); + // Pangea# return Column( children: [ Column( @@ -57,51 +72,59 @@ class ChatPermissionsSettingsView extends StatelessWidget { ), canEdit: room.canChangePowerLevel, ), - Divider(color: Theme.of(context).dividerColor), - ListTile( - title: Text( - L10n.of(context)!.notifications, - style: TextStyle( - color: Theme.of(context).colorScheme.primary, - fontWeight: FontWeight.bold, - ), - ), - ), - Builder( - builder: (context) { - const key = 'rooms'; - final value = powerLevelsContent - .containsKey('notifications') - ? powerLevelsContent - .tryGetMap('notifications') - ?.tryGet('rooms') ?? - 0 - : 0; - return PermissionsListTile( - permissionKey: key, - permission: value, - category: 'notifications', - canEdit: room.canChangePowerLevel, - onChanged: (level) => controller.editPowerLevel( - context, - key, - value, - newLevel: level, - category: 'notifications', + // #Pangea + // Why would teacher need to stop students from seeing notifications? + // Divider(color: Theme.of(context).dividerColor), + // ListTile( + // title: Text( + // L10n.of(context)!.notifications, + // style: TextStyle( + // color: Theme.of(context).colorScheme.primary, + // fontWeight: FontWeight.bold, + // ), + // ), + // ), + // Builder( + // builder: (context) { + // const key = 'rooms'; + // final value = powerLevelsContent + // .containsKey('notifications') + // ? powerLevelsContent + // .tryGetMap('notifications') + // ?.tryGet('rooms') ?? + // 0 + // : 0; + // return PermissionsListTile( + // permissionKey: key, + // permission: value, + // category: 'notifications', + // canEdit: room.canChangePowerLevel, + // onChanged: (level) => controller.editPowerLevel( + // context, + // key, + // value, + // newLevel: level, + // category: 'notifications', + // ), + // ); + // }, + // ), + // Only show if there are actually items in this category + if (eventsPowerLevels.isNotEmpty) + // Pangea# + Divider(color: Theme.of(context).dividerColor), + // #Pangea + if (eventsPowerLevels.isNotEmpty) + // Pangea# + ListTile( + title: Text( + L10n.of(context)!.configureChat, + style: TextStyle( + color: Theme.of(context).colorScheme.primary, + fontWeight: FontWeight.bold, ), - ); - }, - ), - Divider(color: Theme.of(context).dividerColor), - ListTile( - title: Text( - L10n.of(context)!.configureChat, - style: TextStyle( - color: Theme.of(context).colorScheme.primary, - fontWeight: FontWeight.bold, ), ), - ), for (final entry in eventsPowerLevels.entries) PermissionsListTile( permissionKey: entry.key, diff --git a/lib/pangea/choreographer/controllers/choreographer.dart b/lib/pangea/choreographer/controllers/choreographer.dart index 6ea029a6f..66e11808b 100644 --- a/lib/pangea/choreographer/controllers/choreographer.dart +++ b/lib/pangea/choreographer/controllers/choreographer.dart @@ -5,15 +5,16 @@ import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/choreographer/controllers/alternative_translator.dart'; import 'package:fluffychat/pangea/choreographer/controllers/igc_controller.dart'; import 'package:fluffychat/pangea/choreographer/controllers/message_options.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/controllers/subscription_controller.dart'; +import 'package:fluffychat/pangea/enum/assistance_state_enum.dart'; import 'package:fluffychat/pangea/enum/edit_type.dart'; import 'package:fluffychat/pangea/models/it_step.dart'; -import 'package:fluffychat/pangea/models/language_detection_model.dart'; import 'package:fluffychat/pangea/models/representation_content_model.dart'; import 'package:fluffychat/pangea/models/space_model.dart'; import 'package:fluffychat/pangea/models/tokens_event_content_model.dart'; +import 'package:fluffychat/pangea/models/user_model.dart'; import 'package:fluffychat/pangea/utils/any_state_holder.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/utils/overlay.dart'; @@ -23,7 +24,6 @@ import 'package:flutter/material.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import '../../../widgets/matrix.dart'; -import '../../enum/use_type.dart'; import '../../models/choreo_record.dart'; import '../../models/language_model.dart'; import '../../models/pangea_match_model.dart'; @@ -93,63 +93,59 @@ class Choreographer { } Future _sendWithIGC(BuildContext context) async { - if (igc.canSendMessage) { - final PangeaRepresentation? originalWritten = - choreoRecord.includedIT && itController.sourceText != null - ? PangeaRepresentation( - langCode: l1LangCode ?? LanguageKeys.unknownLanguage, - text: itController.sourceText!, - originalWritten: true, - originalSent: false, - ) - : null; - - final PangeaRepresentation originalSent = PangeaRepresentation( - langCode: langCodeOfCurrentText ?? LanguageKeys.unknownLanguage, - text: currentText, - originalSent: true, - originalWritten: originalWritten == null, - ); - final ChoreoRecord? applicableChoreo = - isITandIGCEnabled && igc.igcTextData != null ? choreoRecord : null; - - // if the message has not been processed to determine its language - // then run it through the language detection endpoint. If the detection - // confidence is high enough, use that language code as the message's language - // to save that pangea representation - if (applicableChoreo == null) { - final resp = await pangeaController.languageDetection.detectLanguage( - currentText, - pangeaController.languageController.userL2?.langCode, - pangeaController.languageController.userL1?.langCode, - ); - final LanguageDetection? bestDetection = resp.bestDetection(); - if (bestDetection != null) { - originalSent.langCode = bestDetection.langCode; - } - } - - final UseType useType = useTypeCalculator(applicableChoreo); - debugPrint("use type in choreographer $useType"); - - chatController.send( - // PTODO - turn this back on in conjunction with saving tokens - // we need to save those tokens as well, in order for exchanges to work - // properly. in an exchange, the other user will want - // originalWritten: originalWritten, - originalSent: originalSent, - tokensSent: igc.igcTextData?.tokens != null - ? PangeaMessageTokens(tokens: igc.igcTextData!.tokens) - : null, - //TODO - save originalwritten tokens - choreo: applicableChoreo, - useType: useType, - ); - - clear(); - } else { + if (!igc.canSendMessage) { igc.showFirstMatch(context); + return; } + + final PangeaRepresentation? originalWritten = + choreoRecord.includedIT && itController.sourceText != null + ? PangeaRepresentation( + langCode: l1LangCode ?? LanguageKeys.unknownLanguage, + text: itController.sourceText!, + originalWritten: true, + originalSent: false, + ) + : null; + + // TODO - why does both it and igc need to be enabled for choreo to be applicable? + // final ChoreoRecord? applicableChoreo = + // isITandIGCEnabled && igc.igcTextData != null ? choreoRecord : null; + + // if tokens or language detection are not available, we should get them + // notes + // 1) we probably need to move this to after we clear the input field + // or the user could experience some lag here. + // 2) that this call is being made after we've determined if we have an applicable choreo in order to + // say whether correction was run on the message. we may eventually want + // to edit the useType after + if (igc.igcTextData?.tokens == null || + igc.igcTextData?.detectedLanguage == null) { + await igc.getIGCTextData(onlyTokensAndLanguageDetection: true); + } + + final PangeaRepresentation originalSent = PangeaRepresentation( + langCode: + igc.igcTextData?.detectedLanguage ?? LanguageKeys.unknownLanguage, + text: currentText, + originalSent: true, + originalWritten: originalWritten == null, + ); + + final PangeaMessageTokens? tokensSent = igc.igcTextData?.tokens != null + ? PangeaMessageTokens(tokens: igc.igcTextData!.tokens) + : null; + + chatController.send( + // originalWritten: originalWritten, + originalSent: originalSent, + tokensSent: tokensSent, + //TODO - save originalwritten tokens + // choreo: applicableChoreo, + choreo: choreoRecord, + ); + + clear(); } _resetDebounceTimer() { @@ -165,7 +161,7 @@ class Choreographer { } choreoMode = ChoreoMode.it; itController.initializeIT( - ITStartData(_textController.text, igc.detectedLangCode), + ITStartData(_textController.text, igc.igcTextData?.detectedLanguage), ); itMatch.status = PangeaMatchStatus.accepted; @@ -178,6 +174,7 @@ class Choreographer { _textController.setSystemText("", EditType.itStart); } + /// Handles any changes to the text input _onChangeListener() { if (_noChange) { return; @@ -186,21 +183,26 @@ class Choreographer { if ([ EditType.igc, ].contains(_textController.editType)) { + // this may be unnecessary now that tokens are not used + // to allow click of words in the input field and we're getting this at the end + // TODO - turn it off and tested that this is fine igc.justGetTokensAndAddThemToIGCTextData(); + + // we set editType to keyboard here because that is the default for it + // and we want to make sure that the next change is treated as a keyboard change + // unless the system explicity sets it to something else. this textController.editType = EditType.keyboard; return; } + // not sure if this is necessary now MatrixState.pAnyState.closeOverlay(); if (errorService.isError) { return; } - // if (igc.igcTextData != null) { igc.clear(); - // setState(); - // } _resetDebounceTimer(); @@ -210,7 +212,9 @@ class Choreographer { () => getLanguageHelp(), ); } else { - getLanguageHelp(ChoreoMode.it == choreoMode); + getLanguageHelp( + onlyTokensAndLanguageDetection: ChoreoMode.it == choreoMode, + ); } //Note: we don't set the keyboard type on each keyboard stroke so this is how we default to @@ -219,10 +223,14 @@ class Choreographer { textController.editType = EditType.keyboard; } - Future getLanguageHelp([ - bool tokensOnly = false, + /// Fetches the language help for the current text, including grammar correction, language detection, + /// tokens, and translations. Includes logic to exit the flow if the user is not subscribed, if the tools are not enabled, or + /// or if autoIGC is not enabled and the user has not manually requested it. + /// [onlyTokensAndLanguageDetection] will + Future getLanguageHelp({ + bool onlyTokensAndLanguageDetection = false, bool manual = false, - ]) async { + }) async { try { if (errorService.isError) return; final CanSendStatus canSendStatus = @@ -237,13 +245,15 @@ class Choreographer { startLoading(); if (choreoMode == ChoreoMode.it && itController.isTranslationDone && - !tokensOnly) { + !onlyTokensAndLanguageDetection) { // debugger(when: kDebugMode); } await (choreoMode == ChoreoMode.it && !itController.isTranslationDone ? itController.getTranslationData(_useCustomInput) - : igc.getIGCTextData(tokensOnly: tokensOnly)); + : igc.getIGCTextData( + onlyTokensAndLanguageDetection: onlyTokensAndLanguageDetection, + )); } catch (err, stack) { ErrorHandler.logError(e: err, s: stack); } finally { @@ -480,14 +490,6 @@ class Choreographer { bool get editTypeIsKeyboard => EditType.keyboard == _textController.editType; - String? get langCodeOfCurrentText { - if (igc.detectedLangCode != null) return igc.detectedLangCode!; - - if (itController.isOpen) return l2LangCode!; - - return null; - } - setState() { if (!stateListener.isClosed) { stateListener.add(0); @@ -521,6 +523,12 @@ class Choreographer { chatController.room, ); + bool get itAutoPlayEnabled => + pangeaController.pStoreService.read( + MatrixProfile.itAutoPlay.title, + ) ?? + false; + bool get definitionsEnabled => pangeaController.permissionsController.isToolEnabled( ToolSetting.definitions, @@ -570,13 +578,3 @@ class Choreographer { return AssistanceState.complete; } } - -// assistance state is, user has not typed a message, user has typed a message and IGC has not run, -// IGC is running, IGC has run and there are remaining steps (either IT or IGC), or all steps are done -enum AssistanceState { - noMessage, - notFetched, - fetching, - fetched, - complete, -} diff --git a/lib/pangea/choreographer/controllers/igc_controller.dart b/lib/pangea/choreographer/controllers/igc_controller.dart index b882e4087..533b36c83 100644 --- a/lib/pangea/choreographer/controllers/igc_controller.dart +++ b/lib/pangea/choreographer/controllers/igc_controller.dart @@ -3,18 +3,17 @@ import 'dart:developer'; import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart'; import 'package:fluffychat/pangea/choreographer/controllers/error_service.dart'; -import 'package:fluffychat/pangea/controllers/span_data_controller.dart'; +import 'package:fluffychat/pangea/choreographer/controllers/span_data_controller.dart'; import 'package:fluffychat/pangea/models/igc_text_data_model.dart'; import 'package:fluffychat/pangea/models/pangea_match_model.dart'; import 'package:fluffychat/pangea/repo/igc_repo.dart'; +import 'package:fluffychat/pangea/repo/tokens_repo.dart'; import 'package:fluffychat/pangea/widgets/igc/span_card.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; -import '../../models/language_detection_model.dart'; import '../../models/span_card_model.dart'; -import '../../repo/tokens_repo.dart'; import '../../utils/error_handler.dart'; import '../../utils/overlay.dart'; @@ -29,59 +28,42 @@ class IgcController { spanDataController = SpanDataController(choreographer); } - Future getIGCTextData({required bool tokensOnly}) async { + Future getIGCTextData({ + required bool onlyTokensAndLanguageDetection, + }) async { try { if (choreographer.currentText.isEmpty) return clear(); - // the error spans are going to be reloaded, so clear the cache - spanDataController.clearCache(); debugPrint('getIGCTextData called with ${choreographer.currentText}'); - debugPrint('getIGCTextData called with tokensOnly = $tokensOnly'); + debugPrint( + 'getIGCTextData called with tokensOnly = $onlyTokensAndLanguageDetection', + ); final IGCRequestBody reqBody = IGCRequestBody( fullText: choreographer.currentText, userL1: choreographer.l1LangCode!, userL2: choreographer.l2LangCode!, - enableIGC: choreographer.igcEnabled && !tokensOnly, - enableIT: choreographer.itEnabled && !tokensOnly, - tokensOnly: tokensOnly, + enableIGC: choreographer.igcEnabled && !onlyTokensAndLanguageDetection, + enableIT: choreographer.itEnabled && !onlyTokensAndLanguageDetection, ); final IGCTextData igcTextDataResponse = await IgcRepo.getIGC( await choreographer.accessToken, igcRequest: reqBody, ); - // temp fix - igcTextDataResponse.originalInput = reqBody.fullText; - //this will happen when the user changes the input while igc is fetching results + // this will happen when the user changes the input while igc is fetching results if (igcTextDataResponse.originalInput != choreographer.currentText) { - // final current = choreographer.currentText; - // final igctext = igcTextDataResponse.originalInput; - // Sentry.addBreadcrumb( - // Breadcrumb(message: "igc return input does not match current text"), - // ); - // debugger(when: kDebugMode); return; } - //TO-DO: in api call, specify turning off IT and/or grammar checking - if (!choreographer.igcEnabled) { - igcTextDataResponse.matches = igcTextDataResponse.matches - .where((match) => !match.isGrammarMatch) - .toList(); - } - if (!choreographer.itEnabled) { - igcTextDataResponse.matches = igcTextDataResponse.matches - .where((match) => !match.isOutOfTargetMatch) - .toList(); - } - if (!choreographer.itEnabled && !choreographer.igcEnabled) { - igcTextDataResponse.matches = []; - } - igcTextData = igcTextDataResponse; + // TODO - for each new match, + // check if existing igcTextData has one and only one match with the same error text and correction + // if so, keep the original match and discard the new one + // if not, add the new match to the existing igcTextData + // After fetching igc data, pre-call span details for each match optimistically. // This will make the loading of span details faster for the user if (igcTextData?.matches.isNotEmpty ?? false) { @@ -170,6 +152,13 @@ class IgcController { const int firstMatchIndex = 0; final PangeaMatch match = igcTextData!.matches[firstMatchIndex]; + if (match.isITStart && + choreographer.itAutoPlayEnabled && + igcTextData != null) { + choreographer.onITStart(igcTextData!.matches[firstMatchIndex]); + return; + } + OverlayUtil.showPositionedCard( context: context, cardToShow: SpanCard( @@ -189,7 +178,7 @@ class IgcController { ), roomId: choreographer.roomId, ), - cardSize: match.isITStart ? const Size(350, 220) : const Size(350, 400), + cardSize: match.isITStart ? const Size(350, 260) : const Size(350, 400), transformTargetId: choreographer.inputTransformTargetKey, ); } @@ -206,14 +195,6 @@ class IgcController { return true; } - String? get detectedLangCode { - if (!hasRelevantIGCTextData) return null; - - final LanguageDetection first = igcTextData!.detections.first; - - return first.langCode; - } - clear() { igcTextData = null; spanDataController.clearCache(); diff --git a/lib/pangea/choreographer/controllers/it_controller.dart b/lib/pangea/choreographer/controllers/it_controller.dart index 632db7e9b..9e70287cd 100644 --- a/lib/pangea/choreographer/controllers/it_controller.dart +++ b/lib/pangea/choreographer/controllers/it_controller.dart @@ -21,6 +21,7 @@ class ITController { Choreographer choreographer; bool _isOpen = false; + bool _willOpen = false; bool _isEditingSourceText = false; bool showChoiceFeedback = false; @@ -36,6 +37,7 @@ class ITController { void clear() { _isOpen = false; + _willOpen = false; showChoiceFeedback = false; _isEditingSourceText = false; @@ -54,6 +56,7 @@ class ITController { } Future initializeIT(ITStartData itStartData) async { + _willOpen = true; Future.delayed(const Duration(microseconds: 100), () { _isOpen = true; }); @@ -61,17 +64,14 @@ class ITController { } void closeIT() { - //if they close it before choosing anything, just put their text back + //if they close it before completing, just put their text back //PTODO - explore using last itStep - if (choreographer.currentText.isEmpty) { - choreographer.textController.text = sourceText ?? ""; - } + choreographer.textController.text = sourceText ?? ""; clear(); } /// if IGC isn't positive that text is full L1 then translate to L1 Future _setSourceText() async { - // try { if (_itStartData == null || _itStartData!.text.isEmpty) { Sentry.addBreadcrumb( Breadcrumb( @@ -96,21 +96,12 @@ class ITController { request: FullTextTranslationRequestModel( text: _itStartData!.text, tgtLang: choreographer.l1LangCode!, - srcLang: choreographer.l2LangCode, + srcLang: _itStartData!.langCode, userL1: choreographer.l1LangCode!, userL2: choreographer.l2LangCode!, ), ); sourceText = res.bestTranslation; - // } catch (err, stack) { - // debugger(when: kDebugMode); - // if (_itStartData?.text.isNotEmpty ?? false) { - // ErrorHandler.logError(e: err, s: stack); - // sourceText = _itStartData!.text; - // } else { - // rethrow; - // } - // } } // used 1) at very beginning (with custom input = null) @@ -166,7 +157,7 @@ class ITController { if (isTranslationDone) { choreographer.altTranslator.setTranslationFeedback(); - choreographer.getLanguageHelp(true); + choreographer.getLanguageHelp(onlyTokensAndLanguageDetection: true); } else { getNextTranslationData(); } @@ -217,31 +208,17 @@ class ITController { Future onEditSourceTextSubmit(String newSourceText) async { try { - sourceText = newSourceText; + _isOpen = true; _isEditingSourceText = false; - final String currentText = choreographer.currentText; + _itStartData = ITStartData(newSourceText, choreographer.l1LangCode); + completedITSteps = []; + currentITStep = null; + nextITStep = null; + goldRouteTracker = GoldRouteTracker.defaultTracker; + payLoadIds = []; - choreographer.startLoading(); - - final List responses = await Future.wait([ - _customInputTranslation(""), - _customInputTranslation(choreographer.currentText), - ]); - if (responses[0].goldContinuances != null && - responses[0].goldContinuances!.isNotEmpty) { - goldRouteTracker = GoldRouteTracker( - responses[0].goldContinuances!, - sourceText!, - ); - } - currentITStep = CurrentITStep( - sourceText: sourceText!, - currentText: currentText, - responseModel: responses[1], - storedGoldContinuances: goldRouteTracker.continuances, - ); - - _addPayloadId(responses[1]); + _setSourceText(); + getTranslationData(false); } catch (err, stack) { debugger(when: kDebugMode); if (err is! http.Response) { @@ -252,6 +229,7 @@ class ITController { ); } finally { choreographer.stopLoading(); + choreographer.textController.text = ""; } } @@ -334,15 +312,14 @@ class ITController { bool get isOpen => _isOpen; + bool get willOpen => _willOpen; + String get targetLangCode => choreographer.l2LangCode!; String get sourceLangCode => choreographer.l1LangCode!; bool get isLoading => choreographer.isFetching; - bool get correctChoicesSelected => - completedITSteps.every((ITStep step) => step.isCorrect); - String latestChoiceFeedback(BuildContext context) => completedITSteps.isNotEmpty ? completedITSteps.last.choiceFeedback(context) diff --git a/lib/pangea/choreographer/controllers/message_options.dart b/lib/pangea/choreographer/controllers/message_options.dart index 0e5e68461..96df5d921 100644 --- a/lib/pangea/choreographer/controllers/message_options.dart +++ b/lib/pangea/choreographer/controllers/message_options.dart @@ -1,7 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/utils/firebase_analytics.dart'; diff --git a/lib/pangea/controllers/span_data_controller.dart b/lib/pangea/choreographer/controllers/span_data_controller.dart similarity index 100% rename from lib/pangea/controllers/span_data_controller.dart rename to lib/pangea/choreographer/controllers/span_data_controller.dart diff --git a/lib/pangea/choreographer/widgets/choice_array.dart b/lib/pangea/choreographer/widgets/choice_array.dart index c26fd706d..adf30dcb1 100644 --- a/lib/pangea/choreographer/widgets/choice_array.dart +++ b/lib/pangea/choreographer/widgets/choice_array.dart @@ -8,7 +8,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import '../../utils/bot_style.dart'; import 'it_shimmer.dart'; -class ChoicesArray extends StatelessWidget { +class ChoicesArray extends StatefulWidget { final bool isLoading; final List? choices; final void Function(int) onPressed; @@ -32,23 +32,51 @@ class ChoicesArray extends StatelessWidget { this.onLongPress, }); + @override + ChoicesArrayState createState() => ChoicesArrayState(); +} + +class ChoicesArrayState extends State { + bool interactionDisabled = false; + + void disableInteraction() { + WidgetsBinding.instance.addPostFrameCallback((_) { + setState(() { + interactionDisabled = true; + }); + }); + } + + void enableInteractions() { + WidgetsBinding.instance.addPostFrameCallback((_) { + setState(() { + interactionDisabled = false; + }); + }); + } + @override Widget build(BuildContext context) { final ThemeData theme = Theme.of(context); - return isLoading && (choices == null || choices!.length <= 1) - ? ItShimmer(originalSpan: originalSpan) + return widget.isLoading && + (widget.choices == null || widget.choices!.length <= 1) + ? ItShimmer(originalSpan: widget.originalSpan) : Wrap( alignment: WrapAlignment.center, - children: choices + children: widget.choices ?.asMap() .entries .map( (entry) => ChoiceItem( theme: theme, - onLongPress: isActive ? onLongPress : null, - onPressed: isActive ? onPressed : (_) {}, + onLongPress: + widget.isActive ? widget.onLongPress : null, + onPressed: widget.isActive ? widget.onPressed : (_) {}, entry: entry, - isSelected: selectedChoiceIndex == entry.key, + interactionDisabled: interactionDisabled, + enableInteraction: enableInteractions, + disableInteraction: disableInteraction, + isSelected: widget.selectedChoiceIndex == entry.key, ), ) .toList() ?? @@ -77,6 +105,9 @@ class ChoiceItem extends StatelessWidget { required this.onPressed, required this.entry, required this.isSelected, + required this.interactionDisabled, + required this.enableInteraction, + required this.disableInteraction, }); final MapEntry entry; @@ -84,6 +115,9 @@ class ChoiceItem extends StatelessWidget { final void Function(int p1)? onLongPress; final void Function(int p1) onPressed; final bool isSelected; + final bool interactionDisabled; + final VoidCallback enableInteraction; + final VoidCallback disableInteraction; @override Widget build(BuildContext context) { @@ -97,6 +131,8 @@ class ChoiceItem extends StatelessWidget { key: ValueKey(entry.value.text), selected: entry.value.color != null, isGold: entry.value.isGold, + enableInteraction: enableInteraction, + disableInteraction: disableInteraction, child: Container( margin: const EdgeInsets.all(2), padding: EdgeInsets.zero, @@ -130,9 +166,11 @@ class ChoiceItem extends StatelessWidget { ), ), ), - onLongPress: - onLongPress != null ? () => onLongPress!(entry.key) : null, - onPressed: () => onPressed(entry.key), + onLongPress: onLongPress != null && !interactionDisabled + ? () => onLongPress!(entry.key) + : null, + onPressed: + interactionDisabled ? null : () => onPressed(entry.key), child: Text( entry.value.text, style: BotStyle.text(context), @@ -152,11 +190,15 @@ class ChoiceAnimationWidget extends StatefulWidget { final Widget child; final bool selected; final bool isGold; + final VoidCallback enableInteraction; + final VoidCallback disableInteraction; const ChoiceAnimationWidget({ super.key, required this.child, required this.selected, + required this.enableInteraction, + required this.disableInteraction, this.isGold = false, }); @@ -164,11 +206,13 @@ class ChoiceAnimationWidget extends StatefulWidget { ChoiceAnimationWidgetState createState() => ChoiceAnimationWidgetState(); } +enum AnimationState { ready, forward, reverse, finished } + class ChoiceAnimationWidgetState extends State with SingleTickerProviderStateMixin { late final AnimationController _controller; late final Animation _animation; - bool animationPlayed = false; + AnimationState animationState = AnimationState.ready; @override void initState() { @@ -196,17 +240,29 @@ class ChoiceAnimationWidgetState extends State ), ]).animate(_controller); - if (widget.selected && !animationPlayed) { + widget.enableInteraction(); + + if (widget.selected && animationState == AnimationState.ready) { + widget.disableInteraction(); _controller.forward(); - animationPlayed = true; - setState(() {}); + setState(() { + animationState = AnimationState.forward; + }); } _controller.addStatusListener((status) { - if (status == AnimationStatus.completed) { + if (status == AnimationStatus.completed && + animationState == AnimationState.forward) { _controller.reverse(); - } else if (status == AnimationStatus.dismissed) { - _controller.stop(); - _controller.reset(); + setState(() { + animationState = AnimationState.reverse; + }); + } + if (status == AnimationStatus.dismissed && + animationState == AnimationState.reverse) { + widget.enableInteraction(); + setState(() { + animationState = AnimationState.finished; + }); } }); } @@ -214,10 +270,12 @@ class ChoiceAnimationWidgetState extends State @override void didUpdateWidget(ChoiceAnimationWidget oldWidget) { super.didUpdateWidget(oldWidget); - if (widget.selected && !animationPlayed) { + if (widget.selected && animationState == AnimationState.ready) { + widget.disableInteraction(); _controller.forward(); - animationPlayed = true; - setState(() {}); + setState(() { + animationState = AnimationState.forward; + }); } } diff --git a/lib/pangea/choreographer/widgets/it_bar.dart b/lib/pangea/choreographer/widgets/it_bar.dart index 4e26cba58..2ba630900 100644 --- a/lib/pangea/choreographer/widgets/it_bar.dart +++ b/lib/pangea/choreographer/widgets/it_bar.dart @@ -7,6 +7,7 @@ import 'package:fluffychat/pangea/choreographer/widgets/it_feedback_card.dart'; import 'package:fluffychat/pangea/choreographer/widgets/translation_finished_flow.dart'; import 'package:fluffychat/pangea/constants/choreo_constants.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; +import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -21,93 +22,107 @@ class ITBar extends StatelessWidget { final Choreographer choreographer; const ITBar({super.key, required this.choreographer}); - ITController get controller => choreographer.itController; + ITController get itController => choreographer.itController; @override Widget build(BuildContext context) { - if (!controller.isOpen) return const SizedBox(); - return CompositedTransformTarget( - link: choreographer.itBarLinkAndKey.link, - child: Container( - key: choreographer.itBarLinkAndKey.key, - decoration: BoxDecoration( - color: Theme.of(context).brightness == Brightness.light - ? Colors.white - : Colors.black, - borderRadius: const BorderRadius.only( - topLeft: Radius.circular(AppConfig.borderRadius), - topRight: Radius.circular(AppConfig.borderRadius), - ), - ), - width: double.infinity, - padding: const EdgeInsets.fromLTRB(0, 3, 3, 3), - child: Stack( - children: [ - SingleChildScrollView( - child: Column( + return AnimatedSize( + duration: itController.willOpen + ? const Duration(milliseconds: 2000) + : const Duration(milliseconds: 500), + curve: Curves.fastOutSlowIn, + clipBehavior: Clip.none, + child: !itController.willOpen + ? const SizedBox() + : CompositedTransformTarget( + link: choreographer.itBarLinkAndKey.link, + child: AnimatedOpacity( + duration: itController.willOpen + ? const Duration(milliseconds: 2000) + : const Duration(milliseconds: 500), + opacity: itController.willOpen ? 1.0 : 0.0, + child: Container( + key: choreographer.itBarLinkAndKey.key, + decoration: BoxDecoration( + color: Theme.of(context).brightness == Brightness.light + ? Colors.white + : Colors.black, + borderRadius: const BorderRadius.only( + topLeft: Radius.circular(AppConfig.borderRadius), + topRight: Radius.circular(AppConfig.borderRadius), + ), + ), + width: double.infinity, + padding: const EdgeInsets.fromLTRB(0, 3, 3, 3), + child: Stack( children: [ - // Row( - // mainAxisAlignment: MainAxisAlignment.spaceBetween, - // crossAxisAlignment: CrossAxisAlignment.start, - // children: [ - // // Row( - // // mainAxisAlignment: MainAxisAlignment.start, - // // crossAxisAlignment: CrossAxisAlignment.start, - // // children: [ - // // CounterDisplay( - // // correct: controller.correctChoices, - // // custom: controller.customChoices, - // // incorrect: controller.incorrectChoices, - // // yellow: controller.wildcardChoices, - // // ), - // // CompositedTransformTarget( - // // link: choreographer.itBotLayerLinkAndKey.link, - // // child: ITBotButton( - // // key: choreographer.itBotLayerLinkAndKey.key, - // // choreographer: choreographer, - // // ), - // // ), - // // ], - // // ), - // ITCloseButton(choreographer: choreographer), - // ], - // ), - // const SizedBox(height: 40.0), - OriginalText(controller: controller), - const SizedBox(height: 7.0), - IntrinsicHeight( - child: Container( - constraints: const BoxConstraints(minHeight: 80), - width: double.infinity, - padding: const EdgeInsets.symmetric(horizontal: 4.0), - child: Center( - child: controller.choreographer.errorService.isError - ? ITError( - error: controller + SingleChildScrollView( + child: Column( + children: [ + // Row( + // mainAxisAlignment: MainAxisAlignment.spaceBetween, + // crossAxisAlignment: CrossAxisAlignment.start, + // children: [ + // // Row( + // // mainAxisAlignment: MainAxisAlignment.start, + // // crossAxisAlignment: CrossAxisAlignment.start, + // // children: [ + // // CounterDisplay( + // // correct: controller.correctChoices, + // // custom: controller.customChoices, + // // incorrect: controller.incorrectChoices, + // // yellow: controller.wildcardChoices, + // // ), + // // CompositedTransformTarget( + // // link: choreographer.itBotLayerLinkAndKey.link, + // // child: ITBotButton( + // // key: choreographer.itBotLayerLinkAndKey.key, + // // choreographer: choreographer, + // // ), + // // ), + // // ], + // // ), + // ITCloseButton(choreographer: choreographer), + // ], + // ), + // const SizedBox(height: 40.0), + OriginalText(controller: itController), + const SizedBox(height: 7.0), + IntrinsicHeight( + child: Container( + constraints: const BoxConstraints(minHeight: 80), + width: double.infinity, + padding: const EdgeInsets.symmetric(horizontal: 4.0), + child: Center( + child: itController.choreographer.errorService.isError + ? ITError( + error: itController .choreographer.errorService.error!, - controller: controller, + controller: itController, ) - : controller.showChoiceFeedback - ? ChoiceFeedbackText(controller: controller) - : controller.isTranslationDone - ? TranslationFeedback( - controller: controller, - ) - : ITChoices(controller: controller), - ), + : itController.showChoiceFeedback + ? ChoiceFeedbackText(controller: itController) + : itController.isTranslationDone + ? TranslationFeedback( + controller: itController, + ) + : ITChoices(controller: itController), + ), + ), + ), + ], ), ), + Positioned( + top: 0.0, + right: 0.0, + child: ITCloseButton(choreographer: choreographer), + ), ], ), ), - Positioned( - top: 0.0, - right: 0.0, - child: ITCloseButton(choreographer: choreographer), - ), - ], - ), + ), ), ); } @@ -184,10 +199,23 @@ class OriginalText extends StatelessWidget { ), ), ), - if (!controller.isEditingSourceText && controller.sourceText != null) - IconButton( - onPressed: () => controller.setIsEditingSourceText(true), - icon: const Icon(Icons.edit_outlined), + if ( + !controller.isEditingSourceText + && controller.sourceText != null + ) + AnimatedOpacity( + duration: const Duration(milliseconds: 500), + opacity: controller.nextITStep != null + ? 1.0 + : 0.0, + child: IconButton( + onPressed: () => { + if (controller.nextITStep != null) { + controller.setIsEditingSourceText(true), + }, + }, + icon: const Icon(Icons.edit_outlined), + ), ), ], ), diff --git a/lib/pangea/choreographer/widgets/it_bar_buttons.dart b/lib/pangea/choreographer/widgets/it_bar_buttons.dart index 815020d17..9fcaa927e 100644 --- a/lib/pangea/choreographer/widgets/it_bar_buttons.dart +++ b/lib/pangea/choreographer/widgets/it_bar_buttons.dart @@ -1,8 +1,8 @@ +import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; +import 'package:fluffychat/widgets/matrix.dart'; import 'package:flutter/material.dart'; -import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; -import 'package:fluffychat/pangea/utils/instructions.dart'; -import 'package:fluffychat/widgets/matrix.dart'; import '../../widgets/common/bot_face_svg.dart'; import '../controllers/choreographer.dart'; import '../controllers/it_controller.dart'; @@ -37,7 +37,7 @@ class ITBotButton extends StatelessWidget { @override Widget build(BuildContext context) { - choreographer.pangeaController.instructions.show( + choreographer.pangeaController.instructions.showInstructionsPopup( context, InstructionsEnum.itInstructions, choreographer.itBotTransformTargetKey, @@ -45,8 +45,9 @@ class ITBotButton extends StatelessWidget { ); return IconButton( - icon: const BotFace(width: 40.0, expression: BotExpression.right), - onPressed: () => choreographer.pangeaController.instructions.show( + icon: const BotFace(width: 40.0, expression: BotExpression.idle), + onPressed: () => + choreographer.pangeaController.instructions.showInstructionsPopup( context, InstructionsEnum.itInstructions, choreographer.itBotTransformTargetKey, diff --git a/lib/pangea/choreographer/widgets/it_feedback_card.dart b/lib/pangea/choreographer/widgets/it_feedback_card.dart index 072d24e1a..5424310a8 100644 --- a/lib/pangea/choreographer/widgets/it_feedback_card.dart +++ b/lib/pangea/choreographer/widgets/it_feedback_card.dart @@ -129,7 +129,7 @@ class ITFeedbackCardView extends StatelessWidget { children: [ CardHeader( text: controller.widget.req.chosenContinuance, - botExpression: BotExpression.down, + botExpression: BotExpression.nonGold, ), Text( controller.widget.choiceFeedback, diff --git a/lib/pangea/choreographer/widgets/start_igc_button.dart b/lib/pangea/choreographer/widgets/start_igc_button.dart index 49e4b078d..e8625da95 100644 --- a/lib/pangea/choreographer/widgets/start_igc_button.dart +++ b/lib/pangea/choreographer/widgets/start_igc_button.dart @@ -1,10 +1,9 @@ import 'dart:async'; import 'dart:math' as math; -import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/choreographer/controllers/choreographer.dart'; -import 'package:fluffychat/pangea/constants/colors.dart'; import 'package:fluffychat/pangea/controllers/subscription_controller.dart'; +import 'package:fluffychat/pangea/enum/assistance_state_enum.dart'; import 'package:fluffychat/pangea/widgets/user_settings/p_language_dialog.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -54,15 +53,15 @@ class StartIGCButtonState extends State setState(() => prevState = assistanceState); } + bool get itEnabled => widget.controller.choreographer.itEnabled; + bool get igcEnabled => widget.controller.choreographer.igcEnabled; + CanSendStatus get canSendStatus => + widget.controller.pangeaController.subscriptionController.canSendStatus; + bool get grammarCorrectionEnabled => + (itEnabled || igcEnabled) && canSendStatus == CanSendStatus.subscribed; + @override Widget build(BuildContext context) { - final bool itEnabled = widget.controller.choreographer.itEnabled; - final bool igcEnabled = widget.controller.choreographer.igcEnabled; - final CanSendStatus canSendStatus = - widget.controller.pangeaController.subscriptionController.canSendStatus; - final bool grammarCorrectionEnabled = - (itEnabled || igcEnabled) && canSendStatus == CanSendStatus.subscribed; - if (!grammarCorrectionEnabled || widget.controller.choreographer.isAutoIGCEnabled || widget.controller.choreographer.choreoMode == ChoreoMode.it) { @@ -89,11 +88,11 @@ class StartIGCButtonState extends State disabledElevation: 0, shape: const CircleBorder(), onPressed: () { - if (assistanceState != AssistanceState.complete) { + if (assistanceState != AssistanceState.fetching) { widget.controller.choreographer .getLanguageHelp( - false, - true, + onlyTokensAndLanguageDetection: false, + manual: true, ) .then((_) { if (widget.controller.choreographer.igc.igcTextData != null && @@ -142,32 +141,3 @@ class StartIGCButtonState extends State ); } } - -extension AssistanceStateExtension on AssistanceState { - Color stateColor(context) { - switch (this) { - case AssistanceState.noMessage: - case AssistanceState.notFetched: - case AssistanceState.fetching: - return Theme.of(context).colorScheme.primary; - case AssistanceState.fetched: - return PangeaColors.igcError; - case AssistanceState.complete: - return AppConfig.success; - } - } - - String tooltip(L10n l10n) { - switch (this) { - case AssistanceState.noMessage: - case AssistanceState.notFetched: - return l10n.runGrammarCorrection; - case AssistanceState.fetching: - return ""; - case AssistanceState.fetched: - return l10n.grammarCorrectionFailed; - case AssistanceState.complete: - return l10n.grammarCorrectionComplete; - } - } -} diff --git a/lib/pangea/config/environment.dart b/lib/pangea/config/environment.dart index 4d4378999..de7039f9d 100644 --- a/lib/pangea/config/environment.dart +++ b/lib/pangea/config/environment.dart @@ -5,7 +5,7 @@ class Environment { DateTime.utc(2023, 1, 25).isBefore(DateTime.now()); static String get fileName { - return ".env"; + return ".local_choreo.env"; } static bool get isStaging => synapsURL.contains("staging"); diff --git a/lib/pangea/constants/keys.dart b/lib/pangea/constants/keys.dart deleted file mode 100644 index 092b1b0a9..000000000 --- a/lib/pangea/constants/keys.dart +++ /dev/null @@ -1,4 +0,0 @@ -class PrefKey { - static const lastFetched = 'LAST_FETCHED'; - static const flags = 'flags'; -} diff --git a/lib/pangea/constants/language_constants.dart b/lib/pangea/constants/language_constants.dart new file mode 100644 index 000000000..73137a300 --- /dev/null +++ b/lib/pangea/constants/language_constants.dart @@ -0,0 +1,24 @@ +import 'package:fluffychat/pangea/models/language_detection_model.dart'; + +class LanguageKeys { + static const unknownLanguage = "unk"; + static const mixedLanguage = "mixed"; + static const defaultLanguage = "en"; + static const multiLanguage = "multi"; +} + +class LanguageLevelType { + static List get allInts => [0, 1, 2, 3, 4, 5, 6]; +} + +class PrefKey { + static const lastFetched = 'p_lang_lastfetched'; + static const flags = 'p_lang_flag'; +} + +final LanguageDetection unknownLanguageDetection = LanguageDetection( + langCode: LanguageKeys.unknownLanguage, + confidence: 0.5, +); + +const double languageDetectionConfidenceThreshold = 0.95; diff --git a/lib/pangea/constants/language_keys.dart b/lib/pangea/constants/language_keys.dart deleted file mode 100644 index cfe0c96c0..000000000 --- a/lib/pangea/constants/language_keys.dart +++ /dev/null @@ -1,6 +0,0 @@ -class LanguageKeys { - static const unknownLanguage = "unk"; - static const mixedLanguage = "mixed"; - static const defaultLanguage = "en"; - static const multiLanguage = "multi"; -} diff --git a/lib/pangea/constants/language_level_type.dart b/lib/pangea/constants/language_level_type.dart deleted file mode 100644 index 49136ca77..000000000 --- a/lib/pangea/constants/language_level_type.dart +++ /dev/null @@ -1,3 +0,0 @@ -class LanguageLevelType { - static List get allInts => [0, 1, 2, 3, 4, 5, 6]; -} diff --git a/lib/pangea/constants/language_list_keys.dart b/lib/pangea/constants/language_list_keys.dart deleted file mode 100644 index 7fff924a9..000000000 --- a/lib/pangea/constants/language_list_keys.dart +++ /dev/null @@ -1,4 +0,0 @@ -class PrefKey { - static const lastFetched = 'p_lang_lastfetched'; - static const flags = 'p_lang_flag'; -} diff --git a/lib/pangea/constants/local.key.dart b/lib/pangea/constants/local.key.dart index 743fe1143..40dd393c5 100644 --- a/lib/pangea/constants/local.key.dart +++ b/lib/pangea/constants/local.key.dart @@ -11,5 +11,6 @@ class PLocalKey { static const String dismissedPaywall = 'dismissedPaywall'; static const String paywallBackoff = 'paywallBackoff'; static const String autoPlayMessages = 'autoPlayMessages'; + static const String itAutoPlay = 'itAutoPlay'; static const String messagesSinceUpdate = 'messagesSinceLastUpdate'; } diff --git a/lib/pangea/constants/model_keys.dart b/lib/pangea/constants/model_keys.dart index c85c8a7bd..372e72606 100644 --- a/lib/pangea/constants/model_keys.dart +++ b/lib/pangea/constants/model_keys.dart @@ -66,7 +66,6 @@ class ModelKey { static const String tokensSent = "tokens_sent"; static const String tokensWritten = "tokens_written"; static const String choreoRecord = "choreo_record"; - static const String useType = "use_type"; static const String baseDefinition = "base_definition"; static const String targetDefinition = "target_definition"; @@ -95,17 +94,16 @@ class ModelKey { static const String languageLevel = "difficulty"; static const String safetyModeration = "safety_moderation"; static const String mode = "mode"; - static const String custom = "custom"; static const String discussionTopic = "discussion_topic"; static const String discussionKeywords = "discussion_keywords"; - static const String discussionTriggerScheduleEnabled = - "discussion_trigger_schedule_enabled"; - static const String discussionTriggerScheduleHourInterval = - "discussion_trigger_schedule_hour_interval"; static const String discussionTriggerReactionEnabled = "discussion_trigger_reaction_enabled"; static const String discussionTriggerReactionKey = "discussion_trigger_reaction_key"; + static const String customSystemPrompt = "custom_system_prompt"; + static const String customTriggerReactionEnabled = + "custom_trigger_reaction_enabled"; + static const String customTriggerReactionKey = "custom_trigger_reaction_key"; static const String prevEventId = "prev_event_id"; static const String prevLastUpdated = "prev_last_updated"; diff --git a/lib/pangea/constants/pangea_event_types.dart b/lib/pangea/constants/pangea_event_types.dart index 27b177a35..9ca975dc0 100644 --- a/lib/pangea/constants/pangea_event_types.dart +++ b/lib/pangea/constants/pangea_event_types.dart @@ -26,7 +26,13 @@ class PangeaEventTypes { static const String report = 'm.report'; static const textToSpeechRule = "p.rule.text_to_speech"; - static const pangeaActivityRes = "pangea.activity_res"; - static const acitivtyRequest = "pangea.activity_req"; + /// A request to the server to generate activities + static const activityRequest = "pangea.activity_req"; + + /// A practice activity that is related to a message + static const pangeaActivity = "pangea.activity_res"; + + /// A record of completion of an activity. There + /// can be one per user per activity. static const activityRecord = "pangea.activity_completion"; } diff --git a/lib/pangea/controllers/language_controller.dart b/lib/pangea/controllers/language_controller.dart index c906e6b4e..b1bc02380 100644 --- a/lib/pangea/controllers/language_controller.dart +++ b/lib/pangea/controllers/language_controller.dart @@ -1,6 +1,6 @@ import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; diff --git a/lib/pangea/controllers/language_detection_controller.dart b/lib/pangea/controllers/language_detection_controller.dart index 4ddfabc88..a3e07b0a3 100644 --- a/lib/pangea/controllers/language_detection_controller.dart +++ b/lib/pangea/controllers/language_detection_controller.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:convert'; import 'package:fluffychat/pangea/config/environment.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/models/language_detection_model.dart'; import 'package:fluffychat/pangea/network/urls.dart'; @@ -75,19 +76,21 @@ class LanguageDetectionResponse { }; } - LanguageDetection? get _bestDetection { + /// Return the highest confidence detection. + /// If there are no detections, the unknown language detection is returned. + LanguageDetection get highestConfidenceDetection { detections.sort((a, b) => b.confidence.compareTo(a.confidence)); - return detections.isNotEmpty ? detections.first : null; + return detections.firstOrNull ?? unknownLanguageDetection; } - final double _confidenceThreshold = 0.95; - - LanguageDetection? bestDetection({double? threshold}) { - threshold ??= _confidenceThreshold; - return (_bestDetection?.confidence ?? 0) >= _confidenceThreshold - ? _bestDetection! - : null; - } + /// Returns the highest validated detection based on the confidence threshold. + /// If the highest confidence detection is below the threshold, the unknown language + /// detection is returned. + LanguageDetection highestValidatedDetection({double? threshold}) => + highestConfidenceDetection.confidence >= + (threshold ?? languageDetectionConfidenceThreshold) + ? highestConfidenceDetection + : unknownLanguageDetection; } class _LanguageDetectionCacheItem { diff --git a/lib/pangea/controllers/language_list_controller.dart b/lib/pangea/controllers/language_list_controller.dart index 345d5b5e7..31e4513fa 100644 --- a/lib/pangea/controllers/language_list_controller.dart +++ b/lib/pangea/controllers/language_list_controller.dart @@ -1,13 +1,12 @@ import 'dart:async'; import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/repo/language_repo.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/foundation.dart'; -import '../constants/language_list_keys.dart'; import '../utils/shared_prefs.dart'; class PangeaLanguage { @@ -27,7 +26,7 @@ class PangeaLanguage { static Future initialize() async { try { - _langList = await _getCahedFlags(); + _langList = await _getCachedFlags(); if (await _shouldFetch || _langList.isEmpty) { _langList = await LanguageRepo.fetchLanguages(); @@ -77,7 +76,7 @@ class PangeaLanguage { await MyShared.saveJson(PrefKey.flags, flagMap); } - static Future> _getCahedFlags() async { + static Future> _getCachedFlags() async { final Map? flagsMap = await MyShared.readJson(PrefKey.flags); if (flagsMap == null) { diff --git a/lib/pangea/controllers/message_analytics_controller.dart b/lib/pangea/controllers/message_analytics_controller.dart index 7083efbfd..3739b2596 100644 --- a/lib/pangea/controllers/message_analytics_controller.dart +++ b/lib/pangea/controllers/message_analytics_controller.dart @@ -62,12 +62,13 @@ class AnalyticsController extends BaseController { timeSpan.toString(), local: true, ); + setState(); } ///////// SPACE ANALYTICS LANGUAGES ////////// String get _analyticsSpaceLangKey => "ANALYTICS_SPACE_LANG_KEY"; - LanguageModel get currentAnalyticsSpaceLang { + LanguageModel get currentAnalyticsLang { try { final String? str = _pangeaController.pStoreService.read( _analyticsSpaceLangKey, @@ -83,41 +84,43 @@ class AnalyticsController extends BaseController { } } - Future setCurrentAnalyticsSpaceLang(LanguageModel lang) async { + Future setCurrentAnalyticsLang(LanguageModel lang) async { await _pangeaController.pStoreService.save( _analyticsSpaceLangKey, lang.langCode, local: true, ); + setState(); } + /// given an analytics event type and the current analytics language, + /// get the last time the user updated their analytics Future myAnalyticsLastUpdated(String type) async { - // given an analytics event type, get the last updated times - // for each of the user's analytics rooms and return the most recent - // Most Recent instead of the oldest because, for instance: - // My last Spanish event was sent 3 days ago. - // My last English event was sent 1 day ago. - // When I go to check if the cached data is out of date, the cached item was set 2 days ago. - // I know there’s new data available because the English update data (the most recent) is after the cache’s creation time. - // So, I should update the cache. final List analyticsRooms = _pangeaController .matrixState.client.allMyAnalyticsRooms .where((room) => room.isAnalyticsRoom) .toList(); - final List lastUpdates = []; + final Map langCodeLastUpdates = {}; for (final Room analyticsRoom in analyticsRooms) { + final String? roomLang = analyticsRoom.madeForLang; + if (roomLang == null) continue; final DateTime? lastUpdated = await analyticsRoom.analyticsLastUpdated( type, _pangeaController.matrixState.client.userID!, ); if (lastUpdated != null) { - lastUpdates.add(lastUpdated); + langCodeLastUpdates[roomLang] = lastUpdated; } } - if (lastUpdates.isEmpty) return null; - return lastUpdates.reduce( + if (langCodeLastUpdates.isEmpty) return null; + final String? l2Code = + _pangeaController.languageController.userL2?.langCode; + if (l2Code != null && langCodeLastUpdates.containsKey(l2Code)) { + return langCodeLastUpdates[l2Code]; + } + return langCodeLastUpdates.values.reduce( (check, mostRecent) => check.isAfter(mostRecent) ? check : mostRecent, ); } @@ -134,7 +137,7 @@ class AnalyticsController extends BaseController { final List> lastUpdatedFutures = []; for (final student in space.students) { final Room? analyticsRoom = _pangeaController.matrixState.client - .analyticsRoomLocal(currentAnalyticsSpaceLang.langCode, student.id); + .analyticsRoomLocal(currentAnalyticsLang.langCode, student.id); if (analyticsRoom == null) continue; lastUpdatedFutures.add( analyticsRoom.analyticsLastUpdated( @@ -177,28 +180,20 @@ class AnalyticsController extends BaseController { //////////////////////////// MESSAGE SUMMARY ANALYTICS //////////////////////////// + /// get all the summary analytics events for the current user + /// in the current language's analytics room Future> mySummaryAnalytics() async { - // gets all the summary analytics events for the user - // since the current timespace's cut off date - final analyticsRooms = - _pangeaController.matrixState.client.allMyAnalyticsRooms; + final Room? analyticsRoom = _pangeaController.matrixState.client + .analyticsRoomLocal(currentAnalyticsLang.langCode); + if (analyticsRoom == null) return []; - final List allEvents = []; - - // TODO switch to using list of futures - for (final Room analyticsRoom in analyticsRooms) { - final List? roomEvents = - await analyticsRoom.getAnalyticsEvents( - type: PangeaEventTypes.summaryAnalytics, - since: currentAnalyticsTimeSpan.cutOffDate, - userId: _pangeaController.matrixState.client.userID!, - ); - - allEvents.addAll( - roomEvents?.cast() ?? [], - ); - } - return allEvents; + final List? roomEvents = + await analyticsRoom.getAnalyticsEvents( + type: PangeaEventTypes.summaryAnalytics, + since: currentAnalyticsTimeSpan.cutOffDate, + userId: _pangeaController.matrixState.client.userID!, + ); + return roomEvents?.cast() ?? []; } Future> spaceMemberAnalytics( @@ -216,7 +211,7 @@ class AnalyticsController extends BaseController { final List analyticsEvents = []; for (final student in space.students) { final Room? analyticsRoom = _pangeaController.matrixState.client - .analyticsRoomLocal(currentAnalyticsSpaceLang.langCode, student.id); + .analyticsRoomLocal(currentAnalyticsLang.langCode, student.id); if (analyticsRoom != null) { final List? roomEvents = @@ -261,7 +256,7 @@ class AnalyticsController extends BaseController { (e.defaultSelected.type == defaultSelected.type) && (e.selected?.id == selected?.id) && (e.selected?.type == selected?.type) && - (e.langCode == currentAnalyticsSpaceLang.langCode), + (e.langCode == currentAnalyticsLang.langCode), ); if (index != -1) { @@ -289,7 +284,7 @@ class AnalyticsController extends BaseController { chartAnalyticsModel: chartAnalyticsModel, defaultSelected: defaultSelected, selected: selected, - langCode: currentAnalyticsSpaceLang.langCode, + langCode: currentAnalyticsLang.langCode, ), ); } @@ -525,20 +520,18 @@ class AnalyticsController extends BaseController { //////////////////////////// CONSTRUCTS //////////////////////////// Future> allMyConstructs() async { - final List analyticsRooms = - _pangeaController.matrixState.client.allMyAnalyticsRooms; + final Room? analyticsRoom = _pangeaController.matrixState.client + .analyticsRoomLocal(currentAnalyticsLang.langCode); + if (analyticsRoom == null) return []; - final List allConstructs = []; - for (final Room analyticsRoom in analyticsRooms) { - final List? roomEvents = - (await analyticsRoom.getAnalyticsEvents( - type: PangeaEventTypes.construct, - since: currentAnalyticsTimeSpan.cutOffDate, - userId: _pangeaController.matrixState.client.userID!, - )) - ?.cast(); - allConstructs.addAll(roomEvents ?? []); - } + final List? roomEvents = + (await analyticsRoom.getAnalyticsEvents( + type: PangeaEventTypes.construct, + since: currentAnalyticsTimeSpan.cutOffDate, + userId: _pangeaController.matrixState.client.userID!, + )) + ?.cast(); + final List allConstructs = roomEvents ?? []; final List adminSpaceRooms = await _pangeaController.matrixState.client.teacherRoomIds; @@ -561,7 +554,7 @@ class AnalyticsController extends BaseController { final List constructEvents = []; for (final student in space.students) { final Room? analyticsRoom = _pangeaController.matrixState.client - .analyticsRoomLocal(currentAnalyticsSpaceLang.langCode, student.id); + .analyticsRoomLocal(currentAnalyticsLang.langCode, student.id); if (analyticsRoom != null) { final List? roomEvents = (await analyticsRoom.getAnalyticsEvents( @@ -648,7 +641,7 @@ class AnalyticsController extends BaseController { List? getConstructsLocal({ required TimeSpan timeSpan, - required ConstructType constructType, + required ConstructTypeEnum constructType, required AnalyticsSelected defaultSelected, AnalyticsSelected? selected, DateTime? lastUpdated, @@ -661,7 +654,7 @@ class AnalyticsController extends BaseController { e.defaultSelected.type == defaultSelected.type && e.selected?.id == selected?.id && e.selected?.type == selected?.type && - e.langCode == currentAnalyticsSpaceLang.langCode, + e.langCode == currentAnalyticsLang.langCode, ); if (index > -1) { @@ -676,7 +669,7 @@ class AnalyticsController extends BaseController { } void cacheConstructs({ - required ConstructType constructType, + required ConstructTypeEnum constructType, required List events, required AnalyticsSelected defaultSelected, AnalyticsSelected? selected, @@ -687,14 +680,14 @@ class AnalyticsController extends BaseController { events: List.from(events), defaultSelected: defaultSelected, selected: selected, - langCode: currentAnalyticsSpaceLang.langCode, + langCode: currentAnalyticsLang.langCode, ); _cachedConstructs.add(entry); } Future> getMyConstructs({ required AnalyticsSelected defaultSelected, - required ConstructType constructType, + required ConstructTypeEnum constructType, AnalyticsSelected? selected, }) async { final List unfilteredConstructs = @@ -713,7 +706,7 @@ class AnalyticsController extends BaseController { } Future> getSpaceConstructs({ - required ConstructType constructType, + required ConstructTypeEnum constructType, required Room space, required AnalyticsSelected defaultSelected, AnalyticsSelected? selected, @@ -775,7 +768,7 @@ class AnalyticsController extends BaseController { } Future?> getConstructs({ - required ConstructType constructType, + required ConstructTypeEnum constructType, required AnalyticsSelected defaultSelected, AnalyticsSelected? selected, bool removeIT = true, @@ -905,7 +898,7 @@ abstract class CacheEntry { } class ConstructCacheEntry extends CacheEntry { - final ConstructType type; + final ConstructTypeEnum type; final List events; ConstructCacheEntry({ diff --git a/lib/pangea/controllers/my_analytics_controller.dart b/lib/pangea/controllers/my_analytics_controller.dart index ea0d06c56..535af6b8b 100644 --- a/lib/pangea/controllers/my_analytics_controller.dart +++ b/lib/pangea/controllers/my_analytics_controller.dart @@ -1,15 +1,12 @@ import 'dart:async'; import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; import 'package:fluffychat/pangea/constants/local.key.dart'; import 'package:fluffychat/pangea/constants/pangea_event_types.dart'; -import 'package:fluffychat/pangea/controllers/base_controller.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; -import 'package:fluffychat/pangea/models/analytics/constructs_event.dart'; +import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_record_event.dart'; import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; -import 'package:fluffychat/pangea/models/analytics/summary_analytics_event.dart'; import 'package:fluffychat/pangea/models/analytics/summary_analytics_model.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/foundation.dart'; @@ -18,53 +15,72 @@ import 'package:matrix/matrix.dart'; import '../extensions/client_extension/client_extension.dart'; import '../extensions/pangea_room_extension/pangea_room_extension.dart'; -// controls the sending of analytics events -class MyAnalyticsController extends BaseController { +/// handles the processing of analytics for +/// 1) messages sent by the user and +/// 2) constructs used by the user, both in sending messages and doing practice activities +class MyAnalyticsController { late PangeaController _pangeaController; Timer? _updateTimer; + + /// the max number of messages that will be cached before + /// an automatic update is triggered final int _maxMessagesCached = 10; + + /// the number of minutes before an automatic update is triggered final int _minutesBeforeUpdate = 5; + /// the time since the last update that will trigger an automatic update + final Duration _timeSinceUpdate = const Duration(days: 1); + MyAnalyticsController(PangeaController pangeaController) { _pangeaController = pangeaController; } - // adds the listener that handles when to run automatic updates - // to analytics - either after a certain number of messages sent/ - // received or after a certain amount of time without an update - Future addEventsListener() async { - final Client client = _pangeaController.matrixState.client; + /// adds the listener that handles when to run automatic updates + /// to analytics - either after a certain number of messages sent + /// received or after a certain amount of time [_timeSinceUpdate] without an update + Future initialize() async { + final lastUpdated = await _refreshAnalyticsIfOutdated(); - // if analytics haven't been updated in the last day, update them - DateTime? lastUpdated = await _pangeaController.analytics - .myAnalyticsLastUpdated(PangeaEventTypes.summaryAnalytics); - final DateTime yesterday = DateTime.now().subtract(const Duration(days: 1)); - if (lastUpdated?.isBefore(yesterday) ?? true) { - debugPrint("analytics out-of-date, updating"); - await updateAnalytics(); - lastUpdated = await _pangeaController.analytics - .myAnalyticsLastUpdated(PangeaEventTypes.summaryAnalytics); - } - - client.onSync.stream + // listen for new messages and updateAnalytics timer + // we are doing this in an attempt to update analytics when activitiy is low + // both in messages sent by this client and other clients that you're connected with + // doesn't account for messages sent by other clients that you're not connected with + _client.onSync.stream .where((SyncUpdate update) => update.rooms?.join != null) .listen((update) { updateAnalyticsTimer(update, lastUpdated); }); } - // given an update from sync stream, check if the update contains - // messages for which analytics will be saved. If so, reset the timer - // and add the event ID to the cache of un-added event IDs + /// If analytics haven't been updated in the last day, update them + Future _refreshAnalyticsIfOutdated() async { + DateTime? lastUpdated = await _pangeaController.analytics + .myAnalyticsLastUpdated(PangeaEventTypes.summaryAnalytics); + final DateTime yesterday = DateTime.now().subtract(_timeSinceUpdate); + + if (lastUpdated?.isBefore(yesterday) ?? true) { + debugPrint("analytics out-of-date, updating"); + await updateAnalytics(); + lastUpdated = await _pangeaController.analytics + .myAnalyticsLastUpdated(PangeaEventTypes.summaryAnalytics); + } + return lastUpdated; + } + + Client get _client => _pangeaController.matrixState.client; + + /// Given an update from sync stream, check if the update contains + /// messages for which analytics will be saved. If so, reset the timer + /// and add the event ID to the cache of un-added event IDs void updateAnalyticsTimer(SyncUpdate update, DateTime? lastUpdated) { for (final entry in update.rooms!.join!.entries) { - final Room room = - _pangeaController.matrixState.client.getRoomById(entry.key)!; + final Room room = _client.getRoomById(entry.key)!; // get the new events in this sync that are messages final List? events = entry.value.timeline?.events ?.map((event) => Event.fromMatrixEvent(event, room)) - .where((event) => eventHasAnalytics(event, lastUpdated)) + .where((event) => hasUserAnalyticsToCache(event, lastUpdated)) .toList(); // add their event IDs to the cache of un-added event IDs @@ -84,8 +100,9 @@ class MyAnalyticsController extends BaseController { } // checks if event from sync update is a message that should have analytics - bool eventHasAnalytics(Event event, DateTime? lastUpdated) { - return (lastUpdated == null || event.originServerTs.isAfter(lastUpdated)) && + bool hasUserAnalyticsToCache(Event event, DateTime? lastUpdated) { + return event.senderId == _client.userID && + (lastUpdated == null || event.originServerTs.isAfter(lastUpdated)) && event.type == EventTypes.Message && event.messageType == MessageTypes.Text && !(event.eventId.contains("web") && @@ -160,6 +177,7 @@ class MyAnalyticsController extends BaseController { _updateCompleter = Completer(); try { await _updateAnalytics(); + clearMessagesSinceUpdate(); } catch (err, s) { ErrorHandler.logError( e: err, @@ -172,182 +190,135 @@ class MyAnalyticsController extends BaseController { } } + String? get userL2 => _pangeaController.languageController.activeL2Code(); + + /// top level analytics sending function. Gather recent messages and activity records, + /// convert them into the correct formats, and send them to the analytics room Future _updateAnalytics() async { - // if the user's l2 is not sent, don't send analytics - final String? userL2 = _pangeaController.languageController.activeL2Code(); - if (userL2 == null) { + // if missing important info, don't send analytics + if (userL2 == null || _client.userID == null) { + debugger(when: kDebugMode); return; } - // top level analytics sending function. Send analytics - // for each type of analytics event - // to each of the applicable analytics rooms - clearMessagesSinceUpdate(); + // analytics room for the user and current target language + final Room analyticsRoom = await _client.getMyAnalyticsRoom(userL2!); - // fetch a list of all the chats that the user is studying - // and a list of all the spaces in which the user is studying - await setStudentChats(); - await setStudentSpaces(); - - // get the last updated time for each analytics room - // and the least recent update, which will be used to determine - // how far to go back in the chat history to get messages - final Map lastUpdatedMap = await _pangeaController - .matrixState.client - .allAnalyticsRoomsLastUpdated(); - final List lastUpdates = lastUpdatedMap.values - .where((lastUpdate) => lastUpdate != null) - .cast() - .toList(); - lastUpdates.sort((a, b) => a.compareTo(b)); - final DateTime? leastRecentUpdate = - lastUpdates.isNotEmpty ? lastUpdates.first : null; - - // for each chat the user is studying in, get all the messages - // since the least recent update analytics update, and sort them - // by their langCodes - final Map> langCodeToMsgs = - await getLangCodesToMsgs( - userL2, - leastRecentUpdate, + // get the last time analytics were updated for this room + final DateTime? l2AnalyticsLastUpdated = + await analyticsRoom.analyticsLastUpdated( + PangeaEventTypes.summaryAnalytics, + _client.userID!, ); - final List langCodes = langCodeToMsgs.keys.toList(); - for (final String langCode in langCodes) { - // for each of the langs that the user has sent message in, get - // the corresponding analytics room (or create it) - final Room analyticsRoom = await _pangeaController.matrixState.client - .getMyAnalyticsRoom(langCode); + // all chats in which user is a student + final List chats = _client.rooms + .where((room) => !room.isSpace && !room.isAnalyticsRoom) + .toList(); - // if there is no analytics room for this langCode, then user hadn't sent - // message in this language at the time of the last analytics update - // so fallback to the least recent update time - final DateTime? lastUpdated = - lastUpdatedMap[analyticsRoom.id] ?? leastRecentUpdate; - - // get the corresponding list of recent messages for this langCode - final List recentMsgs = - langCodeToMsgs[langCode] ?? []; - - // finally, send the analytics events to the analytics room - await sendAnalyticsEvents( - analyticsRoom, - recentMsgs, - lastUpdated, + // get the recent message events and activity records for each chat + final List>> recentMsgFutures = []; + final List>> recentActivityFutures = []; + for (final Room chat in chats) { + recentMsgFutures.add( + chat.getEventsBySender( + type: EventTypes.Message, + sender: _client.userID!, + since: l2AnalyticsLastUpdated, + ), + ); + recentActivityFutures.add( + chat.getEventsBySender( + type: PangeaEventTypes.activityRecord, + sender: _client.userID!, + since: l2AnalyticsLastUpdated, + ), ); } - } + final List> recentMsgs = + (await Future.wait(recentMsgFutures)).toList(); + final List recentActivityRecords = + (await Future.wait(recentActivityFutures)) + .expand((e) => e) + .map((event) => PracticeActivityRecordEvent(event: event)) + .toList(); - Future>> getLangCodesToMsgs( - String userL2, - DateTime? since, - ) async { - // get a map of langCodes to messages for each chat the user is studying in - final Map> langCodeToMsgs = {}; - for (final Room chat in _studentChats) { - List? recentMsgs; - try { - recentMsgs = await chat.myMessageEventsInChat( - since: since, - ); - } catch (err) { - debugPrint("failed to fetch messages for chat ${chat.id}"); - continue; - } - - // sort those messages by their langCode - // langCode is hopefully based on the original sent rep, but if that - // is null or unk, it will be based on the user's current l2 - for (final msg in recentMsgs) { - final String msgLangCode = (msg.originalSent?.langCode != null && - msg.originalSent?.langCode != LanguageKeys.unknownLanguage) - ? msg.originalSent!.langCode - : userL2; - langCodeToMsgs[msgLangCode] ??= []; - langCodeToMsgs[msgLangCode]!.add(msg); - } + // get the timelines for each chat + final List> timelineFutures = []; + for (final chat in chats) { + timelineFutures.add(chat.getTimeline()); } - return langCodeToMsgs; - } + final List timelines = await Future.wait(timelineFutures); + final Map timelineMap = + Map.fromIterables(chats.map((e) => e.id), timelines); - Future sendAnalyticsEvents( - Room analyticsRoom, - List recentMsgs, - DateTime? lastUpdated, - ) async { - // remove messages that were sent before the last update - if (recentMsgs.isEmpty) return; - if (lastUpdated != null) { - recentMsgs.removeWhere( - (msg) => msg.event.originServerTs.isBefore(lastUpdated), + //convert into PangeaMessageEvents + final List> recentPangeaMessageEvents = []; + for (final (index, eventList) in recentMsgs.indexed) { + recentPangeaMessageEvents.add( + eventList + .map( + (event) => PangeaMessageEvent( + event: event, + timeline: timelines[index], + ownMessage: true, + ), + ) + .toList(), ); } - // format the analytics data + final List allRecentMessages = + recentPangeaMessageEvents.expand((e) => e).toList(); + final List summaryContent = - SummaryAnalyticsModel.formatSummaryContent(recentMsgs); - final List constructContent = - ConstructAnalyticsModel.formatConstructsContent(recentMsgs); - + SummaryAnalyticsModel.formatSummaryContent(allRecentMessages); // if there's new content to be sent, or if lastUpdated hasn't been // set yet for this room, send the analytics events - if (summaryContent.isNotEmpty || lastUpdated == null) { - await SummaryAnalyticsEvent.sendSummaryAnalyticsEvent( - analyticsRoom, + if (summaryContent.isNotEmpty || l2AnalyticsLastUpdated == null) { + await analyticsRoom.sendSummaryAnalyticsEvent( summaryContent, ); } - if (constructContent.isNotEmpty) { - await ConstructAnalyticsEvent.sendConstructsEvent( - analyticsRoom, - constructContent, + // get constructs for messages + final List recentConstructUses = []; + for (final PangeaMessageEvent message in allRecentMessages) { + recentConstructUses.addAll(message.allConstructUses); + } + + // get constructs for practice activities + final List>> constructFutures = []; + for (final PracticeActivityRecordEvent activity in recentActivityRecords) { + final Timeline? timeline = timelineMap[activity.event.roomId!]; + if (timeline == null) { + debugger(when: kDebugMode); + ErrorHandler.logError( + m: "PracticeActivityRecordEvent has null timeline", + data: activity.event.toJson(), + ); + continue; + } + constructFutures.add(activity.uses(timeline)); + } + final List> constructLists = + await Future.wait(constructFutures); + + recentConstructUses.addAll(constructLists.expand((e) => e)); + + //TODO - confirm that this is the correct construct content + // debugger( + // when: kDebugMode, + // ); + // ; debugger( + // when: kDebugMode && + // (allRecentMessages.isNotEmpty || recentActivityRecords.isNotEmpty), + // ); + + if (recentConstructUses.isNotEmpty) { + await analyticsRoom.sendConstructsEvent( + recentConstructUses, ); } } - - List _studentChats = []; - - Future setStudentChats() async { - final List teacherRoomIds = - await _pangeaController.matrixState.client.teacherRoomIds; - _studentChats = _pangeaController.matrixState.client.rooms - .where( - (r) => - !r.isSpace && - !r.isAnalyticsRoom && - !teacherRoomIds.contains(r.id), - ) - .toList(); - setState(data: _studentChats); - } - - List get studentChats { - try { - if (_studentChats.isNotEmpty) return _studentChats; - setStudentChats(); - return _studentChats; - } catch (err) { - debugger(when: kDebugMode); - return []; - } - } - - List _studentSpaces = []; - - Future setStudentSpaces() async { - _studentSpaces = - await _pangeaController.matrixState.client.spacesImStudyingIn; - } - - List get studentSpaces { - try { - if (_studentSpaces.isNotEmpty) return _studentSpaces; - setStudentSpaces(); - return _studentSpaces; - } catch (err) { - debugger(when: kDebugMode); - return []; - } - } } diff --git a/lib/pangea/controllers/practice_activity_generation_controller.dart b/lib/pangea/controllers/practice_activity_generation_controller.dart index 29047d0c4..9b7f6b66e 100644 --- a/lib/pangea/controllers/practice_activity_generation_controller.dart +++ b/lib/pangea/controllers/practice_activity_generation_controller.dart @@ -51,7 +51,7 @@ class PracticeGenerationController { final Event? activityEvent = await pangeaMessageEvent.room.sendPangeaEvent( content: model.toJson(), parentEventId: pangeaMessageEvent.eventId, - type: PangeaEventTypes.pangeaActivityRes, + type: PangeaEventTypes.pangeaActivity, ); if (activityEvent == null) { @@ -88,7 +88,7 @@ class PracticeGenerationController { PracticeActivityModel dummyModel(PangeaMessageEvent event) => PracticeActivityModel( tgtConstructs: [ - ConstructIdentifier(lemma: "be", type: ConstructType.vocab), + ConstructIdentifier(lemma: "be", type: ConstructTypeEnum.vocab), ], activityType: ActivityTypeEnum.multipleChoice, langCode: event.messageDisplayLangCode, diff --git a/lib/pangea/controllers/user_controller.dart b/lib/pangea/controllers/user_controller.dart index c7a35b3e8..873397969 100644 --- a/lib/pangea/controllers/user_controller.dart +++ b/lib/pangea/controllers/user_controller.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:collection/collection.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:fluffychat/pangea/controllers/base_controller.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; @@ -123,6 +123,7 @@ class UserController extends BaseController { : null; final bool? autoPlay = migratedProfileInfo(MatrixProfile.autoPlayMessages); + final bool? itAutoPlay = migratedProfileInfo(MatrixProfile.itAutoPlay); final bool? trial = migratedProfileInfo(MatrixProfile.activatedFreeTrial); final bool? interactiveTranslator = migratedProfileInfo(MatrixProfile.interactiveTranslator); @@ -142,6 +143,7 @@ class UserController extends BaseController { await updateMatrixProfile( dateOfBirth: dob, autoPlayMessages: autoPlay, + itAutoPlay: itAutoPlay, activatedFreeTrial: trial, interactiveTranslator: interactiveTranslator, interactiveGrammar: interactiveGrammar, @@ -223,6 +225,7 @@ class UserController extends BaseController { Future updateMatrixProfile({ String? dateOfBirth, bool? autoPlayMessages, + bool? itAutoPlay, bool? activatedFreeTrial, bool? interactiveTranslator, bool? interactiveGrammar, @@ -251,6 +254,12 @@ class UserController extends BaseController { autoPlayMessages, ); } + if (itAutoPlay != null) { + await _pangeaController.pStoreService.save( + MatrixProfile.itAutoPlay.title, + itAutoPlay, + ); + } if (activatedFreeTrial != null) { await _pangeaController.pStoreService.save( MatrixProfile.activatedFreeTrial.title, diff --git a/lib/pangea/controllers/word_net_controller.dart b/lib/pangea/controllers/word_net_controller.dart index ce8324ebe..a67941465 100644 --- a/lib/pangea/controllers/word_net_controller.dart +++ b/lib/pangea/controllers/word_net_controller.dart @@ -1,7 +1,7 @@ import 'package:collection/collection.dart'; import 'package:http/http.dart' as http; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/repo/word_repo.dart'; import '../models/word_data_model.dart'; import 'base_controller.dart'; diff --git a/lib/pangea/enum/assistance_state_enum.dart b/lib/pangea/enum/assistance_state_enum.dart new file mode 100644 index 000000000..6d3a853da --- /dev/null +++ b/lib/pangea/enum/assistance_state_enum.dart @@ -0,0 +1,43 @@ +// assistance state is, user has not typed a message, user has typed a message and IGC has not run, +// IGC is running, IGC has run and there are remaining steps (either IT or IGC), or all steps are done +import 'package:fluffychat/config/app_config.dart'; +import 'package:fluffychat/pangea/constants/colors.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +enum AssistanceState { + noMessage, + notFetched, + fetching, + fetched, + complete, +} + +extension AssistanceStateExtension on AssistanceState { + Color stateColor(context) { + switch (this) { + case AssistanceState.noMessage: + case AssistanceState.notFetched: + case AssistanceState.fetching: + return Theme.of(context).colorScheme.primary; + case AssistanceState.fetched: + return PangeaColors.igcError; + case AssistanceState.complete: + return AppConfig.success; + } + } + + String tooltip(L10n l10n) { + switch (this) { + case AssistanceState.noMessage: + case AssistanceState.notFetched: + return l10n.runGrammarCorrection; + case AssistanceState.fetching: + return ""; + case AssistanceState.fetched: + return l10n.grammarCorrectionFailed; + case AssistanceState.complete: + return l10n.grammarCorrectionComplete; + } + } +} diff --git a/lib/pangea/enum/bar_chart_view_enum.dart b/lib/pangea/enum/bar_chart_view_enum.dart index 3fe812634..aba0652af 100644 --- a/lib/pangea/enum/bar_chart_view_enum.dart +++ b/lib/pangea/enum/bar_chart_view_enum.dart @@ -29,15 +29,4 @@ extension BarChartViewSelectionExtension on BarChartViewSelection { return Icons.spellcheck_outlined; } } - - String get route { - switch (this) { - case BarChartViewSelection.messages: - return 'messages'; - // case BarChartViewSelection.vocab: - // return 'vocab'; - case BarChartViewSelection.grammar: - return 'errors'; - } - } } diff --git a/lib/pangea/enum/construct_type_enum.dart b/lib/pangea/enum/construct_type_enum.dart index 2a7d5583d..7db7f9cd5 100644 --- a/lib/pangea/enum/construct_type_enum.dart +++ b/lib/pangea/enum/construct_type_enum.dart @@ -1,30 +1,30 @@ -enum ConstructType { +enum ConstructTypeEnum { grammar, vocab, } -extension ConstructExtension on ConstructType { +extension ConstructExtension on ConstructTypeEnum { String get string { switch (this) { - case ConstructType.grammar: + case ConstructTypeEnum.grammar: return 'grammar'; - case ConstructType.vocab: + case ConstructTypeEnum.vocab: return 'vocab'; } } } class ConstructTypeUtil { - static ConstructType fromString(String? string) { + static ConstructTypeEnum fromString(String? string) { switch (string) { case 'g': case 'grammar': - return ConstructType.grammar; + return ConstructTypeEnum.grammar; case 'v': case 'vocab': - return ConstructType.vocab; + return ConstructTypeEnum.vocab; default: - return ConstructType.vocab; + return ConstructTypeEnum.vocab; } } } diff --git a/lib/pangea/enum/construct_use_type_enum.dart b/lib/pangea/enum/construct_use_type_enum.dart new file mode 100644 index 000000000..0e3c52bbb --- /dev/null +++ b/lib/pangea/enum/construct_use_type_enum.dart @@ -0,0 +1,93 @@ +import 'package:flutter/material.dart'; + +enum ConstructUseTypeEnum { + /// produced in chat by user, igc was run, and we've judged it to be a correct use + wa, + + /// produced in chat by user, igc was run, and we've judged it to be a incorrect use + /// Note: if the IGC match is ignored, this is not counted as an incorrect use + ga, + + /// produced in chat by user and igc was not run + unk, + + /// selected correctly in IT flow + corIt, + + /// encountered as IT distractor and correctly ignored it + ignIt, + + /// encountered as it distractor and selected it + incIt, + + /// encountered in igc match and ignored match + ignIGC, + + /// selected correctly in IGC flow + corIGC, + + /// encountered as distractor in IGC flow and selected it + incIGC, + + /// selected correctly in practice activity flow + corPA, + + /// was target construct in practice activity but user did not select correctly + incPA, +} + +extension ConstructUseTypeExtension on ConstructUseTypeEnum { + String get string { + switch (this) { + case ConstructUseTypeEnum.ga: + return 'ga'; + case ConstructUseTypeEnum.wa: + return 'wa'; + case ConstructUseTypeEnum.corIt: + return 'corIt'; + case ConstructUseTypeEnum.incIt: + return 'incIt'; + case ConstructUseTypeEnum.ignIt: + return 'ignIt'; + case ConstructUseTypeEnum.ignIGC: + return 'ignIGC'; + case ConstructUseTypeEnum.corIGC: + return 'corIGC'; + case ConstructUseTypeEnum.incIGC: + return 'incIGC'; + case ConstructUseTypeEnum.unk: + return 'unk'; + case ConstructUseTypeEnum.corPA: + return 'corPA'; + case ConstructUseTypeEnum.incPA: + return 'incPA'; + } + } + + IconData get icon { + switch (this) { + case ConstructUseTypeEnum.ga: + return Icons.check; + case ConstructUseTypeEnum.wa: + return Icons.thumb_up_sharp; + case ConstructUseTypeEnum.corIt: + return Icons.check; + case ConstructUseTypeEnum.incIt: + return Icons.close; + case ConstructUseTypeEnum.ignIt: + return Icons.close; + case ConstructUseTypeEnum.ignIGC: + return Icons.close; + case ConstructUseTypeEnum.corIGC: + return Icons.check; + case ConstructUseTypeEnum.incIGC: + return Icons.close; + case ConstructUseTypeEnum.corPA: + return Icons.check; + case ConstructUseTypeEnum.incPA: + return Icons.close; + case ConstructUseTypeEnum.unk: + return Icons.help; + } + } +} diff --git a/lib/pangea/enum/instructions_enum.dart b/lib/pangea/enum/instructions_enum.dart new file mode 100644 index 000000000..c684d5b14 --- /dev/null +++ b/lib/pangea/enum/instructions_enum.dart @@ -0,0 +1,45 @@ +import 'package:fluffychat/utils/platform_infos.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +enum InstructionsEnum { + itInstructions, + clickMessage, + blurMeansTranslate, + tooltipInstructions, + speechToText, +} + +extension Copy on InstructionsEnum { + String title(BuildContext context) { + switch (this) { + case InstructionsEnum.itInstructions: + return L10n.of(context)!.itInstructionsTitle; + case InstructionsEnum.clickMessage: + return L10n.of(context)!.clickMessageTitle; + case InstructionsEnum.blurMeansTranslate: + return L10n.of(context)!.blurMeansTranslateTitle; + case InstructionsEnum.tooltipInstructions: + return L10n.of(context)!.tooltipInstructionsTitle; + case InstructionsEnum.speechToText: + return L10n.of(context)!.hintTitle; + } + } + + String body(BuildContext context) { + switch (this) { + case InstructionsEnum.itInstructions: + return L10n.of(context)!.itInstructionsBody; + case InstructionsEnum.clickMessage: + return L10n.of(context)!.clickMessageBody; + case InstructionsEnum.blurMeansTranslate: + return L10n.of(context)!.blurMeansTranslateBody; + case InstructionsEnum.speechToText: + return L10n.of(context)!.speechToTextBody; + case InstructionsEnum.tooltipInstructions: + return PlatformInfos.isMobile + ? L10n.of(context)!.tooltipInstructionsMobileBody + : L10n.of(context)!.tooltipInstructionsBrowserBody; + } + } +} diff --git a/lib/pangea/enum/span_data_type.dart b/lib/pangea/enum/span_data_type.dart index 5e4fdf8cb..38315fd50 100644 --- a/lib/pangea/enum/span_data_type.dart +++ b/lib/pangea/enum/span_data_type.dart @@ -1,5 +1,5 @@ +import 'package:fluffychat/widgets/matrix.dart'; import 'package:flutter/material.dart'; - import 'package:flutter_gen/gen_l10n/l10n.dart'; enum SpanDataTypeEnum { @@ -32,7 +32,10 @@ extension SpanDataTypeEnumExt on SpanDataTypeEnum { case SpanDataTypeEnum.correction: return L10n.of(context)!.correctionDefaultPrompt; case SpanDataTypeEnum.itStart: - return L10n.of(context)!.needsItMessage; + return L10n.of(context)!.needsItMessage( + MatrixState.pangeaController.languageController.userL2?.displayName ?? + L10n.of(context)!.targetLanguage, + ); } } } diff --git a/lib/pangea/enum/use_type.dart b/lib/pangea/enum/use_type.dart index 771b26220..56a4fa3b0 100644 --- a/lib/pangea/enum/use_type.dart +++ b/lib/pangea/enum/use_type.dart @@ -1,8 +1,6 @@ import 'package:flutter/material.dart'; - import 'package:flutter_gen/gen_l10n/l10n.dart'; -import '../models/choreo_record.dart'; import '../utils/bot_style.dart'; enum UseType { wa, ta, ga, un } @@ -93,17 +91,3 @@ extension UseTypeMethods on UseType { } } } - -UseType useTypeCalculator( - ChoreoRecord? choreoRecord, -) { - if (choreoRecord == null) { - return UseType.un; - } else if (choreoRecord.includedIT) { - return UseType.ta; - } else if (choreoRecord.hasAcceptedMatches) { - return UseType.ga; - } else { - return UseType.wa; - } -} diff --git a/lib/pangea/extensions/client_extension/client_extension.dart b/lib/pangea/extensions/client_extension/client_extension.dart index 779f8ee0a..3dda99237 100644 --- a/lib/pangea/extensions/client_extension/client_extension.dart +++ b/lib/pangea/extensions/client_extension/client_extension.dart @@ -51,7 +51,9 @@ extension PangeaClient on Client { Future> get spacesImTeaching async => await _spacesImTeaching; - Future> get spacesImStudyingIn async => await _spacesImStudyingIn; + Future> get chatsImAStudentIn async => await _chatsImAStudentIn; + + Future> get spaceImAStudentIn async => await _spacesImStudyingIn; List get spacesImIn => _spacesImIn; diff --git a/lib/pangea/extensions/client_extension/space_extension.dart b/lib/pangea/extensions/client_extension/space_extension.dart index 3bef46e45..0adc70469 100644 --- a/lib/pangea/extensions/client_extension/space_extension.dart +++ b/lib/pangea/extensions/client_extension/space_extension.dart @@ -19,6 +19,18 @@ extension SpaceClientExtension on Client { return spaces; } + Future> get _chatsImAStudentIn async { + final List nowteacherRoomIds = await teacherRoomIds; + return rooms + .where( + (r) => + !r.isSpace && + !r.isAnalyticsRoom && + !nowteacherRoomIds.contains(r.id), + ) + .toList(); + } + Future> get _spacesImStudyingIn async { final List joinedSpaces = rooms .where( diff --git a/lib/pangea/extensions/pangea_event_extension.dart b/lib/pangea/extensions/pangea_event_extension.dart index 17e14ed86..f18ee23b7 100644 --- a/lib/pangea/extensions/pangea_event_extension.dart +++ b/lib/pangea/extensions/pangea_event_extension.dart @@ -28,7 +28,7 @@ extension PangeaEvent on Event { return PangeaRepresentation.fromJson(json) as V; case PangeaEventTypes.choreoRecord: return ChoreoRecord.fromJson(json) as V; - case PangeaEventTypes.pangeaActivityRes: + case PangeaEventTypes.pangeaActivity: return PracticeActivityModel.fromJson(json) as V; case PangeaEventTypes.activityRecord: return PracticeActivityRecordModel.fromJson(json) as V; diff --git a/lib/pangea/extensions/pangea_room_extension/events_extension.dart b/lib/pangea/extensions/pangea_room_extension/events_extension.dart index 2d67db5b2..ce9d3451c 100644 --- a/lib/pangea/extensions/pangea_room_extension/events_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/events_extension.dart @@ -229,7 +229,6 @@ extension EventsRoomExtension on Room { PangeaMessageTokens? tokensSent, PangeaMessageTokens? tokensWritten, ChoreoRecord? choreo, - UseType? useType, }) { // if (parseCommands) { // return client.parseAndRunCommand(this, message, @@ -247,7 +246,6 @@ extension EventsRoomExtension on Room { ModelKey.originalWritten: originalWritten?.toJson(), ModelKey.tokensSent: tokensSent?.toJson(), ModelKey.tokensWritten: tokensWritten?.toJson(), - ModelKey.useType: useType?.string, }; if (parseMarkdown) { final html = markdown( @@ -347,7 +345,7 @@ extension EventsRoomExtension on Room { RecentMessageRecord( eventId: event.eventId, chatId: id, - useType: pMsgEvent.useType, + useType: pMsgEvent.msgUseType, time: event.originServerTs, ), ); @@ -426,26 +424,6 @@ extension EventsRoomExtension on Room { // } // } - Future> myMessageEventsInChat({ - DateTime? since, - }) async { - final List msgEvents = await getEventsBySender( - type: EventTypes.Message, - sender: client.userID!, - since: since, - ); - final Timeline timeline = await getTimeline(); - return msgEvents - .where((event) => (event.content['msgtype'] == MessageTypes.Text)) - .map((event) { - return PangeaMessageEvent( - event: event, - timeline: timeline, - ownMessage: true, - ); - }).toList(); - } - // fetch event of a certain type by a certain sender // since a certain time or up to a certain amount Future> getEventsBySender({ diff --git a/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart b/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart index 6219c62d2..21f5abac5 100644 --- a/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/pangea_room_extension.dart @@ -4,14 +4,18 @@ import 'dart:developer'; import 'package:adaptive_dialog/adaptive_dialog.dart'; import 'package:collection/collection.dart'; import 'package:fluffychat/pangea/constants/class_default_values.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:fluffychat/pangea/constants/pangea_room_types.dart'; +import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/models/analytics/analytics_event.dart'; import 'package:fluffychat/pangea/models/analytics/constructs_event.dart'; +import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; import 'package:fluffychat/pangea/models/analytics/summary_analytics_event.dart'; import 'package:fluffychat/pangea/models/analytics/summary_analytics_model.dart'; import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/models/space_model.dart'; import 'package:fluffychat/pangea/models/tokens_event_content_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; @@ -30,7 +34,6 @@ import 'package:sentry_flutter/sentry_flutter.dart'; import '../../../config/app_config.dart'; import '../../constants/pangea_event_types.dart'; -import '../../enum/use_type.dart'; import '../../models/choreo_record.dart'; import '../../models/representation_content_model.dart'; import '../client_extension/client_extension.dart'; @@ -129,6 +132,9 @@ extension PangeaRoom on Room { Event? get pangeaRoomRulesStateEvent => _pangeaRoomRulesStateEvent; + Future> targetLanguages() async => + await _targetLanguages(); + // events Future leaveIfFull() async => await _leaveIfFull(); @@ -174,7 +180,6 @@ extension PangeaRoom on Room { PangeaMessageTokens? tokensSent, PangeaMessageTokens? tokensWritten, ChoreoRecord? choreo, - UseType? useType, }) => _pangeaSendTextEvent( message, @@ -191,7 +196,6 @@ extension PangeaRoom on Room { tokensSent: tokensSent, tokensWritten: tokensWritten, choreo: choreo, - useType: useType, ); Future updateStateEvent(Event stateEvent) => diff --git a/lib/pangea/extensions/pangea_room_extension/room_analytics_extension.dart b/lib/pangea/extensions/pangea_room_extension/room_analytics_extension.dart index e3d00f8a8..a27526a2b 100644 --- a/lib/pangea/extensions/pangea_room_extension/room_analytics_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/room_analytics_extension.dart @@ -99,7 +99,7 @@ extension AnalyticsRoomExtension on Room { return; } - for (final Room space in (await client.spacesImStudyingIn)) { + for (final Room space in (await client.spaceImAStudentIn)) { if (space.spaceChildren.any((sc) => sc.roomId == id)) continue; await space.addAnalyticsRoomToSpace(this); } @@ -175,7 +175,7 @@ extension AnalyticsRoomExtension on Room { return; } - for (final Room space in (await client.spacesImStudyingIn)) { + for (final Room space in (await client.spaceImAStudentIn)) { await space.inviteSpaceTeachersToAnalyticsRoom(this); } } @@ -194,7 +194,7 @@ extension AnalyticsRoomExtension on Room { final List events = await getEventsBySender( type: type, sender: userId, - count: 1, + count: 10, ); if (events.isEmpty) return null; final Event event = events.first; @@ -249,4 +249,31 @@ extension AnalyticsRoomExtension on Room { return creationContent?.tryGet(ModelKey.langCode) == langCode || creationContent?.tryGet(ModelKey.oldLangCode) == langCode; } + + Future sendSummaryAnalyticsEvent( + List records, + ) async { + final SummaryAnalyticsModel analyticsModel = SummaryAnalyticsModel( + messages: records, + ); + final String? eventId = await sendEvent( + analyticsModel.toJson(), + type: PangeaEventTypes.summaryAnalytics, + ); + return eventId; + } + + Future sendConstructsEvent( + List uses, + ) async { + final ConstructAnalyticsModel constructsModel = ConstructAnalyticsModel( + uses: uses, + ); + + final String? eventId = await sendEvent( + constructsModel.toJson(), + type: PangeaEventTypes.construct, + ); + return eventId; + } } diff --git a/lib/pangea/extensions/pangea_room_extension/space_settings_extension.dart b/lib/pangea/extensions/pangea_room_extension/space_settings_extension.dart index 00efb6773..5799631b1 100644 --- a/lib/pangea/extensions/pangea_room_extension/space_settings_extension.dart +++ b/lib/pangea/extensions/pangea_room_extension/space_settings_extension.dart @@ -92,6 +92,34 @@ extension SpaceRoomExtension on Room { return null; } + Future> _targetLanguages() async { + await requestParticipants(); + final students = _students; + + final Map langCounts = {}; + final List allRooms = client.rooms; + for (final User student in students) { + for (final Room room in allRooms) { + if (!room.isAnalyticsRoomOfUser(student.id)) continue; + final String? langCode = room.madeForLang; + if (langCode == null || + langCode.isEmpty || + langCode == LanguageKeys.unknownLanguage) { + continue; + } + final LanguageModel lang = PangeaLanguage.byLangCode(langCode); + langCounts[lang] ??= 0; + langCounts[lang] = langCounts[lang]! + 1; + } + } + // get a list of language models, sorted + // by the number of students who are learning that language + return langCounts.entries.map((entry) => entry.key).toList() + ..sort( + (a, b) => langCounts[b]!.compareTo(langCounts[a]!), + ); + } + // DateTime? get _languageSettingsUpdatedAt { // if (!isSpace) return null; // return languageSettingsStateEvent?.originServerTs ?? creationTime; diff --git a/lib/pangea/matrix_event_wrappers/pangea_message_event.dart b/lib/pangea/matrix_event_wrappers/pangea_message_event.dart index 951b77dfc..e0820d665 100644 --- a/lib/pangea/matrix_event_wrappers/pangea_message_event.dart +++ b/lib/pangea/matrix_event_wrappers/pangea_message_event.dart @@ -2,14 +2,20 @@ import 'dart:convert'; import 'dart:developer'; import 'package:collection/collection.dart'; +import 'package:fluffychat/pangea/constants/choreo_constants.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:fluffychat/pangea/controllers/text_to_speech_controller.dart'; import 'package:fluffychat/pangea/enum/audio_encoding_enum.dart'; +import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; +import 'package:fluffychat/pangea/enum/construct_use_type_enum.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_representation_event.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_event.dart'; +import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; import 'package:fluffychat/pangea/models/choreo_record.dart'; +import 'package:fluffychat/pangea/models/lemma.dart'; import 'package:fluffychat/pangea/models/pangea_match_model.dart'; +import 'package:fluffychat/pangea/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/models/representation_content_model.dart'; import 'package:fluffychat/pangea/models/space_model.dart'; import 'package:fluffychat/pangea/models/speech_to_text_models.dart'; @@ -22,7 +28,7 @@ import 'package:matrix/matrix.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import '../../widgets/matrix.dart'; -import '../constants/language_keys.dart'; +import '../constants/language_constants.dart'; import '../constants/pangea_event_types.dart'; import '../enum/use_type.dart'; import '../utils/error_handler.dart'; @@ -31,7 +37,6 @@ class PangeaMessageEvent { late Event _event; final Timeline timeline; final bool ownMessage; - bool _isValidPangeaMessageEvent = true; PangeaMessageEvent({ required Event event, @@ -39,7 +44,7 @@ class PangeaMessageEvent { required this.ownMessage, }) { if (event.type != EventTypes.Message) { - _isValidPangeaMessageEvent = false; + debugger(when: kDebugMode); ErrorHandler.logError( m: "${event.type} should not be used to make a PangeaMessageEvent", ); @@ -542,7 +547,18 @@ class PangeaMessageEvent { originalWritten: false, ); - UseType get useType => useTypeCalculator(originalSent?.choreo); + UseType get msgUseType { + final ChoreoRecord? choreoRecord = originalSent?.choreo; + if (choreoRecord == null) { + return UseType.un; + } else if (choreoRecord.includedIT) { + return UseType.ta; + } else if (choreoRecord.hasAcceptedMatches) { + return UseType.ga; + } else { + return UseType.wa; + } + } bool get showUseType => !ownMessage && @@ -566,18 +582,8 @@ class PangeaMessageEvent { /// If any activity is not complete, it returns true, indicating that the activity icon should be shown. /// Otherwise, it returns false. bool get hasUncompletedActivity { - if (l2Code == null) return false; - final List activities = practiceActivities(l2Code!); - if (activities.isEmpty) return false; - - // for now, only show the button if the event has no completed activities - // TODO - revert this after adding logic to show next activity - for (final activity in activities) { - if (activity.isComplete) return false; - } - return true; - // if (activities.isEmpty) return false; - // return !activities.every((activity) => activity.isComplete); + if (practiceActivities.isEmpty) return false; + return practiceActivities.any((activity) => !(activity.isComplete)); } String? get l2Code => @@ -611,34 +617,36 @@ class PangeaMessageEvent { return steps; } - List get _practiceActivityEvents => _latestEdit - .aggregatedEvents( - timeline, - PangeaEventTypes.pangeaActivityRes, - ) - .map( - (e) => PracticeActivityEvent( - timeline: timeline, - event: e, - ), - ) - .toList(); + /// Returns a list of all [PracticeActivityEvent] objects + /// associated with this message event. + List get _practiceActivityEvents { + return _latestEdit + .aggregatedEvents( + timeline, + PangeaEventTypes.pangeaActivity, + ) + .map( + (e) => PracticeActivityEvent( + timeline: timeline, + event: e, + ), + ) + .toList(); + } + /// Returns a boolean value indicating whether there are any + /// activities associated with this message event for the user's active l2 bool get hasActivities { try { - final String? l2code = - MatrixState.pangeaController.languageController.activeL2Code(); - - if (l2code == null) return false; - - return practiceActivities(l2code).isNotEmpty; + return practiceActivities.isNotEmpty; } catch (e, s) { ErrorHandler.logError(e: e, s: s); return false; } } - List practiceActivities( + /// Returns a list of [PracticeActivityEvent] objects for the given [langCode]. + List practiceActivitiesByLangCode( String langCode, { bool debug = false, }) { @@ -658,14 +666,170 @@ class PangeaMessageEvent { } } - // List get activities => - //each match is turned into an activity that other students can access - //they're not told the answer but have to find it themselves - //the message has a blank piece which they fill in themselves + /// Returns a list of [PracticeActivityEvent] for the user's active l2. + List get practiceActivities => + l2Code == null ? [] : practiceActivitiesByLangCode(l2Code!); - // replication of logic from message_content.dart - // bool get isHtml => - // AppConfig.renderHtml && !_event.redacted && _event.isRichMessage; + /// all construct uses for the message, including vocab and grammar + List get allConstructUses => + [..._grammarConstructUses, ..._vocabUses, ..._itStepsToConstructUses]; + + /// Returns a list of [OneConstructUse] from itSteps for which the continuance + /// was selected or ignored. Correct selections are considered in the tokens + /// flow. Once all continuances have lemmas, we can do both correct and incorrect + /// in this flow. It actually doesn't do anything at all right now, because the + /// choregrapher is not returning lemmas for continuances. This is a TODO. + /// So currently only the lemmas can be gotten from the tokens for choices that + /// are actually in the final message. + List get _itStepsToConstructUses { + final List uses = []; + if (originalSent?.choreo == null) return uses; + + for (final itStep in originalSent!.choreo!.itSteps) { + for (final continuance in itStep.continuances) { + // this seems to always be false for continuances right now + + if (originalSent!.choreo!.finalMessage.contains(continuance.text)) { + continue; + } + if (continuance.wasClicked) { + //PTODO - account for end of flow score + if (continuance.level != ChoreoConstants.levelThresholdForGreen) { + uses.addAll( + _lemmasToVocabUses( + continuance.lemmas, + ConstructUseTypeEnum.incIt, + ), + ); + } + } else { + if (continuance.level != ChoreoConstants.levelThresholdForGreen) { + uses.addAll( + _lemmasToVocabUses( + continuance.lemmas, + ConstructUseTypeEnum.ignIt, + ), + ); + } + } + } + } + return uses; + } + + /// get construct uses of type vocab for the message + List get _vocabUses { + final List uses = []; + + // missing vital info so return + if (event.roomId == null || originalSent?.tokens == null) { + debugger(when: kDebugMode); + return uses; + } + + // for each token, record whether selected in ga, ta, or wa + for (final token in originalSent!.tokens!) { + uses.addAll(_getVocabUseForToken(token)); + } + + return uses; + } + + /// Returns a list of [OneConstructUse] objects for the given [token] + /// If there is no [originalSent] or [originalSent.choreo], the [token] is + /// considered to be a [ConstructUseTypeEnum.wa] as long as it matches the target language. + /// Later on, we may want to consider putting it in some category of like 'pending' + /// If the [token] is in the [originalSent.choreo.acceptedOrIgnoredMatch], + /// it is considered to be a [ConstructUseTypeEnum.ga]. + /// If the [token] is in the [originalSent.choreo.acceptedOrIgnoredMatch.choices], + /// it is considered to be a [ConstructUseTypeEnum.corIt]. + /// If the [token] is not included in any choreoStep, it is considered to be a [ConstructUseTypeEnum.wa]. + List _getVocabUseForToken(PangeaToken token) { + if (originalSent?.choreo == null) { + final bool inUserL2 = originalSent?.langCode == l2Code; + return _lemmasToVocabUses( + token.lemmas, + inUserL2 ? ConstructUseTypeEnum.wa : ConstructUseTypeEnum.unk, + ); + } + + for (final step in originalSent!.choreo!.choreoSteps) { + /// if 1) accepted match 2) token is in the replacement and 3) replacement + /// is in the overall step text, then token was a ga + if (step.acceptedOrIgnoredMatch?.status == PangeaMatchStatus.accepted && + (step.acceptedOrIgnoredMatch!.match.choices?.any( + (r) => + r.value.contains(token.text.content) && + step.text.contains(r.value), + ) ?? + false)) { + return _lemmasToVocabUses(token.lemmas, ConstructUseTypeEnum.ga); + } + if (step.itStep != null) { + final bool pickedThroughIT = + step.itStep!.chosenContinuance?.text.contains(token.text.content) ?? + false; + if (pickedThroughIT) { + return _lemmasToVocabUses(token.lemmas, ConstructUseTypeEnum.corIt); + //PTODO - check if added via custom input in IT flow + } + } + } + return _lemmasToVocabUses(token.lemmas, ConstructUseTypeEnum.wa); + } + + /// Convert a list of [lemmas] into a list of vocab uses + /// with the given [type] + List _lemmasToVocabUses( + List lemmas, + ConstructUseTypeEnum type, + ) { + final List uses = []; + for (final lemma in lemmas) { + if (lemma.saveVocab) { + uses.add( + OneConstructUse( + useType: type, + chatId: event.roomId!, + timeStamp: event.originServerTs, + lemma: lemma.text, + form: lemma.form, + msgId: event.eventId, + constructType: ConstructTypeEnum.vocab, + ), + ); + } + } + return uses; + } + + /// get construct uses of type grammar for the message + List get _grammarConstructUses { + final List uses = []; + + if (originalSent?.choreo == null || event.roomId == null) return uses; + + for (final step in originalSent!.choreo!.choreoSteps) { + if (step.acceptedOrIgnoredMatch?.status == PangeaMatchStatus.accepted) { + final String name = step.acceptedOrIgnoredMatch!.match.rule?.id ?? + step.acceptedOrIgnoredMatch!.match.shortMessage ?? + step.acceptedOrIgnoredMatch!.match.type.typeName.name; + uses.add( + OneConstructUse( + useType: ConstructUseTypeEnum.ga, + chatId: event.roomId!, + timeStamp: event.originServerTs, + lemma: name, + form: name, + msgId: event.eventId, + constructType: ConstructTypeEnum.grammar, + id: "${event.eventId}_${step.acceptedOrIgnoredMatch!.match.offset}_${step.acceptedOrIgnoredMatch!.match.length}", + ), + ); + } + } + return uses; + } } class URLFinder { diff --git a/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart b/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart index e774dc4f2..e6e45b756 100644 --- a/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart +++ b/lib/pangea/matrix_event_wrappers/pangea_representation_event.dart @@ -12,7 +12,7 @@ import 'package:matrix/src/utils/markdown.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import '../../widgets/matrix.dart'; -import '../constants/language_keys.dart'; +import '../constants/language_constants.dart'; import '../constants/pangea_event_types.dart'; import '../models/choreo_record.dart'; import '../models/representation_content_model.dart'; diff --git a/lib/pangea/matrix_event_wrappers/practice_acitivity_record_event.dart b/lib/pangea/matrix_event_wrappers/practice_acitivity_record_event.dart deleted file mode 100644 index d4b9cde23..000000000 --- a/lib/pangea/matrix_event_wrappers/practice_acitivity_record_event.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart'; -import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_record_model.dart'; -import 'package:matrix/matrix.dart'; - -import '../constants/pangea_event_types.dart'; - -class PracticeActivityRecordEvent { - Event event; - - PracticeActivityRecordModel? _content; - - PracticeActivityRecordEvent({required this.event}) { - if (event.type != PangeaEventTypes.activityRecord) { - throw Exception( - "${event.type} should not be used to make a PracticeActivityRecordEvent", - ); - } - } - - PracticeActivityRecordModel? get record { - _content ??= event.getPangeaContent(); - return _content!; - } -} diff --git a/lib/pangea/matrix_event_wrappers/practice_activity_event.dart b/lib/pangea/matrix_event_wrappers/practice_activity_event.dart index c5f35be91..3d1185d05 100644 --- a/lib/pangea/matrix_event_wrappers/practice_activity_event.dart +++ b/lib/pangea/matrix_event_wrappers/practice_activity_event.dart @@ -1,7 +1,7 @@ import 'dart:developer'; import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart'; -import 'package:fluffychat/pangea/matrix_event_wrappers/practice_acitivity_record_event.dart'; +import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_record_event.dart'; import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart'; import 'package:flutter/foundation.dart'; import 'package:matrix/matrix.dart'; @@ -27,7 +27,7 @@ class PracticeActivityEvent { _content = content; } } - if (event.type != PangeaEventTypes.pangeaActivityRes) { + if (event.type != PangeaEventTypes.pangeaActivity) { throw Exception( "${event.type} should not be used to make a PracticeActivityEvent", ); @@ -39,7 +39,7 @@ class PracticeActivityEvent { return _content!; } - //in aggregatedEvents for the event, find all practiceActivityRecordEvents whose sender matches the client's userId + /// All completion records assosiated with this activity List get allRecords { if (timeline == null) { debugger(when: kDebugMode); @@ -54,14 +54,26 @@ class PracticeActivityEvent { .toList(); } - List get userRecords => allRecords - .where( - (recordEvent) => - recordEvent.event.senderId == recordEvent.event.room.client.userID, - ) - .toList(); + /// Completion record assosiated with this activity + /// for the logged in user, null if there is none + PracticeActivityRecordEvent? get userRecord { + final List records = allRecords + .where( + (recordEvent) => + recordEvent.event.senderId == + recordEvent.event.room.client.userID, + ) + .toList(); + if (records.length > 1) { + debugPrint("There should only be one record per user per activity"); + debugger(when: kDebugMode); + } + return records.firstOrNull; + } + + String get parentMessageId => event.relationshipEventId!; /// Checks if there are any user records in the list for this activity, /// and, if so, then the activity is complete - bool get isComplete => userRecords.isNotEmpty; + bool get isComplete => userRecord != null; } diff --git a/lib/pangea/matrix_event_wrappers/practice_activity_record_event.dart b/lib/pangea/matrix_event_wrappers/practice_activity_record_event.dart new file mode 100644 index 000000000..77b4948fd --- /dev/null +++ b/lib/pangea/matrix_event_wrappers/practice_activity_record_event.dart @@ -0,0 +1,89 @@ +import 'dart:developer'; + +import 'package:fluffychat/pangea/extensions/pangea_event_extension.dart'; +import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_event.dart'; +import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; +import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart'; +import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_record_model.dart'; +import 'package:fluffychat/pangea/utils/error_handler.dart'; +import 'package:flutter/foundation.dart'; +import 'package:matrix/matrix.dart'; + +import '../constants/pangea_event_types.dart'; + +class PracticeActivityRecordEvent { + Event event; + + PracticeActivityRecordModel? _content; + + PracticeActivityRecordEvent({required this.event}) { + if (event.type != PangeaEventTypes.activityRecord) { + throw Exception( + "${event.type} should not be used to make a PracticeActivityRecordEvent", + ); + } + } + + PracticeActivityRecordModel get record { + _content ??= event.getPangeaContent(); + return _content!; + } + + Future> uses(Timeline timeline) async { + try { + final String? parent = event.relationshipEventId; + if (parent == null) { + debugger(when: kDebugMode); + ErrorHandler.logError( + m: "PracticeActivityRecordEvent has null event.relationshipEventId", + data: event.toJson(), + ); + return []; + } + + final Event? practiceEvent = + await timeline.getEventById(event.relationshipEventId!); + + if (practiceEvent == null) { + debugger(when: kDebugMode); + ErrorHandler.logError( + m: "PracticeActivityRecordEvent has null practiceActivityEvent with id $parent", + data: event.toJson(), + ); + return []; + } + + final PracticeActivityEvent practiceActivity = PracticeActivityEvent( + event: practiceEvent, + timeline: timeline, + ); + + final List uses = []; + + final List constructIds = + practiceActivity.practiceActivity.tgtConstructs; + + for (final construct in constructIds) { + uses.add( + OneConstructUse( + lemma: construct.lemma, + constructType: construct.type, + useType: record.useType, + //TODO - find form of construct within the message + //this is related to the feature of highlighting the target construct in the message + form: construct.lemma, + chatId: event.roomId ?? practiceEvent.roomId ?? timeline.room.id, + msgId: practiceActivity.parentMessageId, + timeStamp: event.originServerTs, + ), + ); + } + + return uses; + } catch (e, s) { + debugger(when: kDebugMode); + ErrorHandler.logError(e: e, s: s, data: event.toJson()); + rethrow; + } + } +} diff --git a/lib/pangea/models/analytics/analytics_event.dart b/lib/pangea/models/analytics/analytics_event.dart index 2453e62ef..7010d3591 100644 --- a/lib/pangea/models/analytics/analytics_event.dart +++ b/lib/pangea/models/analytics/analytics_event.dart @@ -1,8 +1,6 @@ import 'package:fluffychat/pangea/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/models/analytics/analytics_model.dart'; -import 'package:fluffychat/pangea/models/analytics/constructs_event.dart'; import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; -import 'package:fluffychat/pangea/models/analytics/summary_analytics_event.dart'; import 'package:fluffychat/pangea/models/analytics/summary_analytics_model.dart'; import 'package:matrix/matrix.dart'; @@ -28,32 +26,4 @@ abstract class AnalyticsEvent { } return contentCache!; } - - static List analyticsEventTypes = [ - PangeaEventTypes.summaryAnalytics, - PangeaEventTypes.construct, - ]; - - static Future sendEvent( - Room analyticsRoom, - String type, - List analyticsContent, - ) async { - String? eventId; - switch (type) { - case PangeaEventTypes.summaryAnalytics: - eventId = await SummaryAnalyticsEvent.sendSummaryAnalyticsEvent( - analyticsRoom, - analyticsContent.cast(), - ); - break; - case PangeaEventTypes.construct: - eventId = await ConstructAnalyticsEvent.sendConstructsEvent( - analyticsRoom, - analyticsContent.cast(), - ); - break; - } - return eventId; - } } diff --git a/lib/pangea/models/analytics/analytics_model.dart b/lib/pangea/models/analytics/analytics_model.dart index bdb3bc6d5..d8732ad97 100644 --- a/lib/pangea/models/analytics/analytics_model.dart +++ b/lib/pangea/models/analytics/analytics_model.dart @@ -12,7 +12,11 @@ abstract class AnalyticsModel { case PangeaEventTypes.summaryAnalytics: return SummaryAnalyticsModel.formatSummaryContent(recentMsgs); case PangeaEventTypes.construct: - return ConstructAnalyticsModel.formatConstructsContent(recentMsgs); + final List uses = []; + for (final msg in recentMsgs) { + uses.addAll(msg.allConstructUses); + } + return uses; } return []; } diff --git a/lib/pangea/models/analytics/constructs_event.dart b/lib/pangea/models/analytics/constructs_event.dart index c2930faba..481051b1c 100644 --- a/lib/pangea/models/analytics/constructs_event.dart +++ b/lib/pangea/models/analytics/constructs_event.dart @@ -18,19 +18,4 @@ class ConstructAnalyticsEvent extends AnalyticsEvent { contentCache ??= ConstructAnalyticsModel.fromJson(event.content); return contentCache as ConstructAnalyticsModel; } - - static Future sendConstructsEvent( - Room analyticsRoom, - List uses, - ) async { - final ConstructAnalyticsModel constructsModel = ConstructAnalyticsModel( - uses: uses, - ); - - final String? eventId = await analyticsRoom.sendEvent( - constructsModel.toJson(), - type: PangeaEventTypes.construct, - ); - return eventId; - } } diff --git a/lib/pangea/models/analytics/constructs_model.dart b/lib/pangea/models/analytics/constructs_model.dart index 18c6d3d5a..54e81789f 100644 --- a/lib/pangea/models/analytics/constructs_model.dart +++ b/lib/pangea/models/analytics/constructs_model.dart @@ -1,11 +1,9 @@ import 'dart:developer'; -import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; +import 'package:fluffychat/pangea/enum/construct_use_type_enum.dart'; import 'package:fluffychat/pangea/models/analytics/analytics_model.dart'; -import 'package:fluffychat/pangea/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; import 'package:matrix/matrix.dart'; import '../../enum/construct_type_enum.dart'; @@ -24,7 +22,7 @@ class ConstructAnalyticsModel extends AnalyticsModel { if (json[_usesKey] is List) { // This is the new format uses.addAll( - json[_usesKey] + (json[_usesKey] as List) .map((use) => OneConstructUse.fromJson(use)) .cast() .toList(), @@ -39,13 +37,13 @@ class ConstructAnalyticsModel extends AnalyticsModel { final lemmaUses = useValue[_usesKey]; for (final useData in lemmaUses) { final use = OneConstructUse( - useType: ConstructUseType.ga, + useType: ConstructUseTypeEnum.ga, chatId: useData["chatId"], timeStamp: DateTime.parse(useData["timeStamp"]), lemma: lemma, form: useData["form"], msgId: useData["msgId"], - constructType: ConstructType.grammar, + constructType: ConstructTypeEnum.grammar, ); uses.add(use); } @@ -70,122 +68,13 @@ class ConstructAnalyticsModel extends AnalyticsModel { _usesKey: uses.map((use) => use.toJson()).toList(), }; } - - static List formatConstructsContent( - List recentMsgs, - ) { - final List filtered = List.from(recentMsgs); - final List uses = []; - - for (final msg in filtered) { - if (msg.originalSent?.choreo == null) continue; - uses.addAll( - msg.originalSent!.choreo!.toGrammarConstructUse( - msg.eventId, - msg.room.id, - msg.originServerTs, - ), - ); - - final List? tokens = msg.originalSent?.tokens; - if (tokens == null) continue; - uses.addAll( - msg.originalSent!.choreo!.toVocabUse( - tokens, - msg.room.id, - msg.eventId, - msg.originServerTs, - ), - ); - } - - return uses; - } -} - -enum ConstructUseType { - /// produced in chat by user, igc was run, and we've judged it to be a correct use - wa, - - /// produced in chat by user, igc was run, and we've judged it to be a incorrect use - /// Note: if the IGC match is ignored, this is not counted as an incorrect use - ga, - - /// produced in chat by user and igc was not run - unk, - - /// selected correctly in IT flow - corIt, - - /// encountered as IT distractor and correctly ignored it - ignIt, - - /// encountered as it distractor and selected it - incIt, - - /// encountered in igc match and ignored match - ignIGC, - - /// selected correctly in IGC flow - corIGC, - - /// encountered as distractor in IGC flow and selected it - incIGC, -} - -extension on ConstructUseType { - String get string { - switch (this) { - case ConstructUseType.ga: - return 'ga'; - case ConstructUseType.wa: - return 'wa'; - case ConstructUseType.corIt: - return 'corIt'; - case ConstructUseType.incIt: - return 'incIt'; - case ConstructUseType.ignIt: - return 'ignIt'; - case ConstructUseType.ignIGC: - return 'ignIGC'; - case ConstructUseType.corIGC: - return 'corIGC'; - case ConstructUseType.incIGC: - return 'incIGC'; - case ConstructUseType.unk: - return 'unk'; - } - } - - IconData get icon { - switch (this) { - case ConstructUseType.ga: - return Icons.check; - case ConstructUseType.wa: - return Icons.thumb_up_sharp; - case ConstructUseType.corIt: - return Icons.check; - case ConstructUseType.incIt: - return Icons.close; - case ConstructUseType.ignIt: - return Icons.close; - case ConstructUseType.ignIGC: - return Icons.close; - case ConstructUseType.corIGC: - return Icons.check; - case ConstructUseType.incIGC: - return Icons.close; - case ConstructUseType.unk: - return Icons.help; - } - } } class OneConstructUse { String? lemma; - ConstructType? constructType; + ConstructTypeEnum? constructType; String? form; - ConstructUseType useType; + ConstructUseTypeEnum useType; String chatId; String? msgId; DateTime timeStamp; @@ -204,7 +93,7 @@ class OneConstructUse { factory OneConstructUse.fromJson(Map json) { return OneConstructUse( - useType: ConstructUseType.values + useType: ConstructUseTypeEnum.values .firstWhere((e) => e.string == json['useType']), chatId: json['chatId'], timeStamp: DateTime.parse(json['timeStamp']), @@ -248,7 +137,7 @@ class OneConstructUse { class ConstructUses { final List uses; - final ConstructType constructType; + final ConstructTypeEnum constructType; final String lemma; ConstructUses({ diff --git a/lib/pangea/models/analytics/summary_analytics_event.dart b/lib/pangea/models/analytics/summary_analytics_event.dart index e7034eaa4..a764d5597 100644 --- a/lib/pangea/models/analytics/summary_analytics_event.dart +++ b/lib/pangea/models/analytics/summary_analytics_event.dart @@ -18,18 +18,4 @@ class SummaryAnalyticsEvent extends AnalyticsEvent { contentCache ??= SummaryAnalyticsModel.fromJson(event.content); return contentCache as SummaryAnalyticsModel; } - - static Future sendSummaryAnalyticsEvent( - Room analyticsRoom, - List records, - ) async { - final SummaryAnalyticsModel analyticsModel = SummaryAnalyticsModel( - messages: records, - ); - final String? eventId = await analyticsRoom.sendEvent( - analyticsModel.toJson(), - type: PangeaEventTypes.summaryAnalytics, - ); - return eventId; - } } diff --git a/lib/pangea/models/analytics/summary_analytics_model.dart b/lib/pangea/models/analytics/summary_analytics_model.dart index b09d0a870..0b8e4b27c 100644 --- a/lib/pangea/models/analytics/summary_analytics_model.dart +++ b/lib/pangea/models/analytics/summary_analytics_model.dart @@ -50,7 +50,7 @@ class SummaryAnalyticsModel extends AnalyticsModel { (msg) => RecentMessageRecord( eventId: msg.eventId, chatId: msg.room.id, - useType: msg.useType, + useType: msg.msgUseType, time: msg.originServerTs, ), ) diff --git a/lib/pangea/models/bot_options_model.dart b/lib/pangea/models/bot_options_model.dart index 00eaddc1b..179461a34 100644 --- a/lib/pangea/models/bot_options_model.dart +++ b/lib/pangea/models/bot_options_model.dart @@ -13,44 +13,66 @@ class BotOptionsModel { List keywords; bool safetyModeration; String mode; - String? custom; String? discussionTopic; String? discussionKeywords; - bool? discussionTriggerScheduleEnabled; - int? discussionTriggerScheduleHourInterval; bool? discussionTriggerReactionEnabled; String? discussionTriggerReactionKey; + String? customSystemPrompt; + bool? customTriggerReactionEnabled; + String? customTriggerReactionKey; BotOptionsModel({ + //////////////////////////////////////////////////////////////////////////// + // General Bot Options + //////////////////////////////////////////////////////////////////////////// this.languageLevel, this.topic = "General Conversation", this.keywords = const [], this.safetyModeration = true, this.mode = "discussion", - this.custom = "", + + //////////////////////////////////////////////////////////////////////////// + // Discussion Mode Options + //////////////////////////////////////////////////////////////////////////// this.discussionTopic, this.discussionKeywords, - this.discussionTriggerScheduleEnabled, - this.discussionTriggerScheduleHourInterval, this.discussionTriggerReactionEnabled = true, - this.discussionTriggerReactionKey, + this.discussionTriggerReactionKey = "⏩", + + //////////////////////////////////////////////////////////////////////////// + // Custom Mode Options + //////////////////////////////////////////////////////////////////////////// + this.customSystemPrompt, + this.customTriggerReactionEnabled = true, + this.customTriggerReactionKey = "⏩", }); factory BotOptionsModel.fromJson(json) { return BotOptionsModel( + ////////////////////////////////////////////////////////////////////////// + // General Bot Options + ////////////////////////////////////////////////////////////////////////// languageLevel: json[ModelKey.languageLevel], safetyModeration: json[ModelKey.safetyModeration] ?? true, mode: json[ModelKey.mode] ?? "discussion", - custom: json[ModelKey.custom], + + ////////////////////////////////////////////////////////////////////////// + // Discussion Mode Options + ////////////////////////////////////////////////////////////////////////// discussionTopic: json[ModelKey.discussionTopic], discussionKeywords: json[ModelKey.discussionKeywords], - discussionTriggerScheduleEnabled: - json[ModelKey.discussionTriggerScheduleEnabled], - discussionTriggerScheduleHourInterval: - json[ModelKey.discussionTriggerScheduleHourInterval], discussionTriggerReactionEnabled: - json[ModelKey.discussionTriggerReactionEnabled], - discussionTriggerReactionKey: json[ModelKey.discussionTriggerReactionKey], + json[ModelKey.discussionTriggerReactionEnabled] ?? true, + discussionTriggerReactionKey: + json[ModelKey.discussionTriggerReactionKey] ?? "⏩", + + ////////////////////////////////////////////////////////////////////////// + // Custom Mode Options + ////////////////////////////////////////////////////////////////////////// + customSystemPrompt: json[ModelKey.customSystemPrompt], + customTriggerReactionEnabled: + json[ModelKey.customTriggerReactionEnabled] ?? true, + customTriggerReactionKey: json[ModelKey.customTriggerReactionKey] ?? "⏩", ); } @@ -61,17 +83,16 @@ class BotOptionsModel { data[ModelKey.languageLevel] = languageLevel; data[ModelKey.safetyModeration] = safetyModeration; data[ModelKey.mode] = mode; - data[ModelKey.custom] = custom; data[ModelKey.discussionTopic] = discussionTopic; data[ModelKey.discussionKeywords] = discussionKeywords; - data[ModelKey.discussionTriggerScheduleEnabled] = - discussionTriggerScheduleEnabled; - data[ModelKey.discussionTriggerScheduleHourInterval] = - discussionTriggerScheduleHourInterval; data[ModelKey.discussionTriggerReactionEnabled] = - discussionTriggerReactionEnabled; + discussionTriggerReactionEnabled ?? true; data[ModelKey.discussionTriggerReactionKey] = - discussionTriggerReactionKey; + discussionTriggerReactionKey ?? "⏩"; + data[ModelKey.customSystemPrompt] = customSystemPrompt; + data[ModelKey.customTriggerReactionEnabled] = + customTriggerReactionEnabled ?? true; + data[ModelKey.customTriggerReactionKey] = customTriggerReactionKey ?? "⏩"; return data; } catch (e, s) { debugger(when: kDebugMode); @@ -92,27 +113,27 @@ class BotOptionsModel { case ModelKey.mode: mode = value; break; - case ModelKey.custom: - custom = value; - break; case ModelKey.discussionTopic: discussionTopic = value; break; case ModelKey.discussionKeywords: discussionKeywords = value; break; - case ModelKey.discussionTriggerScheduleEnabled: - discussionTriggerScheduleEnabled = value; - break; - case ModelKey.discussionTriggerScheduleHourInterval: - discussionTriggerScheduleHourInterval = value; - break; case ModelKey.discussionTriggerReactionEnabled: discussionTriggerReactionEnabled = value; break; case ModelKey.discussionTriggerReactionKey: discussionTriggerReactionKey = value; break; + case ModelKey.customSystemPrompt: + customSystemPrompt = value; + break; + case ModelKey.customTriggerReactionEnabled: + customTriggerReactionEnabled = value; + break; + case ModelKey.customTriggerReactionKey: + customTriggerReactionKey = value; + break; default: throw Exception('Invalid key for bot options - $key'); } diff --git a/lib/pangea/models/choreo_record.dart b/lib/pangea/models/choreo_record.dart index 413f00716..3586fcee1 100644 --- a/lib/pangea/models/choreo_record.dart +++ b/lib/pangea/models/choreo_record.dart @@ -1,13 +1,8 @@ import 'dart:convert'; -import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; import 'package:fluffychat/pangea/models/pangea_match_model.dart'; -import 'package:fluffychat/pangea/models/pangea_token_model.dart'; -import '../constants/choreo_constants.dart'; -import '../enum/construct_type_enum.dart'; import 'it_step.dart'; -import 'lemma.dart'; /// this class lives within a [PangeaIGCEvent] /// it always has a [RepresentationEvent] parent @@ -111,135 +106,6 @@ class ChoreoRecord { openMatches: [], ); - /// [tokens] is the final list of tokens that were sent - /// if no ga or ta, - /// make wa use for each and return - /// else - /// for each saveable vocab in the final message - /// if vocab is contained in an accepted replacement, make ga use - /// if vocab is contained in ta choice, - /// if selected as choice, corIt - /// if written as customInput, corIt? (account for score in this) - /// for each it step - /// for each continuance - /// if not within the final message, save ignIT/incIT - List toVocabUse( - List tokens, - String chatId, - String msgId, - DateTime timestamp, - ) { - final List uses = []; - final DateTime now = DateTime.now(); - List lemmasToVocabUses( - List lemmas, - ConstructUseType type, - ) { - final List uses = []; - for (final lemma in lemmas) { - if (lemma.saveVocab) { - uses.add( - OneConstructUse( - useType: type, - chatId: chatId, - timeStamp: timestamp, - lemma: lemma.text, - form: lemma.form, - msgId: msgId, - constructType: ConstructType.vocab, - ), - ); - } - } - return uses; - } - - List getVocabUseForToken(PangeaToken token) { - for (final step in choreoSteps) { - /// if 1) accepted match 2) token is in the replacement and 3) replacement - /// is in the overall step text, then token was a ga - if (step.acceptedOrIgnoredMatch?.status == PangeaMatchStatus.accepted && - (step.acceptedOrIgnoredMatch!.match.choices?.any( - (r) => - r.value.contains(token.text.content) && - step.text.contains(r.value), - ) ?? - false)) { - return lemmasToVocabUses(token.lemmas, ConstructUseType.ga); - } - if (step.itStep != null) { - final bool pickedThroughIT = step.itStep!.chosenContinuance?.text - .contains(token.text.content) ?? - false; - if (pickedThroughIT) { - return lemmasToVocabUses(token.lemmas, ConstructUseType.corIt); - //PTODO - check if added via custom input in IT flow - } - } - } - return lemmasToVocabUses(token.lemmas, ConstructUseType.wa); - } - - /// for each token, record whether selected in ga, ta, or wa - for (final token in tokens) { - uses.addAll(getVocabUseForToken(token)); - } - - for (final itStep in itSteps) { - for (final continuance in itStep.continuances) { - // this seems to always be false for continuances right now - - if (finalMessage.contains(continuance.text)) { - continue; - } - if (continuance.wasClicked) { - //PTODO - account for end of flow score - if (continuance.level != ChoreoConstants.levelThresholdForGreen) { - uses.addAll( - lemmasToVocabUses(continuance.lemmas, ConstructUseType.incIt), - ); - } - } else { - if (continuance.level != ChoreoConstants.levelThresholdForGreen) { - uses.addAll( - lemmasToVocabUses(continuance.lemmas, ConstructUseType.ignIt), - ); - } - } - } - } - - return uses; - } - - List toGrammarConstructUse( - String msgId, - String chatId, - DateTime timestamp, - ) { - final List uses = []; - for (final step in choreoSteps) { - if (step.acceptedOrIgnoredMatch?.status == PangeaMatchStatus.accepted) { - final String name = step.acceptedOrIgnoredMatch!.match.rule?.id ?? - step.acceptedOrIgnoredMatch!.match.shortMessage ?? - step.acceptedOrIgnoredMatch!.match.type.typeName.name; - uses.add( - OneConstructUse( - useType: ConstructUseType.ga, - chatId: chatId, - timeStamp: timestamp, - lemma: name, - form: name, - msgId: msgId, - constructType: ConstructType.grammar, - id: "${msgId}_${step.acceptedOrIgnoredMatch!.match.offset}_${step.acceptedOrIgnoredMatch!.match.length}", - ), - ); - } - } - return uses; - } - List get itSteps => choreoSteps.where((e) => e.itStep != null).map((e) => e.itStep!).toList(); diff --git a/lib/pangea/models/headwords.dart b/lib/pangea/models/headwords.dart index 497381fa1..a55eeb188 100644 --- a/lib/pangea/models/headwords.dart +++ b/lib/pangea/models/headwords.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'dart:developer'; +import 'package:fluffychat/pangea/enum/construct_use_type_enum.dart'; import 'package:fluffychat/pangea/models/analytics/constructs_model.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; @@ -154,32 +155,37 @@ class VocabTotals { void addVocabUseBasedOnUseType(List uses) { for (final use in uses) { switch (use.useType) { - case ConstructUseType.ga: + case ConstructUseTypeEnum.ga: ga++; break; - case ConstructUseType.wa: + case ConstructUseTypeEnum.wa: wa++; break; - case ConstructUseType.corIt: + case ConstructUseTypeEnum.corIt: corIt++; break; - case ConstructUseType.incIt: + case ConstructUseTypeEnum.incIt: incIt++; break; - case ConstructUseType.ignIt: + case ConstructUseTypeEnum.ignIt: ignIt++; break; //TODO - these shouldn't be counted as such - case ConstructUseType.ignIGC: + case ConstructUseTypeEnum.ignIGC: ignIt++; break; - case ConstructUseType.corIGC: + case ConstructUseTypeEnum.corIGC: corIt++; break; - case ConstructUseType.incIGC: + case ConstructUseTypeEnum.incIGC: incIt++; break; - case ConstructUseType.unk: + //TODO if we bring back Headwords then we need to add these + case ConstructUseTypeEnum.corPA: + break; + case ConstructUseTypeEnum.incPA: + break; + case ConstructUseTypeEnum.unk: break; } } diff --git a/lib/pangea/models/igc_text_data_model.dart b/lib/pangea/models/igc_text_data_model.dart index 6a3eec96e..442bf4a60 100644 --- a/lib/pangea/models/igc_text_data_model.dart +++ b/lib/pangea/models/igc_text_data_model.dart @@ -1,5 +1,6 @@ import 'dart:developer'; +import 'package:fluffychat/pangea/controllers/language_detection_controller.dart'; import 'package:fluffychat/pangea/models/pangea_match_model.dart'; import 'package:fluffychat/pangea/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/models/span_card_model.dart'; @@ -13,12 +14,11 @@ import 'package:matrix/matrix.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; import '../constants/model_keys.dart'; -import 'language_detection_model.dart'; // import 'package:language_tool/language_tool.dart'; class IGCTextData { - List detections; + LanguageDetectionResponse detections; String originalInput; String? fullTextCorrection; List tokens; @@ -42,6 +42,18 @@ class IGCTextData { }); factory IGCTextData.fromJson(Map json) { + // changing this to allow for use of the LanguageDetectionResponse methods + // TODO - change API after we're sure all clients are updated. not urgent. + final LanguageDetectionResponse detections = + json[_detectionsKey] is Iterable + ? LanguageDetectionResponse.fromJson({ + "detections": json[_detectionsKey], + "full_text": json["original_input"], + }) + : LanguageDetectionResponse.fromJson( + json[_detectionsKey] as Map, + ); + return IGCTextData( tokens: (json[_tokensKey] as Iterable) .map( @@ -59,12 +71,7 @@ class IGCTextData { .toList() .cast() : [], - detections: (json[_detectionsKey] as Iterable) - .map( - (e) => LanguageDetection.fromJson(e as Map), - ) - .toList() - .cast(), + detections: detections, originalInput: json["original_input"], fullTextCorrection: json["full_text_correction"], userL1: json[ModelKey.userL1], @@ -79,7 +86,7 @@ class IGCTextData { static const String _detectionsKey = "detections"; Map toJson() => { - _detectionsKey: detections.map((e) => e.toJson()).toList(), + _detectionsKey: detections.toJson(), "original_input": originalInput, "full_text_correction": fullTextCorrection, _tokensKey: tokens.map((e) => e.toJson()).toList(), @@ -90,6 +97,18 @@ class IGCTextData { "enable_igc": enableIGC, }; + /// if we haven't run IGC or IT or there are no matches, we use the highest validated detection + /// from [LanguageDetectionResponse.highestValidatedDetection] + /// if we have run igc/it and there are no matches, we can relax the threshold + /// and use the highest confidence detection + String get detectedLanguage { + if (!(enableIGC && enableIT) || matches.isNotEmpty) { + return detections.highestValidatedDetection().langCode; + } else { + return detections.highestConfidenceDetection.langCode; + } + } + // reconstruct fullText based on accepted match //update offsets in existing matches to reflect the change //if existing matches overlap with the accepted one, remove them?? diff --git a/lib/pangea/models/language_model.dart b/lib/pangea/models/language_model.dart index ae960b212..be3cc71ba 100644 --- a/lib/pangea/models/language_model.dart +++ b/lib/pangea/models/language_model.dart @@ -1,6 +1,6 @@ import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; diff --git a/lib/pangea/models/lemma.dart b/lib/pangea/models/lemma.dart index 2ad0b2950..56f23d876 100644 --- a/lib/pangea/models/lemma.dart +++ b/lib/pangea/models/lemma.dart @@ -1,6 +1,13 @@ +/// Represents a lemma object class Lemma { + /// [text] ex "ir" - text of the lemma of the word final String text; + + /// [form] ex "vamos" - conjugated form of the lemma and as it appeared in some original text final String form; + + /// [saveVocab] true - whether to save the lemma to the user's vocabulary + /// vocab that are not saved: emails, urls, numbers, punctuation, etc. final bool saveVocab; Lemma({required this.text, required this.saveVocab, required this.form}); diff --git a/lib/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart b/lib/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart index 3cd78a66a..68376d410 100644 --- a/lib/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart +++ b/lib/pangea/models/practice_activities.dart/multiple_choice_activity_model.dart @@ -27,7 +27,7 @@ class MultipleChoice { return MultipleChoice( question: json['question'] as String, choices: (json['choices'] as List).map((e) => e as String).toList(), - answer: json['answer'] as String, + answer: json['answer'] ?? json['correct_answer'] as String, ); } diff --git a/lib/pangea/models/practice_activities.dart/practice_activity_model.dart b/lib/pangea/models/practice_activities.dart/practice_activity_model.dart index ae8455c7f..fa3e25acf 100644 --- a/lib/pangea/models/practice_activities.dart/practice_activity_model.dart +++ b/lib/pangea/models/practice_activities.dart/practice_activity_model.dart @@ -8,7 +8,7 @@ import 'package:flutter/foundation.dart'; class ConstructIdentifier { final String lemma; - final ConstructType type; + final ConstructTypeEnum type; ConstructIdentifier({required this.lemma, required this.type}); @@ -16,7 +16,7 @@ class ConstructIdentifier { try { return ConstructIdentifier( lemma: json['lemma'] as String, - type: ConstructType.values.firstWhere( + type: ConstructTypeEnum.values.firstWhere( (e) => e.string == json['type'], ), ); @@ -243,9 +243,11 @@ class PracticeActivityModel { .toList(), langCode: json['lang_code'] as String, msgId: json['msg_id'] as String, - activityType: ActivityTypeEnum.values.firstWhere( - (e) => e.string == json['activity_type'], - ), + activityType: json['activity_type'] == "multipleChoice" + ? ActivityTypeEnum.multipleChoice + : ActivityTypeEnum.values.firstWhere( + (e) => e.string == json['activity_type'], + ), multipleChoice: json['multiple_choice'] != null ? MultipleChoice.fromJson( json['multiple_choice'] as Map, diff --git a/lib/pangea/models/practice_activities.dart/practice_activity_record_model.dart b/lib/pangea/models/practice_activities.dart/practice_activity_record_model.dart index 3fe3e859d..0c4ea52bf 100644 --- a/lib/pangea/models/practice_activities.dart/practice_activity_record_model.dart +++ b/lib/pangea/models/practice_activities.dart/practice_activity_record_model.dart @@ -5,16 +5,18 @@ import 'dart:developer'; import 'dart:typed_data'; +import 'package:fluffychat/pangea/enum/construct_use_type_enum.dart'; + class PracticeActivityRecordModel { final String? question; - late List responses; + late List responses; PracticeActivityRecordModel({ required this.question, - List? responses, + List? responses, }) { if (responses == null) { - this.responses = List.empty(growable: true); + this.responses = List.empty(growable: true); } else { this.responses = responses; } @@ -26,7 +28,9 @@ class PracticeActivityRecordModel { return PracticeActivityRecordModel( question: json['question'] as String, responses: (json['responses'] as List) - .map((e) => ActivityResponse.fromJson(e as Map)) + .map( + (e) => ActivityRecordResponse.fromJson(e as Map), + ) .toList(), ); } @@ -40,26 +44,34 @@ class PracticeActivityRecordModel { /// get the latest response index according to the response timeStamp /// sort the responses by timestamp and get the index of the last response - String? get latestResponse { + ActivityRecordResponse? get latestResponse { if (responses.isEmpty) { return null; } responses.sort((a, b) => a.timestamp.compareTo(b.timestamp)); - return responses[responses.length - 1].text; + return responses[responses.length - 1]; } + ConstructUseTypeEnum get useType => latestResponse?.score != null + ? (latestResponse!.score > 0 + ? ConstructUseTypeEnum.corPA + : ConstructUseTypeEnum.incPA) + : ConstructUseTypeEnum.unk; + void addResponse({ String? text, Uint8List? audioBytes, Uint8List? imageBytes, + required double score, }) { try { responses.add( - ActivityResponse( + ActivityRecordResponse( text: text, audioBytes: audioBytes, imageBytes: imageBytes, timestamp: DateTime.now(), + score: score, ), ); } catch (e) { @@ -84,27 +96,33 @@ class PracticeActivityRecordModel { int get hashCode => question.hashCode ^ responses.hashCode; } -class ActivityResponse { +class ActivityRecordResponse { // the user's response // has nullable string, nullable audio bytes, nullable image bytes, and timestamp final String? text; final Uint8List? audioBytes; final Uint8List? imageBytes; final DateTime timestamp; + final double score; - ActivityResponse({ + ActivityRecordResponse({ this.text, this.audioBytes, this.imageBytes, + required this.score, required this.timestamp, }); - factory ActivityResponse.fromJson(Map json) { - return ActivityResponse( + factory ActivityRecordResponse.fromJson(Map json) { + return ActivityRecordResponse( text: json['text'] as String?, audioBytes: json['audio'] as Uint8List?, imageBytes: json['image'] as Uint8List?, timestamp: DateTime.parse(json['timestamp'] as String), + // this has a default of 1 to make this backwards compatible + // score was added later and is not present in all records + // currently saved to Matrix + score: json['score'] ?? 1.0, ); } @@ -114,6 +132,7 @@ class ActivityResponse { 'audio': audioBytes, 'image': imageBytes, 'timestamp': timestamp.toIso8601String(), + 'score': score, }; } @@ -121,7 +140,7 @@ class ActivityResponse { bool operator ==(Object other) { if (identical(this, other)) return true; - return other is ActivityResponse && + return other is ActivityRecordResponse && other.text == text && other.audioBytes == audioBytes && other.imageBytes == imageBytes && diff --git a/lib/pangea/models/space_model.dart b/lib/pangea/models/space_model.dart index f17507fa8..946da6dc7 100644 --- a/lib/pangea/models/space_model.dart +++ b/lib/pangea/models/space_model.dart @@ -7,7 +7,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; import '../constants/class_default_values.dart'; -import '../constants/language_keys.dart'; +import '../constants/language_constants.dart'; import '../constants/pangea_event_types.dart'; import 'language_model.dart'; diff --git a/lib/pangea/models/user_model.dart b/lib/pangea/models/user_model.dart index f8e929a13..3e3a508cd 100644 --- a/lib/pangea/models/user_model.dart +++ b/lib/pangea/models/user_model.dart @@ -4,12 +4,12 @@ import 'package:country_picker/country_picker.dart'; import 'package:fluffychat/pangea/constants/local.key.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; import 'package:fluffychat/pangea/models/space_model.dart'; -import 'package:fluffychat/pangea/utils/instructions.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; -import '../constants/language_keys.dart'; +import '../constants/language_constants.dart'; import 'language_model.dart'; PUserModel pUserModelFromJson(String str) => @@ -54,6 +54,7 @@ class PUserModel { enum MatrixProfile { dateOfBirth, autoPlayMessages, + itAutoPlay, activatedFreeTrial, interactiveTranslator, interactiveGrammar, @@ -79,6 +80,8 @@ extension MatrixProfileExtension on MatrixProfile { return ModelKey.userDateOfBirth; case MatrixProfile.autoPlayMessages: return PLocalKey.autoPlayMessages; + case MatrixProfile.itAutoPlay: + return PLocalKey.itAutoPlay; case MatrixProfile.activatedFreeTrial: return PLocalKey.activatedTrialKey; case MatrixProfile.interactiveTranslator: diff --git a/lib/pangea/pages/analytics/analytics_language_button.dart b/lib/pangea/pages/analytics/analytics_language_button.dart index d74e07be1..08b3220b0 100644 --- a/lib/pangea/pages/analytics/analytics_language_button.dart +++ b/lib/pangea/pages/analytics/analytics_language_button.dart @@ -16,7 +16,6 @@ class AnalyticsLanguageButton extends StatelessWidget { @override Widget build(BuildContext context) { return PopupMenuButton( - icon: const Icon(Icons.language_outlined), tooltip: L10n.of(context)!.changeAnalyticsLanguage, initialValue: value, onSelected: (LanguageModel? lang) { @@ -33,6 +32,19 @@ class AnalyticsLanguageButton extends StatelessWidget { child: Text(lang.getDisplayName(context) ?? lang.langCode), ); }).toList(), + child: TextButton.icon( + label: Text( + value.getDisplayName(context) ?? value.langCode, + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + ), + ), + icon: Icon( + Icons.language_outlined, + color: Theme.of(context).colorScheme.onSurface, + ), + onPressed: null, + ), ); } } diff --git a/lib/pangea/pages/analytics/analytics_list_tile.dart b/lib/pangea/pages/analytics/analytics_list_tile.dart index 8b1e1ba49..a49ef4cb4 100644 --- a/lib/pangea/pages/analytics/analytics_list_tile.dart +++ b/lib/pangea/pages/analytics/analytics_list_tile.dart @@ -1,7 +1,6 @@ import 'dart:async'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; -import 'package:fluffychat/pangea/enum/bar_chart_view_enum.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -141,9 +140,7 @@ class AnalyticsListTileState extends State { return; } if ((room?.isSpace ?? false) && widget.allowNavigateOnSelect) { - final String selectedView = - widget.controller!.widget.selectedView!.route; - context.go('/rooms/analytics/${room!.id}/$selectedView'); + context.go('/rooms/analytics/${room!.id}'); return; } widget.onTap(widget.selected); diff --git a/lib/pangea/pages/analytics/analytics_view_button.dart b/lib/pangea/pages/analytics/analytics_view_button.dart new file mode 100644 index 000000000..c98bf47fc --- /dev/null +++ b/lib/pangea/pages/analytics/analytics_view_button.dart @@ -0,0 +1,49 @@ +import 'package:fluffychat/pangea/enum/bar_chart_view_enum.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +class AnalyticsViewButton extends StatelessWidget { + final BarChartViewSelection value; + final void Function(BarChartViewSelection) onChange; + const AnalyticsViewButton({ + super.key, + required this.value, + required this.onChange, + }); + + @override + Widget build(BuildContext context) { + return PopupMenuButton( + tooltip: L10n.of(context)!.changeAnalyticsView, + initialValue: value, + onSelected: (BarChartViewSelection? view) { + if (view == null) { + debugPrint("when is view null?"); + return; + } + onChange(view); + }, + itemBuilder: (BuildContext context) => BarChartViewSelection.values + .map>( + (BarChartViewSelection view) { + return PopupMenuItem( + value: view, + child: Text(view.string(context)), + ); + }).toList(), + child: TextButton.icon( + label: Text( + value.string(context), + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + ), + ), + icon: Icon( + value.icon, + color: Theme.of(context).colorScheme.onSurface, + ), + onPressed: null, + ), + ); + } +} diff --git a/lib/pangea/pages/analytics/base_analytics.dart b/lib/pangea/pages/analytics/base_analytics.dart index f62e5f6b5..cd41d2312 100644 --- a/lib/pangea/pages/analytics/base_analytics.dart +++ b/lib/pangea/pages/analytics/base_analytics.dart @@ -20,21 +20,25 @@ import '../../models/analytics/chart_analytics_model.dart'; class BaseAnalyticsPage extends StatefulWidget { final String pageTitle; final List tabs; - final BarChartViewSelection? selectedView; + final BarChartViewSelection selectedView; final AnalyticsSelected defaultSelected; final AnalyticsSelected? alwaysSelected; final StudentAnalyticsController? myAnalyticsController; + final List targetLanguages; - const BaseAnalyticsPage({ + BaseAnalyticsPage({ super.key, required this.pageTitle, required this.tabs, required this.alwaysSelected, required this.defaultSelected, - this.selectedView, + required this.selectedView, this.myAnalyticsController, - }); + targetLanguages, + }) : targetLanguages = (targetLanguages?.isNotEmpty ?? false) + ? targetLanguages + : MatrixState.pangeaController.pLanguageStore.targetOptions; @override State createState() => BaseAnalyticsController(); @@ -46,6 +50,7 @@ class BaseAnalyticsController extends State { String? currentLemma; ChartAnalyticsModel? chartData; StreamController refreshStream = StreamController.broadcast(); + BarChartViewSelection currentView = BarChartViewSelection.messages; bool isSelected(String chatOrStudentId) => chatOrStudentId == selected?.id; @@ -59,6 +64,7 @@ class BaseAnalyticsController extends State { @override void initState() { super.initState(); + currentView = widget.selectedView; if (widget.defaultSelected.type == AnalyticsEntryType.student) { runFirstRefresh(); } @@ -159,7 +165,13 @@ class BaseAnalyticsController extends State { } Future toggleSpaceLang(LanguageModel lang) async { - await pangeaController.analytics.setCurrentAnalyticsSpaceLang(lang); + await pangeaController.analytics.setCurrentAnalyticsLang(lang); + await setChartData(); + refreshStream.add(false); + } + + Future toggleView(BarChartViewSelection view) async { + currentView = view; await setChartData(); refreshStream.add(false); } diff --git a/lib/pangea/pages/analytics/base_analytics_view.dart b/lib/pangea/pages/analytics/base_analytics_view.dart index 1c0445d5a..13e49aa38 100644 --- a/lib/pangea/pages/analytics/base_analytics_view.dart +++ b/lib/pangea/pages/analytics/base_analytics_view.dart @@ -5,6 +5,7 @@ import 'package:fluffychat/pangea/enum/construct_type_enum.dart'; import 'package:fluffychat/pangea/enum/time_span.dart'; import 'package:fluffychat/pangea/pages/analytics/analytics_language_button.dart'; import 'package:fluffychat/pangea/pages/analytics/analytics_list_tile.dart'; +import 'package:fluffychat/pangea/pages/analytics/analytics_view_button.dart'; import 'package:fluffychat/pangea/pages/analytics/base_analytics.dart'; import 'package:fluffychat/pangea/pages/analytics/construct_list.dart'; import 'package:fluffychat/pangea/pages/analytics/messages_bar_chart.dart'; @@ -24,18 +25,14 @@ class BaseAnalyticsView extends StatelessWidget { final BaseAnalyticsController controller; Widget chartView(BuildContext context) { - if (controller.widget.selectedView == null) { - return const SizedBox(); - } - - switch (controller.widget.selectedView!) { + switch (controller.currentView) { case BarChartViewSelection.messages: return MessagesBarChart( chartAnalytics: controller.chartData, ); case BarChartViewSelection.grammar: return ConstructList( - constructType: ConstructType.grammar, + constructType: ConstructTypeEnum.grammar, defaultSelected: controller.widget.defaultSelected, selected: controller.selected, controller: controller, @@ -75,27 +72,13 @@ class BaseAnalyticsView extends StatelessWidget { if (controller.activeSpace != null) TextSpan( text: controller.activeSpace!.getLocalizedDisplayname(), - style: const TextStyle(decoration: TextDecoration.underline), - recognizer: TapGestureRecognizer() - ..onTap = () { - if (controller.widget.selectedView == null) return; - String route = - "/rooms/${controller.widget.defaultSelected.type.route}"; - if (controller.widget.defaultSelected.type == - AnalyticsEntryType.space) { - route += "/${controller.widget.defaultSelected.id}"; - } - context.go(route); - }, - ), - if (controller.widget.selectedView != null) - const TextSpan( - text: " > ", - ), - if (controller.widget.selectedView != null) - TextSpan( - text: controller.widget.selectedView!.string(context), ), + const TextSpan( + text: " > ", + ), + TextSpan( + text: controller.currentView.string(context), + ), ], ), overflow: TextOverflow.ellipsis, @@ -104,223 +87,156 @@ class BaseAnalyticsView extends StatelessWidget { ), body: MaxWidthBody( withScrolling: false, - child: controller.widget.selectedView != null - ? Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - if (controller.widget.defaultSelected.type == - AnalyticsEntryType.student) - IconButton( - icon: const Icon(Icons.refresh), - onPressed: controller.onRefresh, - tooltip: L10n.of(context)!.refresh, + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + TimeSpanMenuButton( + value: controller.currentTimeSpan, + onChange: (TimeSpan value) => + controller.toggleTimeSpan(context, value), + ), + AnalyticsViewButton( + value: controller.currentView, + onChange: controller.toggleView, + ), + AnalyticsLanguageButton( + value: controller + .pangeaController.analytics.currentAnalyticsLang, + onChange: (lang) => controller.toggleSpaceLang(lang), + languages: controller.widget.targetLanguages, + ), + ], + ), + const SizedBox( + height: 10, + ), + Expanded( + flex: 1, + child: chartView(context), + ), + Expanded( + flex: 1, + child: DefaultTabController( + length: 2, + child: Column( + children: [ + TabBar( + tabs: [ + ...controller.widget.tabs.map( + (tab) => Tab( + icon: Icon( + tab.icon, + color: Theme.of(context) + .colorScheme + .onSurfaceVariant, + ), + ), ), - TimeSpanMenuButton( - value: controller.currentTimeSpan, - onChange: (TimeSpan value) => - controller.toggleTimeSpan(context, value), - ), - if (controller.widget.defaultSelected.type == - AnalyticsEntryType.space) - AnalyticsLanguageButton( - value: controller.pangeaController.analytics - .currentAnalyticsSpaceLang, - onChange: (lang) => controller.toggleSpaceLang(lang), - languages: controller - .pangeaController.pLanguageStore.targetOptions, - ), - ], - ), - Expanded( - flex: 1, - child: chartView(context), - ), - Expanded( - flex: 1, - child: DefaultTabController( - length: 2, - child: Column( - children: [ - TabBar( - tabs: [ - ...controller.widget.tabs.map( - (tab) => Tab( - icon: Icon( - tab.icon, - color: Theme.of(context) - .colorScheme - .onSurfaceVariant, + ], + ), + Expanded( + child: SingleChildScrollView( + child: SizedBox( + height: max( + controller.widget.tabs[0].items.length + 1, + controller.widget.tabs[1].items.length, + ) * + 72, + child: TabBarView( + physics: const NeverScrollableScrollPhysics(), + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: [ + ...controller.widget.tabs[0].items.map( + (item) => AnalyticsListTile( + refreshStream: controller.refreshStream, + avatar: item.avatar, + defaultSelected: + controller.widget.defaultSelected, + selected: AnalyticsSelected( + item.id, + controller.widget.tabs[0].type, + item.displayName, + ), + isSelected: + controller.isSelected(item.id), + onTap: (_) => controller.toggleSelection( + AnalyticsSelected( + item.id, + controller.widget.tabs[0].type, + item.displayName, + ), + ), + allowNavigateOnSelect: controller + .widget.tabs[0].allowNavigateOnSelect, + pangeaController: + controller.pangeaController, + controller: controller, + ), ), - ), + if (controller.widget.defaultSelected.type == + AnalyticsEntryType.space) + AnalyticsListTile( + refreshStream: controller.refreshStream, + defaultSelected: + controller.widget.defaultSelected, + avatar: null, + selected: AnalyticsSelected( + controller.widget.defaultSelected.id, + AnalyticsEntryType.privateChats, + L10n.of(context)!.allPrivateChats, + ), + allowNavigateOnSelect: false, + isSelected: controller.isSelected( + controller.widget.defaultSelected.id, + ), + onTap: controller.toggleSelection, + pangeaController: + controller.pangeaController, + controller: controller, + ), + ], + ), + Column( + crossAxisAlignment: CrossAxisAlignment.stretch, + children: controller.widget.tabs[1].items + .map( + (item) => AnalyticsListTile( + refreshStream: controller.refreshStream, + avatar: item.avatar, + defaultSelected: + controller.widget.defaultSelected, + selected: AnalyticsSelected( + item.id, + controller.widget.tabs[1].type, + item.displayName, + ), + isSelected: + controller.isSelected(item.id), + onTap: controller.toggleSelection, + allowNavigateOnSelect: controller.widget + .tabs[1].allowNavigateOnSelect, + pangeaController: + controller.pangeaController, + controller: controller, + ), + ) + .toList(), ), ], ), - Expanded( - child: SingleChildScrollView( - child: SizedBox( - height: max( - controller.widget.tabs[0].items.length + - 1, - controller.widget.tabs[1].items.length, - ) * - 72, - child: TabBarView( - physics: const NeverScrollableScrollPhysics(), - children: [ - Column( - crossAxisAlignment: - CrossAxisAlignment.stretch, - children: [ - ...controller.widget.tabs[0].items.map( - (item) => AnalyticsListTile( - refreshStream: - controller.refreshStream, - avatar: item.avatar, - defaultSelected: controller - .widget.defaultSelected, - selected: AnalyticsSelected( - item.id, - controller.widget.tabs[0].type, - item.displayName, - ), - isSelected: - controller.isSelected(item.id), - onTap: (_) => - controller.toggleSelection( - AnalyticsSelected( - item.id, - controller.widget.tabs[0].type, - item.displayName, - ), - ), - allowNavigateOnSelect: controller - .widget - .tabs[0] - .allowNavigateOnSelect, - pangeaController: - controller.pangeaController, - controller: controller, - ), - ), - if (controller - .widget.defaultSelected.type == - AnalyticsEntryType.space) - AnalyticsListTile( - refreshStream: - controller.refreshStream, - defaultSelected: controller - .widget.defaultSelected, - avatar: null, - selected: AnalyticsSelected( - controller - .widget.defaultSelected.id, - AnalyticsEntryType.privateChats, - L10n.of(context)!.allPrivateChats, - ), - allowNavigateOnSelect: false, - isSelected: controller.isSelected( - controller - .widget.defaultSelected.id, - ), - onTap: controller.toggleSelection, - pangeaController: - controller.pangeaController, - controller: controller, - ), - ], - ), - Column( - crossAxisAlignment: - CrossAxisAlignment.stretch, - children: controller.widget.tabs[1].items - .map( - (item) => AnalyticsListTile( - refreshStream: - controller.refreshStream, - avatar: item.avatar, - defaultSelected: controller - .widget.defaultSelected, - selected: AnalyticsSelected( - item.id, - controller.widget.tabs[1].type, - item.displayName, - ), - isSelected: controller - .isSelected(item.id), - onTap: controller.toggleSelection, - allowNavigateOnSelect: controller - .widget - .tabs[1] - .allowNavigateOnSelect, - pangeaController: - controller.pangeaController, - controller: controller, - ), - ) - .toList(), - ), - ], - ), - ), - ), - ), - ], + ), ), ), - ), - ], - ) - : Column( - children: [ - const Divider(height: 1), - ListTile( - title: Text(L10n.of(context)!.grammarAnalytics), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: - Theme.of(context).textTheme.bodyLarge!.color, - child: Icon(BarChartViewSelection.grammar.icon), - ), - trailing: const Icon(Icons.chevron_right), - onTap: () { - String route = - "/rooms/${controller.widget.defaultSelected.type.route}"; - if (controller.widget.defaultSelected.type == - AnalyticsEntryType.space) { - route += "/${controller.widget.defaultSelected.id}"; - } - route += "/${BarChartViewSelection.grammar.route}"; - context.go(route); - }, - ), - const Divider(height: 1), - ListTile( - title: Text(L10n.of(context)!.messageAnalytics), - leading: CircleAvatar( - backgroundColor: - Theme.of(context).scaffoldBackgroundColor, - foregroundColor: - Theme.of(context).textTheme.bodyLarge!.color, - child: Icon(BarChartViewSelection.messages.icon), - ), - trailing: const Icon(Icons.chevron_right), - onTap: () { - String route = - "/rooms/${controller.widget.defaultSelected.type.route}"; - if (controller.widget.defaultSelected.type == - AnalyticsEntryType.space) { - route += "/${controller.widget.defaultSelected.id}"; - } - route += "/${BarChartViewSelection.messages.route}"; - context.go(route); - }, - ), - const Divider(height: 1), - ], + ], + ), ), + ), + ], + ), ), ); } diff --git a/lib/pangea/pages/analytics/construct_list.dart b/lib/pangea/pages/analytics/construct_list.dart index e169922ca..d46936c86 100644 --- a/lib/pangea/pages/analytics/construct_list.dart +++ b/lib/pangea/pages/analytics/construct_list.dart @@ -19,7 +19,7 @@ import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:matrix/matrix.dart'; class ConstructList extends StatefulWidget { - final ConstructType constructType; + final ConstructTypeEnum constructType; final AnalyticsSelected defaultSelected; final AnalyticsSelected? selected; final BaseAnalyticsController controller; @@ -94,7 +94,7 @@ class ConstructListView extends StatefulWidget { } class ConstructListViewState extends State { - final ConstructType constructType = ConstructType.grammar; + final ConstructTypeEnum constructType = ConstructTypeEnum.grammar; final Map _timelinesCache = {}; final Map _msgEventCache = {}; final List _msgEvents = []; @@ -355,15 +355,17 @@ class ConstructMessagesDialog extends StatelessWidget { final msgEventMatches = controller.getMessageEventMatches(); + final noData = controller.constructs![controller.lemmaIndex].uses.length > + controller._msgEvents.length; + return AlertDialog( title: Center(child: Text(controller.widget.controller.currentLemma!)), content: SizedBox( - height: 350, - width: 500, + height: noData ? 90 : 250, + width: noData ? 200 : 400, child: Column( children: [ - if (controller.constructs![controller.lemmaIndex].uses.length > - controller._msgEvents.length) + if (noData) Center( child: Padding( padding: const EdgeInsets.all(8.0), @@ -398,8 +400,8 @@ class ConstructMessagesDialog extends StatelessWidget { child: Text( L10n.of(context)!.close.toUpperCase(), style: TextStyle( - color: - Theme.of(context).textTheme.bodyMedium?.color?.withAlpha(150), + color: Theme.of(context).colorScheme.primary, + fontWeight: FontWeight.bold, ), ), ), diff --git a/lib/pangea/pages/analytics/space_analytics/space_analytics.dart b/lib/pangea/pages/analytics/space_analytics/space_analytics.dart index 64875bfba..2db1acb4c 100644 --- a/lib/pangea/pages/analytics/space_analytics/space_analytics.dart +++ b/lib/pangea/pages/analytics/space_analytics/space_analytics.dart @@ -4,6 +4,7 @@ import 'dart:developer'; import 'package:fluffychat/pangea/constants/pangea_room_types.dart'; import 'package:fluffychat/pangea/enum/bar_chart_view_enum.dart'; import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; +import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/widgets/common/list_placeholder.dart'; import 'package:fluffychat/pangea/widgets/common/p_circular_loader.dart'; @@ -17,8 +18,8 @@ import '../../../utils/sync_status_util_v2.dart'; import 'space_analytics_view.dart'; class SpaceAnalyticsPage extends StatefulWidget { - final BarChartViewSelection? selectedView; - const SpaceAnalyticsPage({super.key, this.selectedView}); + final BarChartViewSelection selectedView; + const SpaceAnalyticsPage({super.key, required this.selectedView}); @override State createState() => SpaceAnalyticsV2Controller(); @@ -33,6 +34,18 @@ class SpaceAnalyticsV2Controller extends State { List students = []; String? get spaceId => GoRouterState.of(context).pathParameters['spaceid']; Room? _spaceRoom; + List targetLanguages = []; + + @override + void initState() { + super.initState(); + Future.delayed(Duration.zero, () async { + if (spaceRoom == null || (!(spaceRoom?.isSpace ?? false))) { + context.go('/rooms'); + } + getChatAndStudents(); + }); + } Room? get spaceRoom { if (_spaceRoom == null || _spaceRoom!.id != spaceId) { @@ -44,23 +57,11 @@ class SpaceAnalyticsV2Controller extends State { context.go('/rooms/analytics'); return null; } - getChatAndStudents(); + getChatAndStudents().then((_) => setTargetLanguages()); } return _spaceRoom; } - @override - void initState() { - super.initState(); - debugPrint("init space analytics"); - Future.delayed(Duration.zero, () async { - if (spaceRoom == null || (!(spaceRoom?.isSpace ?? false))) { - context.go('/rooms'); - } - getChatAndStudents(); - }); - } - Future getChatAndStudents() async { try { await spaceRoom?.postLoad(); @@ -97,12 +98,12 @@ class SpaceAnalyticsV2Controller extends State { } } - // @override - // void dispose() { - // super.dispose(); - // refreshTimer?.cancel(); - // stateSub?.cancel(); - // } + Future setTargetLanguages() async { + // get a list of language models, sorted by the + // number of students who are learning that language + targetLanguages = await spaceRoom?.targetLanguages() ?? []; + setState(() {}); + } @override Widget build(BuildContext context) { diff --git a/lib/pangea/pages/analytics/space_analytics/space_analytics_view.dart b/lib/pangea/pages/analytics/space_analytics/space_analytics_view.dart index 5e0008555..c72ec3c26 100644 --- a/lib/pangea/pages/analytics/space_analytics/space_analytics_view.dart +++ b/lib/pangea/pages/analytics/space_analytics/space_analytics_view.dart @@ -59,6 +59,7 @@ class SpaceAnalyticsView extends StatelessWidget { AnalyticsEntryType.space, controller.spaceRoom?.name ?? "", ), + targetLanguages: controller.targetLanguages, ) : const SizedBox(); } diff --git a/lib/pangea/pages/analytics/space_list/space_list.dart b/lib/pangea/pages/analytics/space_list/space_list.dart index 058d54e63..e65bb6152 100644 --- a/lib/pangea/pages/analytics/space_list/space_list.dart +++ b/lib/pangea/pages/analytics/space_list/space_list.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'package:fluffychat/pangea/enum/time_span.dart'; import 'package:fluffychat/pangea/extensions/client_extension/client_extension.dart'; +import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/pages/analytics/space_list/space_list_view.dart'; import 'package:flutter/material.dart'; @@ -22,26 +23,58 @@ class AnalyticsSpaceList extends StatefulWidget { class AnalyticsSpaceListController extends State { PangeaController pangeaController = MatrixState.pangeaController; List spaces = []; + StreamSubscription? stateSub; + List targetLanguages = []; @override void initState() { super.initState(); - Matrix.of(context).client.spacesImTeaching.then((spaceList) { - spaceList = spaceList - .where( - (space) => !spaceList.any( - (parentSpace) => parentSpace.spaceChildren - .any((child) => child.roomId == space.id), - ), - ) - .toList(); - spaces = spaceList; - setState(() {}); - }); + setSpaceList().then((_) => setTargetLanguages()); + + // reload dropdowns when their values change in analytics page + stateSub = pangeaController.analytics.stateStream.listen( + (_) => setState(() {}), + ); + } + + @override + void dispose() { + stateSub?.cancel(); + super.dispose(); } StreamController refreshStream = StreamController.broadcast(); + Future setSpaceList() async { + final spaceList = await Matrix.of(context).client.spacesImTeaching; + spaces = spaceList + .where( + (space) => !spaceList.any( + (parentSpace) => parentSpace.spaceChildren + .any((child) => child.roomId == space.id), + ), + ) + .toList(); + setState(() {}); + } + + Future setTargetLanguages() async { + if (spaces.isEmpty) return; + final Map langCounts = {}; + for (final Room space in spaces) { + final List targetLangs = await space.targetLanguages(); + for (final LanguageModel lang in targetLangs) { + langCounts[lang] ??= 0; + langCounts[lang] = langCounts[lang]! + 1; + } + } + targetLanguages = langCounts.entries.map((entry) => entry.key).toList() + ..sort( + (a, b) => langCounts[b]!.compareTo(langCounts[a]!), + ); + setState(() {}); + } + void toggleTimeSpan(BuildContext context, TimeSpan timeSpan) { pangeaController.analytics.setCurrentAnalyticsTimeSpan(timeSpan); refreshStream.add(false); @@ -49,7 +82,7 @@ class AnalyticsSpaceListController extends State { } Future toggleSpaceLang(LanguageModel lang) async { - await pangeaController.analytics.setCurrentAnalyticsSpaceLang(lang); + await pangeaController.analytics.setCurrentAnalyticsLang(lang); refreshStream.add(false); setState(() {}); } diff --git a/lib/pangea/pages/analytics/space_list/space_list_view.dart b/lib/pangea/pages/analytics/space_list/space_list_view.dart index 5f5bf22da..7ef5fb45e 100644 --- a/lib/pangea/pages/analytics/space_list/space_list_view.dart +++ b/lib/pangea/pages/analytics/space_list/space_list_view.dart @@ -1,3 +1,4 @@ +import 'package:fluffychat/pangea/enum/time_span.dart'; import 'package:fluffychat/pangea/pages/analytics/analytics_language_button.dart'; import 'package:fluffychat/pangea/pages/analytics/analytics_list_tile.dart'; import 'package:fluffychat/pangea/pages/analytics/time_span_menu_button.dart'; @@ -5,7 +6,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; import 'package:go_router/go_router.dart'; -import '../../../enum/time_span.dart'; import '../base_analytics.dart'; import 'space_list.dart'; @@ -32,25 +32,29 @@ class AnalyticsSpaceListView extends StatelessWidget { icon: const Icon(Icons.close_outlined), onPressed: () => context.pop(), ), - actions: [ - TimeSpanMenuButton( - value: - controller.pangeaController.analytics.currentAnalyticsTimeSpan, - onChange: (TimeSpan value) => controller.toggleTimeSpan( - context, - value, - ), - ), - AnalyticsLanguageButton( - value: - controller.pangeaController.analytics.currentAnalyticsSpaceLang, - onChange: (lang) => controller.toggleSpaceLang(lang), - languages: controller.pangeaController.pLanguageStore.targetOptions, - ), - ], ), body: Column( children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + TimeSpanMenuButton( + value: controller + .pangeaController.analytics.currentAnalyticsTimeSpan, + onChange: (TimeSpan value) => controller.toggleTimeSpan( + context, + value, + ), + ), + AnalyticsLanguageButton( + value: + controller.pangeaController.analytics.currentAnalyticsLang, + onChange: (lang) => controller.toggleSpaceLang(lang), + languages: + controller.pangeaController.pLanguageStore.targetOptions, + ), + ], + ), Flexible( child: ListView.builder( itemCount: controller.spaces.length, diff --git a/lib/pangea/pages/analytics/student_analytics/student_analytics.dart b/lib/pangea/pages/analytics/student_analytics/student_analytics.dart index 65bd533e8..e06c6d0ba 100644 --- a/lib/pangea/pages/analytics/student_analytics/student_analytics.dart +++ b/lib/pangea/pages/analytics/student_analytics/student_analytics.dart @@ -1,7 +1,11 @@ -import 'dart:async'; import 'dart:developer'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; +import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; import 'package:fluffychat/pangea/enum/bar_chart_view_enum.dart'; +import 'package:fluffychat/pangea/extensions/client_extension/client_extension.dart'; +import 'package:fluffychat/pangea/extensions/pangea_room_extension/pangea_room_extension.dart'; +import 'package:fluffychat/pangea/models/language_model.dart'; import 'package:fluffychat/pangea/widgets/common/list_placeholder.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -14,8 +18,8 @@ import '../base_analytics.dart'; import 'student_analytics_view.dart'; class StudentAnalyticsPage extends StatefulWidget { - final BarChartViewSelection? selectedView; - const StudentAnalyticsPage({super.key, this.selectedView}); + final BarChartViewSelection selectedView; + const StudentAnalyticsPage({super.key, required this.selectedView}); @override State createState() => StudentAnalyticsController(); @@ -24,49 +28,35 @@ class StudentAnalyticsPage extends StatefulWidget { class StudentAnalyticsController extends State { final PangeaController _pangeaController = MatrixState.pangeaController; AnalyticsSelected? selected; - StreamSubscription? stateSub; @override void initState() { super.initState(); - - final listFutures = [ - _pangeaController.myAnalytics.setStudentChats(), - _pangeaController.myAnalytics.setStudentSpaces(), - ]; - Future.wait(listFutures).then((_) => setState(() {})); - - stateSub = _pangeaController.myAnalytics.stateStream.listen((_) { - setState(() {}); - }); } @override void dispose() { - stateSub?.cancel(); super.dispose(); } + List _chats = []; List get chats { - if (_pangeaController.myAnalytics.studentChats.isEmpty) { - _pangeaController.myAnalytics.setStudentChats().then((_) { - if (_pangeaController.myAnalytics.studentChats.isNotEmpty) { - setState(() {}); - } + if (_chats.isEmpty) { + _pangeaController.matrixState.client.chatsImAStudentIn.then((result) { + setState(() => _chats = result); }); } - return _pangeaController.myAnalytics.studentChats; + return _chats; } + List _spaces = []; List get spaces { - if (_pangeaController.myAnalytics.studentSpaces.isEmpty) { - _pangeaController.myAnalytics.setStudentSpaces().then((_) { - if (_pangeaController.myAnalytics.studentSpaces.isNotEmpty) { - setState(() {}); - } + if (_spaces.isEmpty) { + _pangeaController.matrixState.client.spaceImAStudentIn.then((result) { + setState(() => _spaces = result); }); } - return _pangeaController.myAnalytics.studentSpaces; + return _spaces; } String? get userId { @@ -75,6 +65,24 @@ class StudentAnalyticsController extends State { return id; } + List get targetLanguages { + final LanguageModel? l2 = + _pangeaController.languageController.activeL2Model(); + final List analyticsRoomLangs = + _pangeaController.matrixState.client.allMyAnalyticsRooms + .map((analyticsRoom) => analyticsRoom.madeForLang) + .where((langCode) => langCode != null) + .map((langCode) => PangeaLanguage.byLangCode(langCode!)) + .where( + (langModel) => langModel.langCode != LanguageKeys.unknownLanguage, + ) + .toList(); + if (l2 != null) { + analyticsRoomLangs.add(l2); + } + return analyticsRoomLangs.toSet().toList(); + } + @override Widget build(BuildContext context) { return PLoadingStatusV2( diff --git a/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart b/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart index 5b8924581..6ea754891 100644 --- a/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart +++ b/lib/pangea/pages/analytics/student_analytics/student_analytics_view.dart @@ -59,6 +59,7 @@ class StudentAnalyticsView extends StatelessWidget { AnalyticsEntryType.student, L10n.of(context)!.allChatsAndClasses, ), + targetLanguages: controller.targetLanguages, ) : const SizedBox(); } diff --git a/lib/pangea/pages/analytics/time_span_menu_button.dart b/lib/pangea/pages/analytics/time_span_menu_button.dart index 23d2ad0c8..32f6668bc 100644 --- a/lib/pangea/pages/analytics/time_span_menu_button.dart +++ b/lib/pangea/pages/analytics/time_span_menu_button.dart @@ -15,7 +15,6 @@ class TimeSpanMenuButton extends StatelessWidget { @override Widget build(BuildContext context) { return PopupMenuButton( - icon: const Icon(Icons.calendar_month_outlined), tooltip: L10n.of(context)!.changeDateRange, initialValue: value, onSelected: (TimeSpan? timeSpan) { @@ -32,6 +31,19 @@ class TimeSpanMenuButton extends StatelessWidget { child: Text(timeSpan.string(context)), ); }).toList(), + child: TextButton.icon( + label: Text( + value.string(context), + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + ), + ), + icon: Icon( + Icons.calendar_month_outlined, + color: Theme.of(context).colorScheme.onSurface, + ), + onPressed: null, + ), ); } } diff --git a/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart b/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart index 4fdb38604..ff7d0068a 100644 --- a/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart +++ b/lib/pangea/pages/class_settings/p_class_widgets/class_description_button.dart @@ -17,6 +17,7 @@ class ClassDescriptionButton extends StatelessWidget { @override Widget build(BuildContext context) { final iconColor = Theme.of(context).textTheme.bodyLarge!.color; + final ScrollController scrollController = ScrollController(); return Column( children: [ ListTile( @@ -26,14 +27,27 @@ class ClassDescriptionButton extends StatelessWidget { foregroundColor: iconColor, child: const Icon(Icons.topic_outlined), ), - subtitle: Text( - room.topic.isEmpty - ? (room.isRoomAdmin - ? (room.isSpace - ? L10n.of(context)!.classDescriptionDesc - : L10n.of(context)!.chatTopicDesc) - : L10n.of(context)!.topicNotSet) - : room.topic, + subtitle: ConstrainedBox( + constraints: const BoxConstraints( + maxHeight: 190, + ), + child: Scrollbar( + controller: scrollController, + interactive: true, + child: SingleChildScrollView( + controller: scrollController, + primary: false, + child: Text( + room.topic.isEmpty + ? (room.isRoomAdmin + ? (room.isSpace + ? L10n.of(context)!.classDescriptionDesc + : L10n.of(context)!.chatTopicDesc) + : L10n.of(context)!.topicNotSet) + : room.topic, + ), + ), + ), ), title: Text( room.isSpace diff --git a/lib/pangea/pages/settings_learning/settings_learning_view.dart b/lib/pangea/pages/settings_learning/settings_learning_view.dart index ca337222a..191bd76db 100644 --- a/lib/pangea/pages/settings_learning/settings_learning_view.dart +++ b/lib/pangea/pages/settings_learning/settings_learning_view.dart @@ -61,6 +61,16 @@ class SettingsLearningView extends StatelessWidget { pStoreKey: setting.toString(), local: false, ), + PSettingsSwitchListTile.adaptive( + defaultValue: controller.pangeaController.pStoreService.read( + PLocalKey.itAutoPlay, + ) ?? + false, + title: L10n.of(context)!.interactiveTranslatorAutoPlaySliderHeader, + subtitle: L10n.of(context)!.interactiveTranslatorAutoPlayDesc, + pStoreKey: PLocalKey.itAutoPlay, + local: false, + ), PSettingsSwitchListTile.adaptive( defaultValue: controller.pangeaController.pStoreService.read( PLocalKey.autoPlayMessages, diff --git a/lib/pangea/repo/igc_repo.dart b/lib/pangea/repo/igc_repo.dart index 9517515d0..d3dbbcb6b 100644 --- a/lib/pangea/repo/igc_repo.dart +++ b/lib/pangea/repo/igc_repo.dart @@ -1,6 +1,7 @@ import 'dart:convert'; import 'package:fluffychat/pangea/config/environment.dart'; +import 'package:fluffychat/pangea/controllers/language_detection_controller.dart'; import 'package:fluffychat/pangea/models/language_detection_model.dart'; import 'package:fluffychat/pangea/models/lemma.dart'; import 'package:fluffychat/pangea/models/pangea_match_model.dart'; @@ -39,7 +40,10 @@ class IgcRepo { await Future.delayed(const Duration(seconds: 2)); final IGCTextData igcTextData = IGCTextData( - detections: [LanguageDetection(langCode: "en", confidence: 0.99)], + detections: LanguageDetectionResponse( + detections: [LanguageDetection(langCode: "en", confidence: 0.99)], + fullText: "This be a sample text", + ), tokens: [ PangeaToken( text: PangeaTokenText(content: "This", offset: 0, length: 4), @@ -89,7 +93,6 @@ class IGCRequestBody { String fullText; String userL1; String userL2; - bool tokensOnly; bool enableIT; bool enableIGC; @@ -99,7 +102,6 @@ class IGCRequestBody { required this.userL2, required this.enableIGC, required this.enableIT, - this.tokensOnly = false, }); Map toJson() => { @@ -108,6 +110,5 @@ class IGCRequestBody { ModelKey.userL2: userL2, "enable_it": enableIT, "enable_igc": enableIGC, - "tokens_only": tokensOnly, }; } diff --git a/lib/pangea/utils/any_state_holder.dart b/lib/pangea/utils/any_state_holder.dart index bd09c7131..9705a9ca1 100644 --- a/lib/pangea/utils/any_state_holder.dart +++ b/lib/pangea/utils/any_state_holder.dart @@ -4,7 +4,7 @@ import 'package:sentry_flutter/sentry_flutter.dart'; class PangeaAnyState { final Map _layerLinkAndKeys = {}; - OverlayEntry? overlay; + List entries = []; dispose() { closeOverlay(); @@ -32,26 +32,32 @@ class PangeaAnyState { _layerLinkAndKeys.remove(transformTargetId); } - void openOverlay(OverlayEntry entry, BuildContext context) { - closeOverlay(); - overlay = entry; - Overlay.of(context).insert(overlay!); + void openOverlay( + OverlayEntry entry, + BuildContext context, { + bool closePrevOverlay = true, + }) { + if (closePrevOverlay) { + closeOverlay(); + } + entries.add(entry); + Overlay.of(context).insert(entry); } void closeOverlay() { - if (overlay != null) { + if (entries.isNotEmpty) { try { - overlay?.remove(); + entries.last.remove(); } catch (err, s) { ErrorHandler.logError( e: err, s: s, data: { - "overlay": overlay, + "overlay": entries.last, }, ); } - overlay = null; + entries.removeLast(); } } diff --git a/lib/pangea/utils/firebase_analytics.dart b/lib/pangea/utils/firebase_analytics.dart index 59485d35b..323a7a172 100644 --- a/lib/pangea/utils/firebase_analytics.dart +++ b/lib/pangea/utils/firebase_analytics.dart @@ -4,7 +4,6 @@ import 'package:fluffychat/pangea/controllers/subscription_controller.dart'; import 'package:flutter/widgets.dart'; import '../../config/firebase_options.dart'; -import '../enum/use_type.dart'; // PageRoute import @@ -90,13 +89,12 @@ class GoogleAnalytics { logEvent('join_group', parameters: {'group_id': classCode}); } - static sendMessage(String chatRoomId, String classCode, UseType useType) { + static sendMessage(String chatRoomId, String classCode) { logEvent( 'sent_message', parameters: { "chat_id": chatRoomId, 'group_id': classCode, - "message_type": useType.toString(), }, ); } diff --git a/lib/pangea/utils/get_chat_list_item_subtitle.dart b/lib/pangea/utils/get_chat_list_item_subtitle.dart index 5adc0040c..bd8d064f5 100644 --- a/lib/pangea/utils/get_chat_list_item_subtitle.dart +++ b/lib/pangea/utils/get_chat_list_item_subtitle.dart @@ -1,5 +1,5 @@ import 'package:collection/collection.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/constants/model_keys.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; diff --git a/lib/pangea/utils/inline_tooltip.dart b/lib/pangea/utils/inline_tooltip.dart new file mode 100644 index 000000000..253288a84 --- /dev/null +++ b/lib/pangea/utils/inline_tooltip.dart @@ -0,0 +1,62 @@ +import 'package:flutter/material.dart'; + +class InlineTooltip extends StatelessWidget { + final String body; + final VoidCallback onClose; + + const InlineTooltip({ + super.key, + required this.body, + required this.onClose, + }); + + @override + Widget build(BuildContext context) { + return Badge( + offset: const Offset(0, -7), + backgroundColor: Colors.transparent, + label: CircleAvatar( + radius: 10, + child: IconButton( + padding: EdgeInsets.zero, + icon: const Icon( + Icons.close_outlined, + size: 15, + ), + onPressed: onClose, + ), + ), + child: Container( + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10), + color: Theme.of(context).colorScheme.primary.withAlpha(20), + ), + child: Padding( + padding: const EdgeInsets.all(10), + child: RichText( + textAlign: TextAlign.justify, + text: TextSpan( + children: [ + const WidgetSpan( + child: Icon( + Icons.lightbulb, + size: 16, + ), + ), + const WidgetSpan( + child: SizedBox(width: 5), + ), + TextSpan( + text: body, + style: TextStyle( + color: Theme.of(context).colorScheme.onSurface, + ), + ), + ], + ), + ), + ), + ), + ); + } +} diff --git a/lib/pangea/utils/instructions.dart b/lib/pangea/utils/instructions.dart index 43350f518..382268082 100644 --- a/lib/pangea/utils/instructions.dart +++ b/lib/pangea/utils/instructions.dart @@ -1,4 +1,5 @@ -import 'package:fluffychat/utils/platform_infos.dart'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; +import 'package:fluffychat/pangea/utils/inline_tooltip.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; @@ -14,17 +15,29 @@ import 'overlay.dart'; class InstructionsController { late PangeaController _pangeaController; + // We have these three methods to make sure that the instructions are not shown too much + + /// Instruction popup was closed by the user final Map _instructionsClosed = {}; + + /// Instruction popup has already been shown this session final Map _instructionsShown = {}; + /// Returns true if the user requested this popup not be shown again + bool? toggledOff(InstructionsEnum key) => + _pangeaController.pStoreService.read(key.toString()); + InstructionsController(PangeaController pangeaController) { _pangeaController = pangeaController; } + /// Returns true if the instructions were closed + /// or turned off by the user via the toggle switch bool wereInstructionsTurnedOff(InstructionsEnum key) => - _pangeaController.pStoreService.read(key.toString()) ?? - _instructionsClosed[key] ?? - false; + toggledOff(key) ?? _instructionsClosed[key] ?? false; + + void turnOffInstruction(InstructionsEnum key) => + _instructionsClosed[key] = true; Future updateEnableInstructions( InstructionsEnum key, @@ -35,12 +48,19 @@ class InstructionsController { value, ); - Future show( + /// Instruction Card gives users tips on + /// how to use Pangea Chat's features + Future showInstructionsPopup( BuildContext context, InstructionsEnum key, String transformTargetKey, [ bool showToggle = true, ]) async { + if (_instructionsShown[key] ?? false) { + return; + } + _instructionsShown[key] = true; + if (wereInstructionsTurnedOff(key)) { return; } @@ -51,9 +71,6 @@ class InstructionsController { ); return; } - if (_instructionsShown[key] ?? false) { - return; - } final bool userLangsSet = await _pangeaController.userController.areUserLanguagesSet; @@ -61,8 +78,6 @@ class InstructionsController { return; } - _instructionsShown[key] = true; - final botStyle = BotStyle.text(context); Future.delayed( const Duration(seconds: 1), @@ -74,7 +89,7 @@ class InstructionsController { children: [ CardHeader( text: key.title(context), - botExpression: BotExpression.surprised, + botExpression: BotExpression.idle, onClose: () => {_instructionsClosed[key] = true}, ), const SizedBox(height: 10.0), @@ -94,48 +109,39 @@ class InstructionsController { ), cardSize: const Size(300.0, 300.0), transformTargetId: transformTargetKey, + closePrevOverlay: false, ), ); } + + /// Returns a widget that will be added to existing widget + /// which displays hint text defined in the enum extension + Widget getInstructionInlineTooltip( + BuildContext context, + InstructionsEnum key, + VoidCallback onClose, + ) { + if (wereInstructionsTurnedOff(key)) { + return const SizedBox(); + } + + if (L10n.of(context) == null) { + ErrorHandler.logError( + m: "null context in ITBotButton.showCard", + s: StackTrace.current, + ); + return const SizedBox(); + } + + return InlineTooltip( + body: InstructionsEnum.speechToText.body(context), + onClose: onClose, + ); + } } -enum InstructionsEnum { - itInstructions, - clickMessage, - blurMeansTranslate, - tooltipInstructions, -} - -extension Copy on InstructionsEnum { - String title(BuildContext context) { - switch (this) { - case InstructionsEnum.itInstructions: - return L10n.of(context)!.itInstructionsTitle; - case InstructionsEnum.clickMessage: - return L10n.of(context)!.clickMessageTitle; - case InstructionsEnum.blurMeansTranslate: - return L10n.of(context)!.blurMeansTranslateTitle; - case InstructionsEnum.tooltipInstructions: - return L10n.of(context)!.tooltipInstructionsTitle; - } - } - - String body(BuildContext context) { - switch (this) { - case InstructionsEnum.itInstructions: - return L10n.of(context)!.itInstructionsBody; - case InstructionsEnum.clickMessage: - return L10n.of(context)!.clickMessageBody; - case InstructionsEnum.blurMeansTranslate: - return L10n.of(context)!.blurMeansTranslateBody; - case InstructionsEnum.tooltipInstructions: - return PlatformInfos.isMobile - ? L10n.of(context)!.tooltipInstructionsMobileBody - : L10n.of(context)!.tooltipInstructionsBrowserBody; - } - } -} - +/// User can toggle on to prevent Instruction Card +/// from appearing in future sessions class InstructionsToggle extends StatefulWidget { const InstructionsToggle({ super.key, diff --git a/lib/pangea/utils/match_copy.dart b/lib/pangea/utils/match_copy.dart index 28080f9b5..86d784356 100644 --- a/lib/pangea/utils/match_copy.dart +++ b/lib/pangea/utils/match_copy.dart @@ -1,13 +1,13 @@ import 'dart:developer'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:sentry_flutter/sentry_flutter.dart'; - import 'package:fluffychat/pangea/enum/span_data_type.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; +import 'package:fluffychat/widgets/matrix.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:sentry_flutter/sentry_flutter.dart'; + import '../constants/match_rule_ids.dart'; import '../models/pangea_match_model.dart'; @@ -96,7 +96,11 @@ class MatchCopy { switch (afterColon) { case MatchRuleIds.interactiveTranslation: title = l10n.needsItShortMessage; - description = l10n.needsItMessage; + description = l10n.needsItMessage( + MatrixState + .pangeaController.languageController.userL2?.displayName ?? + "target language", + ); break; case MatchRuleIds.tokenNeedsTranslation: title = l10n.tokenTranslationTitle; diff --git a/lib/pangea/utils/overlay.dart b/lib/pangea/utils/overlay.dart index 84e9b9a2a..ce8c63d99 100644 --- a/lib/pangea/utils/overlay.dart +++ b/lib/pangea/utils/overlay.dart @@ -25,9 +25,12 @@ class OverlayUtil { Color? backgroundColor, Alignment? targetAnchor, Alignment? followerAnchor, + bool closePrevOverlay = true, }) { try { - MatrixState.pAnyState.closeOverlay(); + if (closePrevOverlay) { + MatrixState.pAnyState.closeOverlay(); + } final LayerLinkAndKey layerLinkAndKey = MatrixState.pAnyState.layerLinkAndKey(transformTargetId); @@ -58,7 +61,8 @@ class OverlayUtil { ), ); - MatrixState.pAnyState.openOverlay(entry, context); + MatrixState.pAnyState + .openOverlay(entry, context, closePrevOverlay: closePrevOverlay); } catch (err, stack) { debugger(when: kDebugMode); ErrorHandler.logError(e: err, s: stack); @@ -72,6 +76,7 @@ class OverlayUtil { required String transformTargetId, backDropToDismiss = true, Color? borderColor, + bool closePrevOverlay = true, }) { try { final LayerLinkAndKey layerLinkAndKey = @@ -105,6 +110,7 @@ class OverlayUtil { offset: cardOffset, backDropToDismiss: backDropToDismiss, borderColor: borderColor, + closePrevOverlay: closePrevOverlay, ); } catch (err, stack) { debugger(when: kDebugMode); @@ -180,7 +186,7 @@ class OverlayUtil { return Offset(dx, dy); } - static bool get isOverlayOpen => MatrixState.pAnyState.overlay != null; + static bool get isOverlayOpen => MatrixState.pAnyState.entries.isNotEmpty; } class TransparentBackdrop extends StatelessWidget { diff --git a/lib/pangea/widgets/chat/message_speech_to_text_card.dart b/lib/pangea/widgets/chat/message_speech_to_text_card.dart index 9099b9b95..a26a36658 100644 --- a/lib/pangea/widgets/chat/message_speech_to_text_card.dart +++ b/lib/pangea/widgets/chat/message_speech_to_text_card.dart @@ -1,9 +1,9 @@ import 'dart:developer'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/models/speech_to_text_models.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; -import 'package:fluffychat/pangea/utils/instructions.dart'; import 'package:fluffychat/pangea/widgets/chat/toolbar_content_loading_indicator.dart'; import 'package:fluffychat/pangea/widgets/common/icon_number_widget.dart'; import 'package:fluffychat/pangea/widgets/igc/card_error_widget.dart'; @@ -65,6 +65,13 @@ class MessageSpeechToTextCardState extends State { } } + void closeHint() { + MatrixState.pangeaController.instructions.turnOffInstruction( + InstructionsEnum.speechToText, + ); + setState(() {}); + } + TextSpan _buildTranscriptText(BuildContext context) { final Transcript transcript = speechToTextResponse!.transcript; final List spans = []; @@ -172,7 +179,8 @@ class MessageSpeechToTextCardState extends State { number: "${selectedToken?.confidence ?? speechToTextResponse!.transcript.confidence}%", toolTip: L10n.of(context)!.accuracy, - onPressed: () => MatrixState.pangeaController.instructions.show( + onPressed: () => MatrixState.pangeaController.instructions + .showInstructionsPopup( context, InstructionsEnum.tooltipInstructions, widget.messageEvent.eventId, @@ -184,7 +192,8 @@ class MessageSpeechToTextCardState extends State { number: wordsPerMinuteString != null ? "$wordsPerMinuteString" : "??", toolTip: L10n.of(context)!.wordsPerMinute, - onPressed: () => MatrixState.pangeaController.instructions.show( + onPressed: () => MatrixState.pangeaController.instructions + .showInstructionsPopup( context, InstructionsEnum.tooltipInstructions, widget.messageEvent.eventId, @@ -193,6 +202,11 @@ class MessageSpeechToTextCardState extends State { ), ], ), + MatrixState.pangeaController.instructions.getInstructionInlineTooltip( + context, + InstructionsEnum.speechToText, + closeHint, + ), ], ); } diff --git a/lib/pangea/widgets/chat/message_toolbar.dart b/lib/pangea/widgets/chat/message_toolbar.dart index 434128b1e..8d2d66b7d 100644 --- a/lib/pangea/widgets/chat/message_toolbar.dart +++ b/lib/pangea/widgets/chat/message_toolbar.dart @@ -94,65 +94,73 @@ class ToolbarDisplayController { previousEvent: previousEvent, ); - WidgetsBinding.instance.addPostFrameCallback((timeStamp) { - Widget overlayEntry; - if (toolbar == null) return; - try { - overlayEntry = Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: pangeaMessageEvent.ownMessage - ? CrossAxisAlignment.end - : CrossAxisAlignment.start, - children: [ - toolbarUp ? toolbar! : overlayMessage, - const SizedBox(height: 6), - toolbarUp ? overlayMessage : toolbar!, - ], - ); - } catch (err) { - debugger(when: kDebugMode); - ErrorHandler.logError(e: err, s: StackTrace.current); - return; - } - - OverlayUtil.showOverlay( - context: context, - child: overlayEntry, - transformTargetId: targetId, - targetAnchor: pangeaMessageEvent.ownMessage - ? toolbarUp - ? Alignment.bottomRight - : Alignment.topRight - : toolbarUp - ? Alignment.bottomLeft - : Alignment.topLeft, - followerAnchor: pangeaMessageEvent.ownMessage - ? toolbarUp - ? Alignment.bottomRight - : Alignment.topRight - : toolbarUp - ? Alignment.bottomLeft - : Alignment.topLeft, - backgroundColor: const Color.fromRGBO(0, 0, 0, 1).withAlpha(100), + // I'm not sure why I put this here, but it causes the toolbar + // not to open immediately after clicking (user has to scroll or move their cursor) + // so I'm commenting it out for now + // WidgetsBinding.instance.addPostFrameCallback((timeStamp) { + Widget overlayEntry; + if (toolbar == null) return; + try { + overlayEntry = Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: pangeaMessageEvent.ownMessage + ? CrossAxisAlignment.end + : CrossAxisAlignment.start, + children: [ + toolbarUp ? toolbar! : overlayMessage, + const SizedBox(height: 6), + toolbarUp ? overlayMessage : toolbar!, + ], ); + } catch (err) { + debugger(when: kDebugMode); + ErrorHandler.logError(e: err, s: StackTrace.current); + return; + } - if (MatrixState.pAnyState.overlay != null) { - overlayId = MatrixState.pAnyState.overlay.hashCode.toString(); - } + OverlayUtil.showOverlay( + context: context, + child: overlayEntry, + transformTargetId: targetId, + targetAnchor: pangeaMessageEvent.ownMessage + ? toolbarUp + ? Alignment.bottomRight + : Alignment.topRight + : toolbarUp + ? Alignment.bottomLeft + : Alignment.topLeft, + followerAnchor: pangeaMessageEvent.ownMessage + ? toolbarUp + ? Alignment.bottomRight + : Alignment.topRight + : toolbarUp + ? Alignment.bottomLeft + : Alignment.topLeft, + backgroundColor: const Color.fromRGBO(0, 0, 0, 1).withAlpha(100), + closePrevOverlay: + MatrixState.pangeaController.subscriptionController.isSubscribed, + ); - if (mode != null) { - Future.delayed( - const Duration(milliseconds: 100), - () => toolbarModeStream.add(mode), - ); - } - }); + if (MatrixState.pAnyState.entries.isNotEmpty) { + overlayId = MatrixState.pAnyState.entries.last.hashCode.toString(); + } + + if (mode != null) { + Future.delayed( + const Duration(milliseconds: 100), + () => toolbarModeStream.add(mode), + ); + } + // }); } bool get highlighted { if (overlayId == null) return false; - if (MatrixState.pAnyState.overlay == null) overlayId = null; - return MatrixState.pAnyState.overlay.hashCode.toString() == overlayId; + if (MatrixState.pAnyState.entries.isEmpty) { + overlayId = null; + return false; + } + return MatrixState.pAnyState.entries.last.hashCode.toString() == overlayId; } } @@ -299,7 +307,6 @@ class MessageToolbarState extends State { void showPracticeActivity() { toolbarContent = PracticeActivityCard( pangeaMessageEvent: widget.pangeaMessageEvent, - controller: this, ); } diff --git a/lib/pangea/widgets/chat/message_translation_card.dart b/lib/pangea/widgets/chat/message_translation_card.dart index 3d73106c6..094f481ec 100644 --- a/lib/pangea/widgets/chat/message_translation_card.dart +++ b/lib/pangea/widgets/chat/message_translation_card.dart @@ -35,9 +35,9 @@ class MessageTranslationCardState extends State { String? translationLangCode() { if (widget.immersionMode) return l1Code; - final String? originalWrittenCode = - widget.messageEvent.originalWritten?.content.langCode; - return (l1Code == originalWrittenCode || originalWrittenCode == null) + final String? originalSentCode = + widget.messageEvent.originalSent?.content.langCode; + return (l1Code == originalSentCode || originalSentCode == null) ? l2Code : l1Code; } diff --git a/lib/pangea/widgets/chat/overlay_message.dart b/lib/pangea/widgets/chat/overlay_message.dart index d7c99f07b..5f3d46c7e 100644 --- a/lib/pangea/widgets/chat/overlay_message.dart +++ b/lib/pangea/widgets/chat/overlay_message.dart @@ -166,7 +166,7 @@ class OverlayMessage extends StatelessWidget { mainAxisSize: MainAxisSize.min, children: [ if (pangeaMessageEvent.showUseType) ...[ - pangeaMessageEvent.useType.iconView( + pangeaMessageEvent.msgUseType.iconView( context, textColor.withAlpha(164), ), diff --git a/lib/pangea/widgets/common/bot_face_svg.dart b/lib/pangea/widgets/common/bot_face_svg.dart index 718f10c90..f387b4bc3 100644 --- a/lib/pangea/widgets/common/bot_face_svg.dart +++ b/lib/pangea/widgets/common/bot_face_svg.dart @@ -1,8 +1,13 @@ import 'package:flutter/material.dart'; +import 'package:rive/rive.dart'; -enum BotExpression { surprised, right, addled, left, down, shocked } +enum BotExpression { gold, nonGold, addled, idle, surprised } + +class BotFace extends StatefulWidget { + final double width; + final Color? forceColor; + final BotExpression expression; -class BotFace extends StatelessWidget { const BotFace({ super.key, required this.width, @@ -10,23 +15,80 @@ class BotFace extends StatelessWidget { this.forceColor, }); - final double width; - final Color? forceColor; - final BotExpression expression; + @override + BotFaceState createState() => BotFaceState(); +} + +class BotFaceState extends State { + Artboard? _artboard; + StateMachineController? _controller; + + @override + void initState() { + super.initState(); + _loadRiveFile(); + } + + double mapExpressionToInput(BotExpression expression) { + switch (expression) { + case BotExpression.gold: + return 1.0; + case BotExpression.nonGold: + return 2.0; + case BotExpression.surprised: + return 3.0; + case BotExpression.addled: + return 4.0; + default: + return 0.0; + } + } + + Future _loadRiveFile() async { + final riveFile = await RiveFile.asset('assets/pangea/bot_faces/pangea_bot.riv'); + + final artboard = riveFile.mainArtboard; + _controller = StateMachineController + .fromArtboard(artboard, 'BotIconStateMachine'); + + if (_controller != null) { + artboard.addController(_controller!); + _controller!.setInputValue( + _controller!.stateMachine.inputs[0].id, + mapExpressionToInput(widget.expression), + ); + } + + setState(() { + _artboard = artboard; + }); + } @override Widget build(BuildContext context) { - return Image.asset( - 'assets/pangea/bot_faces/${expression.toString().split('.').last}.png', - // 'assets/pangea/bot_faces/surprised.png', - width: width, - height: width, - // color: forceColor ?? - // (Theme.of(context).brightness == Brightness.light - // ? Theme.of(context).colorScheme.primary - // : Theme.of(context).colorScheme.primary), + + return SizedBox( + width: widget.width, + height: widget.width, + child: _artboard != null + ? Rive( + artboard: _artboard!, + fit: BoxFit.cover, + ) + : Container(), ); } + + @override + void didUpdateWidget(BotFace oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.expression != widget.expression) { + _controller!.setInputValue( + _controller!.stateMachine.inputs[0].id, + mapExpressionToInput(widget.expression), + ); + } + } } // extension ParseToString on BotExpressions { diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_custom_system_prompt_input.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_system_prompt_input.dart new file mode 100644 index 000000000..55ec1493d --- /dev/null +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_system_prompt_input.dart @@ -0,0 +1,73 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + +class ConversationBotCustomSystemPromptInput extends StatelessWidget { + final BotOptionsModel initialBotOptions; + // call this to update propagate changes to parents + final void Function(BotOptionsModel) onChanged; + + const ConversationBotCustomSystemPromptInput({ + super.key, + required this.initialBotOptions, + required this.onChanged, + }); + + @override + Widget build(BuildContext context) { + String customSystemPrompt = initialBotOptions.customSystemPrompt ?? ""; + + final TextEditingController textFieldController = + TextEditingController(text: customSystemPrompt); + + void setBotCustomSystemPromptAction() async { + showDialog( + context: context, + useRootNavigator: false, + builder: (BuildContext context) => AlertDialog( + title: Text( + L10n.of(context)!.conversationBotCustomZone_customSystemPromptLabel, + ), + content: TextField( + minLines: 1, + maxLines: 10, + maxLength: 1000, + controller: textFieldController, + onChanged: (value) { + customSystemPrompt = value; + }, + ), + actions: [ + TextButton( + child: Text(L10n.of(context)!.cancel), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: Text(L10n.of(context)!.ok), + onPressed: () { + if (customSystemPrompt == "") return; + if (customSystemPrompt != + initialBotOptions.customSystemPrompt) { + initialBotOptions.customSystemPrompt = customSystemPrompt; + onChanged.call(initialBotOptions); + Navigator.of(context).pop(); + } + }, + ), + ], + ), + ); + } + + return ListTile( + onTap: setBotCustomSystemPromptAction, + title: Text( + initialBotOptions.customSystemPrompt ?? + L10n.of(context)! + .conversationBotCustomZone_customSystemPromptPlaceholder, + ), + ); + } +} diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart index 5fe8880ea..553de7182 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart @@ -1,15 +1,75 @@ +import 'package:fluffychat/pangea/models/bot_options_model.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_system_prompt_input.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; class ConversationBotCustomZone extends StatelessWidget { + final BotOptionsModel initialBotOptions; + // call this to update propagate changes to parents + final void Function(BotOptionsModel) onChanged; + const ConversationBotCustomZone({ super.key, + required this.initialBotOptions, + required this.onChanged, }); @override Widget build(BuildContext context) { - return const Column( + print(initialBotOptions.toJson()); + return Column( children: [ - Text('Custom Zone'), + const SizedBox(height: 12), + Text( + L10n.of(context)!.conversationBotCustomZone_title, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + const Divider( + color: Colors.grey, + thickness: 1, + ), + const SizedBox(height: 12), + Align( + alignment: Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.fromLTRB(12, 0, 0, 0), + child: Text( + L10n.of(context)! + .conversationBotCustomZone_customSystemPromptLabel, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + ), + ), + ), + ), + Padding( + padding: const EdgeInsets.all(8), + child: ConversationBotCustomSystemPromptInput( + initialBotOptions: initialBotOptions, + onChanged: onChanged, + ), + ), + const SizedBox(height: 12), + CheckboxListTile( + title: Text( + L10n.of(context)! + .conversationBotCustomZone_customTriggerReactionEnabledLabel, + ), + enabled: false, + value: initialBotOptions.customTriggerReactionEnabled ?? true, + onChanged: (value) { + initialBotOptions.customTriggerReactionEnabled = value ?? true; + initialBotOptions.customTriggerReactionKey = + "⏩"; // hard code this for now + onChanged.call(initialBotOptions); + }, + // make this input disabled always + ), + const SizedBox(height: 12), ], ); } diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart index ed642a391..2bb4d7a76 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_discussion_zone.dart @@ -82,9 +82,9 @@ class ConversationBotDiscussionZone extends StatelessWidget { .conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel, ), enabled: false, - value: initialBotOptions.discussionTriggerReactionEnabled ?? false, + value: initialBotOptions.discussionTriggerReactionEnabled ?? true, onChanged: (value) { - initialBotOptions.discussionTriggerReactionEnabled = value ?? false; + initialBotOptions.discussionTriggerReactionEnabled = value ?? true; initialBotOptions.discussionTriggerReactionKey = "⏩"; // hard code this for now onChanged.call(initialBotOptions); diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart index b0c78888f..b15689357 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart @@ -1,7 +1,5 @@ import 'package:fluffychat/pangea/models/bot_options_model.dart'; -import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_conversation_zone.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_custom_zone.dart'; -import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_text_adventure_zone.dart'; import 'package:flutter/material.dart'; import 'conversation_bot_discussion_zone.dart'; @@ -23,9 +21,12 @@ class ConversationBotModeDynamicZone extends StatelessWidget { initialBotOptions: initialBotOptions, onChanged: onChanged, ), - "custom": const ConversationBotCustomZone(), - "conversation": const ConversationBotConversationZone(), - "text_adventure": const ConversationBotTextAdventureZone(), + "custom": ConversationBotCustomZone( + initialBotOptions: initialBotOptions, + onChanged: onChanged, + ), + // "conversation": const ConversationBotConversationZone(), + // "text_adventure": const ConversationBotTextAdventureZone(), }; return Container( decoration: BoxDecoration( diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart index 9662dec55..ba60f038c 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart @@ -16,7 +16,7 @@ class ConversationBotModeSelect extends StatelessWidget { final Map options = { "discussion": L10n.of(context)!.conversationBotModeSelectOption_discussion, - // "custom": L10n.of(context)!.conversationBotModeSelectOption_custom, + "custom": L10n.of(context)!.conversationBotModeSelectOption_custom, // "conversation": // L10n.of(context)!.conversationBotModeSelectOption_conversation, // "text_adventure": diff --git a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart index f1f9816bc..1c78fd030 100644 --- a/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart +++ b/lib/pangea/widgets/conversation_bot/conversation_bot_settings.dart @@ -4,6 +4,7 @@ import 'package:fluffychat/pangea/models/bot_options_model.dart'; import 'package:fluffychat/pangea/utils/bot_name.dart'; import 'package:fluffychat/pangea/widgets/common/bot_face_svg.dart'; import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_dynamic_zone.dart'; +import 'package:fluffychat/pangea/widgets/conversation_bot/conversation_bot_mode_select.dart'; import 'package:fluffychat/pangea/widgets/space/language_level_dropdown.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -44,7 +45,9 @@ class ConversationBotSettingsState extends State { void initState() { super.initState(); isOpen = widget.startOpen; - botOptions = widget.room?.botOptions ?? BotOptionsModel(); + botOptions = widget.room?.botOptions != null + ? BotOptionsModel.fromJson(widget.room?.botOptions?.toJson()) + : BotOptionsModel(); widget.room?.isBotRoom.then((bool isBotRoom) { setState(() { addBot = isBotRoom; @@ -136,7 +139,7 @@ class ConversationBotSettingsState extends State { Theme.of(context).textTheme.bodyLarge!.color, child: const BotFace( width: 30.0, - expression: BotExpression.right, + expression: BotExpression.idle, ), ), trailing: ElevatedButton( @@ -221,28 +224,28 @@ class ConversationBotSettingsState extends State { }), ), ), - // Padding( - // padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), - // child: Text( - // L10n.of(context)!.conversationBotModeSelectDescription, - // style: TextStyle( - // color: Theme.of(context).colorScheme.secondary, - // fontWeight: FontWeight.bold, - // fontSize: 16, - // ), - // ), - // ), - // Padding( - // padding: const EdgeInsets.only(left: 16), - // child: ConversationBotModeSelect( - // initialMode: botOptions.mode, - // onChanged: (String? mode) => updateBotOption( - // () { - // botOptions.mode = mode ?? "discussion"; - // }, - // ), - // ), - // ), + Padding( + padding: const EdgeInsets.fromLTRB(32, 16, 0, 0), + child: Text( + L10n.of(context)!.conversationBotModeSelectDescription, + style: TextStyle( + color: Theme.of(context).colorScheme.secondary, + fontWeight: FontWeight.bold, + fontSize: 16, + ), + ), + ), + Padding( + padding: const EdgeInsets.only(left: 16), + child: ConversationBotModeSelect( + initialMode: botOptions.mode, + onChanged: (String? mode) => updateBotOption( + () { + botOptions.mode = mode ?? "discussion"; + }, + ), + ), + ), Padding( padding: const EdgeInsets.fromLTRB(28, 0, 12, 0), child: ConversationBotModeDynamicZone( diff --git a/lib/pangea/widgets/igc/pangea_rich_text.dart b/lib/pangea/widgets/igc/pangea_rich_text.dart index 8a02c7a74..5b33f66a9 100644 --- a/lib/pangea/widgets/igc/pangea_rich_text.dart +++ b/lib/pangea/widgets/igc/pangea_rich_text.dart @@ -3,10 +3,10 @@ import 'dart:ui'; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; +import 'package:fluffychat/pangea/enum/instructions_enum.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/models/representation_content_model.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; -import 'package:fluffychat/pangea/utils/instructions.dart'; import 'package:fluffychat/pangea/widgets/chat/message_context_menu.dart'; import 'package:fluffychat/pangea/widgets/chat/message_toolbar.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -120,7 +120,7 @@ class PangeaRichTextState extends State { @override Widget build(BuildContext context) { if (blur > 0) { - pangeaController.instructions.show( + pangeaController.instructions.showInstructionsPopup( context, InstructionsEnum.blurMeansTranslate, widget.pangeaMessageEvent.eventId, diff --git a/lib/pangea/widgets/igc/pangea_text_controller.dart b/lib/pangea/widgets/igc/pangea_text_controller.dart index a40e2cc15..b91186c22 100644 --- a/lib/pangea/widgets/igc/pangea_text_controller.dart +++ b/lib/pangea/widgets/igc/pangea_text_controller.dart @@ -71,6 +71,16 @@ class PangeaTextController extends TextEditingController { choreographer.igc.igcTextData!.getTopMatchIndexForOffset( selection.baseOffset, ); + + // if autoplay on and it start then just start it + if (matchIndex != -1 && + choreographer.itAutoPlayEnabled && + choreographer.igc.igcTextData!.matches[matchIndex].isITStart) { + return choreographer.onITStart( + choreographer.igc.igcTextData!.matches[matchIndex], + ); + } + final Widget? cardToShow = matchIndex != -1 ? SpanCard( scm: SpanCardModel( @@ -100,7 +110,7 @@ class PangeaTextController extends TextEditingController { context: context, cardSize: matchIndex != -1 && choreographer.igc.igcTextData!.matches[matchIndex].isITStart - ? const Size(350, 220) + ? const Size(350, 260) : const Size(350, 400), cardToShow: cardToShow, transformTargetId: choreographer.inputTransformTargetKey, diff --git a/lib/pangea/widgets/igc/span_card.dart b/lib/pangea/widgets/igc/span_card.dart index 6fa4e17b3..2960d229c 100644 --- a/lib/pangea/widgets/igc/span_card.dart +++ b/lib/pangea/widgets/igc/span_card.dart @@ -1,6 +1,7 @@ import 'dart:developer'; import 'package:fluffychat/config/app_config.dart'; +import 'package:fluffychat/pangea/constants/local.key.dart'; import 'package:fluffychat/pangea/enum/span_data_type.dart'; import 'package:fluffychat/pangea/models/span_data.dart'; import 'package:fluffychat/pangea/utils/bot_style.dart'; @@ -49,6 +50,8 @@ class SpanCardState extends State { bool fetchingData = false; int? selectedChoiceIndex; + BotExpression currentExpression = BotExpression.nonGold; + //on initState, get SpanDetails @override void initState() { @@ -150,7 +153,23 @@ class WordMatchContent extends StatelessWidget { .choices?[index] .selected = true; - controller.setState(() => ()); + controller.setState( + () => ( + controller.currentExpression = + controller + .widget + .scm + .choreographer + .igc + .igcTextData + !.matches[controller.widget.scm.matchIndex] + .match + .choices![index] + .isBestCorrection + ? BotExpression.gold + : BotExpression.surprised + ), + ); // if (controller.widget.scm.pangeaMatch.match.choices![index].type == // SpanChoiceType.distractor) { // await controller.getSpanDetails(); @@ -192,10 +211,11 @@ class WordMatchContent extends StatelessWidget { try { return Column( children: [ + // if (!controller.widget.scm.pangeaMatch!.isITStart) CardHeader( text: controller.error?.toString() ?? matchCopy.title, botExpression: controller.error == null - ? BotExpression.right + ? controller.currentExpression : BotExpression.addled, ), Expanded( @@ -321,6 +341,10 @@ class WordMatchContent extends StatelessWidget { ), ], ), + if (controller.widget.scm.pangeaMatch!.isITStart) + DontShowSwitchListTile( + controller: pangeaController, + ), ], ); } on Exception catch (e) { @@ -459,3 +483,40 @@ class StartITButton extends StatelessWidget { ); } } + +class DontShowSwitchListTile extends StatefulWidget { + final PangeaController controller; + + const DontShowSwitchListTile({ + super.key, + required this.controller, + }); + + @override + DontShowSwitchListTileState createState() => DontShowSwitchListTileState(); +} + +class DontShowSwitchListTileState extends State { + bool switchValue = false; + + @override + void initState() { + super.initState(); + } + + @override + Widget build(BuildContext context) { + return SwitchListTile.adaptive( + activeColor: AppConfig.activeToggleColor, + title: Text(L10n.of(context)!.interactiveTranslatorAutoPlaySliderHeader), + value: switchValue, + onChanged: (value) => { + widget.controller.pStoreService.save( + PLocalKey.itAutoPlay.toString(), + value, + ), + setState(() => switchValue = value), + }, + ); + } +} diff --git a/lib/pangea/widgets/igc/word_data_card.dart b/lib/pangea/widgets/igc/word_data_card.dart index 5a785c795..1d789424d 100644 --- a/lib/pangea/widgets/igc/word_data_card.dart +++ b/lib/pangea/widgets/igc/word_data_card.dart @@ -1,6 +1,6 @@ import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/controllers/contextual_definition_controller.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; diff --git a/lib/pangea/widgets/new_group/vocab_list.dart b/lib/pangea/widgets/new_group/vocab_list.dart index e6c2675e4..67089145e 100644 --- a/lib/pangea/widgets/new_group/vocab_list.dart +++ b/lib/pangea/widgets/new_group/vocab_list.dart @@ -1,9 +1,8 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_gen/gen_l10n/l10n.dart'; - import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/widgets/matrix.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/l10n.dart'; + import '../../models/chat_topic_model.dart'; import '../../models/lemma.dart'; import '../../repo/topic_data_repo.dart'; @@ -76,7 +75,7 @@ class ChatVocabularyList extends StatelessWidget { for (final word in topic.vocab) Chip( labelStyle: Theme.of(context).textTheme.bodyMedium, - label: Text(word.form), + label: Text(word.text), onDeleted: () { onChanged(topic.vocab..remove(word)); }, @@ -271,7 +270,7 @@ class GenerateVocabButtonState extends State { ElevatedButton.icon( icon: const BotFace( width: 50.0, - expression: BotExpression.right, + expression: BotExpression.idle, ), label: Text(L10n.of(context)!.generateVocabulary), onPressed: () async { @@ -466,7 +465,7 @@ class PromptsFieldState extends State { ElevatedButton.icon( icon: const BotFace( width: 50.0, - expression: BotExpression.right, + expression: BotExpression.idle, ), label: Text(L10n.of(context)!.generatePrompts), onPressed: () async { diff --git a/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart b/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart index c2861ffe0..54ff5586c 100644 --- a/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart +++ b/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart @@ -2,31 +2,93 @@ import 'package:collection/collection.dart'; import 'package:fluffychat/pangea/choreographer/widgets/choice_array.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_event.dart'; import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_model.dart'; -import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_content.dart'; +import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_record_model.dart'; +import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_card.dart'; import 'package:flutter/material.dart'; -class MultipleChoiceActivity extends StatelessWidget { - final MessagePracticeActivityContentState card; - final Function(int) updateChoice; - final bool isActive; +/// The multiple choice activity view +class MultipleChoiceActivity extends StatefulWidget { + final MessagePracticeActivityCardState controller; + final PracticeActivityEvent? currentActivity; const MultipleChoiceActivity({ super.key, - required this.card, - required this.updateChoice, - required this.isActive, + required this.controller, + required this.currentActivity, }); - PracticeActivityEvent get practiceEvent => card.practiceEvent; + @override + MultipleChoiceActivityState createState() => MultipleChoiceActivityState(); +} - int? get selectedChoiceIndex => card.selectedChoiceIndex; +class MultipleChoiceActivityState extends State { + int? selectedChoiceIndex; - bool get submitted => card.recordSubmittedThisSession; + PracticeActivityRecordModel? get currentRecordModel => + widget.controller.currentRecordModel; + + bool get isSubmitted => + widget.currentActivity?.userRecord?.record.latestResponse != null; + + @override + void initState() { + super.initState(); + setCompletionRecord(); + } + + @override + void didUpdateWidget(covariant MultipleChoiceActivity oldWidget) { + super.didUpdateWidget(oldWidget); + if (oldWidget.currentActivity?.event.eventId != + widget.currentActivity?.event.eventId) { + setCompletionRecord(); + } + } + + /// Sets the completion record for the multiple choice activity. + /// If the user record is null, it creates a new record model with the question + /// from the current activity and sets the selected choice index to null. + /// Otherwise, it sets the current model to the user record's record and + /// determines the selected choice index. + void setCompletionRecord() { + if (widget.currentActivity?.userRecord?.record == null) { + widget.controller.setCurrentModel( + PracticeActivityRecordModel( + question: + widget.currentActivity?.practiceActivity.multipleChoice!.question, + ), + ); + selectedChoiceIndex = null; + } else { + widget.controller + .setCurrentModel(widget.currentActivity!.userRecord!.record); + selectedChoiceIndex = widget + .currentActivity?.practiceActivity.multipleChoice! + .choiceIndex(currentRecordModel!.latestResponse!.text!); + } + setState(() {}); + } + + void updateChoice(int index) { + currentRecordModel?.addResponse( + text: widget.controller.currentActivity!.practiceActivity.multipleChoice! + .choices[index], + score: widget.controller.currentActivity!.practiceActivity.multipleChoice! + .isCorrect(index) + ? 1 + : 0, + ); + setState(() => selectedChoiceIndex = index); + } @override Widget build(BuildContext context) { - final PracticeActivityModel practiceActivity = - practiceEvent.practiceActivity; + final PracticeActivityModel? practiceActivity = + widget.currentActivity?.practiceActivity; + + if (practiceActivity == null) { + return const SizedBox(); + } return Container( padding: const EdgeInsets.all(8), @@ -50,17 +112,14 @@ class MultipleChoiceActivity extends StatelessWidget { .mapIndexed( (index, value) => Choice( text: value, - color: (selectedChoiceIndex == index || - practiceActivity.multipleChoice! - .isCorrect(index)) && - submitted + color: selectedChoiceIndex == index ? practiceActivity.multipleChoice!.choiceColor(index) : null, isGold: practiceActivity.multipleChoice!.isCorrect(index), ), ) .toList(), - isActive: isActive, + isActive: !isSubmitted, ), ], ), diff --git a/lib/pangea/widgets/practice_activity/practice_activity_card.dart b/lib/pangea/widgets/practice_activity/practice_activity_card.dart index 17c528b22..5d0b81662 100644 --- a/lib/pangea/widgets/practice_activity/practice_activity_card.dart +++ b/lib/pangea/widgets/practice_activity/practice_activity_card.dart @@ -1,24 +1,24 @@ -import 'dart:developer'; - -import 'package:fluffychat/pangea/enum/message_mode_enum.dart'; +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_event.dart'; +import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_record_model.dart'; import 'package:fluffychat/pangea/utils/bot_style.dart'; -import 'package:fluffychat/pangea/widgets/chat/message_toolbar.dart'; +import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_content.dart'; import 'package:fluffychat/widgets/matrix.dart'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; +import 'package:matrix/matrix.dart'; +/// The wrapper for practice activity content. +/// Handles the activities assosiated with a message, +/// their navigation, and the management of completion records class PracticeActivityCard extends StatefulWidget { final PangeaMessageEvent pangeaMessageEvent; - final MessageToolbarState controller; const PracticeActivityCard({ super.key, required this.pangeaMessageEvent, - required this.controller, }); @override @@ -27,69 +27,129 @@ class PracticeActivityCard extends StatefulWidget { } class MessagePracticeActivityCardState extends State { - PracticeActivityEvent? practiceEvent; + PracticeActivityEvent? currentActivity; + PracticeActivityRecordModel? currentRecordModel; + bool sending = false; + + List get practiceActivities => + widget.pangeaMessageEvent.practiceActivities; + + int get practiceEventIndex => practiceActivities.indexWhere( + (activity) => activity.event.eventId == currentActivity?.event.eventId, + ); + + bool get isPrevEnabled => + practiceEventIndex > 0 && + practiceActivities.length > (practiceEventIndex - 1); + + bool get isNextEnabled => + practiceEventIndex >= 0 && + practiceEventIndex < practiceActivities.length - 1; @override void initState() { super.initState(); - loadInitialData(); + setCurrentActivity(); } - String? get langCode { - final String? langCode = MatrixState.pangeaController.languageController - .activeL2Model() - ?.langCode; - - if (langCode == null) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar(content: Text(L10n.of(context)!.noLanguagesSet)), - ); - debugger(when: kDebugMode); - return null; - } - return langCode; - } - - void loadInitialData() { - if (langCode == null) return; - updatePracticeActivity(); - if (practiceEvent == null) { - debugger(when: kDebugMode); - } - } - - void updatePracticeActivity() { - if (langCode == null) return; - final List activities = - widget.pangeaMessageEvent.practiceActivities(langCode!); - if (activities.isEmpty) return; + /// Initalizes the current activity. + /// If the current activity hasn't been set yet, show the first + /// uncompleted activity if there is one. + /// If not, show the first activity + void setCurrentActivity() { + if (practiceActivities.isEmpty) return; final List incompleteActivities = - activities.where((element) => !element.isComplete).toList(); - debugPrint("total events: ${activities.length}"); - debugPrint("incomplete practice events: ${incompleteActivities.length}"); - - // TODO update to show next activity - practiceEvent = activities.first; - // // if an incomplete activity is found, show that - // if (incompleteActivities.isNotEmpty) { - // practiceEvent = incompleteActivities.first; - // } - // // if no incomplete activity is found, show the last activity - // else if (activities.isNotEmpty) { - // practiceEvent = activities.last; - // } + practiceActivities.where((element) => !element.isComplete).toList(); + currentActivity ??= incompleteActivities.isNotEmpty + ? incompleteActivities.first + : practiceActivities.first; setState(() {}); } - void showNextActivity() { - if (langCode == null) return; - updatePracticeActivity(); - widget.controller.updateMode(MessageMode.practiceActivity); + void setCurrentModel(PracticeActivityRecordModel? recordModel) { + currentRecordModel = recordModel; + } + + /// Sets the current acitivity based on the given [direction]. + void navigateActivities(Direction direction) { + final bool enableNavigation = (direction == Direction.f && isNextEnabled) || + (direction == Direction.b && isPrevEnabled); + if (enableNavigation) { + currentActivity = practiceActivities[direction == Direction.f + ? practiceEventIndex + 1 + : practiceEventIndex - 1]; + setState(() {}); + } + } + + /// Sends the current record model and activity to the server. + /// If either the currentRecordModel or currentActivity is null, the method returns early. + /// Sets the [sending] flag to true before sending the record and activity. + /// Logs any errors that occur during the send operation. + /// Sets the [sending] flag to false when the send operation is complete. + void sendRecord() { + if (currentRecordModel == null || currentActivity == null) return; + setState(() => sending = true); + MatrixState.pangeaController.activityRecordController + .send(currentRecordModel!, currentActivity!) + .catchError((error) { + ErrorHandler.logError( + e: error, + s: StackTrace.current, + data: { + 'recordModel': currentRecordModel?.toJson(), + 'practiceEvent': currentActivity?.event.toJson(), + }, + ); + return null; + }).whenComplete(() => setState(() => sending = false)); } @override Widget build(BuildContext context) { - if (practiceEvent == null) { + final Widget navigationButtons = Row( + mainAxisSize: MainAxisSize.max, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Opacity( + opacity: isPrevEnabled ? 1.0 : 0, + child: IconButton( + onPressed: + isPrevEnabled ? () => navigateActivities(Direction.b) : null, + icon: const Icon(Icons.keyboard_arrow_left_outlined), + tooltip: L10n.of(context)!.previous, + ), + ), + Expanded( + child: Opacity( + opacity: currentActivity?.userRecord == null ? 1.0 : 0.5, + child: sending + ? const CircularProgressIndicator.adaptive() + : TextButton( + onPressed: + currentActivity?.userRecord == null ? sendRecord : null, + style: ButtonStyle( + backgroundColor: WidgetStateProperty.all( + AppConfig.primaryColor, + ), + ), + child: Text(L10n.of(context)!.submit), + ), + ), + ), + Opacity( + opacity: isNextEnabled ? 1.0 : 0, + child: IconButton( + onPressed: + isNextEnabled ? () => navigateActivities(Direction.f) : null, + icon: const Icon(Icons.keyboard_arrow_right_outlined), + tooltip: L10n.of(context)!.next, + ), + ), + ], + ); + + if (currentActivity == null || practiceActivities.isEmpty) { return Text( L10n.of(context)!.noActivitiesFound, style: BotStyle.text(context), @@ -99,10 +159,14 @@ class MessagePracticeActivityCardState extends State { // onActivityGenerated: updatePracticeActivity, // ); } - return PracticeActivityContent( - practiceEvent: practiceEvent!, - pangeaMessageEvent: widget.pangeaMessageEvent, - controller: this, + return Column( + children: [ + PracticeActivity( + practiceEvent: currentActivity!, + controller: this, + ), + navigationButtons, + ], ); } } diff --git a/lib/pangea/widgets/practice_activity/practice_activity_content.dart b/lib/pangea/widgets/practice_activity/practice_activity_content.dart index 8080c27ee..6de31829c 100644 --- a/lib/pangea/widgets/practice_activity/practice_activity_content.dart +++ b/lib/pangea/widgets/practice_activity/practice_activity_content.dart @@ -1,164 +1,43 @@ -import 'package:collection/collection.dart'; -import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/enum/activity_type_enum.dart'; -import 'package:fluffychat/pangea/matrix_event_wrappers/pangea_message_event.dart'; -import 'package:fluffychat/pangea/matrix_event_wrappers/practice_acitivity_record_event.dart'; import 'package:fluffychat/pangea/matrix_event_wrappers/practice_activity_event.dart'; -import 'package:fluffychat/pangea/models/practice_activities.dart/practice_activity_record_model.dart'; -import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/pangea/widgets/practice_activity/multiple_choice_activity.dart'; import 'package:fluffychat/pangea/widgets/practice_activity/practice_activity_card.dart'; -import 'package:fluffychat/widgets/matrix.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_gen/gen_l10n/l10n.dart'; -class PracticeActivityContent extends StatefulWidget { +/// Practice activity content +class PracticeActivity extends StatefulWidget { final PracticeActivityEvent practiceEvent; - final PangeaMessageEvent pangeaMessageEvent; final MessagePracticeActivityCardState controller; - const PracticeActivityContent({ + const PracticeActivity({ super.key, required this.practiceEvent, - required this.pangeaMessageEvent, required this.controller, }); @override - MessagePracticeActivityContentState createState() => - MessagePracticeActivityContentState(); + PracticeActivityContentState createState() => PracticeActivityContentState(); } -class MessagePracticeActivityContentState - extends State { - int? selectedChoiceIndex; - PracticeActivityRecordModel? recordModel; - bool recordSubmittedThisSession = false; - bool recordSubmittedPreviousSession = false; - - PracticeActivityEvent get practiceEvent => widget.practiceEvent; - - @override - void initState() { - super.initState(); - initalizeActivity(); - } - - @override - void didUpdateWidget(covariant PracticeActivityContent oldWidget) { - super.didUpdateWidget(oldWidget); - if (oldWidget.practiceEvent.event.eventId != - widget.practiceEvent.event.eventId) { - initalizeActivity(); - } - } - - void initalizeActivity() { - final PracticeActivityRecordEvent? recordEvent = - widget.practiceEvent.userRecords.firstOrNull; - if (recordEvent?.record == null) { - recordModel = PracticeActivityRecordModel( - question: - widget.practiceEvent.practiceActivity.multipleChoice!.question, - ); - } else { - recordModel = recordEvent!.record; - - //Note that only MultipleChoice activities will have this so we probably should move this logic to the MultipleChoiceActivity widget - selectedChoiceIndex = recordModel?.latestResponse != null - ? widget.practiceEvent.practiceActivity.multipleChoice - ?.choiceIndex(recordModel!.latestResponse!) - : null; - - recordSubmittedPreviousSession = true; - recordSubmittedThisSession = true; - } - setState(() {}); - } - - void updateChoice(int index) { - setState(() { - selectedChoiceIndex = index; - recordModel!.addResponse( - text: widget - .practiceEvent.practiceActivity.multipleChoice!.choices[index], - ); - }); - } - +class PracticeActivityContentState extends State { Widget get activityWidget { switch (widget.practiceEvent.practiceActivity.activityType) { case ActivityTypeEnum.multipleChoice: return MultipleChoiceActivity( - card: this, - updateChoice: updateChoice, - isActive: - !recordSubmittedPreviousSession && !recordSubmittedThisSession, + controller: widget.controller, + currentActivity: widget.practiceEvent, ); default: return const SizedBox.shrink(); } } - void sendRecord() { - MatrixState.pangeaController.activityRecordController - .send( - recordModel!, - widget.practiceEvent, - ) - .catchError((error) { - ErrorHandler.logError( - e: error, - s: StackTrace.current, - data: { - 'recordModel': recordModel?.toJson(), - 'practiceEvent': widget.practiceEvent.event.toJson(), - }, - ); - return null; - }).then((_) => widget.controller.showNextActivity()); - - setState(() { - recordSubmittedThisSession = true; - }); - } - @override Widget build(BuildContext context) { - debugPrint( - "MessagePracticeActivityContentState.build with selectedChoiceIndex: $selectedChoiceIndex", - ); return Column( children: [ activityWidget, const SizedBox(height: 8), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Opacity( - opacity: selectedChoiceIndex != null && - !recordSubmittedThisSession && - !recordSubmittedPreviousSession - ? 1.0 - : 0.5, - child: TextButton( - onPressed: () { - if (recordSubmittedThisSession || - recordSubmittedPreviousSession) { - return; - } - selectedChoiceIndex != null ? sendRecord() : null; - }, - style: ButtonStyle( - backgroundColor: WidgetStateProperty.all( - AppConfig.primaryColor, - ), - ), - child: Text(L10n.of(context)!.submit), - ), - ), - ], - ), ], ); } diff --git a/lib/pangea/widgets/space/language_level_dropdown.dart b/lib/pangea/widgets/space/language_level_dropdown.dart index 3b2678e29..aeb1cfd36 100644 --- a/lib/pangea/widgets/space/language_level_dropdown.dart +++ b/lib/pangea/widgets/space/language_level_dropdown.dart @@ -1,4 +1,4 @@ -import 'package:fluffychat/pangea/constants/language_level_type.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/utils/language_level_copy.dart'; import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; diff --git a/lib/pangea/widgets/subscription/subscription_options.dart b/lib/pangea/widgets/subscription/subscription_options.dart index 41c8cbe4f..d40f68023 100644 --- a/lib/pangea/widgets/subscription/subscription_options.dart +++ b/lib/pangea/widgets/subscription/subscription_options.dart @@ -109,7 +109,7 @@ class SubscriptionCard extends StatelessWidget { title ?? subscription?.displayName(context) ?? '', textAlign: TextAlign.center, style: TextStyle( - fontSize: 24, + fontSize: 20, color: enabled ? null : const Color.fromARGB(255, 174, 174, 174), ), diff --git a/lib/pangea/widgets/user_settings/p_language_dialog.dart b/lib/pangea/widgets/user_settings/p_language_dialog.dart index 51082a7e6..8b7ae33b5 100644 --- a/lib/pangea/widgets/user_settings/p_language_dialog.dart +++ b/lib/pangea/widgets/user_settings/p_language_dialog.dart @@ -1,6 +1,6 @@ import 'dart:developer'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/controllers/language_list_controller.dart'; import 'package:fluffychat/pangea/controllers/pangea_controller.dart'; import 'package:fluffychat/pangea/models/language_model.dart'; diff --git a/lib/utils/background_push.dart b/lib/utils/background_push.dart index 00ebd3cb5..093b78f81 100644 --- a/lib/utils/background_push.dart +++ b/lib/utils/background_push.dart @@ -24,7 +24,7 @@ import 'dart:io'; import 'package:fcm_shared_isolate/fcm_shared_isolate.dart'; import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:fluffychat/pangea/constants/language_keys.dart'; +import 'package:fluffychat/pangea/constants/language_constants.dart'; import 'package:fluffychat/pangea/utils/error_handler.dart'; import 'package:fluffychat/utils/push_helper.dart'; import 'package:fluffychat/widgets/fluffy_chat_app.dart'; diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 09c588b29..47b695fb9 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -29,6 +29,7 @@ import pasteboard import path_provider_foundation import purchases_flutter import record_darwin +import rive_common import sentry_flutter import share_plus import shared_preferences_foundation @@ -65,6 +66,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) PurchasesFlutterPlugin.register(with: registry.registrar(forPlugin: "PurchasesFlutterPlugin")) RecordPlugin.register(with: registry.registrar(forPlugin: "RecordPlugin")) + RivePlugin.register(with: registry.registrar(forPlugin: "RivePlugin")) SentryFlutterPlugin.register(with: registry.registrar(forPlugin: "SentryFlutterPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) diff --git a/needed-translations.txt b/needed-translations.txt deleted file mode 100644 index 1355bb368..000000000 --- a/needed-translations.txt +++ /dev/null @@ -1,54446 +0,0 @@ -{ - "ar": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "be": [ - "repeatPassword", - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "about", - "accept", - "acceptedTheInvitation", - "account", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "bn": [ - "repeatPassword", - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "bo": [ - "repeatPassword", - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "about", - "accept", - "acceptedTheInvitation", - "account", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ca": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "writeAMessageFlag", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "publicChatAddresses", - "createNewAddress", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "cs": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "callingAccount", - "appearOnTopDetails", - "noKeyForThisMessage", - "enterSpace", - "enterRoom", - "hideUnimportantStateEvents", - "hidePresences", - "noBackupWarning", - "readUpToHere", - "reportErrorDescription", - "report", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "de": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "el": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "eo": [ - "repeatPassword", - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "yourChatBackupHasBeenSetUp", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "messagesStyle", - "shareInviteLink", - "scanQrCode", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseEnterRecoveryKey", - "redactedBy", - "directChat", - "redactedByBecause", - "recoveryKey", - "recoveryKeyLost", - "separateChatTypes", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "startFirstChat", - "unverified", - "writeAMessageFlag", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "es": [ - "searchIn", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "et": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "eu": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "fa": [ - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "createGroup", - "createNewGroup", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "redactedBy", - "directChat", - "redactedByBecause", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "fi": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "fil": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "fr": [ - "exportEmotePack", - "replace", - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "redactedBy", - "directChat", - "redactedByBecause", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ga": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_discardsession", - "commandHint_dm", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "messagesStyle", - "shareInviteLink", - "oneClientLoggedOut", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseEnterRecoveryKey", - "redactedBy", - "directChat", - "redactedByBecause", - "recoveryKey", - "recoveryKeyLost", - "separateChatTypes", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "startFirstChat", - "unverified", - "writeAMessageFlag", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "experimentalVideoCalls", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "gl": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "he": [ - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "commandHint_markasdm", - "commandHint_markasgroup", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "enableEmotesGlobally", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "messagesStyle", - "noEmotesFound", - "shareInviteLink", - "ok", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseEnterRecoveryKey", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "hi": [ - "replace", - "about", - "accept", - "acceptedTheInvitation", - "account", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "hr": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "blockListDescription", - "noGoogleServicesWarning", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "hu": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "writeAMessageFlag", - "usersMustKnock", - "knock", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "knocking", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "commandHint_ignore", - "commandHint_unignore", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ia": [ - "accountInformation", - "activatedEndToEndEncryption", - "confirmMatrixId", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "id": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ie": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "activatedEndToEndEncryption", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "appLock", - "appLockDescription", - "areGuestsAllowedToJoin", - "askSSSSSign", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changeTheNameOfTheGroup", - "channelCorruptedDecryptError", - "yourChatBackupHasBeenSetUp", - "chatBackupDescription", - "chatHasBeenAddedToThisSpace", - "chooseAStrongPassword", - "commandHint_markasdm", - "commandHint_ban", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_react", - "commandHint_unban", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "contactHasBeenInvitedToTheGroup", - "contentHasBeenReported", - "couldNotDecryptMessage", - "createdTheChat", - "createGroup", - "createNewGroup", - "deactivateAccountWarning", - "defaultPermissionLevel", - "allRooms", - "displaynameHasBeenChanged", - "chatPermissions", - "editChatPermissions", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteWarnNeedToPick", - "enableEmotesGlobally", - "enableEncryptionWarning", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "errorObtainingLocation", - "goToTheNewRoom", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "inviteText", - "joinedTheChat", - "kicked", - "kickedAndBanned", - "kickFromChat", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "logInTo", - "messagesStyle", - "needPantalaimonWarning", - "newMessageInFluffyChat", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "noPasswordRecoveryDescription", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openVideoCamera", - "oneClientLoggedOut", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "serverRequiresEmail", - "optionalGroupName", - "passphraseOrKey", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pickImage", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "rejectedTheInvitation", - "removeAllOtherDevices", - "removedBy", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "roomHasBeenUpgraded", - "recoveryKeyLost", - "seenByUser", - "sendAMessage", - "sendAsText", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "sharedTheLocation", - "presenceStyle", - "presencesToggle", - "singlesignon", - "spaceIsPublic", - "startedACall", - "startFirstChat", - "statusExampleMessage", - "synchronizingPleaseWait", - "theyDontMatch", - "toggleFavorite", - "toggleMuted", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unbannedUser", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "userSentUnknownEvent", - "verifySuccess", - "verifyTitle", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "removeFromSpace", - "addToSpaceDescription", - "pleaseEnterRecoveryKeyDescription", - "markAsRead", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "placeCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "foregroundServiceRunning", - "screenSharingDetail", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "it": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "writeAMessageFlag", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "searchForUsers", - "passwordsDoNotMatch", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "sessionLostBody", - "restoreSessionBody", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "stickers", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ja": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_cuddle", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "commandHint_kick", - "commandHint_me", - "commandHint_op", - "commandHint_unban", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "openInMaps", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "redactedBy", - "directChat", - "redactedByBecause", - "separateChatTypes", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "dismiss", - "indexedDbErrorLong", - "widgetEtherpad", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "saveKeyManuallyDescription", - "callingAccountDetails", - "appearOnTop", - "noKeyForThisMessage", - "hidePresences", - "newSpaceDescription", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "pleaseTryAgainLaterOrChooseDifferentServer", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ka": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "badServerVersionsException", - "commandHint_markasdm", - "createNewGroup", - "editChatPermissions", - "emoteKeyboardNoRecents", - "emotePacks", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ko": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "lt": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "redactedBy", - "directChat", - "redactedByBecause", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "startFirstChat", - "writeAMessageFlag", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "lv": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "nb": [ - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "yourChatBackupHasBeenSetUp", - "chatHasBeenAddedToThisSpace", - "chats", - "clearArchive", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "editRoomAliases", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "homeserver", - "errorObtainingLocation", - "goToTheNewRoom", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "messagesStyle", - "noEncryptionForPublicRooms", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "obtainingLocation", - "oopsPushError", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "people", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPin", - "redactedBy", - "directChat", - "redactedByBecause", - "redactMessage", - "register", - "removeYourAvatar", - "roomVersion", - "saveFile", - "recoveryKey", - "recoveryKeyLost", - "sendAsText", - "sendSticker", - "separateChatTypes", - "setAsCanonicalAlias", - "setChatDescription", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "spaceIsPublic", - "spaceName", - "startFirstChat", - "synchronizingPleaseWait", - "unverified", - "verified", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "wipeChatBackup", - "writeAMessageFlag", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "nl": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "pl": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "blockListDescription", - "blockUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "pt": [ - "repeatPassword", - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accept", - "acceptedTheInvitation", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "deactivateAccountWarning", - "defaultPermissionLevel", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "logInTo", - "memberChanges", - "mention", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "publicRooms", - "pushRules", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "pt_BR": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "pt_PT": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "commandHint_markasdm", - "commandHint_markasgroup", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "fromJoining", - "fromTheInvitation", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "scanQrCode", - "openVideoCamera", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseEnterRecoveryKey", - "pushRules", - "redactedBy", - "directChat", - "redactedByBecause", - "recoveryKey", - "recoveryKeyLost", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ro": [ - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "createGroup", - "createNewGroup", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "messagesStyle", - "shareInviteLink", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "redactedBy", - "directChat", - "redactedByBecause", - "setChatDescription", - "presenceStyle", - "presencesToggle", - "writeAMessageFlag", - "youInvitedToBy", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "hidePresences", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ru": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "sk": [ - "notAnImage", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "autoplayImages", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "blocked", - "botMessages", - "changeYourAvatar", - "chatBackupDescription", - "chatHasBeenAddedToThisSpace", - "clearArchive", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "configureChat", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copyToClipboard", - "createGroup", - "createNewGroup", - "deactivateAccountWarning", - "defaultPermissionLevel", - "deleteAccount", - "deviceId", - "directChats", - "allRooms", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editRoomAliases", - "editRoomAvatar", - "emoteKeyboardNoRecents", - "emotePacks", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enableEmotesGlobally", - "enableEncryption", - "encrypted", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fontSize", - "goToTheNewRoom", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "inoffensive", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "inviteForMe", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "newChat", - "next", - "no", - "noConnectionToTheServer", - "noEncryptionForPublicRooms", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "noPasswordRecoveryDescription", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "online", - "oopsPushError", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "pin", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPin", - "pleaseFollowInstructionsOnWeb", - "privacy", - "pushRules", - "reason", - "redactedBy", - "directChat", - "redactedByBecause", - "redactMessage", - "register", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "saveFile", - "recoveryKey", - "recoveryKeyLost", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "synchronizingPleaseWait", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "unavailable", - "unpin", - "unverified", - "verified", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessageFlag", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "sl": [ - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "createGroup", - "createNewGroup", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "sr": [ - "repeatPassword", - "notAnImage", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "accountInformation", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "appLockDescription", - "autoplayImages", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "cantOpenUri", - "yourChatBackupHasBeenSetUp", - "chatHasBeenAddedToThisSpace", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_myroomavatar", - "commandInvalid", - "commandMissing", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "homeserver", - "errorObtainingLocation", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "messagesStyle", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "obtainingLocation", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseEnterRecoveryKey", - "redactedBy", - "directChat", - "redactedByBecause", - "saveFile", - "recoveryKey", - "recoveryKeyLost", - "sendAsText", - "sendSticker", - "separateChatTypes", - "setChatDescription", - "shareLocation", - "presenceStyle", - "presencesToggle", - "spaceIsPublic", - "spaceName", - "startFirstChat", - "synchronizingPleaseWait", - "unverified", - "writeAMessageFlag", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "sv": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "writeAMessageFlag", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "publicChatAddresses", - "createNewAddress", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "ta": [ - "repeatPassword", - "notAnImage", - "remove", - "importNow", - "importEmojis", - "importFromZipFile", - "exportEmotePack", - "replace", - "account", - "accountInformation", - "activatedEndToEndEncryption", - "addEmail", - "confirmMatrixId", - "supposedMxid", - "addGroupDescription", - "addNewFriend", - "addToSpace", - "admin", - "alias", - "all", - "allChats", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "answeredTheCall", - "anyoneCanJoin", - "appLock", - "appLockDescription", - "archive", - "areGuestsAllowedToJoin", - "areYouSure", - "areYouSureYouWantToLogout", - "askSSSSSign", - "askVerificationRequest", - "autoplayImages", - "badServerLoginTypesException", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "chat", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatDetails", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copy", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "delete", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "th": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "badServerVersionsException", - "banFromChat", - "banned", - "bannedUser", - "blockDevice", - "blocked", - "botMessages", - "cancel", - "cantOpenUri", - "changeDeviceName", - "changedTheChatAvatar", - "changedTheChatDescriptionTo", - "changedTheChatNameTo", - "changedTheChatPermissions", - "changedTheDisplaynameTo", - "changedTheGuestAccessRules", - "changedTheGuestAccessRulesTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changedTheProfileAvatar", - "changedTheRoomAliases", - "changedTheRoomInvitationLink", - "changePassword", - "changeTheHomeserver", - "changeTheme", - "changeTheNameOfTheGroup", - "changeYourAvatar", - "channelCorruptedDecryptError", - "yourChatBackupHasBeenSetUp", - "chatBackup", - "chatBackupDescription", - "chatHasBeenAddedToThisSpace", - "chats", - "chooseAStrongPassword", - "clearArchive", - "close", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "compareEmojiMatch", - "compareNumbersMatch", - "configureChat", - "confirm", - "connect", - "contactHasBeenInvitedToTheGroup", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copyToClipboard", - "couldNotDecryptMessage", - "countParticipants", - "create", - "createdTheChat", - "createGroup", - "createNewGroup", - "currentlyActive", - "darkTheme", - "dateAndTimeOfDay", - "dateWithoutYear", - "dateWithYear", - "deactivateAccountWarning", - "defaultPermissionLevel", - "deleteAccount", - "deleteMessage", - "device", - "deviceId", - "devices", - "directChats", - "allRooms", - "displaynameHasBeenChanged", - "downloadFile", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editDisplayname", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "emoteSettings", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "everythingReady", - "extremeOffensive", - "fileName", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "next", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noEncryptionForPublicRooms", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notifications", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "pleaseFollowInstructionsOnWeb", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendSticker", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "settings", - "share", - "sharedTheLocation", - "shareLocation", - "showPassword", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "transferFromAnotherDevice", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "discover", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "tr": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "uk": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "writeAMessageFlag", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "publicChatAddresses", - "createNewAddress", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "vi": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "commandHint_googly", - "commandHint_cuddle", - "commandHint_hug", - "googlyEyesContent", - "cuddleContent", - "hugContent", - "askSSSSSign", - "autoplayImages", - "sendTypingNotifications", - "swipeRightToLeftToReply", - "sendOnEnter", - "botMessages", - "cantOpenUri", - "changedTheDisplaynameTo", - "changedTheHistoryVisibility", - "changedTheHistoryVisibilityTo", - "changedTheJoinRules", - "changedTheJoinRulesTo", - "changeTheme", - "changeYourAvatar", - "channelCorruptedDecryptError", - "yourChatBackupHasBeenSetUp", - "chatHasBeenAddedToThisSpace", - "chats", - "clearArchive", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_ban", - "commandHint_clearcache", - "commandHint_create", - "commandHint_discardsession", - "commandHint_dm", - "commandHint_html", - "commandHint_invite", - "commandHint_join", - "commandHint_kick", - "commandHint_leave", - "commandHint_me", - "commandHint_myroomavatar", - "commandHint_myroomnick", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "commandHint_unban", - "commandInvalid", - "commandMissing", - "configureChat", - "containsDisplayName", - "containsUserName", - "contentHasBeenReported", - "copiedToClipboard", - "copyToClipboard", - "createGroup", - "createNewGroup", - "darkTheme", - "defaultPermissionLevel", - "directChats", - "allRooms", - "edit", - "editBlockedServers", - "chatPermissions", - "editChatPermissions", - "editRoomAliases", - "editRoomAvatar", - "emoteExists", - "emoteInvalid", - "emoteKeyboardNoRecents", - "emotePacks", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "emoteShortcode", - "emoteWarnNeedToPick", - "emptyChat", - "enableEmotesGlobally", - "enableEncryption", - "enableEncryptionWarning", - "encrypted", - "encryption", - "encryptionNotEnabled", - "endedTheCall", - "enterAGroupName", - "enterAnEmailAddress", - "enterASpacepName", - "homeserver", - "enterYourHomeserver", - "errorObtainingLocation", - "extremeOffensive", - "fileName", - "fluffychat", - "fontSize", - "forward", - "fromJoining", - "fromTheInvitation", - "goToTheNewRoom", - "group", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupIsPublic", - "groupDescription", - "groupDescriptionHasBeenChanged", - "groups", - "groupWith", - "guestsAreForbidden", - "guestsCanJoin", - "hasWithdrawnTheInvitationFor", - "help", - "hideRedactedEvents", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "howOffensiveIsThisContent", - "id", - "identity", - "ignore", - "ignoredUsers", - "ignoreListDescription", - "ignoreUsername", - "block", - "blockedUsers", - "blockListDescription", - "blockUsername", - "iHaveClickedOnLink", - "incorrectPassphraseOrKey", - "inoffensive", - "inviteContact", - "inviteContactToGroupQuestion", - "inviteContactToGroup", - "noChatDescriptionYet", - "tryAgain", - "invalidServerName", - "invited", - "redactMessageDescription", - "optionalRedactReason", - "invitedUser", - "invitedUsersOnly", - "inviteForMe", - "inviteText", - "isTyping", - "joinedTheChat", - "joinRoom", - "kicked", - "kickedAndBanned", - "kickFromChat", - "lastActiveAgo", - "leave", - "leftTheChat", - "license", - "lightTheme", - "loadCountMoreParticipants", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "loadingPleaseWait", - "loadMore", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "login", - "logInTo", - "logout", - "memberChanges", - "mention", - "messages", - "messagesStyle", - "moderator", - "muteChat", - "needPantalaimonWarning", - "newChat", - "newMessageInFluffyChat", - "newVerificationRequest", - "no", - "noConnectionToTheServer", - "noEmotesFound", - "noGoogleServicesWarning", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "none", - "noPasswordRecoveryDescription", - "noPermission", - "noRoomsFound", - "notificationsEnabledForThisAccount", - "numUsersTyping", - "obtainingLocation", - "offensive", - "offline", - "ok", - "online", - "onlineKeyBackupEnabled", - "oopsPushError", - "oopsSomethingWentWrong", - "openAppToReadMessages", - "openCamera", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "participant", - "passphraseOrKey", - "password", - "passwordForgotten", - "passwordHasBeenChanged", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "passwordRecoverySettings", - "passwordRecovery", - "people", - "pickImage", - "pin", - "play", - "pleaseChoose", - "pleaseChooseAPasscode", - "pleaseClickOnLink", - "pleaseEnter4Digits", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPassword", - "pleaseEnterYourPin", - "pleaseEnterYourUsername", - "privacy", - "publicRooms", - "pushRules", - "reason", - "recording", - "redactedBy", - "directChat", - "redactedByBecause", - "redactedAnEvent", - "redactMessage", - "register", - "reject", - "rejectedTheInvitation", - "rejoin", - "removeAllOtherDevices", - "removedBy", - "removeDevice", - "unbanFromChat", - "removeYourAvatar", - "replaceRoomWithNewerVersion", - "reply", - "reportMessage", - "requestPermission", - "roomHasBeenUpgraded", - "roomVersion", - "saveFile", - "search", - "security", - "recoveryKey", - "recoveryKeyLost", - "seenByUser", - "send", - "sendAMessage", - "sendAsText", - "sendAudio", - "sendFile", - "sendImage", - "sendMessages", - "sendOriginal", - "sendVideo", - "sentAFile", - "sentAnAudio", - "sentAPicture", - "sentASticker", - "sentAVideo", - "sentCallInformations", - "separateChatTypes", - "setAsCanonicalAlias", - "setCustomEmotes", - "setChatDescription", - "setInvitationLink", - "setPermissionsLevel", - "setStatus", - "share", - "sharedTheLocation", - "shareLocation", - "presenceStyle", - "presencesToggle", - "singlesignon", - "skip", - "sourceCode", - "spaceIsPublic", - "spaceName", - "startedACall", - "startFirstChat", - "status", - "statusExampleMessage", - "submit", - "synchronizingPleaseWait", - "systemTheme", - "theyDontMatch", - "theyMatch", - "title", - "toggleFavorite", - "toggleMuted", - "toggleUnread", - "tooManyRequestsWarning", - "tryToSendAgain", - "unavailable", - "unbannedUser", - "unblockDevice", - "unknownDevice", - "unknownEncryptionAlgorithm", - "unknownEvent", - "unmuteChat", - "unpin", - "unreadChats", - "userAndOthersAreTyping", - "userAndUserAreTyping", - "userIsTyping", - "userLeftTheChat", - "username", - "userSentUnknownEvent", - "unverified", - "verify", - "verifyStart", - "verifySuccess", - "verifyTitle", - "videoCall", - "visibilityOfTheChatHistory", - "visibleForAllParticipants", - "visibleForEveryone", - "voiceMessage", - "waitingPartnerAcceptRequest", - "waitingPartnerEmoji", - "waitingPartnerNumbers", - "wallpaper", - "warning", - "weSentYouAnEmail", - "whoCanPerformWhichAction", - "whoIsAllowedToJoinThisGroup", - "whyDoYouWantToReportThis", - "wipeChatBackup", - "withTheseAddressesRecoveryDescription", - "writeAMessage", - "writeAMessageFlag", - "yes", - "you", - "youAreNoLongerParticipatingInThisChat", - "youHaveBeenBannedFromThisChat", - "yourPublicKey", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "deviceKeys", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "yourGlobalUserIdIs", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "zh": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "swipeRightToLeftToReply", - "createNewGroup", - "editChatPermissions", - "enterAGroupName", - "enterASpacepName", - "groupDescription", - "groupDescriptionHasBeenChanged", - "ignoreListDescription", - "ignoreUsername", - "optionalGroupName", - "writeAMessageFlag", - "requests", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ], - - "zh_Hant": [ - "accountInformation", - "addGroupDescription", - "addNewFriend", - "alreadyHaveAnAccount", - "appLockDescription", - "swipeRightToLeftToReply", - "commandHint_markasdm", - "commandHint_markasgroup", - "commandHint_html", - "commandHint_me", - "commandHint_op", - "commandHint_plain", - "commandHint_react", - "commandHint_send", - "createGroup", - "createNewGroup", - "allRooms", - "chatPermissions", - "editChatPermissions", - "emoteKeyboardNoRecents", - "globalChatId", - "accessAndVisibility", - "accessAndVisibilityDescription", - "calls", - "customEmojisAndStickers", - "customEmojisAndStickersBody", - "enterAGroupName", - "enterASpacepName", - "errorObtainingLocation", - "chatDescription", - "chatDescriptionHasBeenChanged", - "groupDescription", - "groupDescriptionHasBeenChanged", - "hideRedactedMessages", - "hideRedactedMessagesBody", - "hideInvalidOrUnknownMessageFormats", - "ignoreListDescription", - "ignoreUsername", - "blockUsername", - "inviteContactToGroupQuestion", - "noChatDescriptionYet", - "tryAgain", - "redactMessageDescription", - "optionalRedactReason", - "dehydrate", - "dehydrateWarning", - "dehydrateTor", - "dehydrateTorLong", - "hydrateTor", - "hydrateTorLong", - "hydrate", - "locationDisabledNotice", - "locationPermissionDeniedNotice", - "messagesStyle", - "noMatrixServer", - "shareInviteLink", - "scanQrCode", - "obtainingLocation", - "oopsPushError", - "openVideoCamera", - "oneClientLoggedOut", - "addAccount", - "editBundlesForAccount", - "addToBundle", - "removeFromBundle", - "bundleName", - "enableMultiAccounts", - "openInMaps", - "link", - "serverRequiresEmail", - "optionalGroupName", - "or", - "hideMemberChangesInPublicChats", - "hideMemberChangesInPublicChatsBody", - "overview", - "notifyMeFor", - "passwordRecoverySettings", - "pleaseChoose", - "pleaseEnterRecoveryKey", - "pleaseEnterYourPin", - "redactedBy", - "directChat", - "redactedByBecause", - "register", - "removeYourAvatar", - "saveFile", - "recoveryKey", - "recoveryKeyLost", - "sendAsText", - "sendSticker", - "separateChatTypes", - "setAsCanonicalAlias", - "setChatDescription", - "shareLocation", - "presenceStyle", - "presencesToggle", - "singlesignon", - "spaceIsPublic", - "spaceName", - "startFirstChat", - "synchronizingPleaseWait", - "unverified", - "writeAMessageFlag", - "messageInfo", - "time", - "messageType", - "sender", - "openGallery", - "removeFromSpace", - "addToSpaceDescription", - "start", - "pleaseEnterRecoveryKeyDescription", - "publish", - "videoWithSize", - "openChat", - "markAsRead", - "reportUser", - "dismiss", - "reactedWith", - "pinMessage", - "confirmEventUnpin", - "emojis", - "placeCall", - "voiceCall", - "unsupportedAndroidVersion", - "unsupportedAndroidVersionLong", - "videoCallsBetaWarning", - "experimentalVideoCalls", - "emailOrUsername", - "indexedDbErrorTitle", - "indexedDbErrorLong", - "switchToAccount", - "nextAccount", - "previousAccount", - "addWidget", - "widgetVideo", - "widgetEtherpad", - "widgetJitsi", - "widgetCustom", - "widgetName", - "widgetUrlError", - "widgetNameError", - "errorAddingWidget", - "youRejectedTheInvitation", - "youJoinedTheChat", - "youAcceptedTheInvitation", - "youBannedUser", - "youHaveWithdrawnTheInvitationFor", - "youInvitedToBy", - "youInvitedBy", - "youInvitedUser", - "youKicked", - "youKickedAndBanned", - "youUnbannedUser", - "hasKnocked", - "usersMustKnock", - "noOneCanJoin", - "userWouldLikeToChangeTheChat", - "noPublicLinkHasBeenCreatedYet", - "knock", - "users", - "unlockOldMessages", - "storeInSecureStorageDescription", - "saveKeyManuallyDescription", - "storeInAndroidKeystore", - "storeInAppleKeyChain", - "storeSecurlyOnThisDevice", - "countFiles", - "user", - "custom", - "foregroundServiceRunning", - "screenSharingTitle", - "screenSharingDetail", - "callingPermissions", - "callingAccount", - "callingAccountDetails", - "appearOnTop", - "appearOnTopDetails", - "otherCallingPermissions", - "whyIsThisMessageEncrypted", - "noKeyForThisMessage", - "newGroup", - "newSpace", - "enterSpace", - "enterRoom", - "allSpaces", - "numChats", - "hideUnimportantStateEvents", - "hidePresences", - "doNotShowAgain", - "wasDirectChatDisplayName", - "newSpaceDescription", - "encryptThisChat", - "disableEncryptionWarning", - "sorryThatsNotPossible", - "deviceKeys", - "reopenChat", - "noBackupWarning", - "noOtherDevicesFound", - "fileIsTooBigForServer", - "fileHasBeenSavedAt", - "jumpToLastReadMessage", - "readUpToHere", - "jump", - "openLinkInBrowser", - "reportErrorDescription", - "report", - "signInWithPassword", - "pleaseTryAgainLaterOrChooseDifferentServer", - "signInWith", - "profileNotFound", - "setTheme", - "setColorTheme", - "invite", - "requests", - "inviteGroupChat", - "invitePrivateChat", - "invalidInput", - "wrongPinEntered", - "allCorrect", - "newWayAllGood", - "othersAreBetter", - "holdForInfo", - "greenFeedback", - "yellowFeedback", - "redFeedback", - "customInputFeedbackChoice", - "itInstructionsTitle", - "itInstructionsBody", - "toggleLanguages", - "classWelcomeChat", - "deleteSpace", - "deleteGroup", - "areYouSureDeleteClass", - "areYouSureDeleteGroup", - "cannotBeReversed", - "enterDeletedClassName", - "incorrectClassName", - "oneday", - "oneweek", - "onemonth", - "sixmonth", - "oneyear", - "gaTooltip", - "taTooltip", - "unTooltip", - "interactiveTranslatorSliderHeader", - "interactiveGrammarSliderHeader", - "interactiveTranslatorNotAllowed", - "interactiveTranslatorAllowed", - "interactiveTranslatorRequired", - "interactiveTranslatorNotAllowedDesc", - "interactiveTranslatorAllowedDesc", - "interactiveTranslatorRequiredDesc", - "notYetSet", - "multiLingualSpace", - "allClasses", - "myLearning", - "allChatsAndClasses", - "timeOfLastMessage", - "totalMessages", - "waTooltip", - "changeDateRange", - "numberOfStudents", - "classDescription", - "classDescriptionDesc", - "requestToEnroll", - "spaceAnalyticsDesc", - "addStudents", - "copyClassLink", - "copyClassLinkDesc", - "copyClassCode", - "inviteStudentByUserName", - "languageSettings", - "languageSettingsDesc", - "selectSpaceDominantLanguage", - "selectSpaceTargetLanguage", - "whatIsYourSpaceLanguageLevel", - "studentPermissions", - "interactiveTranslator", - "oneToOneChatsWithinClass", - "oneToOneChatsWithinClassDesc", - "createGroupChats", - "createGroupChatsDesc", - "shareVideo", - "shareVideoDesc", - "sharePhotos", - "sharePhotosDesc", - "shareFiles", - "shareFilesDesc", - "shareLocationDesc", - "selectLanguageLevel", - "noIdenticalLanguages", - "iWantALanguagePartnerFrom", - "worldWide", - "noResults", - "searchBy", - "iWantAConversationPartner", - "iWantALanguagePartnerWhoSpeaks", - "iWantALanguagePartnerWhoIsLearning", - "yourBirthdayPlease", - "invalidDob", - "enterYourDob", - "getStarted", - "mustBe13", - "yourBirthdayPleaseShort", - "joinWithClassCode", - "joinWithClassCodeDesc", - "joinWithClassCodeHint", - "unableToFindClass", - "languageLevelPreA1", - "languageLevelA1", - "languageLevelA2", - "languageLevelB1", - "languageLevelB2", - "languageLevelC1", - "languageLevelC2", - "changeTheNameOfTheClass", - "changeTheNameOfTheChat", - "welcomeToYourNewClass", - "welcomeToClass", - "welcomeToPangea18Plus", - "welcomeToPangeaMinor", - "findALanguagePartner", - "setToPublicSettingsTitle", - "setToPublicSettingsDesc", - "accountSettings", - "unableToFindClassCode", - "askPangeaBot", - "sorryNoResults", - "ignoreInThisText", - "helpMeTranslate", - "needsItShortMessage", - "needsIGCShortMessage", - "needsItMessage", - "needsIgcMessage", - "tokenTranslationTitle", - "spanTranslationDesc", - "spanTranslationTitle", - "l1SpanAndGrammarTitle", - "l1SpanAndGrammarDesc", - "otherTitle", - "otherDesc", - "countryInformation", - "myLanguages", - "targetLanguage", - "sourceLanguage", - "languagesISpeak", - "updateLanguage", - "whatLanguageYouWantToLearn", - "whatIsYourBaseLanguage", - "saveChanges", - "publicProfileTitle", - "publicProfileDesc", - "errorDisableIT", - "errorDisableIGC", - "errorDisableLanguageAssistance", - "errorDisableITUserDesc", - "errorDisableIGCUserDesc", - "errorDisableLanguageAssistanceUserDesc", - "errorDisableITClassDesc", - "errorDisableIGCClassDesc", - "errorDisableLanguageAssistanceClassDesc", - "itIsDisabled", - "igcIsDisabled", - "goToLearningSettings", - "error405Title", - "error405Desc", - "loginOrSignup", - "iAgreeToThe", - "termsAndConditions", - "andCertifyIAmAtLeast13YearsOfAge", - "error502504Title", - "error502504Desc", - "error404Title", - "error404Desc", - "errorPleaseRefresh", - "findAClass", - "toggleIT", - "toggleIGC", - "toggleToolSettingsDescription", - "connectedToStaging", - "learningSettings", - "classNameRequired", - "sendVoiceNotes", - "sendVoiceNotesDesc", - "chatTopic", - "chatTopicDesc", - "inviteStudentByUserNameDesc", - "classRoster", - "almostPerfect", - "prettyGood", - "letMeThink", - "clickMessageTitle", - "clickMessageBody", - "understandingMessagesTitle", - "understandingMessagesBody", - "allDone", - "vocab", - "low", - "medium", - "high", - "unknownProficiency", - "changeView", - "clearAll", - "generateVocabulary", - "generatePrompts", - "subscribe", - "getAccess", - "subscriptionDesc", - "subscriptionManagement", - "currentSubscription", - "changeSubscription", - "cancelSubscription", - "selectYourPlan", - "subsciptionPlatformTooltip", - "subscriptionManagementUnavailable", - "paymentMethod", - "paymentHistory", - "emptyChatDownloadWarning", - "appUpdateAvailable", - "update", - "updateDesc", - "maybeLater", - "mainMenu", - "toggleImmersionMode", - "toggleImmersionModeDesc", - "itToggleDescription", - "igcToggleDescription", - "sendOnEnterDescription", - "alreadyInClass", - "pleaseLoginFirst", - "originalMessage", - "sentMessage", - "useType", - "notAvailable", - "taAndGaTooltip", - "definitionsToolName", - "messageTranslationsToolName", - "definitionsToolDescription", - "translationsToolDescrption", - "welcomeBack", - "createNewClass", - "kickAllStudents", - "kickAllStudentsConfirmation", - "inviteAllStudents", - "inviteAllStudentsConfirmation", - "inviteStudentsFromOtherClasses", - "inviteUsersFromPangea", - "redeemPromoCode", - "enterPromoCode", - "downloadTxtFile", - "downloadCSVFile", - "promotionalSubscriptionDesc", - "originalSubscriptionPlatform", - "oneWeekTrial", - "creatingSpacePleaseWait", - "downloadXLSXFile", - "abDisplayName", - "aaDisplayName", - "afDisplayName", - "akDisplayName", - "sqDisplayName", - "amDisplayName", - "arDisplayName", - "anDisplayName", - "hyDisplayName", - "asDisplayName", - "avDisplayName", - "aeDisplayName", - "ayDisplayName", - "azDisplayName", - "bmDisplayName", - "baDisplayName", - "euDisplayName", - "beDisplayName", - "bnDisplayName", - "bhDisplayName", - "biDisplayName", - "bsDisplayName", - "brDisplayName", - "bgDisplayName", - "myDisplayName", - "caDisplayName", - "chDisplayName", - "ceDisplayName", - "nyDisplayName", - "zhDisplayName", - "cvDisplayName", - "kwDisplayName", - "coDisplayName", - "crDisplayName", - "hrDisplayName", - "csDisplayName", - "daDisplayName", - "dvDisplayName", - "nlDisplayName", - "enDisplayName", - "eoDisplayName", - "etDisplayName", - "eeDisplayName", - "foDisplayName", - "fjDisplayName", - "fiDisplayName", - "frDisplayName", - "ffDisplayName", - "glDisplayName", - "kaDisplayName", - "deDisplayName", - "elDisplayName", - "gnDisplayName", - "guDisplayName", - "htDisplayName", - "haDisplayName", - "heDisplayName", - "hzDisplayName", - "hiDisplayName", - "hoDisplayName", - "huDisplayName", - "iaDisplayName", - "idDisplayName", - "ieDisplayName", - "gaDisplayName", - "igDisplayName", - "ikDisplayName", - "ioDisplayName", - "isDisplayName", - "itDisplayName", - "iuDisplayName", - "jaDisplayName", - "jvDisplayName", - "klDisplayName", - "knDisplayName", - "krDisplayName", - "ksDisplayName", - "kkDisplayName", - "kmDisplayName", - "kiDisplayName", - "rwDisplayName", - "kyDisplayName", - "kvDisplayName", - "kgDisplayName", - "koDisplayName", - "kuDisplayName", - "kjDisplayName", - "laDisplayName", - "lbDisplayName", - "lgDisplayName", - "liDisplayName", - "lnDisplayName", - "loDisplayName", - "ltDisplayName", - "luDisplayName", - "lvDisplayName", - "gvDisplayName", - "mkDisplayName", - "mgDisplayName", - "msDisplayName", - "mlDisplayName", - "mtDisplayName", - "miDisplayName", - "mrDisplayName", - "mhDisplayName", - "mnDisplayName", - "naDisplayName", - "nvDisplayName", - "nbDisplayName", - "ndDisplayName", - "neDisplayName", - "ngDisplayName", - "nnDisplayName", - "noDisplayName", - "iiDisplayName", - "nrDisplayName", - "ocDisplayName", - "ojDisplayName", - "cuDisplayName", - "omDisplayName", - "orDisplayName", - "osDisplayName", - "paDisplayName", - "piDisplayName", - "faDisplayName", - "plDisplayName", - "psDisplayName", - "ptDisplayName", - "quDisplayName", - "rmDisplayName", - "rnDisplayName", - "roDisplayName", - "ruDisplayName", - "saDisplayName", - "scDisplayName", - "sdDisplayName", - "seDisplayName", - "smDisplayName", - "sgDisplayName", - "srDisplayName", - "gdDisplayName", - "snDisplayName", - "siDisplayName", - "skDisplayName", - "slDisplayName", - "soDisplayName", - "stDisplayName", - "esDisplayName", - "suDisplayName", - "swDisplayName", - "ssDisplayName", - "svDisplayName", - "taDisplayName", - "teDisplayName", - "tgDisplayName", - "thDisplayName", - "tiDisplayName", - "boDisplayName", - "tkDisplayName", - "tlDisplayName", - "tnDisplayName", - "toDisplayName", - "trDisplayName", - "tsDisplayName", - "ttDisplayName", - "twDisplayName", - "tyDisplayName", - "ugDisplayName", - "ukDisplayName", - "urDisplayName", - "uzDisplayName", - "veDisplayName", - "viDisplayName", - "voDisplayName", - "waDisplayName", - "cyDisplayName", - "woDisplayName", - "fyDisplayName", - "xhDisplayName", - "yiDisplayName", - "yoDisplayName", - "zaDisplayName", - "unkDisplayName", - "zuDisplayName", - "hawDisplayName", - "hmnDisplayName", - "multiDisplayName", - "cebDisplayName", - "dzDisplayName", - "iwDisplayName", - "jwDisplayName", - "moDisplayName", - "shDisplayName", - "wwCountryDisplayName", - "afCountryDisplayName", - "axCountryDisplayName", - "alCountryDisplayName", - "dzCountryDisplayName", - "asCountryDisplayName", - "adCountryDisplayName", - "aoCountryDisplayName", - "aiCountryDisplayName", - "agCountryDisplayName", - "arCountryDisplayName", - "amCountryDisplayName", - "awCountryDisplayName", - "acCountryDisplayName", - "auCountryDisplayName", - "atCountryDisplayName", - "azCountryDisplayName", - "bsCountryDisplayName", - "bhCountryDisplayName", - "bdCountryDisplayName", - "bbCountryDisplayName", - "byCountryDisplayName", - "beCountryDisplayName", - "bzCountryDisplayName", - "bjCountryDisplayName", - "bmCountryDisplayName", - "btCountryDisplayName", - "boCountryDisplayName", - "baCountryDisplayName", - "bwCountryDisplayName", - "brCountryDisplayName", - "ioCountryDisplayName", - "vgCountryDisplayName", - "bnCountryDisplayName", - "bgCountryDisplayName", - "bfCountryDisplayName", - "biCountryDisplayName", - "khCountryDisplayName", - "cmCountryDisplayName", - "caCountryDisplayName", - "cvCountryDisplayName", - "bqCountryDisplayName", - "kyCountryDisplayName", - "cfCountryDisplayName", - "tdCountryDisplayName", - "clCountryDisplayName", - "cnCountryDisplayName", - "cxCountryDisplayName", - "ccCountryDisplayName", - "coCountryDisplayName", - "kmCountryDisplayName", - "cdCountryDisplayName", - "cgCountryDisplayName", - "ckCountryDisplayName", - "crCountryDisplayName", - "ciCountryDisplayName", - "hrCountryDisplayName", - "cuCountryDisplayName", - "cwCountryDisplayName", - "cyCountryDisplayName", - "czCountryDisplayName", - "dkCountryDisplayName", - "djCountryDisplayName", - "dmCountryDisplayName", - "doCountryDisplayName", - "tlCountryDisplayName", - "ecCountryDisplayName", - "egCountryDisplayName", - "svCountryDisplayName", - "gqCountryDisplayName", - "erCountryDisplayName", - "eeCountryDisplayName", - "szCountryDisplayName", - "etCountryDisplayName", - "fkCountryDisplayName", - "foCountryDisplayName", - "fjCountryDisplayName", - "fiCountryDisplayName", - "frCountryDisplayName", - "gfCountryDisplayName", - "pfCountryDisplayName", - "gaCountryDisplayName", - "gmCountryDisplayName", - "geCountryDisplayName", - "deCountryDisplayName", - "ghCountryDisplayName", - "giCountryDisplayName", - "grCountryDisplayName", - "glCountryDisplayName", - "gdCountryDisplayName", - "gpCountryDisplayName", - "guCountryDisplayName", - "gtCountryDisplayName", - "ggCountryDisplayName", - "gnCountryDisplayName", - "gwCountryDisplayName", - "gyCountryDisplayName", - "htCountryDisplayName", - "hmCountryDisplayName", - "hnCountryDisplayName", - "hkCountryDisplayName", - "huCountryDisplayName", - "isCountryDisplayName", - "inCountryDisplayName", - "idCountryDisplayName", - "irCountryDisplayName", - "iqCountryDisplayName", - "ieCountryDisplayName", - "imCountryDisplayName", - "ilCountryDisplayName", - "itCountryDisplayName", - "jmCountryDisplayName", - "jpCountryDisplayName", - "jeCountryDisplayName", - "joCountryDisplayName", - "kzCountryDisplayName", - "keCountryDisplayName", - "kiCountryDisplayName", - "xkCountryDisplayName", - "kwCountryDisplayName", - "kgCountryDisplayName", - "laCountryDisplayName", - "lvCountryDisplayName", - "lbCountryDisplayName", - "lsCountryDisplayName", - "lrCountryDisplayName", - "lyCountryDisplayName", - "liCountryDisplayName", - "ltCountryDisplayName", - "luCountryDisplayName", - "moCountryDisplayName", - "mkCountryDisplayName", - "mgCountryDisplayName", - "mwCountryDisplayName", - "myCountryDisplayName", - "mvCountryDisplayName", - "mlCountryDisplayName", - "mtCountryDisplayName", - "mhCountryDisplayName", - "mqCountryDisplayName", - "mrCountryDisplayName", - "muCountryDisplayName", - "ytCountryDisplayName", - "mxCountryDisplayName", - "fmCountryDisplayName", - "mdCountryDisplayName", - "mcCountryDisplayName", - "mnCountryDisplayName", - "meCountryDisplayName", - "msCountryDisplayName", - "maCountryDisplayName", - "mzCountryDisplayName", - "mmCountryDisplayName", - "naCountryDisplayName", - "nrCountryDisplayName", - "npCountryDisplayName", - "nlCountryDisplayName", - "ncCountryDisplayName", - "nzCountryDisplayName", - "niCountryDisplayName", - "neCountryDisplayName", - "ngCountryDisplayName", - "nuCountryDisplayName", - "nfCountryDisplayName", - "kpCountryDisplayName", - "mpCountryDisplayName", - "noCountryDisplayName", - "omCountryDisplayName", - "pkCountryDisplayName", - "pwCountryDisplayName", - "psCountryDisplayName", - "paCountryDisplayName", - "pgCountryDisplayName", - "pyCountryDisplayName", - "peCountryDisplayName", - "phCountryDisplayName", - "plCountryDisplayName", - "ptCountryDisplayName", - "prCountryDisplayName", - "qaCountryDisplayName", - "reCountryDisplayName", - "roCountryDisplayName", - "ruCountryDisplayName", - "rwCountryDisplayName", - "blCountryDisplayName", - "shCountryDisplayName", - "knCountryDisplayName", - "lcCountryDisplayName", - "mfCountryDisplayName", - "pmCountryDisplayName", - "vcCountryDisplayName", - "wsCountryDisplayName", - "smCountryDisplayName", - "stCountryDisplayName", - "saCountryDisplayName", - "snCountryDisplayName", - "rsCountryDisplayName", - "scCountryDisplayName", - "slCountryDisplayName", - "sgCountryDisplayName", - "sxCountryDisplayName", - "skCountryDisplayName", - "siCountryDisplayName", - "sbCountryDisplayName", - "soCountryDisplayName", - "zaCountryDisplayName", - "gsCountryDisplayName", - "krCountryDisplayName", - "ssCountryDisplayName", - "esCountryDisplayName", - "lkCountryDisplayName", - "sdCountryDisplayName", - "srCountryDisplayName", - "sjCountryDisplayName", - "seCountryDisplayName", - "chCountryDisplayName", - "syCountryDisplayName", - "twCountryDisplayName", - "tjCountryDisplayName", - "tzCountryDisplayName", - "thCountryDisplayName", - "tgCountryDisplayName", - "tkCountryDisplayName", - "toCountryDisplayName", - "ttCountryDisplayName", - "tnCountryDisplayName", - "trCountryDisplayName", - "tmCountryDisplayName", - "tcCountryDisplayName", - "tvCountryDisplayName", - "viCountryDisplayName", - "ugCountryDisplayName", - "uaCountryDisplayName", - "aeCountryDisplayName", - "gbCountryDisplayName", - "usCountryDisplayName", - "uyCountryDisplayName", - "uzCountryDisplayName", - "vuCountryDisplayName", - "vaCountryDisplayName", - "veCountryDisplayName", - "vnCountryDisplayName", - "wfCountryDisplayName", - "ehCountryDisplayName", - "yeCountryDisplayName", - "zmCountryDisplayName", - "zwCountryDisplayName", - "pay", - "allPrivateChats", - "unknownPrivateChat", - "copyClassCodeDesc", - "addToSpaceDesc", - "invitedToSpace", - "declinedInvitation", - "acceptedInvitation", - "youreInvited", - "studentPermissionsDesc", - "noEligibleSpaces", - "youAddedToSpace", - "youRemovedFromSpace", - "invitedToChat", - "monthlySubscription", - "yearlySubscription", - "defaultSubscription", - "freeTrial", - "grammarAnalytics", - "total", - "noDataFound", - "promoSubscriptionExpirationDesc", - "emptyChatNameWarning", - "emptyClassNameWarning", - "emptySpaceNameWarning", - "blurMeansTranslateTitle", - "blurMeansTranslateBody", - "someErrorTitle", - "someErrorBody", - "bestCorrectionFeedback", - "distractorFeedback", - "bestAnswerFeedback", - "definitionDefaultPrompt", - "practiceDefaultPrompt", - "correctionDefaultPrompt", - "itStartDefaultPrompt", - "languageLevelWarning", - "lockedChatWarning", - "lockSpace", - "lockChat", - "archiveSpace", - "suggestToChat", - "suggestToChatDesc", - "acceptSelection", - "acceptSelectionAnyway", - "makingActivity", - "why", - "definition", - "exampleSentence", - "reportToTeacher", - "reportMessageTitle", - "reportMessageBody", - "noTeachersFound", - "pleaseEnterANumber", - "archiveRoomDescription", - "roomUpgradeDescription", - "removeDevicesDescription", - "banUserDescription", - "unbanUserDescription", - "kickUserDescription", - "makeAdminDescription", - "pushNotificationsNotAvailable", - "learnMore", - "yourGlobalUserIdIs", - "noUsersFoundWithQuery", - "knocking", - "chatCanBeDiscoveredViaSearchOnServer", - "searchChatsRooms", - "createClass", - "viewArchive", - "trialExpiration", - "freeTrialDesc", - "activateTrial", - "inNoSpaces", - "successfullySubscribed", - "clickToManageSubscription", - "emptyInviteWarning", - "errorGettingAudio", - "nothingFound", - "groupName", - "createGroupAndInviteUsers", - "groupCanBeFoundViaSearch", - "wrongRecoveryKey", - "startConversation", - "commandHint_sendraw", - "databaseMigrationTitle", - "databaseMigrationBody", - "leaveEmptyToClearStatus", - "select", - "searchForUsers", - "pleaseEnterYourCurrentPassword", - "newPassword", - "pleaseChooseAStrongPassword", - "passwordsDoNotMatch", - "passwordIsWrong", - "publicLink", - "publicChatAddresses", - "createNewAddress", - "joinSpace", - "publicSpaces", - "addChatOrSubSpace", - "subspace", - "decline", - "thisDevice", - "initAppError", - "userRole", - "minimumPowerLevel", - "searchIn", - "searchMore", - "gallery", - "files", - "databaseBuildErrorBody", - "sessionLostBody", - "restoreSessionBody", - "forwardMessageTo", - "signUp", - "pleaseChooseAtLeastChars", - "noEmailWarning", - "pleaseEnterValidEmail", - "noAddToSpacePermissions", - "alreadyInSpace", - "pleaseChooseAUsername", - "chooseAUsername", - "define", - "listen", - "addConversationBot", - "addConversationBotDesc", - "convoBotSettingsTitle", - "convoBotSettingsDescription", - "enterAConversationTopic", - "conversationTopic", - "enableModeration", - "enableModerationDesc", - "conversationLanguageLevel", - "showDefinition", - "sendReadReceipts", - "sendTypingNotificationsDescription", - "sendReadReceiptsDescription", - "formattedMessages", - "formattedMessagesDescription", - "verifyOtherUser", - "verifyOtherUserDescription", - "verifyOtherDevice", - "verifyOtherDeviceDescription", - "acceptedKeyVerification", - "canceledKeyVerification", - "completedKeyVerification", - "isReadyForKeyVerification", - "requestedKeyVerification", - "startedKeyVerification", - "subscriptionPopupTitle", - "subscriptionPopupDesc", - "seeOptions", - "continuedWithoutSubscription", - "trialPeriodExpired", - "selectToDefine", - "translations", - "messageAudio", - "definitions", - "subscribedToUnlockTools", - "more", - "translationTooltip", - "audioTooltip", - "speechToTextTooltip", - "certifyAge", - "kickBotWarning", - "joinToView", - "refresh", - "autoPlayTitle", - "autoPlayDesc", - "transparent", - "incomingMessages", - "stickers", - "commandHint_ignore", - "commandHint_unignore", - "unreadChatsInApp", - "messageAnalytics", - "words", - "score", - "accuracy", - "points", - "noPaymentInfo", - "conversationBotModeSelectDescription", - "conversationBotModeSelectOption_discussion", - "conversationBotModeSelectOption_custom", - "conversationBotModeSelectOption_conversation", - "conversationBotModeSelectOption_textAdventure", - "conversationBotDiscussionZone_title", - "conversationBotDiscussionZone_discussionTopicLabel", - "conversationBotDiscussionZone_discussionTopicPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsLabel", - "conversationBotDiscussionZone_discussionKeywordsPlaceholder", - "conversationBotDiscussionZone_discussionKeywordsHintText", - "conversationBotDiscussionZone_discussionTriggerScheduleEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerScheduleHourIntervalLabel", - "conversationBotDiscussionZone_discussionTriggerReactionEnabledLabel", - "conversationBotDiscussionZone_discussionTriggerReactionKeyLabel", - "addConversationBotDialogTitleInvite", - "addConversationBotButtonInvite", - "addConversationBotDialogInviteConfirmation", - "addConversationBotButtonTitleRemove", - "addConversationBotButtonRemove", - "addConversationBotDialogRemoveConfirmation", - "studentAnalyticsNotAvailable", - "roomDataMissing", - "updatePhoneOS", - "wordsPerMinute", - "autoIGCToolName", - "autoIGCToolDescription", - "runGrammarCorrection", - "grammarCorrectionFailed", - "grammarCorrectionComplete", - "leaveRoomDescription", - "archiveSpaceDescription", - "leaveSpaceDescription", - "onlyAdminDescription", - "tooltipInstructionsTitle", - "tooltipInstructionsMobileBody", - "tooltipInstructionsBrowserBody", - "addSpaceToSpaceDescription", - "roomCapacity", - "roomFull", - "topicNotSet", - "capacityNotSet", - "roomCapacityHasBeenChanged", - "roomExceedsCapacity", - "capacitySetTooLow", - "roomCapacityExplanation", - "enterNumber", - "buildTranslation", - "noDatabaseEncryption", - "thereAreCountUsersBlocked", - "restricted", - "knockRestricted", - "nonexistentSelection", - "cantAddSpaceChild", - "roomAddedToSpace", - "createNewSpace", - "addChatToSpaceDesc", - "addSpaceToSpaceDesc", - "spaceAnalytics", - "changeAnalyticsLanguage", - "suggestToSpace", - "suggestToSpaceDesc", - "practice", - "noLanguagesSet", - "noActivitiesFound" - ] -} diff --git a/pangea_packages/fcm_shared_isolate/android/.gradle/6.7.1/fileHashes/fileHashes.lock b/pangea_packages/fcm_shared_isolate/android/.gradle/6.7.1/fileHashes/fileHashes.lock index 7cb52b3f8..f1facd835 100644 Binary files a/pangea_packages/fcm_shared_isolate/android/.gradle/6.7.1/fileHashes/fileHashes.lock and b/pangea_packages/fcm_shared_isolate/android/.gradle/6.7.1/fileHashes/fileHashes.lock differ diff --git a/pangea_packages/fcm_shared_isolate/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/pangea_packages/fcm_shared_isolate/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock index 487a88833..ea7da199a 100644 Binary files a/pangea_packages/fcm_shared_isolate/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/pangea_packages/fcm_shared_isolate/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/pangea_packages/fcm_shared_isolate/android/.gradle/checksums/checksums.lock b/pangea_packages/fcm_shared_isolate/android/.gradle/checksums/checksums.lock index b99989c33..a148f5b0e 100644 Binary files a/pangea_packages/fcm_shared_isolate/android/.gradle/checksums/checksums.lock and b/pangea_packages/fcm_shared_isolate/android/.gradle/checksums/checksums.lock differ diff --git a/pubspec.lock b/pubspec.lock index c2303486b..3764281a1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -999,6 +999,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.0" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" highlighter: dependency: transitive description: @@ -1925,6 +1933,22 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.2" + rive: + dependency: "direct main" + description: + name: rive + sha256: "166019487e8bfa6525d4537bfd494deb4f306e32f97a7f50ff452b44ab6b72ea" + url: "https://pub.dev" + source: hosted + version: "0.11.11" + rive_common: + dependency: transitive + description: + name: rive_common + sha256: "83af8b500ad4d23930397229c7ed520e266eb851690a8621afa6cbd782aeac87" + url: "https://pub.dev" + source: hosted + version: "0.2.3" rxdart: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index ce6ef99dc..a24dfdff3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -120,6 +120,7 @@ dependencies: sentry_flutter: ^8.2.0 shimmer: ^3.0.0 syncfusion_flutter_xlsio: ^25.1.40 + rive: 0.11.11 # Pangea# dev_dependencies: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 4798ca389..8fbbffa18 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -40,6 +41,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); RecordWindowsPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("RecordWindowsPluginCApi")); + RivePluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("RivePlugin")); SentryFlutterPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("SentryFlutterPlugin")); SharePlusWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index bf885c6b1..315ce5112 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -12,6 +12,7 @@ list(APPEND FLUTTER_PLUGIN_LIST pasteboard permission_handler_windows record_windows + rive_common sentry_flutter share_plus sqlcipher_flutter_libs