diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PermissionCheck.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PermissionCheck.scala
index 9c57ac580d..760203a56d 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PermissionCheck.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/PermissionCheck.scala
@@ -85,7 +85,8 @@ object PermissionCheck {
outGW: OutMsgRouter, liveMeeting: LiveMeeting): Unit = {
val ejectedBy = SystemUser.ID
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.PERMISSION_FAILED)
+ UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.PERMISSION_FAILED, ban = false)
+
// send a system message to force disconnection
Sender.sendDisconnectClientSysMsg(meetingId, userId, ejectedBy, reason, outGW)
}
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectDuplicateUserReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectDuplicateUserReqMsgHdlr.scala
index f502556385..f7111af84f 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectDuplicateUserReqMsgHdlr.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectDuplicateUserReqMsgHdlr.scala
@@ -17,7 +17,8 @@ trait EjectDuplicateUserReqMsgHdlr {
val ejectedBy = SystemUser.ID
val reason = "user ejected because of duplicate external userid"
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.DUPLICATE_USER)
+ UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.DUPLICATE_USER, ban = false)
+
// send a system message to force disconnection
Sender.sendDisconnectClientSysMsg(meetingId, userId, ejectedBy, EjectReasonCode.DUPLICATE_USER, outGW)
}
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectUserFromMeetingCmdMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectUserFromMeetingCmdMsgHdlr.scala
index 4915c73f80..49ceb6e0dd 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectUserFromMeetingCmdMsgHdlr.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/EjectUserFromMeetingCmdMsgHdlr.scala
@@ -16,6 +16,7 @@ trait EjectUserFromMeetingCmdMsgHdlr extends RightsManagementTrait {
val meetingId = liveMeeting.props.meetingProp.intId
val userId = msg.body.userId
val ejectedBy = msg.body.ejectedBy
+ val banUser = msg.body.banUser
if (permissionFailed(
PermissionCheck.MOD_LEVEL,
@@ -33,6 +34,8 @@ trait EjectUserFromMeetingCmdMsgHdlr extends RightsManagementTrait {
ejectedByUser <- RegisteredUsers.findWithUserId(ejectedBy, liveMeeting.registeredUsers)
} yield {
if (registeredUser.externId != ejectedByUser.externId) {
+ val ban = banUser
+
// Eject users
//println("****************** User " + ejectedBy + " ejecting user " + userId)
// User might have joined using multiple browsers.
@@ -40,7 +43,18 @@ trait EjectUserFromMeetingCmdMsgHdlr extends RightsManagementTrait {
// ralam april 21, 2020
RegisteredUsers.findAllWithExternUserId(registeredUser.externId, liveMeeting.registeredUsers) foreach { ru =>
//println("****************** User " + ejectedBy + " ejecting other user " + ru.id)
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, ru.id, ejectedBy, reason, EjectReasonCode.EJECT_USER)
+ UsersApp.ejectUserFromMeeting(
+ outGW,
+ liveMeeting,
+ ru.id,
+ ejectedBy,
+ reason,
+ EjectReasonCode.EJECT_USER,
+ ban
+ )
+
+ log.info("Eject userId=" + userId + " by " + ejectedBy + " and ban=" + banUser)
+
// send a system message to force disconnection
Sender.sendDisconnectClientSysMsg(meetingId, ru.id, ejectedBy, EjectReasonCode.EJECT_USER, outGW)
}
@@ -48,7 +62,15 @@ trait EjectUserFromMeetingCmdMsgHdlr extends RightsManagementTrait {
// User is ejecting self, so just eject this userid not all sessions if joined using multiple
// browsers. ralam april 23, 2020
//println("****************** User " + ejectedBy + " ejecting self " + userId)
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.EJECT_USER)
+ UsersApp.ejectUserFromMeeting(
+ outGW,
+ liveMeeting,
+ userId,
+ ejectedBy,
+ reason,
+ EjectReasonCode.EJECT_USER,
+ ban = false
+ )
// send a system message to force disconnection
Sender.sendDisconnectClientSysMsg(meetingId, userId, ejectedBy, EjectReasonCode.EJECT_USER, outGW)
}
@@ -70,7 +92,15 @@ trait EjectUserFromMeetingSysMsgHdlr {
val ejectedBy = msg.body.ejectedBy
val reason = "user ejected by a component on system"
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, userId, ejectedBy, reason, EjectReasonCode.SYSTEM_EJECT_USER)
+ UsersApp.ejectUserFromMeeting(
+ outGW,
+ liveMeeting,
+ userId,
+ ejectedBy,
+ reason,
+ EjectReasonCode.SYSTEM_EJECT_USER,
+ ban = false
+ )
// send a system message to force disconnection
Sender.sendDisconnectClientSysMsg(meetingId, userId, ejectedBy, EjectReasonCode.SYSTEM_EJECT_USER, outGW)
}
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
index 57955f1b43..fa5738fffa 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/UsersApp.scala
@@ -99,13 +99,14 @@ object UsersApp {
}
def ejectUserFromMeeting(outGW: OutMsgRouter, liveMeeting: LiveMeeting,
- userId: String, ejectedBy: String, reason: String, reasonCode: String): Unit = {
+ userId: String, ejectedBy: String, reason: String,
+ reasonCode: String, ban: Boolean): Unit = {
val meetingId = liveMeeting.props.meetingProp.intId
for {
user <- Users2x.ejectFromMeeting(liveMeeting.users2x, userId)
- reguser <- RegisteredUsers.eject(userId, liveMeeting.registeredUsers, ejectedBy)
+ reguser <- RegisteredUsers.eject(userId, liveMeeting.registeredUsers, ban)
} yield {
sendUserEjectedMessageToClient(outGW, meetingId, userId, ejectedBy, reason, reasonCode)
sendUserLeftMeetingToAllClients(outGW, meetingId, userId)
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala
index bae7853a5b..69614b8835 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala
@@ -25,13 +25,13 @@ trait ValidateAuthTokenReqMsgHdlr extends HandlerHelpers {
regUser match {
case Some(u) =>
- // Check if ejected user is rejoining.
+ // Check if banned user is rejoining.
// Fail validation if ejected user is rejoining.
// ralam april 21, 2020
- if (u.guestStatus == GuestStatus.ALLOW && !u.ejected) {
+ if (u.guestStatus == GuestStatus.ALLOW && !u.banned) {
userValidated(u, state)
} else {
- if (u.ejected) {
+ if (u.banned) {
failReason = "Ejected user rejoining"
failReasonCode = EjectReasonCode.EJECTED_USER_REJOINING
}
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala
index 052b4e8595..17e7f429ce 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala
@@ -62,12 +62,12 @@ object RegisteredUsers {
findWithExternUserId(user.externId, users) match {
case Some(u) =>
- if (u.ejected) {
- // Ejected user is rejoining. Don't add so that validate token
+ if (u.banned) {
+ // Banned user is rejoining. Don't add so that validate token
// will fail and can't join.
// ralam april 21, 2020
- val ejectedUser = user.copy(ejected = true)
- users.save(ejectedUser)
+ val bannedUser = user.copy(banned = true)
+ users.save(bannedUser)
} else {
// If user hasn't been ejected, we allow user to join
// as the user might be joining using 2 browsers for
@@ -81,16 +81,16 @@ object RegisteredUsers {
}
- private def banUser(ejectedUser: RegisteredUser, users: RegisteredUsers, ejectedByUser: RegisteredUser): RegisteredUser = {
+ private def banOrEjectUser(ejectedUser: RegisteredUser, users: RegisteredUsers, ban: Boolean): RegisteredUser = {
// Some users join with multiple browser to manage the meeting.
// Don't black list a user ejecting oneself.
// ralam april 23, 2020
- if (ejectedUser.externId != ejectedByUser.externId) {
+ if (ban) {
// Set a flag that user has been ejected. We flag the user instead of
// removing so we can eject when user tries to rejoin with the same
// external userid.
// ralam april 21, 2020
- val u = ejectedUser.modify(_.ejected).setTo(true)
+ val u = ejectedUser.modify(_.banned).setTo(true)
users.save(u)
u
} else {
@@ -98,12 +98,11 @@ object RegisteredUsers {
ejectedUser
}
}
- def eject(id: String, users: RegisteredUsers, ejectedBy: String): Option[RegisteredUser] = {
+ def eject(id: String, users: RegisteredUsers, ban: Boolean): Option[RegisteredUser] = {
for {
ru <- findWithUserId(id, users)
- eu <- findWithUserId(ejectedBy, users)
} yield {
- banUser(ru, users, eu)
+ banOrEjectUser(ru, users, ban)
}
}
@@ -166,6 +165,6 @@ case class RegisteredUser(
registeredOn: Long,
joined: Boolean,
markAsJoinTimedOut: Boolean,
- ejected: Boolean
+ banned: Boolean
)
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
index 48ab65be1e..c0a1735a92 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
@@ -749,7 +749,16 @@ class MeetingActor(
users foreach { u =>
val respondedOnTime = (lastUserInactivityInspectSentOn - expiryTracker.userInactivityThresholdInMs) < u.lastActivityTime && (lastUserInactivityInspectSentOn + expiryTracker.userActivitySignResponseDelayInMs) > u.lastActivityTime
if (!respondedOnTime) {
- UsersApp.ejectUserFromMeeting(outGW, liveMeeting, u.intId, SystemUser.ID, "User inactive for too long.", EjectReasonCode.USER_INACTIVITY)
+ UsersApp.ejectUserFromMeeting(
+ outGW,
+ liveMeeting,
+ u.intId,
+ SystemUser.ID,
+ "User inactive for too long.",
+ EjectReasonCode.USER_INACTIVITY,
+ ban = false
+ )
+
Sender.sendDisconnectClientSysMsg(liveMeeting.props.meetingProp.intId, u.intId, SystemUser.ID, EjectReasonCode.USER_INACTIVITY, outGW)
}
}
diff --git a/akka-bbb-apps/src/universal/conf/application.conf b/akka-bbb-apps/src/universal/conf/application.conf
index 5590361095..4bf02465c1 100755
--- a/akka-bbb-apps/src/universal/conf/application.conf
+++ b/akka-bbb-apps/src/universal/conf/application.conf
@@ -65,7 +65,7 @@ sharedNotes {
}
http {
- interface = "0.0.0.0"
+ interface = "127.0.0.1"
port = 9999
}
diff --git a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala
index 4936931676..d658d52365 100755
--- a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala
+++ b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala
@@ -221,7 +221,7 @@ case class UserRoleChangedEvtMsgBody(userId: String, role: String, changedBy: St
*/
object EjectUserFromMeetingCmdMsg { val NAME = "EjectUserFromMeetingCmdMsg" }
case class EjectUserFromMeetingCmdMsg(header: BbbClientMsgHeader, body: EjectUserFromMeetingCmdMsgBody) extends StandardMsg
-case class EjectUserFromMeetingCmdMsgBody(userId: String, ejectedBy: String)
+case class EjectUserFromMeetingCmdMsgBody(userId: String, ejectedBy: String, banUser: Boolean)
/**
* Sent from client to lock user in meeting.
diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java
index a6953c0dea..fa5b0fbb73 100755
--- a/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java
+++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/ParamsProcessorUtil.java
@@ -24,14 +24,9 @@ import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.SortedSet;
-import java.util.TreeSet;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -123,23 +118,16 @@ public class ParamsProcessorUtil {
private Boolean defaultAllowDuplicateExtUserid = true;
private String formatConfNum(String s) {
- if (s.length() == 5) {
- StringBuilder confNumDash = new StringBuilder(s);
- confNumDash.insert(2, '-');
- return confNumDash.toString();
- } else if (s.length() == 6 || s.length() == 7) {
- StringBuilder confNumDash = new StringBuilder(s);
- confNumDash.insert(3, '-');
- return confNumDash.toString();
- } else if (s.length() == 8) {
- StringBuilder confNumDash = new StringBuilder(s);
- confNumDash.insert(4, '-');
- return confNumDash.toString();
- } else if (s.length() == 9) {
- StringBuilder confNumDash = new StringBuilder(s);
- confNumDash.insert(3, '-');
- confNumDash.insert(7, '-');
- return confNumDash.toString();
+ if (s.length() > 5) {
+ Long confNumL = Long.parseLong(s);
+
+ Locale numFormatLocale = new Locale("en", "US");
+ String formatPattern = "#,###";
+ DecimalFormatSymbols unusualSymbols = new DecimalFormatSymbols(numFormatLocale);
+ unusualSymbols.setGroupingSeparator(' ');
+ DecimalFormat numFormatter = new DecimalFormat(formatPattern, unusualSymbols);
+ numFormatter.setGroupingSize(3);
+ return numFormatter.format(confNumL);
}
return s;
diff --git a/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java b/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java
index 4709fe49de..d83c6076b0 100755
--- a/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java
+++ b/bbb-common-web/src/main/java/org/bigbluebutton/api/domain/Meeting.java
@@ -362,7 +362,7 @@ public class Meeting {
} else if (GuestPolicy.ALWAYS_DENY.equals(guestPolicy)) {
return GuestPolicy.DENY;
} else if (GuestPolicy.ASK_MODERATOR.equals(guestPolicy)) {
- if (guest || (!ROLE_MODERATOR.equals(role) && authned)) {
+ if (guest || (!ROLE_MODERATOR.equals(role) && !authned)) {
return GuestPolicy.WAIT ;
}
return GuestPolicy.ALLOW;
diff --git a/bigbluebutton-client/src/assets/presentation.css b/bigbluebutton-client/src/assets/presentation.css
deleted file mode 100644
index f06130b69c..0000000000
--- a/bigbluebutton-client/src/assets/presentation.css
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
-////////////////////////////////////////////////////////////////////////////////
-//
-// Copyright (C) 2003-2006 Adobe Macromedia Software LLC and its licensors.
-// All Rights Reserved.
-// The following is Sample Code and is subject to all restrictions on such code
-// as contained in the End User License Agreement accompanying this product.
-// If you have received this file from a source other than Adobe,
-// then your use, modification, or distribution of it requires
-// the prior written permission of Adobe.
-//
-////////////////////////////////////////////////////////////////////////////////
-*/
-Application
-{
- backgroundColor: #484842;
-}
-
-CarouselImage
-{
- frameColor: #9e9c8d;
- frameThickness: 1;
- frameSize: 5;
-}
-
-ToolTip
-{
- backgroundColor: #484842;
- color: #ffffff;
-}
-
-.button
-{
- themeColor: #b7babc;
-}
-
-.thumbnailRolledOver
-{
- backgroundColor: #787872;
-}
-
-.thumbnailSelected
-{
- backgroundColor: #383832;
-}
-
-.thumbnailTitleBar
-{
- fontSize: 12;
- fontWeight: "bold";
- color: #666666;
-}
-
-.thumbnailListBorderBox
-{
- backgroundColor: #9e9c8d;
-}
-
-.thumbnailList
-{
- borderColor: #9e9c8d;
- backgroundColor: #9e9c8d;
- selectionColor: #9e9c8d;
- rollOverColor: #9e9c8d;
- themeColor: #383832;
- borderStyle: "solid";
- cornerRadius: 10;
-}
-
-.photoDescription
-{
- fontWeight: "bold";
- fontSize: 14;
- color: #ffffff;
-}
-
-.photoName
-{
- fontSize: 12;
- color: #ffffff;
-}
-
-.slideshowControlBar
-{
- backgroundAlpha: .6;
- backgroundColor: #5b5b5b;
-}
diff --git a/bigbluebutton-config/bin/bbb-conf b/bigbluebutton-config/bin/bbb-conf
index b4a0f14d13..d6d36bba2a 100755
--- a/bigbluebutton-config/bin/bbb-conf
+++ b/bigbluebutton-config/bin/bbb-conf
@@ -1538,6 +1538,23 @@ check_state() {
echo "#"
fi
+ FREESWITCH_SIP=$(netstat -anlt | grep :5066 | grep -v tcp6 | grep LISTEN | sed 's/ [ ]*/ /g' | cut -d' ' -f4 | sed 's/:5066//g')
+ KURENTO_SIP=$(yq r $KURENTO_CONFIG freeswitch.sip_ip)
+
+ if [ ! -z "$FREESWITCH_SIP" ]; then
+ if [ "$FREESWITCH_SIP" != "$KURENTO_SIP" ]; then
+ echo
+ echo "#"
+ echo "# Kurento is will try to connect to $KURENTO_SIP but FreeSWITCH is listening on $FREESWITCH_SIP for port 5066"
+ echo "#"
+ echo "# To fix, run the commands"
+ echo "#"
+ echo "# sudo yq w -i /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml freeswitch.sip_ip $FREESWITCH_SIP"
+ echo "# sudo chown bigbluebutton:bigbluebutton /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml"
+ echo "#"
+ fi
+ fi
+
exit 0
}
@@ -1657,6 +1674,7 @@ if [ $CHECK ]; then
echo "$KURENTO_CONFIG (Kurento SFU)"
echo " kurento.ip: $(yq r $KURENTO_CONFIG kurento[0].ip)"
echo " kurento.url: $(yq r $KURENTO_CONFIG kurento[0].url)"
+ echo " kurento.sip_ip: $(yq r $KURENTO_CONFIG freeswitch.sip_ip)"
echo " localIpAddress: $(yq r $KURENTO_CONFIG localIpAddress)"
echo " recordScreenSharing: $(yq r $KURENTO_CONFIG recordScreenSharing)"
echo " recordWebcams: $(yq r $KURENTO_CONFIG recordWebcams)"
diff --git a/bigbluebutton-config/cron.daily/bigbluebutton b/bigbluebutton-config/cron.daily/bigbluebutton
index 165e35ca47..2a2f657111 100755
--- a/bigbluebutton-config/cron.daily/bigbluebutton
+++ b/bigbluebutton-config/cron.daily/bigbluebutton
@@ -120,7 +120,7 @@ remove_raw_of_published_recordings(){
done
}
-#remove_raw_of_published_recordings
+remove_raw_of_published_recordings
#
# Remove old *.afm and *.pfb files from /tmp directory (if any exist)
diff --git a/bigbluebutton-html5/imports/api/audio/client/bridge/kurento.js b/bigbluebutton-html5/imports/api/audio/client/bridge/kurento.js
index 9d290dbe13..f999150b8b 100755
--- a/bigbluebutton-html5/imports/api/audio/client/bridge/kurento.js
+++ b/bigbluebutton-html5/imports/api/audio/client/bridge/kurento.js
@@ -1,6 +1,6 @@
import BaseAudioBridge from './base';
import Auth from '/imports/ui/services/auth';
-import { fetchWebRTCMappedStunTurnServers } from '/imports/utils/fetchStunTurnServers';
+import { fetchWebRTCMappedStunTurnServers, getMappedFallbackStun } from '/imports/utils/fetchStunTurnServers';
import playAndRetry from '/imports/utils/mediaElementPlayRetry';
import logger from '/imports/startup/client/logger';
@@ -64,6 +64,7 @@ export default class KurentoAudioBridge extends BaseAudioBridge {
} catch (error) {
logger.error({ logCode: 'sfuaudiobridge_stunturn_fetch_failed' },
'SFU audio bridge failed to fetch STUN/TURN info, using default servers');
+ iceServers = getMappedFallbackStun();
} finally {
logger.debug({ logCode: 'sfuaudiobridge_stunturn_fetch_sucess', extraInfo: { iceServers } },
'SFU audio bridge got STUN/TURN servers');
diff --git a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
index 3c72abbfcb..12f8d734a7 100755
--- a/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
+++ b/bigbluebutton-html5/imports/api/audio/client/bridge/sip.js
@@ -1,7 +1,7 @@
import browser from 'browser-detect';
import BaseAudioBridge from './base';
import logger from '/imports/startup/client/logger';
-import { fetchStunTurnServers } from '/imports/utils/fetchStunTurnServers';
+import { fetchStunTurnServers, getFallbackStun } from '/imports/utils/fetchStunTurnServers';
import {
isUnifiedPlan,
toUnifiedPlan,
@@ -85,6 +85,22 @@ class SIPSession {
});
}
+ async getIceServers(sessionToken) {
+ try {
+ const iceServers = await fetchStunTurnServers(sessionToken);
+ return iceServers;
+ } catch (error) {
+ logger.error({
+ logCode: 'sip_js_fetchstunturninfo_error',
+ extraInfo: {
+ errorCode: error.code,
+ errorMessage: error.message,
+ },
+ }, 'Full audio bridge failed to fetch STUN/TURN info');
+ return getFallbackStun();
+ }
+ }
+
doCall(options) {
const {
isListenOnly,
@@ -105,7 +121,7 @@ class SIPSession {
this.user.callerIdName = callerIdName;
this.callOptions = options;
- return fetchStunTurnServers(sessionToken)
+ return this.getIceServers(sessionToken)
.then(this.createUserAgent.bind(this))
.then(this.inviteUserAgent.bind(this))
.then(this.setupEventHandlers.bind(this));
diff --git a/bigbluebutton-html5/imports/api/breakouts/server/publishers.js b/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
index d0040bd87e..405414e284 100755
--- a/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
@@ -6,7 +6,7 @@ import { extractCredentials } from '/imports/api/common/server/helpers';
const ROLE_MODERATOR = Meteor.settings.public.user.role_moderator;
-function breakouts(moderator = false) {
+function breakouts() {
if (!this.userId) {
return Breakouts.find({ meetingId: '' });
}
@@ -14,18 +14,16 @@ function breakouts(moderator = false) {
const { meetingId, requesterUserId } = extractCredentials(this.userId);
Logger.debug(`Publishing Breakouts for ${meetingId} ${requesterUserId}`);
- if (moderator) {
- const User = Users.findOne({ userId: requesterUserId, meetingId });
- if (!!User && User.role === ROLE_MODERATOR) {
- const presenterSelector = {
- $or: [
- { parentMeetingId: meetingId },
- { breakoutId: meetingId },
- ],
- };
+ const User = Users.findOne({ userId: requesterUserId, meetingId }, { fields: { role: 1 } });
+ if (!!User && User.role === ROLE_MODERATOR) {
+ const presenterSelector = {
+ $or: [
+ { parentMeetingId: meetingId },
+ { breakoutId: meetingId },
+ ],
+ };
- return Breakouts.find(presenterSelector);
- }
+ return Breakouts.find(presenterSelector);
}
const selector = {
diff --git a/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js b/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
index 2c76ad38fe..03f9ca9b79 100644
--- a/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
+++ b/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
@@ -2,25 +2,16 @@ import { extractCredentials } from '/imports/api/common/server/helpers';
import Logger from '/imports/startup/server/logger';
const allowRecentMessages = (eventName, message) => {
- const LATE_MESSAGE_THRESHOLD = 3000;
-
const {
userId,
meetingId,
time,
- timestamp,
rate,
state,
} = message;
- if (timestamp > Date.now() - LATE_MESSAGE_THRESHOLD) {
- Logger.debug(`ExternalVideo Streamer auth allowed userId: ${userId}, meetingId: ${meetingId}, event: ${eventName}, time: ${time}, timestamp: ${timestamp/1000} rate: ${rate}, state: ${state}`);
- return true;
- }
-
- Logger.debug(`ExternalVideo Streamer auth rejected userId: ${userId}, meetingId: ${meetingId}, event: ${eventName}, time: ${time}, timestamp: ${timestamp/1000} rate: ${rate}, state: ${state}`);
-
- return false;
+ Logger.debug(`ExternalVideo Streamer auth allowed userId: ${userId}, meetingId: ${meetingId}, event: ${eventName}, time: ${time} rate: ${rate}, state: ${state}`);
+ return true;
};
export default function initializeExternalVideo() {
diff --git a/bigbluebutton-html5/imports/api/meetings/server/publishers.js b/bigbluebutton-html5/imports/api/meetings/server/publishers.js
index 997c79b66b..dfbfb74a3b 100755
--- a/bigbluebutton-html5/imports/api/meetings/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/meetings/server/publishers.js
@@ -6,7 +6,7 @@ import { extractCredentials } from '/imports/api/common/server/helpers';
const ROLE_MODERATOR = Meteor.settings.public.user.role_moderator;
-function meetings(isModerator = false) {
+function meetings() {
if (!this.userId) {
return Meetings.find({ meetingId: '' });
}
@@ -20,19 +20,18 @@ function meetings(isModerator = false) {
],
};
- if (isModerator) {
- const User = Users.findOne({ userId: requesterUserId, meetingId });
- if (!!User && User.role === ROLE_MODERATOR) {
- selector.$or.push({
- 'meetingProp.isBreakout': true,
- 'breakoutProps.parentId': meetingId,
- });
- }
+ const User = Users.findOne({ userId: requesterUserId, meetingId }, { fields: { role: 1 } });
+ if (!!User && User.role === ROLE_MODERATOR) {
+ selector.$or.push({
+ 'meetingProp.isBreakout': true,
+ 'breakoutProps.parentId': meetingId,
+ });
}
const options = {
fields: {
password: false,
+ 'welcomeProp.modOnlyMessage': false,
},
};
diff --git a/bigbluebutton-html5/imports/api/screenshare/client/bridge/kurento.js b/bigbluebutton-html5/imports/api/screenshare/client/bridge/kurento.js
index 3ad3aa1c25..761e383ede 100755
--- a/bigbluebutton-html5/imports/api/screenshare/client/bridge/kurento.js
+++ b/bigbluebutton-html5/imports/api/screenshare/client/bridge/kurento.js
@@ -1,6 +1,6 @@
import Auth from '/imports/ui/services/auth';
import BridgeService from './service';
-import { fetchWebRTCMappedStunTurnServers } from '/imports/utils/fetchStunTurnServers';
+import { fetchWebRTCMappedStunTurnServers, getMappedFallbackStun } from '/imports/utils/fetchStunTurnServers';
import playAndRetry from '/imports/utils/mediaElementPlayRetry';
import logger from '/imports/startup/client/logger';
@@ -8,8 +8,8 @@ const SFU_CONFIG = Meteor.settings.public.kurento;
const SFU_URL = SFU_CONFIG.wsUrl;
const CHROME_DEFAULT_EXTENSION_KEY = SFU_CONFIG.chromeDefaultExtensionKey;
const CHROME_CUSTOM_EXTENSION_KEY = SFU_CONFIG.chromeExtensionKey;
-const CHROME_SCREENSHARE_SOURCES = SFU_CONFIG.chromeScreenshareSources;
-const FIREFOX_SCREENSHARE_SOURCE = SFU_CONFIG.firefoxScreenshareSource;
+const CHROME_SCREENSHARE_SOURCES = SFU_CONFIG.screenshare.chromeScreenshareSources;
+const FIREFOX_SCREENSHARE_SOURCE = SFU_CONFIG.screenshare.firefoxScreenshareSource;
const SCREENSHARE_VIDEO_TAG = 'screenshareVideo';
const CHROME_EXTENSION_KEY = CHROME_CUSTOM_EXTENSION_KEY === 'KEY' ? CHROME_DEFAULT_EXTENSION_KEY : CHROME_CUSTOM_EXTENSION_KEY;
@@ -72,6 +72,7 @@ export default class KurentoScreenshareBridge {
} catch (error) {
logger.error({ logCode: 'screenshare_viwer_fetchstunturninfo_error', extraInfo: { error } },
'Screenshare bridge failed to fetch STUN/TURN info, using default');
+ iceServers = getMappedFallbackStun();
} finally {
const options = {
wsUrl: Auth.authenticateURL(SFU_URL),
@@ -161,13 +162,15 @@ export default class KurentoScreenshareBridge {
window.kurentoExitVideo();
}
- async kurentoShareScreen(onFail) {
+ async kurentoShareScreen(onFail, stream) {
let iceServers = [];
try {
iceServers = await fetchWebRTCMappedStunTurnServers(getSessionToken());
} catch (error) {
logger.error({ logCode: 'screenshare_presenter_fetchstunturninfo_error' },
+
'Screenshare bridge failed to fetch STUN/TURN info, using default');
+ iceServers = getMappedFallbackStun();
} finally {
const options = {
wsUrl: Auth.authenticateURL(SFU_URL),
@@ -193,6 +196,8 @@ export default class KurentoScreenshareBridge {
}, 'Screenshare presenter started succesfully');
};
+ options.stream = stream || undefined;
+
window.kurentoShareScreen(
SCREENSHARE_VIDEO_TAG,
BridgeService.getConferenceBridge(),
diff --git a/bigbluebutton-html5/imports/api/screenshare/client/bridge/service.js b/bigbluebutton-html5/imports/api/screenshare/client/bridge/service.js
index b1be0cc429..a8c0c90175 100644
--- a/bigbluebutton-html5/imports/api/screenshare/client/bridge/service.js
+++ b/bigbluebutton-html5/imports/api/screenshare/client/bridge/service.js
@@ -1,7 +1,82 @@
import Meetings from '/imports/api/meetings';
+import logger from '/imports/startup/client/logger';
+
+const {
+ constraints: GDM_CONSTRAINTS,
+} = Meteor.settings.public.kurento.screenshare;
+
+const hasDisplayMedia = (typeof navigator.getDisplayMedia === 'function'
+ || (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function'));
const getConferenceBridge = () => Meetings.findOne().voiceProp.voiceConf;
-export default {
- getConferenceBridge,
+const getScreenStream = async () => {
+ const gDMCallback = (stream) => {
+ if (typeof stream.getVideoTracks === 'function'
+ && typeof constraints.video === 'object') {
+ stream.getVideoTracks().forEach((track) => {
+ if (typeof track.applyConstraints === 'function') {
+ track.applyConstraints(constraints.video).catch((error) => {
+ logger.warn({
+ logCode: 'screenshare_videoconstraint_failed',
+ extraInfo: { errorName: error.name, errorCode: error.code },
+ },
+ 'Error applying screenshare video constraint');
+ });
+ }
+ });
+ }
+
+ if (typeof stream.getAudioTracks === 'function'
+ && typeof constraints.audio === 'object') {
+ stream.getAudioTracks().forEach((track) => {
+ if (typeof track.applyConstraints === 'function') {
+ track.applyConstraints(constraints.audio).catch((error) => {
+ logger.warn({
+ logCode: 'screenshare_audioconstraint_failed',
+ extraInfo: { errorName: error.name, errorCode: error.code },
+ }, 'Error applying screenshare audio constraint');
+ });
+ }
+ });
+ }
+
+ return Promise.resolve(stream);
+ };
+
+ const constraints = hasDisplayMedia ? GDM_CONSTRAINTS : null;
+
+ // getDisplayMedia isn't supported, generate no stream and let the legacy
+ // constraint fetcher work its way on kurento-extension.js
+ if (constraints == null) {
+ return Promise.resolve();
+ }
+ if (typeof navigator.getDisplayMedia === 'function') {
+ return navigator.getDisplayMedia(constraints)
+ .then(gDMCallback)
+ .catch((error) => {
+ logger.error({
+ logCode: 'screenshare_getdisplaymedia_failed',
+ extraInfo: { errorName: error.name, errorCode: error.code },
+ }, 'getDisplayMedia call failed');
+ return Promise.resolve();
+ });
+ } if (navigator.mediaDevices && typeof navigator.mediaDevices.getDisplayMedia === 'function') {
+ return navigator.mediaDevices.getDisplayMedia(constraints)
+ .then(gDMCallback)
+ .catch((error) => {
+ logger.error({
+ logCode: 'screenshare_getdisplaymedia_failed',
+ extraInfo: { errorName: error.name, errorCode: error.code },
+ }, 'getDisplayMedia call failed');
+ return Promise.resolve();
+ });
+ }
+};
+
+
+export default {
+ hasDisplayMedia,
+ getConferenceBridge,
+ getScreenStream,
};
diff --git a/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js b/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
index dae1bf3b4a..ff37339c6e 100644
--- a/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
+++ b/bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
@@ -15,7 +15,9 @@ const clearOtherSessions = (sessionUserId, current = false) => {
};
export default function handleValidateAuthToken({ body }, meetingId) {
- const { userId, valid, authToken, waitForApproval } = body;
+ const {
+ userId, valid, authToken, waitForApproval,
+ } = body;
check(userId, String);
check(authToken, String);
@@ -24,46 +26,50 @@ export default function handleValidateAuthToken({ body }, meetingId) {
const pendingAuths = pendingAuthenticationsStore.take(meetingId, userId, authToken);
- if(!valid) {
- pendingAuths.forEach (
- pendingAuth => {
+ if (!valid) {
+ pendingAuths.forEach(
+ (pendingAuth) => {
try {
- const {methodInvocationObject} = pendingAuth;
+ const { methodInvocationObject } = pendingAuth;
const connectionId = methodInvocationObject.connection.id;
- methodInvocationObject.connection.close();
+ // Schedule socket disconnection for this user, giving some time for client receiving the reason of disconnection
+ Meteor.setTimeout(() => {
+ methodInvocationObject.connection.close();
+ }, 2000);
+
Logger.info(`Closed connection ${connectionId} due to invalid auth token.`);
} catch (e) {
Logger.error(`Error closing socket for meetingId '${meetingId}', userId '${userId}', authToken ${authToken}`);
}
- }
+ },
);
-
+
return;
}
- if(valid) {
+ if (valid) {
// Define user ID on connections
- pendingAuths.forEach (
- pendingAuth => {
- const {methodInvocationObject} = pendingAuth;
+ pendingAuths.forEach(
+ (pendingAuth) => {
+ const { methodInvocationObject } = pendingAuth;
- /* Logic migrated from validateAuthToken method ( postponed to only run in case of success response ) - Begin */
- const sessionId = `${meetingId}--${userId}`;
- methodInvocationObject.setUserId(sessionId);
+ /* Logic migrated from validateAuthToken method ( postponed to only run in case of success response ) - Begin */
+ const sessionId = `${meetingId}--${userId}`;
+ methodInvocationObject.setUserId(sessionId);
- const User = Users.findOne({
- meetingId,
- userId: userId,
- });
-
- if (!User) {
- createDummyUser(meetingId, userId, authToken);
- }
-
- setConnectionIdAndAuthToken(meetingId, userId, methodInvocationObject.connection.id, authToken);
- /* End of logic migrated from validateAuthToken */
+ const User = Users.findOne({
+ meetingId,
+ userId,
+ });
+
+ if (!User) {
+ createDummyUser(meetingId, userId, authToken);
}
+
+ setConnectionIdAndAuthToken(meetingId, userId, methodInvocationObject.connection.id, authToken);
+ /* End of logic migrated from validateAuthToken */
+ },
);
}
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/removeUser.js b/bigbluebutton-html5/imports/api/users/server/methods/removeUser.js
index afe41d6f9f..6649b481ea 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/removeUser.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/removeUser.js
@@ -3,7 +3,7 @@ import { check } from 'meteor/check';
import RedisPubSub from '/imports/startup/server/redis';
import { extractCredentials } from '/imports/api/common/server/helpers';
-export default function removeUser(userId) {
+export default function removeUser(userId, banUser) {
const REDIS_CONFIG = Meteor.settings.private.redis;
const CHANNEL = REDIS_CONFIG.channels.toAkkaApps;
const EVENT_NAME = 'EjectUserFromMeetingCmdMsg';
@@ -15,6 +15,7 @@ export default function removeUser(userId) {
const payload = {
userId,
ejectedBy,
+ banUser,
};
return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, ejectedBy, payload);
diff --git a/bigbluebutton-html5/imports/api/users/server/publishers.js b/bigbluebutton-html5/imports/api/users/server/publishers.js
index 861fb357e1..d7c0297160 100644
--- a/bigbluebutton-html5/imports/api/users/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/users/server/publishers.js
@@ -51,7 +51,7 @@ function publishCurrentUser(...args) {
Meteor.publish('current-user', publishCurrentUser);
-function users(isModerator = false) {
+function users() {
if (!this.userId) {
return Users.find({ meetingId: '' });
}
@@ -63,15 +63,13 @@ function users(isModerator = false) {
],
};
- if (isModerator) {
- const User = Users.findOne({ userId: requesterUserId, meetingId });
- if (!!User && User.role === ROLE_MODERATOR) {
- selector.$or.push({
- 'breakoutProps.isBreakoutUser': true,
- 'breakoutProps.parentId': meetingId,
- connectionStatus: 'online',
- });
- }
+ const User = Users.findOne({ userId: requesterUserId, meetingId }, { fields: { role: 1 } });
+ if (!!User && User.role === ROLE_MODERATOR) {
+ selector.$or.push({
+ 'breakoutProps.isBreakoutUser': true,
+ 'breakoutProps.parentId': meetingId,
+ connectionStatus: 'online',
+ });
}
const options = {
diff --git a/bigbluebutton-html5/imports/api/users/server/store/pendingAuthentications.js b/bigbluebutton-html5/imports/api/users/server/store/pendingAuthentications.js
index c181ac8f95..97b13cc714 100644
--- a/bigbluebutton-html5/imports/api/users/server/store/pendingAuthentications.js
+++ b/bigbluebutton-html5/imports/api/users/server/store/pendingAuthentications.js
@@ -1,43 +1,48 @@
import Logger from '/imports/startup/server/logger';
class PendingAuthentitcations {
- constructor () {
- Logger.debug("PendingAuthentitcations :: constructor");
- this.store = [];
+ constructor() {
+ Logger.debug('PendingAuthentitcations :: constructor');
+ this.store = [];
+ }
+
+ generateKey(meetingId, userId, authToken) {
+ // Protect against separator injection
+ meetingId = meetingId.replace(/ /g, '');
+ userId = userId.replace(/ /g, '');
+ authToken = authToken.replace(/ /g, '');
+
+ // Space separated key
+ return `${meetingId} ${userId} ${authToken}`;
+ }
+
+ add(meetingId, userId, authToken, methodInvocationObject) {
+ Logger.debug('PendingAuthentitcations :: add', { meetingId, userId, authToken });
+ this.store.push({
+ key: this.generateKey(meetingId, userId, authToken),
+ meetingId,
+ userId,
+ authToken,
+ methodInvocationObject,
+ });
+ }
+
+ take(meetingId, userId, authToken) {
+ const key = this.generateKey(meetingId, userId, authToken);
+ Logger.debug('PendingAuthentitcations :: take', {
+ key, meetingId, userId, authToken,
+ });
+
+ // find matches
+ const matches = this.store.filter(e => e.key === key);
+
+ // remove matches (if any)
+ if (matches.length) {
+ this.store = this.store.filter(e => e.key !== key);
}
- generateKey (meetingId, userId, authToken) {
- // Protect against separator injection
- meetingId = meetingId.replace(/ /g, '');
- userId = userId.replace(/ /g, '');
- authToken = authToken.replace(/ /g, '');
-
- // Space separated key
- return '${meetingId} ${userId} ${authToken}';
- }
-
- add (meetingId, userId, authToken, methodInvocationObject) {
- Logger.debug("PendingAuthentitcations :: add", {meetingId, userId, authToken});
- this.store.push({
- key: this.generateKey(meetingId, userId, authToken),
- meetingId, userId, authToken, methodInvocationObject
- });
- }
-
- take (meetingId, userId, authToken) {
- Logger.debug("PendingAuthentitcations :: take", {meetingId, userId, authToken});
- const key = this.generateKey(meetingId, userId, authToken);
-
- // find matches
- const matches = this.store.filter( e => e.key === key );
-
- // remove matches (if any)
- if(matches.length) {
- this.store = this.store.filter( e => e.key !== key ) ;
- }
-
- // return matches
- return matches;
- }
+ // return matches
+ return matches;
+ }
}
-export default new PendingAuthentitcations();
\ No newline at end of file
+export default new PendingAuthentitcations();
diff --git a/bigbluebutton-html5/imports/startup/client/intl.jsx b/bigbluebutton-html5/imports/startup/client/intl.jsx
index dfb1a10b5b..3e139e57c7 100644
--- a/bigbluebutton-html5/imports/startup/client/intl.jsx
+++ b/bigbluebutton-html5/imports/startup/client/intl.jsx
@@ -32,6 +32,7 @@ import it from 'react-intl/locale-data/it';
import ja from 'react-intl/locale-data/ja';
import ka from 'react-intl/locale-data/ka';
import km from 'react-intl/locale-data/km';
+import kn from 'react-intl/locale-data/kn';
import ko from 'react-intl/locale-data/ko';
import lt from 'react-intl/locale-data/lt';
import lv from 'react-intl/locale-data/lv';
@@ -79,6 +80,7 @@ addLocaleData([
...ja,
...ka,
...km,
+ ...kn,
...ko,
...lt,
...lv,
diff --git a/bigbluebutton-html5/imports/startup/server/redis.js b/bigbluebutton-html5/imports/startup/server/redis.js
index f8901d3520..5894152a5e 100755
--- a/bigbluebutton-html5/imports/startup/server/redis.js
+++ b/bigbluebutton-html5/imports/startup/server/redis.js
@@ -239,6 +239,9 @@ class RedisPubSub {
userId,
};
+ if (!meetingId || !userId) {
+ return Logger.warn(`Interrupted publishing of ${JSON.stringify(header)} due to missing data`);
+ }
const envelope = makeEnvelope(channel, eventName, header, payload, { meetingId, userId });
return this.pub.publish(channel, envelope, RedisPubSub.handlePublishError);
diff --git a/bigbluebutton-html5/imports/ui/components/actions-bar/desktop-share/component.jsx b/bigbluebutton-html5/imports/ui/components/actions-bar/desktop-share/component.jsx
index e0c5080a16..c2a148fc3b 100755
--- a/bigbluebutton-html5/imports/ui/components/actions-bar/desktop-share/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/actions-bar/desktop-share/component.jsx
@@ -9,6 +9,7 @@ import cx from 'classnames';
import Modal from '/imports/ui/components/modal/simple/component';
import { withModalMounter } from '../../modal/service';
import { styles } from '../styles';
+import ScreenshareBridgeService from '/imports/api/screenshare/client/bridge/service';
const propTypes = {
intl: intlShape.isRequired,
@@ -55,9 +56,9 @@ const intlMessages = defineMessages({
id: 'app.screenshare.notSupportedError',
description: 'error message when trying to share screen in unsafe environments',
},
- noSafariScreenShare: {
- id: 'app.media.screenshare.safariNotSupported',
- descriptions: 'error message when trying to share screen on safari',
+ screenShareNotSupported: {
+ id: 'app.media.screenshare.notSupported',
+ descriptions: 'error message when trying share screen on unsupported browsers',
},
screenShareUnavailable: {
id: 'app.media.screenshare.unavailable',
@@ -114,7 +115,7 @@ const isMobileBrowser = (BROWSER_RESULTS ? BROWSER_RESULTS.mobile : false)
|| (BROWSER_RESULTS && BROWSER_RESULTS.os
? BROWSER_RESULTS.os.includes('Android') // mobile flag doesn't always work
: false);
-const isSafari = BROWSER_RESULTS.name === 'safari';
+const IS_SAFARI = BROWSER_RESULTS.name === 'safari';
const DesktopShare = ({
intl,
@@ -182,7 +183,7 @@ const DesktopShare = ({
circle
size="lg"
onClick={isVideoBroadcasting ? handleUnshareScreen : () => {
- if (isSafari) {
+ if (IS_SAFARI && !ScreenshareBridgeService.hasDisplayMedia) {
return mountModal(
{intl.formatMessage(intlMessages.screenShareUnavailable)}
- {intl.formatMessage(intlMessages.noSafariScreenShare)}
+ {intl.formatMessage(intlMessages.screenShareNotSupported)}
);
}
handleShareScreen(onFail);
diff --git a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx
index 90be874a03..abf8323c27 100755
--- a/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/audio/audio-controls/component.jsx
@@ -92,7 +92,7 @@ class AudioControls extends PureComponent {
icon={muted ? 'mute' : 'unmute'}
size="lg"
circle
- accessKey={shortcuts.toggleMute}
+ accessKey={shortcuts.togglemute}
/>
) : null}
);
}
diff --git a/bigbluebutton-html5/imports/ui/components/chat/container.jsx b/bigbluebutton-html5/imports/ui/components/chat/container.jsx
index 4efc1f5d4f..070a21e4a3 100755
--- a/bigbluebutton-html5/imports/ui/components/chat/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/chat/container.jsx
@@ -5,6 +5,7 @@ import { Session } from 'meteor/session';
import Auth from '/imports/ui/services/auth';
import Chat from './component';
import ChatService from './service';
+import Storage from '/imports/ui/services/storage/session';
const CHAT_CONFIG = Meteor.settings.public.chat;
const PUBLIC_CHAT_KEY = CHAT_CONFIG.public_id;
@@ -88,7 +89,8 @@ export default injectIntl(withTracker(({ intl }) => {
};
let moderatorMsg;
- if (amIModerator && welcomeProp.modOnlyMessage) {
+ const modOnlyMessage = Storage.getItem('ModeratorOnlyMessage');
+ if (amIModerator && modOnlyMessage) {
const moderatorTime = time + 1;
const moderatorId = `moderator-msg-${moderatorTime}`;
@@ -96,7 +98,7 @@ export default injectIntl(withTracker(({ intl }) => {
id: moderatorId,
content: [{
id: moderatorId,
- text: welcomeProp.modOnlyMessage,
+ text: modOnlyMessage,
time: moderatorTime,
}],
time: moderatorTime,
@@ -113,7 +115,7 @@ export default injectIntl(withTracker(({ intl }) => {
const messagesFormated = messagesBeforeWelcomeMsg
.concat(welcomeMsg)
- .concat(moderatorMsg || [])
+ .concat((amIModerator && modOnlyMessage) || [])
.concat(messagesAfterWelcomeMsg);
messages = messagesFormated.sort((a, b) => (a.time - b.time));
diff --git a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
index 845076181c..015bdfae46 100644
--- a/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/external-video-player/component.jsx
@@ -154,25 +154,24 @@ class VideoPlayer extends Component {
const timestamp = Date.now();
// If message is just a quick pause/un-pause just send nothing
- const sinceLastMessage = (timestamp - this.lastMessageTimestamp)/1000;
- if ((msg === 'play' && this.lastMessage === 'stop' ||
- msg === 'stop' && this.lastMessage === 'play') &&
- sinceLastMessage < THROTTLE_INTERVAL_SECONDS) {
-
- return clearTimeout(this.throttleTimeout);
+ const sinceLastMessage = (timestamp - this.lastMessageTimestamp) / 1000;
+ if ((msg === 'play' && this.lastMessage === 'stop'
+ || msg === 'stop' && this.lastMessage === 'play')
+ && sinceLastMessage < THROTTLE_INTERVAL_SECONDS) {
+ return clearTimeout(this.throttleTimeout);
}
// Ignore repeat presenter ready messages
if (this.lastMessage === msg && msg === 'presenterReady') {
- logger.debug("Ignoring a repeated presenterReady message");
+ logger.debug('Ignoring a repeated presenterReady message');
} else {
// Play/pause messages are sent with a delay, to permit cancelling it in case of
// quick sucessive play/pauses
const messageDelay = (msg === 'play' || msg === 'stop') ? THROTTLE_INTERVAL_SECONDS : 0;
this.throttleTimeout = setTimeout(() => {
- sendMessage(msg, { ...params, timestamp });
- }, messageDelay*1000);
+ sendMessage(msg, { ...params });
+ }, messageDelay * 1000);
this.lastMessage = msg;
this.lastMessageTimestamp = timestamp;
@@ -201,7 +200,7 @@ class VideoPlayer extends Component {
getCurrentTime() {
if (this.player && this.player.getCurrentTime) {
- return this.player.getCurrentTime();
+ return Math.round(this.player.getCurrentTime());
}
}
@@ -265,27 +264,26 @@ class VideoPlayer extends Component {
this.sendSyncMessage('playerUpdate', { rate, time: curTime, state: playingState });
}, SYNC_INTERVAL_SECONDS * 1000);
-
} else {
- onMessage('play', ({ time, timestamp }) => {
+ onMessage('play', ({ time }) => {
const { hasPlayedBefore, player } = this;
if (!player || !hasPlayedBefore) {
return;
}
- this.seekTo(time, timestamp);
+ this.seekTo(time);
this.setState({ playing: true });
logger.debug({ logCode: 'external_video_client_play' }, 'Play external video');
});
- onMessage('stop', ({ time, timestamp }) => {
+ onMessage('stop', ({ time }) => {
const { hasPlayedBefore, player } = this;
if (!player || !hasPlayedBefore) {
return;
}
- this.seekTo(time, timestamp);
+ this.seekTo(time);
this.setState({ playing: false });
logger.debug({ logCode: 'external_video_client_stop' }, 'Stop external video');
@@ -304,7 +302,7 @@ class VideoPlayer extends Component {
onMessage('playerUpdate', (data) => {
const { hasPlayedBefore, player } = this;
const { playing } = this.state;
- const { time, timestamp, rate, state } = data;
+ const { time, rate, state } = data;
if (!player || !hasPlayedBefore) {
return;
@@ -320,7 +318,7 @@ class VideoPlayer extends Component {
}, 'Change external video playback rate.');
}
- this.seekTo(time, timestamp);
+ this.seekTo(time);
if (playing !== state) {
this.setState({ playing: state });
@@ -329,32 +327,20 @@ class VideoPlayer extends Component {
}
}
- seekTo(time, timestamp) {
+ seekTo(time) {
const { player } = this;
if (!player) {
- return logger.error("No player on seek");
+ return logger.error('No player on seek');
}
- const curTimestamp = Date.now();
- const timestampDiff = (curTimestamp - timestamp)/1000;
- const realTime = time + timestampDiff;
-
- // Ignore seek commands that arrived too late
- if (timestampDiff > SYNC_INTERVAL_SECONDS) {
- logger.debug({
- logCode: 'external_video_client_message_too_late',
- extraInfo: { time, timestamp, },
- }, 'Not seeking because message came too late');
- return;
- }
// Seek if viewer has drifted too far away from presenter
- if (Math.abs(this.getCurrentTime() - realTime) > SYNC_INTERVAL_SECONDS*0.75) {
- player.seekTo(realTime, true);
+ if (Math.abs(this.getCurrentTime() - time) > SYNC_INTERVAL_SECONDS * 0.75) {
+ player.seekTo(time, true);
logger.debug({
logCode: 'external_video_client_update_seek',
- extraInfo: { time, timestamp, },
+ extraInfo: { time },
}, `Seek external video to: ${time}`);
}
}
diff --git a/bigbluebutton-html5/imports/ui/components/join-handler/component.jsx b/bigbluebutton-html5/imports/ui/components/join-handler/component.jsx
index f3abba65a0..b5de6d3bc8 100755
--- a/bigbluebutton-html5/imports/ui/components/join-handler/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/join-handler/component.jsx
@@ -2,7 +2,7 @@ import React, { Component } from 'react';
import { Session } from 'meteor/session';
import PropTypes from 'prop-types';
import Auth from '/imports/ui/services/auth';
-import { setCustomLogoUrl } from '/imports/ui/components/user-list/service';
+import { setCustomLogoUrl, setModeratorOnlyMessage } from '/imports/ui/components/user-list/service';
import { makeCall } from '/imports/ui/services/api';
import logger from '/imports/startup/client/logger';
import LoadingScreen from '/imports/ui/components/loading-screen/component';
@@ -140,6 +140,13 @@ class JoinHandler extends Component {
return resp;
};
+ const setModOnlyMessage = (resp) => {
+ if (resp && resp.modOnlyMessage) {
+ setModeratorOnlyMessage(resp.modOnlyMessage);
+ }
+ return resp;
+ };
+
const setCustomData = (resp) => {
const { customdata } = resp;
@@ -169,6 +176,7 @@ class JoinHandler extends Component {
setBannerProps(response);
setLogoURL(response);
+ setModOnlyMessage(response);
logUserInfo();
Tracker.autorun(async (cd) => {
diff --git a/bigbluebutton-html5/imports/ui/components/media/container.jsx b/bigbluebutton-html5/imports/ui/components/media/container.jsx
index 18393e340b..9ee199e75f 100755
--- a/bigbluebutton-html5/imports/ui/components/media/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/media/container.jsx
@@ -34,9 +34,9 @@ const intlMessages = defineMessages({
id: 'app.media.screenshare.end',
description: 'toast to show when a screenshare has ended',
},
- screenshareSafariNotSupportedError: {
- id: 'app.media.screenshare.safariNotSupported',
- description: 'Error message for screenshare not supported on Safari',
+ screenshareNotSupported: {
+ id: 'app.media.screenshare.notSupported',
+ description: 'Error message for screenshare not supported',
},
chromeExtensionError: {
id: 'app.video.chromeExtensionError',
@@ -51,7 +51,7 @@ const intlMessages = defineMessages({
class MediaContainer extends Component {
componentWillMount() {
document.addEventListener('installChromeExtension', this.installChromeExtension.bind(this));
- document.addEventListener('safariScreenshareNotSupported', this.safariScreenshareNotSupported.bind(this));
+ document.addEventListener('screenshareNotSupported', this.screenshareNotSupported.bind(this));
}
componentWillReceiveProps(nextProps) {
@@ -71,7 +71,7 @@ class MediaContainer extends Component {
componentWillUnmount() {
document.removeEventListener('installChromeExtension', this.installChromeExtension.bind(this));
- document.removeEventListener('safariScreenshareNotSupported', this.safariScreenshareNotSupported.bind(this));
+ document.removeEventListener('screenshareNotSupported', this.screenshareNotSupported.bind(this));
}
installChromeExtension() {
@@ -93,9 +93,9 @@ class MediaContainer extends Component {
notify(chromeErrorElement, 'error', 'desktop');
}
- safariScreenshareNotSupported() {
+ screenshareNotSupported() {
const { intl } = this.props;
- notify(intl.formatMessage(intlMessages.screenshareSafariNotSupportedError), 'error', 'desktop');
+ notify(intl.formatMessage(intlMessages.screenshareNotSupported), 'error', 'desktop');
}
render() {
diff --git a/bigbluebutton-html5/imports/ui/components/modal/remove-user/component.jsx b/bigbluebutton-html5/imports/ui/components/modal/remove-user/component.jsx
new file mode 100644
index 0000000000..b89152df8d
--- /dev/null
+++ b/bigbluebutton-html5/imports/ui/components/modal/remove-user/component.jsx
@@ -0,0 +1,100 @@
+import React, { Component } from 'react';
+import { defineMessages } from 'react-intl';
+import PropTypes from 'prop-types';
+import { withModalMounter } from '/imports/ui/components/modal/service';
+import Modal from '/imports/ui/components/modal/simple/component';
+import Button from '/imports/ui/components/button/component';
+import { styles } from './styles';
+
+const messages = defineMessages({
+ yesLabel: {
+ id: 'app.endMeeting.yesLabel',
+ description: 'confirm button label',
+ },
+ noLabel: {
+ id: 'app.endMeeting.noLabel',
+ description: 'cancel confirm button label',
+ },
+ removeConfirmTitle: {
+ id: 'app.userList.menu.removeConfirmation.label',
+ description: 'title for remove user confirmation modal',
+ },
+ removeConfirmDesc: {
+ id: 'app.userlist.menu.removeConfirmation.desc',
+ description: 'description for remove user confirmation',
+ },
+});
+
+const propTypes = {
+};
+
+class RemoveUserModal extends Component {
+ constructor(props) {
+ super(props);
+
+ this.state = {
+ checked: false,
+ };
+ }
+
+ render() {
+ const {
+ mountModal, onConfirm, user, title, intl,
+ } = this.props;
+
+ const {
+ checked,
+ } = this.state;
+
+ return (
+ mountModal(null)}
+ hideBorder
+ contentLabel={title}
+ >
+
+
+
+ {intl.formatMessage(messages.removeConfirmTitle, { 0: user.name })}
+
+
+
+
+
+
+
+
+
+
+ );
+ }
+}
+
+RemoveUserModal.propTypes = propTypes;
+export default withModalMounter(RemoveUserModal);
diff --git a/bigbluebutton-html5/imports/ui/components/modal/remove-user/styles.scss b/bigbluebutton-html5/imports/ui/components/modal/remove-user/styles.scss
new file mode 100644
index 0000000000..ac7ab070c2
--- /dev/null
+++ b/bigbluebutton-html5/imports/ui/components/modal/remove-user/styles.scss
@@ -0,0 +1,81 @@
+@import "/imports/ui/components/user-list/styles.scss";
+@import "/imports/ui/stylesheets/variables/_all";
+@import '/imports/ui/stylesheets/mixins/_indicators';
+@import '/imports/ui/stylesheets/mixins/focus';
+@import "/imports/ui/components/modal/simple/styles";
+
+:root {
+ --ban-checkbox-top-offset: 0.134rem;
+ --ban-checkbox-margin-right: 0.5rem;
+ }
+
+.title {
+ color: var(--color-gray-dark);
+ font-weight: var(--headings-font-weight);
+ font-size: var(--jumbo-padding-y);
+ }
+
+ .container {
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ padding: 0;
+ margin-top: 0;
+ margin-right: var(--description-margin);
+ margin-left: var(--description-margin);
+ margin-bottom: var(--lg-padding-x);
+ }
+
+ .footer {
+ display:flex;
+ }
+
+ .confirmBtn,
+ .dismissBtn {
+ padding-right: var(--jumbo-padding-y);
+ padding-left: var(--jumbo-padding-y);
+ margin: 0 var(--sm-padding-x) 0 0;
+
+ [dir="rtl"] & {
+ margin: 0 0 0 var(--sm-padding-x);
+ }
+ }
+
+ .dismissBtn {
+ box-shadow: 0 0 0 1px var(--color-gray);
+ }
+
+ .description {
+ text-align: center;
+ line-height: var(--line-height-base);
+ color: var(--color-gray);
+ margin-bottom: var(--jumbo-padding-y)
+ }
+
+ .modal {
+ @extend .modal;
+ padding: var(--sm-padding-y);
+ }
+
+ .overlay {
+ @extend .overlay;
+ }
+
+ .header {
+ margin: 0;
+ padding: 0;
+ border: none;
+ line-height: var(--title-position-left);
+ margin-bottom: var(--lg-padding-y);
+ }
+
+ .banUserCheckBox {
+ position: relative;
+ top:var(--ban-checkbox-top-offset);
+ margin-right: var(--ban-checkbox-margin-right);
+ [dir="rtl"] & {
+ margin-right: 0;
+ margin-left: var(--ban-checkbox-margin-right);
+ }
+ }
+
\ No newline at end of file
diff --git a/bigbluebutton-html5/imports/ui/components/nav-bar/component.jsx b/bigbluebutton-html5/imports/ui/components/nav-bar/component.jsx
index 703e71b90e..0a23e1e2c2 100755
--- a/bigbluebutton-html5/imports/ui/components/nav-bar/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/nav-bar/component.jsx
@@ -6,6 +6,7 @@ import { withModalMounter } from '/imports/ui/components/modal/service';
import withShortcutHelper from '/imports/ui/components/shortcut-help/service';
import getFromUserSettings from '/imports/ui/services/users-settings';
import { defineMessages, injectIntl } from 'react-intl';
+import Icon from '../icon/component';
import { styles } from './styles.scss';
import Button from '../button/component';
import RecordingIndicator from './recording-indicator/container';
@@ -91,6 +92,9 @@ class NavBar extends PureComponent {
+ {!isExpanded ? null
+ :
+ }
+ {isExpanded ? null
+ :
+ }
{presentationTitle}
diff --git a/bigbluebutton-html5/imports/ui/components/nav-bar/styles.scss b/bigbluebutton-html5/imports/ui/components/nav-bar/styles.scss
index 16f8785773..b3e4205a47 100755
--- a/bigbluebutton-html5/imports/ui/components/nav-bar/styles.scss
+++ b/bigbluebutton-html5/imports/ui/components/nav-bar/styles.scss
@@ -3,6 +3,9 @@
:root {
--mobile-nav-height: 5rem;
--mobile-margin-top: .25rem;
+ --arrow-l-left: 1.1rem;
+ --arrow-r-left: 2.5rem;
+ --arrow-size: 40%;
}
.navbar {
@@ -73,6 +76,31 @@
}
}
+.arrowRight,
+.arrowLeft {
+ position: absolute;
+ font-size: var(--arrow-size);
+ color: var(--color-white);
+}
+
+.arrowLeft {
+ width: var(--lg-padding-y);
+ left: var(--arrow-l-left);
+ [dir="rtl"] & {
+ right: var(--arrow-r-left);
+ left: 0;
+ }
+}
+
+.arrowRight {
+ width: var(--md-padding-x);
+ left: var(--arrow-r-left);
+ [dir="rtl"] & {
+ right: .5rem;
+ left: 0;
+ }
+}
+
.btn {
margin: 0;
diff --git a/bigbluebutton-html5/imports/ui/components/note/service.js b/bigbluebutton-html5/imports/ui/components/note/service.js
index 0bdfa4d02a..002f788437 100644
--- a/bigbluebutton-html5/imports/ui/components/note/service.js
+++ b/bigbluebutton-html5/imports/ui/components/note/service.js
@@ -43,7 +43,7 @@ const isLocked = () => {
const meeting = Meetings.findOne({ meetingId: Auth.meetingID }, { fields: { 'lockSettingsProps.disableNote': 1 } });
const user = Users.findOne({ userId: Auth.userID }, { fields: { locked: 1, role: 1 } });
- if (meeting.lockSettingsProps && user.locked && user.role !== ROLE_MODERATOR) {
+ if (meeting.lockSettingsProps && user.role !== ROLE_MODERATOR) {
return meeting.lockSettingsProps.disableNote;
}
return false;
@@ -90,7 +90,7 @@ const hasUnreadNotes = () => {
const lastRevs = getLastRevs();
return (revs !== 0 && revs > lastRevs);
-}
+};
const isEnabled = () => {
const note = Note.findOne({ meetingId: Auth.meetingID });
@@ -100,7 +100,7 @@ const isEnabled = () => {
const toggleNotePanel = () => {
Session.set(
'openPanel',
- isPanelOpened() ? 'userlist' : 'note'
+ isPanelOpened() ? 'userlist' : 'note',
);
};
@@ -116,5 +116,5 @@ export default {
getRevs,
setLastRevs,
getLastRevs,
- hasUnreadNotes
+ hasUnreadNotes,
};
diff --git a/bigbluebutton-html5/imports/ui/components/screenshare/service.js b/bigbluebutton-html5/imports/ui/components/screenshare/service.js
index ef1306338d..f2d71423fa 100644
--- a/bigbluebutton-html5/imports/ui/components/screenshare/service.js
+++ b/bigbluebutton-html5/imports/ui/components/screenshare/service.js
@@ -1,5 +1,6 @@
import Screenshare from '/imports/api/screenshare';
import KurentoBridge from '/imports/api/screenshare/client/bridge';
+import BridgeService from '/imports/api/screenshare/client/bridge/service';
import Settings from '/imports/ui/services/settings';
import logger from '/imports/startup/client/logger';
import { tryGenerateIceCandidates } from '/imports/utils/safari-webrtc';
@@ -56,7 +57,9 @@ const shareScreen = (onFail) => {
stopWatching();
}
- KurentoBridge.kurentoShareScreen(onFail);
+ BridgeService.getScreenStream().then((stream) => {
+ KurentoBridge.kurentoShareScreen(onFail, stream);
+ }).catch(onFail);
};
const screenShareEndAlert = () => new Audio(`${Meteor.settings.public.app.cdn + Meteor.settings.public.app.basename}/resources/sounds/ScreenshareOff.mp3`).play();
diff --git a/bigbluebutton-html5/imports/ui/components/shortcut-help/component.jsx b/bigbluebutton-html5/imports/ui/components/shortcut-help/component.jsx
index e5f563245b..97a88ccd05 100644
--- a/bigbluebutton-html5/imports/ui/components/shortcut-help/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/shortcut-help/component.jsx
@@ -32,43 +32,43 @@ const intlMessages = defineMessages({
id: 'app.shortcut-help.functionLabel',
description: 'heading for shortcut function column',
},
- openOptions: {
+ openoptions: {
id: 'app.shortcut-help.openOptions',
description: 'describes the open options shortcut',
},
- toggleUserList: {
+ toggleuserlist: {
id: 'app.shortcut-help.toggleUserList',
description: 'describes the toggle userlist shortcut',
},
- toggleMute: {
+ togglemute: {
id: 'app.shortcut-help.toggleMute',
description: 'describes the toggle mute shortcut',
},
- togglePublicChat: {
+ togglepublicchat: {
id: 'app.shortcut-help.togglePublicChat',
description: 'describes the toggle public chat shortcut',
},
- hidePrivateChat: {
+ hideprivatechat: {
id: 'app.shortcut-help.hidePrivateChat',
description: 'describes the hide public chat shortcut',
},
- closePrivateChat: {
+ closeprivatechat: {
id: 'app.shortcut-help.closePrivateChat',
description: 'describes the close private chat shortcut',
},
- openActions: {
+ openactions: {
id: 'app.shortcut-help.openActions',
description: 'describes the open actions shortcut',
},
- openStatus: {
+ openstatus: {
id: 'app.shortcut-help.openStatus',
description: 'describes the open status shortcut',
},
- joinAudio: {
+ joinaudio: {
id: 'app.audio.joinAudio',
description: 'describes the join audio shortcut',
},
- leaveAudio: {
+ leaveaudio: {
id: 'app.audio.leaveAudio',
description: 'describes the leave audio shortcut',
},
@@ -122,11 +122,10 @@ const ShortcutHelpComponent = (props) => {
const shortcutItems = shortcuts.map((shortcut) => {
if (!CHAT_ENABLED && shortcut.descId.indexOf('Chat') !== -1) return null;
-
return (
{`${accessMod} + ${shortcut.accesskey}`} |
- {intl.formatMessage(intlMessages[`${shortcut.descId}`])} |
+ {`${intl.formatMessage(intlMessages[`${shortcut.descId.toLowerCase()}`])}`} |
);
});
diff --git a/bigbluebutton-html5/imports/ui/components/shortcut-help/service.jsx b/bigbluebutton-html5/imports/ui/components/shortcut-help/service.jsx
index 01d1a5e500..4449ba56af 100644
--- a/bigbluebutton-html5/imports/ui/components/shortcut-help/service.jsx
+++ b/bigbluebutton-html5/imports/ui/components/shortcut-help/service.jsx
@@ -23,7 +23,7 @@ const withShortcutHelper = (WrappedComponent, param) => (props) => {
.pop();
} else {
shortcuts = shortcuts
- .filter(el => param.includes(el.descId))
+ .filter(el => param.map(p => p.toLowerCase()).includes(el.descId.toLowerCase()))
.reduce((acc, current) => {
acc[current.descId] = current.accesskey;
return acc;
diff --git a/bigbluebutton-html5/imports/ui/components/subscriptions/component.jsx b/bigbluebutton-html5/imports/ui/components/subscriptions/component.jsx
index 8626858415..2ba28e04d4 100755
--- a/bigbluebutton-html5/imports/ui/components/subscriptions/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/subscriptions/component.jsx
@@ -3,14 +3,12 @@ import { withTracker } from 'meteor/react-meteor-data';
import Auth from '/imports/ui/services/auth';
import logger from '/imports/startup/client/logger';
import GroupChat from '/imports/api/group-chat';
-import Users from '/imports/api/users';
import Annotations from '/imports/api/annotations';
import AnnotationsTextService from '/imports/ui/components/whiteboard/annotations/text/service';
import { Annotations as AnnotationsLocal } from '/imports/ui/components/whiteboard/service';
const CHAT_CONFIG = Meteor.settings.public.chat;
-const ROLE_MODERATOR = Meteor.settings.public.user.role_moderator;
const CHAT_ENABLED = CHAT_CONFIG.enabled;
const PUBLIC_GROUP_CHAT_ID = CHAT_CONFIG.public_group_id;
const PUBLIC_CHAT_TYPE = CHAT_CONFIG.type_public;
@@ -20,7 +18,7 @@ const SUBSCRIPTIONS = [
'voiceUsers', 'whiteboard-multi-user', 'screenshare', 'group-chat',
'presentation-pods', 'users-settings', 'guestUser', 'users-infos', 'note', 'meeting-time-remaining',
'network-information', 'ping-pong', 'local-settings', 'users-typing', 'record-meetings', 'video-streams',
- 'voice-call-states',
+ 'voice-call-states', 'breakouts',
];
class Subscriptions extends Component {
@@ -62,7 +60,6 @@ export default withTracker(() => {
return Meteor.subscribe(
name,
- credentials,
subscriptionErrorHandler,
);
});
@@ -88,15 +85,6 @@ export default withTracker(() => {
subscriptionsHandlers.push(groupChatMessageHandler);
}
- const User = Users.findOne({ intId: requesterUserId }, { fields: { role: 1 } });
-
- if (User) {
- const userIsModerator = User.role === ROLE_MODERATOR;
- Meteor.subscribe('users', userIsModerator, subscriptionErrorHandler);
- Meteor.subscribe('breakouts', userIsModerator, subscriptionErrorHandler);
- Meteor.subscribe('meetings', userIsModerator, subscriptionErrorHandler);
- }
-
const annotationsHandler = Meteor.subscribe('annotations', {
onReady: () => {
const activeTextShapeId = AnnotationsTextService.activeTextShapeId();
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/service.js b/bigbluebutton-html5/imports/ui/components/user-list/service.js
index e3b0e38a39..70b3dd9ea8 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/service.js
+++ b/bigbluebutton-html5/imports/ui/components/user-list/service.js
@@ -42,6 +42,8 @@ const CUSTOM_LOGO_URL_KEY = 'CustomLogoUrl';
export const setCustomLogoUrl = path => Storage.setItem(CUSTOM_LOGO_URL_KEY, path);
+export const setModeratorOnlyMessage = msg => Storage.setItem('ModeratorOnlyMessage', msg);
+
const getCustomLogoUrl = () => Storage.getItem(CUSTOM_LOGO_URL_KEY);
const sortUsersByName = (a, b) => {
@@ -303,8 +305,7 @@ const isMeetingLocked = (id) => {
if (lockSettings.disableCam
|| lockSettings.disableMic
|| lockSettings.disablePrivateChat
- || lockSettings.disablePublicChat
- || lockSettings.disableNote) {
+ || lockSettings.disablePublicChat) {
isLocked = true;
}
}
@@ -408,11 +409,11 @@ const setEmojiStatus = (userId, emoji) => {
const assignPresenter = (userId) => { makeCall('assignPresenter', userId); };
-const removeUser = (userId) => {
+const removeUser = (userId, banUser) => {
if (isVoiceOnlyUser(userId)) {
makeCall('ejectUserFromVoice', userId);
} else {
- makeCall('removeUser', userId);
+ makeCall('removeUser', userId, banUser);
}
};
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/container.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/container.jsx
index 3809599184..20baca6303 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/container.jsx
@@ -15,6 +15,7 @@ export default withTracker(() => ({
fields: {
userId: 1,
role: 1,
+ guest: 1,
locked: 1,
presenter: 1,
},
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
index fac980e0fd..152d9c98c4 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/styles.scss
@@ -32,6 +32,7 @@
border-radius: none;
}
+ overflow-x: hidden;
outline-width: 1px !important;
outline-color: transparent !important;
}
@@ -70,6 +71,11 @@
font-size: 175%;
color: var(--color-gray-light);
flex: 0 0 2.2rem;
+ margin-right: var(--sm-padding-x);
+ [dir="rtl"] & {
+ margin-right: 0;
+ margin-left: var(--sm-padding-x);
+ }
}
> span {
@@ -91,6 +97,12 @@
}
}
+ div {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+
&:active {
background-color: var(--list-item-bg-hover);
box-shadow: inset 0 0 0 var(--border-size) var(--item-focus-border), inset 1px 0 0 1px var(--item-focus-border);
@@ -134,3 +146,18 @@
overflow: hidden;
flex-shrink: 1;
}
+
+.noteLock {
+ font-weight: 200;
+ font-size: var(--font-size-smaller);
+ color: var(--color-gray);
+
+ > i {
+ font-size: var(--font-size-xs);
+ }
+}
+
+.noteTitle {
+ font-weight: 400;
+ font-size: var(--font-size-small);
+}
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
index 7dab4f051b..d73376919b 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/component.jsx
@@ -26,6 +26,14 @@ const intlMessages = defineMessages({
id: 'app.userList.notesListItem.unreadContent',
description: 'Aria label for notes unread content',
},
+ locked: {
+ id: 'app.userList.locked',
+ description: '',
+ },
+ byModerator: {
+ id: 'app.userList.byModerator',
+ description: '',
+ },
});
class UserNotes extends Component {
@@ -59,7 +67,7 @@ class UserNotes extends Component {
}
renderNotes() {
- const { intl } = this.props;
+ const { intl, disableNote } = this.props;
const { unread } = this.state;
let notification = null;
@@ -84,14 +92,26 @@ class UserNotes extends Component {
onClick={NoteService.toggleNotePanel}
>
-
{intl.formatMessage(intlMessages.sharedNotes)}
+
+
+ {intl.formatMessage(intlMessages.sharedNotes)}
+
+ {disableNote
+ ? (
+
+
+ {`${intl.formatMessage(intlMessages.locked)} ${intl.formatMessage(intlMessages.byModerator)}`}
+
+ ) : null
+ }
+
{notification}
);
}
render() {
- const { intl } = this.props;
+ const { intl, disableNote } = this.props;
if (!NoteService.isEnabled()) return null;
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
index 4e8f514ec2..9090376936 100644
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-notes/container.jsx
@@ -1,11 +1,28 @@
import React from 'react';
import { withTracker } from 'meteor/react-meteor-data';
import NoteService from '/imports/ui/components/note/service';
+import Meetings from '/imports/api/meetings';
+import Users from '/imports/api/users';
+import Auth from '/imports/ui/services/auth';
import UserNotes from './component';
+const ROLE_VIEWER = Meteor.settings.public.user.role_viewer;
+
const UserNotesContainer = props =>
;
-export default withTracker(() => ({
- isPanelOpened: NoteService.isPanelOpened(),
- revs: NoteService.getRevs(),
-}))(UserNotesContainer);
+export default withTracker(() => {
+ const Meeting = Meetings.findOne({ meetingId: Auth.meetingID },
+ { fields: { 'lockSettingsProps.disableNote': 1 } });
+ const isViewer = Users.findOne({ meetingId: Auth.meetingID, userId: Auth.userID }, {
+ fields: {
+ role: 1,
+ },
+ }).role === ROLE_VIEWER;
+ const shouldDisableNote = (Meeting.lockSettingsProps.disableNote) && isViewer;
+
+ return {
+ isPanelOpened: NoteService.isPanelOpened(),
+ revs: NoteService.getRevs(),
+ disableNote: shouldDisableNote,
+ };
+})(UserNotesContainer);
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx
index 9bca16580e..cbe5dc9ed1 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/component.jsx
@@ -57,6 +57,7 @@ class UserParticipants extends Component {
this.rove = this.rove.bind(this);
this.changeState = this.changeState.bind(this);
this.getUsers = this.getUsers.bind(this);
+ this.handleClickSelectedUser = this.handleClickSelectedUser.bind(this);
}
componentDidMount() {
@@ -66,6 +67,11 @@ class UserParticipants extends Component {
'keydown',
this.rove,
);
+
+ this.refScrollContainer.addEventListener(
+ 'click',
+ this.handleClickSelectedUser,
+ );
}
}
@@ -88,6 +94,7 @@ class UserParticipants extends Component {
componentWillUnmount() {
this.refScrollContainer.removeEventListener('keydown', this.rove);
+ this.refScrollContainer.removeEventListener('click', this.handleClickSelectedUser);
}
getScrollContainerRef() {
@@ -134,6 +141,11 @@ class UserParticipants extends Component {
));
}
+ handleClickSelectedUser(event) {
+ const selectedUser = event.path.find(p => p.className && p.className.includes('participantsList'));
+ this.setState({ selectedUser });
+ }
+
rove(event) {
const { roving } = this.props;
const { selectedUser } = this.state;
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/component.jsx
index 452fa10ff7..d7c805ea7f 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/component.jsx
@@ -11,7 +11,8 @@ import DropdownList from '/imports/ui/components/dropdown/list/component';
import DropdownListItem from '/imports/ui/components/dropdown/list/item/component';
import DropdownListSeparator from '/imports/ui/components/dropdown/list/separator/component';
import lockContextContainer from '/imports/ui/components/lock-viewers/context/container';
-
+import { withModalMounter } from '/imports/ui/components/modal/service';
+import RemoveUserModal from '/imports/ui/components/modal/remove-user/component';
import _ from 'lodash';
import { Session } from 'meteor/session';
import { styles } from './styles';
@@ -103,6 +104,22 @@ const messages = defineMessages({
id: 'app.userList.handAlert',
description: 'text displayed in raise hand toast',
},
+ yesLabel: {
+ id: 'app.endMeeting.yesLabel',
+ description: 'confirm button label',
+ },
+ noLabel: {
+ id: 'app.endMeeting.noLabel',
+ description: 'cancel confirm button label',
+ },
+ removeConfirmTitle: {
+ id: 'app.userList.menu.removeConfirmation.label',
+ description: 'title for remove user confirmation modal',
+ },
+ removeConfirmDesc: {
+ id: 'app.userlist.menu.removeConfirmation.desc',
+ description: 'description for remove user confirmation',
+ },
});
const propTypes = {
@@ -227,6 +244,7 @@ class UserDropdown extends PureComponent {
userLocks,
isMe,
meetingIsBreakout,
+ mountModal,
} = this.props;
const { showNestedOptions } = this.state;
@@ -352,7 +370,7 @@ class UserDropdown extends PureComponent {
));
}
- if (allowedToPromote && isMeteorConnected) {
+ if (allowedToPromote && !user.guest && isMeteorConnected) {
actions.push(this.makeDropdownItem(
'promote',
intl.formatMessage(messages.PromoteUserLabel),
@@ -361,7 +379,7 @@ class UserDropdown extends PureComponent {
));
}
- if (allowedToDemote && isMeteorConnected) {
+ if (allowedToDemote && !user.guest && isMeteorConnected) {
actions.push(this.makeDropdownItem(
'demote',
intl.formatMessage(messages.DemoteUserLabel),
@@ -394,7 +412,13 @@ class UserDropdown extends PureComponent {
actions.push(this.makeDropdownItem(
'remove',
intl.formatMessage(messages.RemoveUserLabel, { 0: user.name }),
- () => this.onActionsHide(removeUser(user.userId)),
+ () => this.onActionsHide(mountModal(
+
,
+ )),
'circle_close',
));
}
@@ -652,4 +676,4 @@ class UserDropdown extends PureComponent {
}
UserDropdown.propTypes = propTypes;
-export default lockContextContainer(UserDropdown);
+export default withModalMounter(lockContextContainer(UserDropdown));
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/styles.scss b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/styles.scss
index 3e6e5bd0aa..50e88bcdfa 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/styles.scss
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-list-item/user-dropdown/styles.scss
@@ -1,6 +1,12 @@
@import "/imports/ui/components/user-list/styles.scss";
@import "/imports/ui/stylesheets/variables/_all";
@import '/imports/ui/stylesheets/mixins/_indicators';
+@import '/imports/ui/stylesheets/mixins/focus';
+@import "/imports/ui/components/modal/simple/styles";
+
+:root {
+ --description-margin: 3.5rem;
+}
/* Animations
* ==========
@@ -88,6 +94,8 @@
outline-style: solid;
background-color: var(--list-item-bg-hover);
box-shadow: inset 0 0 0 var(--border-size) var(--item-focus-border), inset 1px 0 0 1px var(--item-focus-border);
+ border-top-left-radius: var(--sm-padding-y);
+ border-bottom-left-radius: var(--sm-padding-y);
&:focus {
outline-style: solid;
@@ -96,7 +104,7 @@
}
.userListItem {
- //@extend %list-item;
+ @extend %list-item;
flex-flow: column;
flex-shrink: 0;
}
diff --git a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-options/component.jsx b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-options/component.jsx
index 4a2d414f72..20880d4ea8 100755
--- a/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-options/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/user-list/user-list-content/user-participants/user-options/component.jsx
@@ -241,7 +241,7 @@ class UserOptions extends PureComponent {
/>)
: null
),
- (isMeteorConnected ? (
+ (!meetingIsBreakout && isMeteorConnected ? (
{
logger.warn({
logCode: 'video_preview_do_gum_preview_error',
@@ -465,7 +464,7 @@ class VideoPreview extends Component {
const {
intl,
skipVideoPreview,
- sharedDevices
+ sharedDevices,
} = this.props;
const {
@@ -505,37 +504,37 @@ class VideoPreview extends Component {
)
}
{ shared
- ? (
-
- {intl.formatMessage(intlMessages.sharedCameraLabel)}
-
- )
- : (
-
-
- { availableProfiles && availableProfiles.length > 0
- ? (
-
- )
- : (
-
- {intl.formatMessage(intlMessages.profileNotFoundLabel)}
-
- )
+ ? (
+
+ {intl.formatMessage(intlMessages.sharedCameraLabel)}
+
+ )
+ : (
+
+
+ { availableProfiles && availableProfiles.length > 0
+ ? (
+
+ )
+ : (
+
+ {intl.formatMessage(intlMessages.profileNotFoundLabel)}
+
+ )
}
)
@@ -568,11 +567,11 @@ class VideoPreview extends Component {
);
case VIEW_STATES.error:
- return (
-
- );
+ return (
+
+ );
case VIEW_STATES.found:
default:
return (
@@ -648,7 +647,7 @@ class VideoPreview extends Component {
/>
;
+const ROLE_MODERATOR = Meteor.settings.public.user.role_moderator;
+
+const isCamLocked = () => {
+ const meeting = Meetings.findOne({ meetingId: Auth.meetingID },
+ { fields: { 'lockSettingsProps.disableCam': 1 } });
+ const user = Users.findOne({ meetingId: Auth.meetingID, userId: Auth.userID },
+ { fields: { locked: 1, role: 1 } });
+
+ if (meeting.lockSettingsProps !== undefined) {
+ if (user.locked && user.role !== ROLE_MODERATOR) {
+ return meeting.lockSettingsProps.disableCam;
+ }
+ }
+ return false;
+};
+
export default withModalMounter(withTracker(({ mountModal, fromInterface }) => ({
- startSharing: deviceId => {
+ startSharing: (deviceId) => {
mountModal(null);
VideoService.joinVideo(deviceId);
},
- stopSharing: deviceId => {
+ stopSharing: (deviceId) => {
mountModal(null);
const stream = VideoService.getMyStream(deviceId);
if (stream) VideoService.stopVideo(stream);
},
sharedDevices: VideoService.getSharedDevices(),
+ isCamLocked: isCamLocked(),
closeModal: () => mountModal(null),
changeWebcam: deviceId => Service.changeWebcam(deviceId),
webcamDeviceId: Service.webcamDeviceId(),
diff --git a/bigbluebutton-html5/imports/ui/components/video-provider/component.jsx b/bigbluebutton-html5/imports/ui/components/video-provider/component.jsx
index 5ea21488b3..910f89894a 100755
--- a/bigbluebutton-html5/imports/ui/components/video-provider/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/video-provider/component.jsx
@@ -4,7 +4,10 @@ import ReconnectingWebSocket from 'reconnecting-websocket';
import VideoService from './service';
import VideoList from './video-list/component';
import { defineMessages, injectIntl } from 'react-intl';
-import { fetchWebRTCMappedStunTurnServers } from '/imports/utils/fetchStunTurnServers';
+import {
+ fetchWebRTCMappedStunTurnServers,
+ getMappedFallbackStun,
+} from '/imports/utils/fetchStunTurnServers';
import { tryGenerateIceCandidates } from '/imports/utils/safari-webrtc';
import logger from '/imports/startup/client/logger';
@@ -210,13 +213,9 @@ class VideoProvider extends Component {
const streamsCameraIds = streams.map(s => s.cameraId);
const streamsConnected = Object.keys(this.webRtcPeers);
- const streamsToConnect = streamsCameraIds.filter(cameraId => {
- return !streamsConnected.includes(cameraId);
- });
+ const streamsToConnect = streamsCameraIds.filter(cameraId => !streamsConnected.includes(cameraId));
- const streamsToDisconnect = streamsConnected.filter(cameraId => {
- return !streamsCameraIds.includes(cameraId);
- });
+ const streamsToDisconnect = streamsConnected.filter(cameraId => !streamsCameraIds.includes(cameraId));
streamsToConnect.forEach((cameraId) => {
const isLocal = VideoService.isLocalStream(cameraId);
@@ -427,9 +426,12 @@ class VideoProvider extends Component {
logger.error({
logCode: 'video_provider_fetchstunturninfo_error',
extraInfo: {
- error,
+ errorCode: error.code,
+ errorMessage: error.message,
},
}, 'video-provider failed to fetch STUN/TURN info, using default');
+ // Use fallback STUN server
+ iceServers = getMappedFallbackStun();
} finally {
const { constraints, bitrate, id: profileId } = VideoService.getCameraProfile();
this.outboundIceQueues[cameraId] = [];
@@ -612,7 +614,7 @@ class VideoProvider extends Component {
this.restartTimeout[cameraId] = setTimeout(
this._getWebRTCStartTimeout(cameraId, isLocal),
- this.restartTimer[cameraId]
+ this.restartTimer[cameraId],
);
}
}
diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
index a05ddfb9ee..c9da2f1e72 100644
--- a/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
+++ b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/component.jsx
@@ -1,7 +1,8 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import PollService from '/imports/ui/components/poll/service';
-import { injectIntl } from 'react-intl';
+import { injectIntl, intlShape } from 'react-intl';
+import styles from './styles';
class PollDrawComponent extends Component {
constructor(props) {
@@ -96,6 +97,28 @@ class PollDrawComponent extends Component {
for (let i = 0; i < arrayLength; i += 1) {
const _tempArray = [];
const _result = result[i];
+ let isDefaultPoll;
+ switch (_result.key.toLowerCase()) {
+ case 'true':
+ case 'false':
+ case 'yes':
+ case 'no':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ isDefaultPoll = true;
+ break;
+ default:
+ isDefaultPoll = false;
+ break;
+ }
+
+ if (isDefaultPoll) {
+ _result.key = intl.formatMessage({ id: `app.poll.answer.${_result.key.toLowerCase()}` });
+ }
+
_tempArray.push(_result.key, `${_result.numVotes}`);
if (votesTotal === 0) {
_tempArray.push('0%');
@@ -431,6 +454,7 @@ class PollDrawComponent extends Component {
y={line.keyColumn.yLeft}
dy={maxLineHeight / 2}
key={`${line.key}_key`}
+ className={styles.outline}
>
{line.keyColumn.keyString}
@@ -462,6 +486,7 @@ class PollDrawComponent extends Component {
y={line.percentColumn.yRight}
dy={maxLineHeight / 2}
key={`${line.key}_percent`}
+ className={styles.outline}
>
{line.percentColumn.percentString}
@@ -482,6 +507,7 @@ class PollDrawComponent extends Component {
dy={maxLineHeight / 2}
key={`${line.key}_numVotes`}
fill={line.barColumn.color}
+ className={styles.outline}
>
{line.barColumn.numVotes}
@@ -578,6 +604,7 @@ class PollDrawComponent extends Component {
export default injectIntl(PollDrawComponent);
PollDrawComponent.propTypes = {
+ intl: intlShape.isRequired,
// Defines an annotation object, which contains all the basic info we need to draw a line
annotation: PropTypes.shape({
id: PropTypes.string.isRequired,
diff --git a/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/styles.scss b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/styles.scss
new file mode 100644
index 0000000000..dda7863fd0
--- /dev/null
+++ b/bigbluebutton-html5/imports/ui/components/whiteboard/annotations/poll/styles.scss
@@ -0,0 +1,10 @@
+@import "/imports/ui/stylesheets/variables/_all";
+
+:root {
+ --poll-annotation-gray: #333333;
+}
+
+.outline {
+ stroke: var(--poll-annotation-gray);
+ stroke-width: .5;
+}
\ No newline at end of file
diff --git a/bigbluebutton-html5/imports/ui/services/settings/index.js b/bigbluebutton-html5/imports/ui/services/settings/index.js
index a8d9b7f945..1c764730ad 100644
--- a/bigbluebutton-html5/imports/ui/services/settings/index.js
+++ b/bigbluebutton-html5/imports/ui/services/settings/index.js
@@ -34,8 +34,8 @@ class Settings {
// Sets default locale to browser locale
defaultValues.application.locale = navigator.languages ? navigator.languages[0] : false
- || navigator.language
- || defaultValues.application.locale;
+ || navigator.language
+ || defaultValues.application.locale;
this.setDefault(defaultValues);
}
@@ -65,7 +65,13 @@ class Settings {
userSettings[e] = this[e];
});
- makeCall('userChangedLocalSettings', userSettings);
+ Tracker.autorun((c) => {
+ const { status } = Meteor.status();
+ if (status === 'connected') {
+ c.stop();
+ makeCall('userChangedLocalSettings', userSettings);
+ }
+ });
}
}
diff --git a/bigbluebutton-html5/imports/utils/fetchStunTurnServers.js b/bigbluebutton-html5/imports/utils/fetchStunTurnServers.js
index ee90b03d21..d9956ac171 100644
--- a/bigbluebutton-html5/imports/utils/fetchStunTurnServers.js
+++ b/bigbluebutton-html5/imports/utils/fetchStunTurnServers.js
@@ -2,11 +2,18 @@ import _ from 'lodash';
const MEDIA = Meteor.settings.public.media;
const STUN_TURN_FETCH_URL = MEDIA.stunTurnServersFetchAddress;
+const CACHE_STUN_TURN = MEDIA.cacheStunTurnServers;
+const FALLBACK_STUN_SERVER = MEDIA.fallbackStunServer;
+
+let STUN_TURN_DICT;
+let MAPPED_STUN_TURN_DICT;
const fetchStunTurnServers = function (sessionToken) {
+ if (STUN_TURN_DICT && CACHE_STUN_TURN) return Promise.resolve(STUN_TURN_DICT);
+
const handleStunTurnResponse = ({ stunServers, turnServers }) => {
if (!stunServers && !turnServers) {
- return { error: 404, stun: [], turn: [] };
+ return Promise.reject(new Error('Could not fetch STUN/TURN servers'));
}
const turnReply = [];
@@ -19,35 +26,55 @@ const fetchStunTurnServers = function (sessionToken) {
});
});
- return {
+ const stDictionary = {
stun: stunServers.map(server => server.url),
turn: turnReply,
};
+
+ STUN_TURN_DICT = stDictionary;
+
+ return Promise.resolve(stDictionary);
};
const url = `${STUN_TURN_FETCH_URL}?sessionToken=${sessionToken}`;
return fetch(url, { credentials: 'same-origin' })
.then(res => res.json())
- .then(handleStunTurnResponse)
- .then((response) => {
- if (response.error) {
- return Promise.reject('Could not fetch the stuns/turns servers!');
- }
- return response;
- });
+ .then(handleStunTurnResponse);
};
+const mapStunTurn = ({ stun, turn }) => {
+ const rtcStuns = stun.map(url => ({ urls: url }));
+ const rtcTurns = turn.map(t => ({ urls: t.urls, credential: t.password, username: t.username }));
+ return rtcStuns.concat(rtcTurns);
+};
+
+const getFallbackStun = () => {
+ const stun = FALLBACK_STUN_SERVER ? [FALLBACK_STUN_SERVER] : [];
+ return { stun, turn: [] };
+};
+
+const getMappedFallbackStun = () => (FALLBACK_STUN_SERVER ? [{ urls: FALLBACK_STUN_SERVER }] : []);
+
const fetchWebRTCMappedStunTurnServers = function (sessionToken) {
return new Promise(async (resolve, reject) => {
try {
- const { stun, turn } = await fetchStunTurnServers(sessionToken);
- const rtcStuns = stun.map(url => ({ urls: url }));
- const rtcTurns = turn.map(t => ({ urls: t.urls, credential: t.password, username: t.username }));
- return resolve(rtcStuns.concat(rtcTurns));
+ if (MAPPED_STUN_TURN_DICT && CACHE_STUN_TURN) {
+ return resolve(MAPPED_STUN_TURN_DICT);
+ }
+
+ const stDictionary = await fetchStunTurnServers(sessionToken);
+
+ MAPPED_STUN_TURN_DICT = mapStunTurn(stDictionary);
+ return resolve(MAPPED_STUN_TURN_DICT);
} catch (error) {
return reject(error);
}
});
};
-export { fetchStunTurnServers, fetchWebRTCMappedStunTurnServers };
+export {
+ fetchStunTurnServers,
+ fetchWebRTCMappedStunTurnServers,
+ getFallbackStun,
+ getMappedFallbackStun,
+};
diff --git a/bigbluebutton-html5/imports/utils/safari-webrtc.js b/bigbluebutton-html5/imports/utils/safari-webrtc.js
index f1101cc146..01d1149f7c 100644
--- a/bigbluebutton-html5/imports/utils/safari-webrtc.js
+++ b/bigbluebutton-html5/imports/utils/safari-webrtc.js
@@ -1,34 +1,19 @@
-import { fetchWebRTCMappedStunTurnServers } from '/imports/utils/fetchStunTurnServers';
+import {
+ fetchWebRTCMappedStunTurnServers,
+ getMappedFallbackStun,
+} from '/imports/utils/fetchStunTurnServers';
import Auth from '/imports/ui/services/auth';
import { Session } from 'meteor/session';
import logger from '/imports/startup/client/logger';
-const defaultIceServersList = [
- { urls: 'stun:stun.l.google.com:19302' },
- { urls: 'stun:stun1.l.google.com:19302' },
- { urls: 'stun:stun2.l.google.com:19302' },
- { urls: 'stun:stun3.l.google.com:19302' },
- { urls: 'stun:stun4.l.google.com:19302' },
- { urls: 'stun:stun.ekiga.net' },
- { urls: 'stun:stun.ideasip.com' },
- { urls: 'stun:stun.schlund.de' },
- { urls: 'stun:stun.stunprotocol.org:3478' },
- { urls: 'stun:stun.voiparound.com' },
- { urls: 'stun:stun.voipbuster.com' },
- { urls: 'stun:stun.voipstunt.com' },
- { urls: 'stun:stun.voxgratia.org' },
- { urls: 'stun:stun.services.mozilla.com' },
-];
-
const getSessionToken = () => Auth.sessionToken;
export async function getIceServersList() {
try {
const iceServers = await fetchWebRTCMappedStunTurnServers(getSessionToken());
-
- return iceServers || defaultIceServersList;
+ return iceServers;
} catch (error) {
- return defaultIceServersList;
+ return getMappedFallbackStun();
}
}
diff --git a/bigbluebutton-html5/package-lock.json b/bigbluebutton-html5/package-lock.json
index bfc020994a..acce16994d 100644
--- a/bigbluebutton-html5/package-lock.json
+++ b/bigbluebutton-html5/package-lock.json
@@ -4,28 +4,28 @@
"lockfileVersion": 1,
"dependencies": {
"@babel/code-frame": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
- "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.8.3"
}
},
"@babel/core": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz",
- "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
- "@babel/generator": "^7.9.0",
+ "@babel/generator": "^7.9.6",
"@babel/helper-module-transforms": "^7.9.0",
- "@babel/helpers": "^7.9.0",
- "@babel/parser": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
"@babel/template": "^7.8.6",
- "@babel/traverse": "^7.9.0",
- "@babel/types": "^7.9.0",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.1",
@@ -36,26 +36,6 @@
"source-map": "^0.5.0"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
- "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.8.3"
- }
- },
- "@babel/highlight": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
- "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.9.0",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -65,12 +45,6 @@
"ms": "^2.1.1"
}
},
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -86,23 +60,17 @@
}
},
"@babel/generator": {
- "version": "7.9.4",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.4.tgz",
- "integrity": "sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.9.0",
+ "@babel/types": "^7.9.6",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
"source-map": "^0.5.0"
},
"dependencies": {
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true
- },
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -112,14 +80,14 @@
}
},
"@babel/helper-function-name": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
- "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
"dev": true,
"requires": {
"@babel/helper-get-function-arity": "^7.8.3",
"@babel/template": "^7.8.3",
- "@babel/types": "^7.8.3"
+ "@babel/types": "^7.9.5"
}
},
"@babel/helper-get-function-arity": {
@@ -180,15 +148,15 @@
"dev": true
},
"@babel/helper-replace-supers": {
- "version": "7.8.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
- "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
"dev": true,
"requires": {
"@babel/helper-member-expression-to-functions": "^7.8.3",
"@babel/helper-optimise-call-expression": "^7.8.3",
- "@babel/traverse": "^7.8.6",
- "@babel/types": "^7.8.6"
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/helper-simple-access": {
@@ -211,82 +179,48 @@
}
},
"@babel/helper-validator-identifier": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz",
- "integrity": "sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
"dev": true
},
"@babel/helpers": {
- "version": "7.9.2",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.2.tgz",
- "integrity": "sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
"dev": true,
"requires": {
"@babel/template": "^7.8.3",
- "@babel/traverse": "^7.9.0",
- "@babel/types": "^7.9.0"
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/highlight": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
- "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"dev": true,
"requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
}
},
"@babel/parser": {
- "version": "7.9.4",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz",
- "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
"dev": true
},
+ "@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
"@babel/plugin-syntax-bigint": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
@@ -296,6 +230,51 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
+ "@babel/plugin-syntax-class-properties": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.8.3.tgz",
+ "integrity": "sha512-UcAyQWg2bAN647Q+O811tG9MrJ38Z10jjhQdKNAL8fsyPzE3cCN/uT+f55cFVY4aGO4jqJAvmqsuY3GQDwAoXg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.8.3.tgz",
+ "integrity": "sha512-Zpg2Sgc++37kuFl6ppq2Q7Awc6E6AIW671x5PY8E/f7MCIyPPGK/EoeZXvvY3P42exZ3Q4/t3YOzP/HiN79jDg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
+ "@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-numeric-separator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz",
+ "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ }
+ },
"@babel/plugin-syntax-object-rest-spread": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
@@ -305,19 +284,30 @@
"@babel/helper-plugin-utils": "^7.8.0"
}
},
- "@babel/runtime": {
- "version": "7.7.7",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.7.7.tgz",
- "integrity": "sha512-uCnC2JEVAu8AKB5do1WRIsvrdJ0flYx/A/9f/6chdacnEZ7LmavjdsDXr5ksYBegxtuTPR5Va9/+13QF/kFkCA==",
+ "@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
"requires": {
- "regenerator-runtime": "^0.13.2"
- },
- "dependencies": {
- "regenerator-runtime": {
- "version": "0.13.3",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
- "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
- }
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
}
},
"@babel/template": {
@@ -329,73 +319,25 @@
"@babel/code-frame": "^7.8.3",
"@babel/parser": "^7.8.6",
"@babel/types": "^7.8.6"
- },
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
- "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.8.3"
- }
- },
- "@babel/highlight": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
- "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.9.0",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- }
}
},
"@babel/traverse": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.0.tgz",
- "integrity": "sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.8.3",
- "@babel/generator": "^7.9.0",
- "@babel/helper-function-name": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
"@babel/helper-split-export-declaration": "^7.8.3",
- "@babel/parser": "^7.9.0",
- "@babel/types": "^7.9.0",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
},
"dependencies": {
- "@babel/code-frame": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
- "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.8.3"
- }
- },
- "@babel/highlight": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
- "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.9.0",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -405,12 +347,6 @@
"ms": "^2.1.1"
}
},
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -420,12 +356,12 @@
}
},
"@babel/types": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.0.tgz",
- "integrity": "sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
"dev": true,
"requires": {
- "@babel/helper-validator-identifier": "^7.9.0",
+ "@babel/helper-validator-identifier": "^7.9.5",
"lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
@@ -554,13 +490,14 @@
"integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw=="
},
"@istanbuljs/load-nyc-config": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz",
- "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
"dev": true,
"requires": {
"camelcase": "^5.3.1",
"find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
"js-yaml": "^3.13.1",
"resolve-from": "^5.0.0"
},
@@ -635,14 +572,15 @@
"dev": true
},
"@jest/console": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.2.6.tgz",
- "integrity": "sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.5.0.tgz",
+ "integrity": "sha512-T48kZa6MK1Y6k4b89sexwmSF4YLeZS/Udqg3Jj3jG/cHH+N/sLFCEoXEDMOKugJQ9FxPN1osxIknvKkxt6MKyw==",
"dev": true,
"requires": {
- "@jest/source-map": "^25.2.6",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
- "jest-util": "^25.2.6",
+ "jest-message-util": "^25.5.0",
+ "jest-util": "^25.5.0",
"slash": "^3.0.0"
},
"dependencies": {
@@ -704,60 +642,205 @@
}
}
},
- "@jest/environment": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.6.tgz",
- "integrity": "sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg==",
+ "@jest/core": {
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.5.4.tgz",
+ "integrity": "sha512-3uSo7laYxF00Dg/DMgbn4xMJKmDdWvZnf89n8Xj/5/AeQ2dOQmn6b6Hkj/MleyzZWXpwv+WSdYWl4cLsy2JsoA==",
"dev": true,
"requires": {
- "@jest/fake-timers": "^25.2.6",
- "@jest/types": "^25.2.6",
- "jest-mock": "^25.2.6"
+ "@jest/console": "^25.5.0",
+ "@jest/reporters": "^25.5.1",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^25.5.0",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-regex-util": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-resolve-dependencies": "^25.5.4",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
+ "jest-watcher": "^25.5.0",
+ "micromatch": "^4.0.2",
+ "p-each-series": "^2.1.0",
+ "realpath-native": "^2.0.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "dependencies": {
+ "ansi-escapes": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.11.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
+ }
+ },
+ "@jest/environment": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.5.0.tgz",
+ "integrity": "sha512-U2VXPEqL07E/V7pSZMSQCvV5Ea4lqOlT+0ZFijl/i316cRMHvZ4qC+jBdryd+lmRetjQo0YIQr6cVPNxxK87mA==",
+ "dev": true,
+ "requires": {
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0"
}
},
"@jest/fake-timers": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.6.tgz",
- "integrity": "sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.5.0.tgz",
+ "integrity": "sha512-9y2+uGnESw/oyOI3eww9yaxdZyHq7XvprfP/eeoCsjqKYts2yRlsHS/SgjPDV8FyMfn2nbMy8YzUk6nyvdLOpQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
- "jest-message-util": "^25.2.6",
- "jest-mock": "^25.2.6",
- "jest-util": "^25.2.6",
+ "@jest/types": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
"lolex": "^5.0.0"
}
},
+ "@jest/globals": {
+ "version": "25.5.2",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-25.5.2.tgz",
+ "integrity": "sha512-AgAS/Ny7Q2RCIj5kZ+0MuKM1wbF0WMLxbCVl/GOMoCNbODRdJ541IxJ98xnZdVSZXivKpJlNPIWa3QmY0l4CXA==",
+ "dev": true,
+ "requires": {
+ "@jest/environment": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "expect": "^25.5.0"
+ }
+ },
"@jest/reporters": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.6.tgz",
- "integrity": "sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA==",
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.5.1.tgz",
+ "integrity": "sha512-3jbd8pPDTuhYJ7vqiHXbSwTJQNavczPs+f1kRprRDxETeE3u6srJ+f0NPuwvOmk+lmunZzPkYWIFZDLHQPkviw==",
"dev": true,
"requires": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^25.2.6",
- "@jest/test-result": "^25.2.6",
- "@jest/transform": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/console": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
"istanbul-lib-coverage": "^3.0.0",
"istanbul-lib-instrument": "^4.0.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.0",
- "jest-haste-map": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-util": "^25.2.6",
- "jest-worker": "^25.2.6",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^25.5.1",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
"node-notifier": "^6.0.0",
"slash": "^3.0.0",
"source-map": "^0.6.0",
"string-length": "^3.1.0",
"terminal-link": "^2.0.0",
- "v8-to-istanbul": "^4.0.1"
+ "v8-to-istanbul": "^4.1.3"
},
"dependencies": {
"ansi-styles": {
@@ -819,13 +902,13 @@
}
},
"@jest/source-map": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.6.tgz",
- "integrity": "sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.5.0.tgz",
+ "integrity": "sha512-eIGx0xN12yVpMcPaVpjXPnn3N30QGJCJQSkEDUt9x1fI1Gdvb07Ml6K5iN2hG7NmMP6FDmtPEssE3z6doOYUwQ==",
"dev": true,
"requires": {
"callsites": "^3.0.0",
- "graceful-fs": "^4.2.3",
+ "graceful-fs": "^4.2.4",
"source-map": "^0.6.0"
},
"dependencies": {
@@ -834,55 +917,50 @@
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
"dev": true
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
}
}
},
"@jest/test-result": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.6.tgz",
- "integrity": "sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.5.0.tgz",
+ "integrity": "sha512-oV+hPJgXN7IQf/fHWkcS99y0smKLU2czLBJ9WA0jHITLst58HpQMtzSYxzaBvYc6U5U6jfoMthqsUlUlbRXs0A==",
"dev": true,
"requires": {
- "@jest/console": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/console": "^25.5.0",
+ "@jest/types": "^25.5.0",
"@types/istanbul-lib-coverage": "^2.0.0",
"collect-v8-coverage": "^1.0.0"
}
},
"@jest/test-sequencer": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.7.tgz",
- "integrity": "sha512-s2uYGOXONDSTJQcZJ9A3Zkg3hwe53RlX1HjUNqjUy3HIqwgwCKJbnAKYsORPbhxXi3ARMKA7JNBi9arsTxXoYw==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.5.4.tgz",
+ "integrity": "sha512-pTJGEkSeg1EkCO2YWq6hbFvKNXk8ejqlxiOg1jBNLnWrgXOkdY6UmqZpwGFXNnRt9B8nO1uWMzLLZ4eCmhkPNA==",
"dev": true,
"requires": {
- "@jest/test-result": "^25.2.6",
- "jest-haste-map": "^25.2.6",
- "jest-runner": "^25.2.7",
- "jest-runtime": "^25.2.7"
+ "@jest/test-result": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-runner": "^25.5.4",
+ "jest-runtime": "^25.5.4"
}
},
"@jest/transform": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.6.tgz",
- "integrity": "sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ==",
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.5.1.tgz",
+ "integrity": "sha512-Y8CEoVwXb4QwA6Y/9uDkn0Xfz0finGkieuV0xkdF9UtZGJeLukD5nLkaVrVsODB1ojRWlaoD0AJZpVHCSnJEvg==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"babel-plugin-istanbul": "^6.0.0",
"chalk": "^3.0.0",
"convert-source-map": "^1.4.0",
"fast-json-stable-stringify": "^2.0.0",
- "graceful-fs": "^4.2.3",
- "jest-haste-map": "^25.2.6",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^25.5.1",
"jest-regex-util": "^25.2.6",
- "jest-util": "^25.2.6",
+ "jest-util": "^25.5.0",
"micromatch": "^4.0.2",
"pirates": "^4.0.1",
"realpath-native": "^2.0.0",
@@ -901,15 +979,6 @@
"color-convert": "^2.0.1"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
@@ -935,43 +1004,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -986,22 +1024,13 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
}
}
},
"@jest/types": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz",
- "integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.5.0.tgz",
+ "integrity": "sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.0",
@@ -1087,9 +1116,9 @@
}
},
"@sinonjs/commons": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.7.1.tgz",
- "integrity": "sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ==",
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.0.tgz",
+ "integrity": "sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==",
"dev": true,
"requires": {
"type-detect": "4.0.8"
@@ -1128,9 +1157,9 @@
}
},
"@types/babel__traverse": {
- "version": "7.0.10",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.10.tgz",
- "integrity": "sha512-74fNdUGrWsgIB/V9kTO5FGHPWYY6Eqn+3Z7L6Hc4e/BxjYV7puvBqp5HwsVYYfLm6iURYBNCx4Ut37OF9yitCw==",
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.0.11.tgz",
+ "integrity": "sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q==",
"dev": true,
"requires": {
"@babel/types": "^7.3.0"
@@ -1142,10 +1171,19 @@
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
+ "@types/graceful-fs": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.3.tgz",
+ "integrity": "sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ }
+ },
"@types/istanbul-lib-coverage": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz",
- "integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz",
+ "integrity": "sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==",
"dev": true
},
"@types/istanbul-lib-report": {
@@ -1158,9 +1196,9 @@
}
},
"@types/istanbul-reports": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz",
- "integrity": "sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz",
+ "integrity": "sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "*",
@@ -1173,6 +1211,18 @@
"integrity": "sha1-nKUs2jY/aZxpRmwqbM2q2RPqenM=",
"dev": true
},
+ "@types/node": {
+ "version": "14.0.5",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz",
+ "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
"@types/prettier": {
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz",
@@ -1186,9 +1236,9 @@
"dev": true
},
"@types/yargs": {
- "version": "15.0.4",
- "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz",
- "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==",
+ "version": "15.0.5",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+ "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
"dev": true,
"requires": {
"@types/yargs-parser": "*"
@@ -1228,9 +1278,9 @@
}
},
"acorn-jsx": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
- "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
"dev": true
},
"acorn-walk": {
@@ -1246,11 +1296,11 @@
"dev": true
},
"ajv": {
- "version": "6.6.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
- "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -1262,9 +1312,9 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
},
"ansi-escapes": {
- "version": "3.1.0",
- "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
- "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
"dev": true
},
"ansi-regex": {
@@ -1307,9 +1357,9 @@
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
},
"arch": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.1.tgz",
- "integrity": "sha512-BLM56aPo9vLLFVa8+/+pJLnrZ7QGGTVHWsCwieAWT9o9K8UeGaQbzZbGoabWLOo2ksBCztoXdqBZBplqLDDCSg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz",
+ "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==",
"dev": true
},
"are-we-there-yet": {
@@ -1370,13 +1420,14 @@
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
},
"array-includes": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
- "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
+ "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.7.0"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0",
+ "is-string": "^1.0.5"
}
},
"array-union": {
@@ -1444,11 +1495,11 @@
"dev": true
},
"async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+ "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
"requires": {
- "lodash": "^4.17.11"
+ "lodash": "^4.17.14"
}
},
"async-foreach": {
@@ -1492,18 +1543,6 @@
"num2fraction": "^1.2.2",
"postcss": "^7.0.5",
"postcss-value-parser": "^3.3.1"
- },
- "dependencies": {
- "postcss": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz",
- "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.5.0"
- }
- }
}
},
"autosize": {
@@ -1517,39 +1556,37 @@
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
},
"axios": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.1.tgz",
- "integrity": "sha512-Yl+7nfreYKaLRvAvjNPkvfjnQHJM1yLBY3zhqAwcJSwR/6ETkanUgylgtIvkvz0xJ+p/vZuNw8X7Hnb7Whsbpw==",
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz",
+ "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==",
"requires": {
"follow-redirects": "1.5.10"
}
},
"axobject-query": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
- "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7"
- }
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.1.2.tgz",
+ "integrity": "sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ==",
+ "dev": true
},
"babel-jest": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.6.tgz",
- "integrity": "sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ==",
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.5.1.tgz",
+ "integrity": "sha512-9dA9+GmMjIzgPnYtkhBg73gOo/RHqPmLruP3BaGL4KEX3Dwz6pI8auSN8G8+iuEG90+GSswyKvslN+JYSaacaQ==",
"dev": true,
"requires": {
- "@jest/transform": "^25.2.6",
- "@jest/types": "^25.2.6",
- "@types/babel__core": "^7.1.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
+ "@types/babel__core": "^7.1.7",
"babel-plugin-istanbul": "^6.0.0",
- "babel-preset-jest": "^25.2.6",
+ "babel-preset-jest": "^25.5.0",
"chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
"slash": "^3.0.0"
},
"dependencies": {
@@ -1625,23 +1662,42 @@
}
},
"babel-plugin-jest-hoist": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz",
- "integrity": "sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.5.0.tgz",
+ "integrity": "sha512-u+/W+WAjMlvoocYGTwthAiQSxDcJAyHpQ6oWlHdFZaaN+Rlk8Q7iiwDPg2lN/FyJtAYnKjFxbn7xus4HCFkg5g==",
"dev": true,
"requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
"@types/babel__traverse": "^7.0.6"
}
},
- "babel-preset-jest": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz",
- "integrity": "sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ==",
+ "babel-preset-current-node-syntax": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz",
+ "integrity": "sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw==",
"dev": true,
"requires": {
- "@babel/plugin-syntax-bigint": "^7.0.0",
- "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
- "babel-plugin-jest-hoist": "^25.2.6"
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ }
+ },
+ "babel-preset-jest": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.5.0.tgz",
+ "integrity": "sha512-8ZczygctQkBU+63DtSOKGh7tFL0CeCuz+1ieud9lJ1WPQ9O6A1a/r+LGn6Y705PA6whHQ3T1XuB/PmpfNYf8Fw==",
+ "dev": true,
+ "requires": {
+ "babel-plugin-jest-hoist": "^25.5.0",
+ "babel-preset-current-node-syntax": "^0.1.2"
}
},
"babel-runtime": {
@@ -1653,10 +1709,10 @@
"regenerator-runtime": "^0.11.0"
},
"dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
}
}
},
@@ -1746,32 +1802,12 @@
}
},
"braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "fill-range": "^7.0.1"
}
},
"browser-bunyan": {
@@ -1791,19 +1827,12 @@
"integrity": "sha512-KeWGHqYQmHDkCFG2dIiX/2wFUgqevbw/rd6wNi9N6rZbaSJFtG5kel0HtprRwCGp8sqpQP79LzDJXf/WCx4WAw==",
"requires": {
"core-js": "^2.5.7"
- },
- "dependencies": {
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- }
}
},
"browser-or-node": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.1.0.tgz",
- "integrity": "sha512-/YRGjKbrTId3N9RCTp91QgQ+AowVUuZxAcOuAYra6B/EkhK7hTDWB2/AAawvAsvOI3QjPnSnKCEEh89xmUoYLg=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-1.2.1.tgz",
+ "integrity": "sha512-sVIA0cysIED0nbmNOm7sZzKfgN1rpFmrqvLZaFWspaBAftfQcezlC81G6j6U2RJf4Lh66zFxrCeOsvkUXIcPWg=="
},
"browser-process-hrtime": {
"version": "1.0.0",
@@ -1829,13 +1858,14 @@
}
},
"browserslist": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.5.tgz",
- "integrity": "sha512-z9ZhGc3d9e/sJ9dIx5NFXkKoaiQTnrvrMsN3R1fGb1tkWWNSz12UewJn9TNxGo1l7J23h0MRaPmk7jfeTZYs1w==",
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"requires": {
- "caniuse-lite": "^1.0.30000912",
- "electron-to-chromium": "^1.3.86",
- "node-releases": "^1.0.5"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
"bser": {
@@ -1859,11 +1889,6 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
- },
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
@@ -1928,9 +1953,9 @@
}
},
"caniuse-lite": {
- "version": "1.0.30000918",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000918.tgz",
- "integrity": "sha512-CAZ9QXGViBvhHnmIHhsTPSWFBujDaelKnUj7wwImbyQRxmXynYqKGi3UaZTSz9MoVh+1EVxOS/DFIkrJYgR3aw=="
+ "version": "1.0.30001062",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001062.tgz",
+ "integrity": "sha512-ei9ZqeOnN7edDrb24QfJ0OZicpEbsWxv7WusOiQGz/f2SfvBgHHbOEwBJ8HKGVSyx8Z6ndPjxzR6m0NQq+0bfw=="
},
"capture-exit": {
"version": "2.0.0",
@@ -1961,13 +1986,23 @@
}
},
"chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"chardet": {
@@ -2056,15 +2091,15 @@
}
},
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
"clipboard": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
- "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz",
+ "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==",
"requires": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
@@ -2072,29 +2107,60 @@
}
},
"clipboardy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.1.0.tgz",
- "integrity": "sha512-2pzOUxWcLlXWtn+Jd6js3o12TysNOOVes/aQfg+MT/35vrxWzedHlLwyoJpXjsFKWm95BTNEcMGD9+a7mKzZkQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz",
+ "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==",
"dev": true,
"requires": {
"arch": "^2.1.1",
- "execa": "^1.0.0"
+ "execa": "^1.0.0",
+ "is-wsl": "^2.1.1"
}
},
"cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+ "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1",
- "wrap-ansi": "^2.0.0"
+ "string-width": "^3.1.0",
+ "strip-ansi": "^5.2.0",
+ "wrap-ansi": "^5.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
}
},
"clsx": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.0.4.tgz",
- "integrity": "sha512-1mQ557MIZTrL/140j+JVdRM6e31/OA4vTYxXgqIIZlndyfjHpyawKZia1Im05Vp9BWmImkcNrNtFYQMyFcgJDg=="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.0.tgz",
+ "integrity": "sha512-3avwM37fSK5oP6M5rQ9CNe99lwxhXDOeSWVPAOYF6OazUTgZCMb0yWlJpmdD74REy1gkEaFiub2ULv4fq9GUhA=="
},
"co": {
"version": "4.6.0",
@@ -2133,11 +2199,11 @@
}
},
"color-convert": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
- "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"requires": {
- "color-name": "^1.1.1"
+ "color-name": "1.1.3"
}
},
"color-name": {
@@ -2160,37 +2226,37 @@
"integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y="
},
"colors": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
- "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg=="
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
},
"colorspace": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz",
- "integrity": "sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
+ "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
"requires": {
"color": "3.0.x",
"text-hex": "1.0.x"
}
},
"combined-stream": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
"component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
"dev": true
},
"computed-style": {
@@ -2216,9 +2282,9 @@
}
},
"confusing-browser-globals": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.7.tgz",
- "integrity": "sha512-cgHI1azax5ATrZ8rJ+ODDML9Fvu67PimB6aNxBrc/QwSaDaM9eTfIEUHx3bBLJJ82ioSb+/5zfsMCCEJax3ByQ==",
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz",
+ "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==",
"dev": true
},
"console-control-strings": {
@@ -2248,9 +2314,9 @@
"dev": true
},
"core-js": {
- "version": "2.6.4",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.4.tgz",
- "integrity": "sha512-05qQ5hXShcqGkPZpXEFLIpxayZscVD2kuMBZewxiIPPEagukO4mqgPA9CWhUvFBJfy3ODdK2p9xyHh7FTU9/7A=="
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
},
"core-util-is": {
"version": "1.0.2",
@@ -2258,14 +2324,14 @@
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
- "version": "5.0.7",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.7.tgz",
- "integrity": "sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"dev": true,
"requires": {
"import-fresh": "^2.0.0",
"is-directory": "^0.3.1",
- "js-yaml": "^3.9.0",
+ "js-yaml": "^3.13.1",
"parse-json": "^4.0.0"
},
"dependencies": {
@@ -2297,20 +2363,20 @@
"dev": true
},
"css-selector-tokenizer": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz",
- "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz",
+ "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==",
"dev": true,
"requires": {
- "cssesc": "^0.1.0",
- "fastparse": "^1.1.1",
- "regexpu-core": "^1.0.0"
+ "cssesc": "^3.0.0",
+ "fastparse": "^1.1.2",
+ "regexpu-core": "^4.6.0"
}
},
"cssesc": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
- "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
"dev": true
},
"cssom": {
@@ -2320,9 +2386,9 @@
"dev": true
},
"cssstyle": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.2.0.tgz",
- "integrity": "sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
"dev": true,
"requires": {
"cssom": "~0.3.6"
@@ -2336,6 +2402,11 @@
}
}
},
+ "csstype": {
+ "version": "2.6.10",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz",
+ "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w=="
+ },
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
@@ -2350,9 +2421,9 @@
"integrity": "sha1-mYB4Ob5i7bRGtkWDLg2A6tb6GIg="
},
"damerau-levenshtein": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz",
- "integrity": "sha1-AxkcQyy27qFou3fzpV/9zLiXhRQ=",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz",
+ "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==",
"dev": true
},
"dashdash": {
@@ -2381,9 +2452,9 @@
"dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
"ms": "2.0.0"
}
@@ -2566,11 +2637,11 @@
}
},
"dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"requires": {
- "is-obj": "^1.0.0"
+ "is-obj": "^2.0.0"
}
},
"dotenv": {
@@ -2594,9 +2665,9 @@
}
},
"electron-to-chromium": {
- "version": "1.3.90",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.90.tgz",
- "integrity": "sha512-IjJZKRhFbWSOX1w0sdIXgp4CMRguu6UYcTckyFF/Gjtemsu/25eZ+RXwFlV+UWcIueHyQA1UnRJxocTpH5NdGA=="
+ "version": "1.3.451",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.451.tgz",
+ "integrity": "sha512-2fvco0F2bBIgqzO8GRP0Jt/91pdrf9KfZ5FsmkYkjERmIJG585cFeFZV4+CO6oTmU3HmCTgfcZuEa7kW8VUh3A=="
},
"elegant-spinner": {
"version": "1.0.1",
@@ -2605,10 +2676,9 @@
"dev": true
},
"emoji-regex": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz",
- "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==",
- "dev": true
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA=="
},
"enabled": {
"version": "1.0.2",
@@ -2619,18 +2689,18 @@
}
},
"end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"requires": {
"once": "^1.4.0"
}
},
"env-variable": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz",
- "integrity": "sha512-zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA=="
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
+ "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg=="
},
"error-ex": {
"version": "1.3.2",
@@ -2641,22 +2711,28 @@
}
},
"es-abstract": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz",
- "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==",
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+ "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
"dev": true,
"requires": {
- "es-to-primitive": "^1.1.1",
+ "es-to-primitive": "^1.2.1",
"function-bind": "^1.1.1",
- "has": "^1.0.1",
- "is-callable": "^1.1.3",
- "is-regex": "^1.0.4"
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.5",
+ "is-regex": "^1.0.5",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.1",
+ "string.prototype.trimright": "^2.1.1"
}
},
"es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
"dev": true,
"requires": {
"is-callable": "^1.1.4",
@@ -2748,18 +2824,18 @@
}
},
"debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
"strip-ansi": {
@@ -2794,18 +2870,6 @@
"object.assign": "^4.1.0",
"object.entries": "^1.1.0"
}
- },
- "object.entries": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
- "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
- "dev": true,
- "requires": {
- "define-properties": "^1.1.3",
- "es-abstract": "^1.12.0",
- "function-bind": "^1.1.1",
- "has": "^1.0.3"
- }
}
}
},
@@ -2821,23 +2885,45 @@
}
},
"eslint-import-resolver-node": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
- "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+ "integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
"dev": true,
"requires": {
"debug": "^2.6.9",
- "resolve": "^1.5.0"
+ "resolve": "^1.13.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"eslint-module-utils": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz",
- "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=",
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz",
+ "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==",
"dev": true,
"requires": {
- "debug": "^2.6.8",
- "pkg-dir": "^1.0.0"
+ "debug": "^2.6.9",
+ "pkg-dir": "^2.0.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"eslint-plugin-import": {
@@ -2858,9 +2944,18 @@
"resolve": "^1.6.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"doctrine": {
"version": "1.5.0",
- "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
"integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
"dev": true,
"requires": {
@@ -2868,18 +2963,9 @@
"isarray": "^1.0.0"
}
},
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "^2.0.0"
- }
- },
"load-json-file": {
"version": "2.0.0",
- "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
@@ -2941,6 +3027,14 @@
"emoji-regex": "^6.5.1",
"has": "^1.0.3",
"jsx-ast-utils": "^2.0.1"
+ },
+ "dependencies": {
+ "emoji-regex": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz",
+ "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==",
+ "dev": true
+ }
}
},
"eslint-plugin-react": {
@@ -2963,9 +3057,9 @@
"dev": true
},
"eslint-scope": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.0.tgz",
- "integrity": "sha512-1G6UTDi7Jc1ELFwnR58HV4fK9OQK4S6N985f166xqXxpjU6plxFISJa2Ba9KCQuFa8RCnj/lSFJbHo7UFDBnUA==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
"dev": true,
"requires": {
"esrecurse": "^4.1.0",
@@ -2973,18 +3067,18 @@
}
},
"eslint-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
- "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
+ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
"dev": true,
"requires": {
- "eslint-visitor-keys": "^1.0.0"
+ "eslint-visitor-keys": "^1.1.0"
}
},
"eslint-visitor-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz",
- "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
+ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
"dev": true
},
"espree": {
@@ -3005,12 +3099,20 @@
"dev": true
},
"esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
}
},
"esrecurse": {
@@ -3023,15 +3125,15 @@
}
},
"estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
"dev": true
},
"esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
"dev": true
},
"eventemitter2": {
@@ -3101,6 +3203,15 @@
"to-regex": "^3.0.1"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
@@ -3122,16 +3233,16 @@
}
},
"expect": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.7.tgz",
- "integrity": "sha512-yA+U2Ph0MkMsJ9N8q5hs9WgWI6oJYfecdXta6LkP/alY/jZZL1MHlJ2wbLh60Ucqf3G+51ytbqV3mlGfmxkpNw==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-25.5.0.tgz",
+ "integrity": "sha512-w7KAXo0+6qqZZhovCaBVPSIqQp7/UTcx4M9uKt2m6pd2VB1voyC8JizLRqeEqud3AAVP02g+hbErDu5gu64tlA==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"ansi-styles": "^4.0.0",
"jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.2.7",
- "jest-message-util": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
"jest-regex-util": "^25.2.6"
},
"dependencies": {
@@ -3189,9 +3300,9 @@
}
},
"external-editor": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
- "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
"dev": true,
"requires": {
"chardet": "^0.7.0",
@@ -3274,6 +3385,17 @@
"debug": "^2.6.9",
"mkdirp": "^0.5.4",
"yauzl": "^2.10.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"extsprintf": {
@@ -3282,14 +3404,14 @@
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA=="
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -3298,9 +3420,9 @@
"dev": true
},
"fast-safe-stringify": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.6.tgz",
- "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg=="
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
+ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
},
"fastdom": {
"version": "1.0.9",
@@ -3311,9 +3433,9 @@
}
},
"fastparse": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
- "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
"dev": true
},
"fb-watchman": {
@@ -3340,9 +3462,9 @@
"integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
},
"fibers": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/fibers/-/fibers-4.0.2.tgz",
- "integrity": "sha512-FhICi1K4WZh9D6NC18fh2ODF3EWy1z0gzIdV9P7+s2pRjfRBnCkMDJ6x3bV1DkVymKH8HGrQa/FNOBjYvnJ/tQ==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/fibers/-/fibers-4.0.3.tgz",
+ "integrity": "sha512-MW5VrDtTOLpKK7lzw4qD7Z9tXaAhdOmOED5RHzg3+HjUk+ibkjVW0Py2ERtdqgTXaerLkVkBy2AEmJiT6RMyzg==",
"requires": {
"detect-libc": "^1.0.3"
}
@@ -3367,26 +3489,12 @@
}
},
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "to-regex-range": "^5.0.1"
}
},
"find-parent-dir": {
@@ -3396,12 +3504,11 @@
"dev": true
},
"find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"requires": {
- "path-exists": "^2.0.0",
- "pinkie-promise": "^2.0.0"
+ "locate-path": "^2.0.0"
}
},
"flat": {
@@ -3422,6 +3529,17 @@
"graceful-fs": "^4.1.2",
"rimraf": "~2.6.2",
"write": "^0.2.1"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
},
"fn-name": {
@@ -3436,16 +3554,6 @@
"integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "=3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- }
}
},
"for-in": {
@@ -3484,9 +3592,9 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
- "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+ "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
"dev": true,
"optional": true
},
@@ -3554,9 +3662,9 @@
"dev": true
},
"get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"get-func-name": {
"version": "2.0.0",
@@ -3565,9 +3673,15 @@
"dev": true
},
"get-own-enumerable-property-symbols": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.0.tgz",
- "integrity": "sha512-CIJYJC4GGF06TakLg8z4GQKvDsx9EMspVxOYih7LerEL/WosUnFIww45CGfxfeKHqlg3twgUrYRT1O3WQqjGCg==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
+ "get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true
},
"get-stdin": {
@@ -3599,9 +3713,9 @@
}
},
"glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -3612,9 +3726,9 @@
}
},
"globals": {
- "version": "11.9.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.9.0.tgz",
- "integrity": "sha512-5cJVtyXWH8PiJPVLZzzoIizXx944O4OmRro5MWKx5fT4MgcN7OfaMutPeaTdJCCURwbWdhhcCWcKIffPnmTzBg==",
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
"dev": true
},
"globby": {
@@ -3649,9 +3763,9 @@
}
},
"graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
},
"growly": {
"version": "1.3.0",
@@ -3692,15 +3806,14 @@
}
},
"has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
"dev": true
},
"has-unicode": {
@@ -3735,6 +3848,26 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
"kind-of": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
@@ -3752,9 +3885,9 @@
"integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw=="
},
"hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
},
"html-encoding-sniffer": {
"version": "1.0.2",
@@ -3858,9 +3991,9 @@
}
},
"p-limit": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
- "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@@ -3891,12 +4024,6 @@
"json-parse-better-errors": "^1.0.1"
}
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- },
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
@@ -4011,9 +4138,9 @@
}
},
"p-limit": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
- "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@@ -4085,28 +4212,28 @@
}
},
"inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"inquirer": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
- "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
+ "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
"cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "external-editor": "^3.0.0",
+ "external-editor": "^3.0.3",
"figures": "^2.0.0",
- "lodash": "^4.17.10",
+ "lodash": "^4.17.12",
"mute-stream": "0.0.7",
"run-async": "^2.2.0",
- "rxjs": "^6.1.0",
+ "rxjs": "^6.4.0",
"string-width": "^2.1.0",
- "strip-ansi": "^5.0.0",
+ "strip-ansi": "^5.1.0",
"through": "^2.3.6"
},
"dependencies": {
@@ -4144,18 +4271,18 @@
}
},
"strip-ansi": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
- "integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-regex": "^4.0.0"
+ "ansi-regex": "^4.1.0"
},
"dependencies": {
"ansi-regex": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
- "integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
}
}
@@ -4163,9 +4290,9 @@
}
},
"intl-format-cache": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.1.0.tgz",
- "integrity": "sha1-BKNp/sv61tpgBbrh8UMzMy3PkxY="
+ "version": "2.2.9",
+ "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.2.9.tgz",
+ "integrity": "sha512-Zv/u8wRpekckv0cLkwpVdABYST4hZNTDaX7reFetrYTJwxExR2VyTqQm+l0WmL0Qo8Mjb9Tf33qnfj0T7pjxdQ=="
},
"intl-messageformat": {
"version": "2.2.0",
@@ -4181,9 +4308,9 @@
"integrity": "sha1-tD1FqXRoytvkQzHXS7Ho3qRPwHU="
},
"intl-relativeformat": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.1.0.tgz",
- "integrity": "sha1-AQ8RBYAiUfQKxH0OPhogE0iiVd8=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-2.2.0.tgz",
+ "integrity": "sha512-4bV/7kSKaPEmu6ArxXf9xjv1ny74Zkwuey8Pm01NH4zggPP7JHwg2STk8Y3JdspCKRDriwIyLRfEXnj2ZLr4Bw==",
"requires": {
"intl-messageformat": "^2.0.0"
}
@@ -4196,11 +4323,6 @@
"loose-envify": "^1.0.0"
}
},
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
- },
"ip-regex": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
@@ -4239,22 +4361,14 @@
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
},
"is-buffer": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "^1.0.0"
- }
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A=="
},
"is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+ "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
"dev": true
},
"is-ci": {
@@ -4293,9 +4407,9 @@
}
},
"is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
"dev": true
},
"is-descriptor": {
@@ -4323,6 +4437,12 @@
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
"dev": true
},
+ "is-docker": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+ "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+ "dev": true
+ },
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -4355,44 +4475,24 @@
"dev": true
},
"is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
"dev": true,
"requires": {
"is-extglob": "^2.1.1"
}
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
},
"is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
},
"is-observable": {
"version": "1.1.0",
@@ -4437,18 +4537,18 @@
}
},
"is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+ "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
"dev": true
},
"is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+ "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
"dev": true,
"requires": {
- "has": "^1.0.1"
+ "has": "^1.0.3"
}
},
"is-regexp": {
@@ -4468,13 +4568,19 @@
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
},
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true
+ },
"is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
"dev": true,
"requires": {
- "has-symbols": "^1.0.0"
+ "has-symbols": "^1.0.1"
}
},
"is-typedarray": {
@@ -4494,11 +4600,13 @@
"dev": true
},
"is-wsl": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
- "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
"dev": true,
- "optional": true
+ "requires": {
+ "is-docker": "^2.0.0"
+ }
},
"isarray": {
"version": "1.0.0",
@@ -4528,15 +4636,12 @@
"dev": true
},
"istanbul-lib-instrument": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz",
- "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
"dev": true,
"requires": {
"@babel/core": "^7.7.5",
- "@babel/parser": "^7.7.5",
- "@babel/template": "^7.7.4",
- "@babel/traverse": "^7.7.4",
"@istanbuljs/schema": "^0.1.2",
"istanbul-lib-coverage": "^3.0.0",
"semver": "^6.3.0"
@@ -4617,151 +4722,16 @@
}
},
"jest": {
- "version": "25.1.0",
- "resolved": "https://registry.npmjs.org/jest/-/jest-25.1.0.tgz",
- "integrity": "sha512-FV6jEruneBhokkt9MQk0WUFoNTwnF76CLXtwNMfsc0um0TlB/LG2yxUd0KqaFjEJ9laQmVWQWS0sG/t2GsuI0w==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-25.5.4.tgz",
+ "integrity": "sha512-hHFJROBTqZahnO+X+PMtT6G2/ztqAZJveGqz//FnWWHurizkD05PQGzRZOhF3XP6z7SJmL+5tCfW8qV06JypwQ==",
"dev": true,
"requires": {
- "@jest/core": "^25.1.0",
+ "@jest/core": "^25.5.4",
"import-local": "^3.0.2",
- "jest-cli": "^25.1.0"
+ "jest-cli": "^25.5.4"
},
"dependencies": {
- "@jest/core": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.7.tgz",
- "integrity": "sha512-Nd6ELJyR+j0zlwhzkfzY70m04hAur0VnMwJXVe4VmmD/SaQ6DEyal++ERQ1sgyKIKKEqRuui6k/R0wHLez4P+g==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.2.6",
- "@jest/reporters": "^25.2.6",
- "@jest/test-result": "^25.2.6",
- "@jest/transform": "^25.2.6",
- "@jest/types": "^25.2.6",
- "ansi-escapes": "^4.2.1",
- "chalk": "^3.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.3",
- "jest-changed-files": "^25.2.6",
- "jest-config": "^25.2.7",
- "jest-haste-map": "^25.2.6",
- "jest-message-util": "^25.2.6",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-resolve-dependencies": "^25.2.7",
- "jest-runner": "^25.2.7",
- "jest-runtime": "^25.2.7",
- "jest-snapshot": "^25.2.7",
- "jest-util": "^25.2.6",
- "jest-validate": "^25.2.6",
- "jest-watcher": "^25.2.7",
- "micromatch": "^4.0.2",
- "p-each-series": "^2.1.0",
- "realpath-native": "^2.0.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "dependencies": {
- "@jest/test-result": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.6.tgz",
- "integrity": "sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w==",
- "dev": true,
- "requires": {
- "@jest/console": "^25.2.6",
- "@jest/types": "^25.2.6",
- "@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
- }
- },
- "@jest/types": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz",
- "integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==",
- "dev": true,
- "requires": {
- "@types/istanbul-lib-coverage": "^2.0.0",
- "@types/istanbul-reports": "^1.1.1",
- "@types/yargs": "^15.0.0",
- "chalk": "^3.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "jest-config": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.7.tgz",
- "integrity": "sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg==",
- "dev": true,
- "requires": {
- "@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^25.2.7",
- "@jest/types": "^25.2.6",
- "babel-jest": "^25.2.6",
- "chalk": "^3.0.0",
- "deepmerge": "^4.2.2",
- "glob": "^7.1.1",
- "jest-environment-jsdom": "^25.2.6",
- "jest-environment-node": "^25.2.6",
- "jest-get-type": "^25.2.6",
- "jest-jasmine2": "^25.2.7",
- "jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-util": "^25.2.6",
- "jest-validate": "^25.2.6",
- "micromatch": "^4.0.2",
- "pretty-format": "^25.2.6",
- "realpath-native": "^2.0.0"
- }
- },
- "jest-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz",
- "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.2.6",
- "chalk": "^3.0.0",
- "is-ci": "^2.0.0",
- "make-dir": "^3.0.0"
- }
- },
- "jest-validate": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.6.tgz",
- "integrity": "sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.2.6",
- "camelcase": "^5.3.1",
- "chalk": "^3.0.0",
- "jest-get-type": "^25.2.6",
- "leven": "^3.1.0",
- "pretty-format": "^25.2.6"
- }
- },
- "realpath-native": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-2.0.0.tgz",
- "integrity": "sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q==",
- "dev": true
- }
- }
- },
- "ansi-escapes": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
- "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
- "dev": true,
- "requires": {
- "type-fest": "^0.11.0"
- }
- },
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
@@ -4778,15 +4748,6 @@
"color-convert": "^2.0.1"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -4835,15 +4796,6 @@
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
@@ -4854,18 +4806,6 @@
"path-exists": "^4.0.0"
}
},
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4878,43 +4818,26 @@
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
"jest-cli": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.7.tgz",
- "integrity": "sha512-OOAZwY4Jkd3r5WhVM5L3JeLNFaylvHUczMLxQDVLrrVyb1Cy+DNJ6MVsb5TLh6iBklB42m5TOP+IbOgKGGOtMw==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.5.4.tgz",
+ "integrity": "sha512-rG8uJkIiOUpnREh1768/N3n27Cm+xPFkSNFO91tgg+8o2rXeVLStz+vkXkGr4UtzH6t1SNbjwoiswd7p4AhHTw==",
"dev": true,
"requires": {
- "@jest/core": "^25.2.7",
- "@jest/test-result": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/core": "^25.5.4",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
"import-local": "^3.0.2",
"is-ci": "^2.0.0",
- "jest-config": "^25.2.7",
- "jest-util": "^25.2.6",
- "jest-validate": "^25.2.6",
+ "jest-config": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
"prompts": "^2.0.1",
"realpath-native": "^2.0.0",
"yargs": "^15.3.1"
- },
- "dependencies": {
- "prompts": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
- "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
- "dev": true,
- "requires": {
- "kleur": "^3.0.3",
- "sisteransi": "^1.0.4"
- }
- }
}
},
"locate-path": {
@@ -4926,16 +4849,6 @@
"p-locate": "^4.1.0"
}
},
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
"p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -4966,27 +4879,6 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "dev": true,
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
- },
"string-width": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -5016,21 +4908,6 @@
"has-flag": "^4.0.0"
}
},
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -5042,12 +4919,6 @@
"strip-ansi": "^6.0.0"
}
},
- "y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
- },
"yargs": {
"version": "15.3.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
@@ -5068,9 +4939,9 @@
}
},
"yargs-parser": {
- "version": "18.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz",
- "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==",
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
@@ -5080,12 +4951,12 @@
}
},
"jest-changed-files": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.2.6.tgz",
- "integrity": "sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.5.0.tgz",
+ "integrity": "sha512-EOw9QEqapsDT7mKF162m8HFzRPbmP8qJQny6ldVOdOVBz3ACgPm/1nAn5fPQ/NDaYhX/AHkrGwwkCncpAVSXcw==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"execa": "^3.2.0",
"throat": "^5.0.0"
},
@@ -5197,28 +5068,29 @@
}
},
"jest-config": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.7.tgz",
- "integrity": "sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.5.4.tgz",
+ "integrity": "sha512-SZwR91SwcdK6bz7Gco8qL7YY2sx8tFJYzvg216DLihTWf+LKY/DoJXpM9nTzYakSyfblbqeU48p/p7Jzy05Atg==",
"dev": true,
"requires": {
"@babel/core": "^7.1.0",
- "@jest/test-sequencer": "^25.2.7",
- "@jest/types": "^25.2.6",
- "babel-jest": "^25.2.6",
+ "@jest/test-sequencer": "^25.5.4",
+ "@jest/types": "^25.5.0",
+ "babel-jest": "^25.5.1",
"chalk": "^3.0.0",
"deepmerge": "^4.2.2",
"glob": "^7.1.1",
- "jest-environment-jsdom": "^25.2.6",
- "jest-environment-node": "^25.2.6",
+ "graceful-fs": "^4.2.4",
+ "jest-environment-jsdom": "^25.5.0",
+ "jest-environment-node": "^25.5.0",
"jest-get-type": "^25.2.6",
- "jest-jasmine2": "^25.2.7",
+ "jest-jasmine2": "^25.5.4",
"jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-util": "^25.2.6",
- "jest-validate": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
"micromatch": "^4.0.2",
- "pretty-format": "^25.2.6",
+ "pretty-format": "^25.5.0",
"realpath-native": "^2.0.0"
},
"dependencies": {
@@ -5232,15 +5104,6 @@
"color-convert": "^2.0.1"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
@@ -5266,37 +5129,12 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -5305,28 +5143,19 @@
"requires": {
"has-flag": "^4.0.0"
}
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
}
}
},
"jest-diff": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.6.tgz",
- "integrity": "sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.5.0.tgz",
+ "integrity": "sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
"diff-sequences": "^25.2.6",
"jest-get-type": "^25.2.6",
- "pretty-format": "^25.2.6"
+ "pretty-format": "^25.5.0"
},
"dependencies": {
"ansi-styles": {
@@ -5382,25 +5211,25 @@
}
},
"jest-docblock": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.2.6.tgz",
- "integrity": "sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw==",
+ "version": "25.3.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.3.0.tgz",
+ "integrity": "sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg==",
"dev": true,
"requires": {
"detect-newline": "^3.0.0"
}
},
"jest-each": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.2.6.tgz",
- "integrity": "sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.5.0.tgz",
+ "integrity": "sha512-QBogUxna3D8vtiItvn54xXde7+vuzqRrEeaw8r1s+1TG9eZLVJE5ZkKoSUlqFwRjnlaA4hyKGiu9OlkFIuKnjA==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"jest-get-type": "^25.2.6",
- "jest-util": "^25.2.6",
- "pretty-format": "^25.2.6"
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0"
},
"dependencies": {
"ansi-styles": {
@@ -5456,30 +5285,30 @@
}
},
"jest-environment-jsdom": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz",
- "integrity": "sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.5.0.tgz",
+ "integrity": "sha512-7Jr02ydaq4jaWMZLY+Skn8wL5nVIYpWvmeatOHL3tOcV3Zw8sjnPpx+ZdeBfc457p8jCR9J6YCc+Lga0oIy62A==",
"dev": true,
"requires": {
- "@jest/environment": "^25.2.6",
- "@jest/fake-timers": "^25.2.6",
- "@jest/types": "^25.2.6",
- "jest-mock": "^25.2.6",
- "jest-util": "^25.2.6",
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
"jsdom": "^15.2.1"
}
},
"jest-environment-node": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.6.tgz",
- "integrity": "sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.5.0.tgz",
+ "integrity": "sha512-iuxK6rQR2En9EID+2k+IBs5fCFd919gVVK5BeND82fYeLWPqvRcFNPKu9+gxTwfB5XwBGBvZ0HFQa+cHtIoslA==",
"dev": true,
"requires": {
- "@jest/environment": "^25.2.6",
- "@jest/fake-timers": "^25.2.6",
- "@jest/types": "^25.2.6",
- "jest-mock": "^25.2.6",
- "jest-util": "^25.2.6",
+ "@jest/environment": "^25.5.0",
+ "@jest/fake-timers": "^25.5.0",
+ "@jest/types": "^25.5.0",
+ "jest-mock": "^25.5.0",
+ "jest-util": "^25.5.0",
"semver": "^6.3.0"
},
"dependencies": {
@@ -5498,74 +5327,26 @@
"dev": true
},
"jest-haste-map": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz",
- "integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==",
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.5.1.tgz",
+ "integrity": "sha512-dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
+ "@types/graceful-fs": "^4.1.2",
"anymatch": "^3.0.3",
"fb-watchman": "^2.0.0",
"fsevents": "^2.1.2",
- "graceful-fs": "^4.2.3",
- "jest-serializer": "^25.2.6",
- "jest-util": "^25.2.6",
- "jest-worker": "^25.2.6",
+ "graceful-fs": "^4.2.4",
+ "jest-serializer": "^25.5.0",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
"micromatch": "^4.0.2",
"sane": "^4.0.3",
"walker": "^1.0.7",
"which": "^2.0.2"
},
"dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
- "requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- },
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@@ -5578,27 +5359,27 @@
}
},
"jest-jasmine2": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.7.tgz",
- "integrity": "sha512-HeQxEbonp8fUvik9jF0lkU9ab1u5TQdIb7YSU9Fj7SxWtqHNDGyCpF6ZZ3r/5yuertxi+R95Ba9eA91GMQ38eA==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.5.4.tgz",
+ "integrity": "sha512-9acbWEfbmS8UpdcfqnDO+uBUgKa/9hcRh983IHdM+pKmJPL77G0sWAAK0V0kr5LK3a8cSBfkFSoncXwQlRZfkQ==",
"dev": true,
"requires": {
"@babel/traverse": "^7.1.0",
- "@jest/environment": "^25.2.6",
- "@jest/source-map": "^25.2.6",
- "@jest/test-result": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/environment": "^25.5.0",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"co": "^4.6.0",
- "expect": "^25.2.7",
+ "expect": "^25.5.0",
"is-generator-fn": "^2.0.0",
- "jest-each": "^25.2.6",
- "jest-matcher-utils": "^25.2.7",
- "jest-message-util": "^25.2.6",
- "jest-runtime": "^25.2.7",
- "jest-snapshot": "^25.2.7",
- "jest-util": "^25.2.6",
- "pretty-format": "^25.2.6",
+ "jest-each": "^25.5.0",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-runtime": "^25.5.4",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "pretty-format": "^25.5.0",
"throat": "^5.0.0"
},
"dependencies": {
@@ -5655,25 +5436,25 @@
}
},
"jest-leak-detector": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz",
- "integrity": "sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.5.0.tgz",
+ "integrity": "sha512-rV7JdLsanS8OkdDpZtgBf61L5xZ4NnYLBq72r6ldxahJWWczZjXawRsoHyXzibM5ed7C2QRjpp6ypgwGdKyoVA==",
"dev": true,
"requires": {
"jest-get-type": "^25.2.6",
- "pretty-format": "^25.2.6"
+ "pretty-format": "^25.5.0"
}
},
"jest-matcher-utils": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.7.tgz",
- "integrity": "sha512-jNYmKQPRyPO3ny0KY1I4f0XW4XnpJ3Nx5ovT4ik0TYDOYzuXJW40axqOyS61l/voWbVT9y9nZ1THL1DlpaBVpA==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.5.0.tgz",
+ "integrity": "sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==",
"dev": true,
"requires": {
"chalk": "^3.0.0",
- "jest-diff": "^25.2.6",
+ "jest-diff": "^25.5.0",
"jest-get-type": "^25.2.6",
- "pretty-format": "^25.2.6"
+ "pretty-format": "^25.5.0"
},
"dependencies": {
"ansi-styles": {
@@ -5729,15 +5510,16 @@
}
},
"jest-message-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.6.tgz",
- "integrity": "sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.5.0.tgz",
+ "integrity": "sha512-ezddz3YCT/LT0SKAmylVyWWIGYoKHOFOFXx3/nA4m794lfVUskMcwhip6vTgdVrOtYdjeQeis2ypzes9mZb4EA==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"@types/stack-utils": "^1.0.1",
"chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
"micromatch": "^4.0.2",
"slash": "^3.0.0",
"stack-utils": "^1.0.1"
@@ -5753,15 +5535,6 @@
"color-convert": "^2.0.1"
}
},
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
"chalk": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
@@ -5787,13 +5560,110 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "to-regex-range": "^5.0.1"
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "jest-mock": {
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.5.0.tgz",
+ "integrity": "sha512-eXWuTV8mKzp/ovHc5+3USJMYsTBhyQ+5A1Mak35dey/RG8GlM4YWVylZuGgVXinaW6tpvk/RSecmF37FKUlpXA==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
+ "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
+ "dev": true
+ },
+ "jest-regex-util": {
+ "version": "25.2.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
+ "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
+ "dev": true
+ },
+ "jest-resolve": {
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.5.1.tgz",
+ "integrity": "sha512-Hc09hYch5aWdtejsUZhA+vSzcotf7fajSlPA6EZPE1RmPBAD39XtJhvHWFStid58iit4IPDLI/Da4cwdDmAHiQ==",
+ "dev": true,
+ "requires": {
+ "@jest/types": "^25.5.0",
+ "browser-resolve": "^1.11.3",
+ "chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.1",
+ "read-pkg-up": "^7.0.1",
+ "realpath-native": "^2.0.0",
+ "resolve": "^1.17.0",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
"has-flag": {
@@ -5802,20 +5672,86 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "p-locate": "^4.1.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "parse-json": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true
+ },
+ "read-pkg": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
+ }
+ },
+ "read-pkg-up": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
+ "dev": true,
+ "requires": {
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
}
},
"slash": {
@@ -5824,111 +5760,6 @@
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
},
- "supports-color": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
- "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
- "dev": true,
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
- }
- },
- "jest-mock": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.2.6.tgz",
- "integrity": "sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.2.6"
- }
- },
- "jest-pnp-resolver": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz",
- "integrity": "sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ==",
- "dev": true
- },
- "jest-regex-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz",
- "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==",
- "dev": true
- },
- "jest-resolve": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.2.6.tgz",
- "integrity": "sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw==",
- "dev": true,
- "requires": {
- "@jest/types": "^25.2.6",
- "browser-resolve": "^1.11.3",
- "chalk": "^3.0.0",
- "jest-pnp-resolver": "^1.2.1",
- "realpath-native": "^2.0.0",
- "resolve": "^1.15.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
- "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
- "dev": true,
- "requires": {
- "@types/color-name": "^1.1.1",
- "color-convert": "^2.0.1"
- }
- },
- "chalk": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
- "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
- },
- "resolve": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.15.1.tgz",
- "integrity": "sha512-84oo6ZTtoTUpjgNEr5SJyzQhzL72gaRodsSfyxC/AXRvwu0Yse9H8eF9IpGo7b8YetZhlI6v7ZQ6bKBFV/6S7w==",
- "dev": true,
- "requires": {
- "path-parse": "^1.0.6"
- }
- },
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -5941,39 +5772,39 @@
}
},
"jest-resolve-dependencies": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.7.tgz",
- "integrity": "sha512-IrnMzCAh11Xd2gAOJL+ThEW6QO8DyqNdvNkQcaCticDrOAr9wtKT7yT6QBFFjqKFgjjvaVKDs59WdgUhgYnHnQ==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.5.4.tgz",
+ "integrity": "sha512-yFmbPd+DAQjJQg88HveObcGBA32nqNZ02fjYmtL16t1xw9bAttSn5UGRRhzMHIQbsep7znWvAvnD4kDqOFM0Uw==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"jest-regex-util": "^25.2.6",
- "jest-snapshot": "^25.2.7"
+ "jest-snapshot": "^25.5.1"
}
},
"jest-runner": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.7.tgz",
- "integrity": "sha512-RFEr71nMrtNwcpoHzie5+fe1w3JQCGMyT2xzNwKe3f88+bK+frM2o1v24gEcPxQ2QqB3COMCe2+1EkElP+qqqQ==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.5.4.tgz",
+ "integrity": "sha512-V/2R7fKZo6blP8E9BL9vJ8aTU4TH2beuqGNxHbxi6t14XzTb+x90B3FRgdvuHm41GY8ch4xxvf0ATH4hdpjTqg==",
"dev": true,
"requires": {
- "@jest/console": "^25.2.6",
- "@jest/environment": "^25.2.6",
- "@jest/test-result": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
"exit": "^0.1.2",
- "graceful-fs": "^4.2.3",
- "jest-config": "^25.2.7",
- "jest-docblock": "^25.2.6",
- "jest-haste-map": "^25.2.6",
- "jest-jasmine2": "^25.2.7",
- "jest-leak-detector": "^25.2.6",
- "jest-message-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-runtime": "^25.2.7",
- "jest-util": "^25.2.6",
- "jest-worker": "^25.2.6",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-docblock": "^25.3.0",
+ "jest-haste-map": "^25.5.1",
+ "jest-jasmine2": "^25.5.4",
+ "jest-leak-detector": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
+ "jest-runtime": "^25.5.4",
+ "jest-util": "^25.5.0",
+ "jest-worker": "^25.5.0",
"source-map-support": "^0.5.6",
"throat": "^5.0.0"
},
@@ -6013,12 +5844,6 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -6037,32 +5862,33 @@
}
},
"jest-runtime": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.7.tgz",
- "integrity": "sha512-Gw3X8KxTTFylu2T/iDSNKRUQXQiPIYUY0b66GwVYa7W8wySkUljKhibQHSq0VhmCAN7vRBEQjlVQ+NFGNmQeBw==",
+ "version": "25.5.4",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.5.4.tgz",
+ "integrity": "sha512-RWTt8LeWh3GvjYtASH2eezkc8AehVoWKK20udV6n3/gC87wlTbE1kIA+opCvNWyyPeBs6ptYsc6nyHUb1GlUVQ==",
"dev": true,
"requires": {
- "@jest/console": "^25.2.6",
- "@jest/environment": "^25.2.6",
- "@jest/source-map": "^25.2.6",
- "@jest/test-result": "^25.2.6",
- "@jest/transform": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/console": "^25.5.0",
+ "@jest/environment": "^25.5.0",
+ "@jest/globals": "^25.5.2",
+ "@jest/source-map": "^25.5.0",
+ "@jest/test-result": "^25.5.0",
+ "@jest/transform": "^25.5.1",
+ "@jest/types": "^25.5.0",
"@types/yargs": "^15.0.0",
"chalk": "^3.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
"glob": "^7.1.3",
- "graceful-fs": "^4.2.3",
- "jest-config": "^25.2.7",
- "jest-haste-map": "^25.2.6",
- "jest-message-util": "^25.2.6",
- "jest-mock": "^25.2.6",
+ "graceful-fs": "^4.2.4",
+ "jest-config": "^25.5.4",
+ "jest-haste-map": "^25.5.1",
+ "jest-message-util": "^25.5.0",
+ "jest-mock": "^25.5.0",
"jest-regex-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
- "jest-snapshot": "^25.2.7",
- "jest-util": "^25.2.6",
- "jest-validate": "^25.2.6",
+ "jest-resolve": "^25.5.1",
+ "jest-snapshot": "^25.5.1",
+ "jest-util": "^25.5.0",
+ "jest-validate": "^25.5.0",
"realpath-native": "^2.0.0",
"slash": "^3.0.0",
"strip-bom": "^4.0.0",
@@ -6143,18 +5969,6 @@
"path-exists": "^4.0.0"
}
},
- "get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true
- },
- "graceful-fs": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
- },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -6206,12 +6020,6 @@
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
- "require-main-filename": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
- "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
- "dev": true
- },
"slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -6253,12 +6061,6 @@
"has-flag": "^4.0.0"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
"wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -6270,12 +6072,6 @@
"strip-ansi": "^6.0.0"
}
},
- "y18n": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
- "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
- "dev": true
- },
"yargs": {
"version": "15.3.1",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
@@ -6296,9 +6092,9 @@
}
},
"yargs-parser": {
- "version": "18.1.2",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.2.tgz",
- "integrity": "sha512-hlIPNR3IzC1YuL1c2UwwDKpXlNFBqD1Fswwh1khz5+d8Cq/8yc/Mn0i+rQXduu8hcrFKvO7Eryk+09NecTQAAQ==",
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
"requires": {
"camelcase": "^5.0.0",
@@ -6308,30 +6104,34 @@
}
},
"jest-serializer": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz",
- "integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==",
- "dev": true
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.5.0.tgz",
+ "integrity": "sha512-LxD8fY1lByomEPflwur9o4e2a5twSQ7TaVNLlFUuToIdoJuBt8tzHfCsZ42Ok6LkKXWzFWf3AGmheuLAA7LcCA==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4"
+ }
},
"jest-snapshot": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.7.tgz",
- "integrity": "sha512-Rm8k7xpGM4tzmYhB6IeRjsOMkXaU8/FOz5XlU6oYwhy53mq6txVNqIKqN1VSiexzpC80oWVxVDfUDt71M6XPOA==",
+ "version": "25.5.1",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.5.1.tgz",
+ "integrity": "sha512-C02JE1TUe64p2v1auUJ2ze5vcuv32tkv9PyhEb318e8XOKF7MOyXdJ7kdjbvrp3ChPLU2usI7Rjxs97Dj5P0uQ==",
"dev": true,
"requires": {
"@babel/types": "^7.0.0",
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"@types/prettier": "^1.19.0",
"chalk": "^3.0.0",
- "expect": "^25.2.7",
- "jest-diff": "^25.2.6",
+ "expect": "^25.5.0",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^25.5.0",
"jest-get-type": "^25.2.6",
- "jest-matcher-utils": "^25.2.7",
- "jest-message-util": "^25.2.6",
- "jest-resolve": "^25.2.6",
+ "jest-matcher-utils": "^25.5.0",
+ "jest-message-util": "^25.5.0",
+ "jest-resolve": "^25.5.1",
"make-dir": "^3.0.0",
"natural-compare": "^1.4.0",
- "pretty-format": "^25.2.6",
+ "pretty-format": "^25.5.0",
"semver": "^6.3.0"
},
"dependencies": {
@@ -6394,13 +6194,14 @@
}
},
"jest-util": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz",
- "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.5.0.tgz",
+ "integrity": "sha512-KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"chalk": "^3.0.0",
+ "graceful-fs": "^4.2.4",
"is-ci": "^2.0.0",
"make-dir": "^3.0.0"
},
@@ -6458,17 +6259,17 @@
}
},
"jest-validate": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.6.tgz",
- "integrity": "sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.5.0.tgz",
+ "integrity": "sha512-okUFKqhZIpo3jDdtUXUZ2LxGUZJIlfdYBvZb1aczzxrlyMlqdnnws9MOxezoLGhSaFc2XYaHNReNQfj5zPIWyQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"camelcase": "^5.3.1",
"chalk": "^3.0.0",
"jest-get-type": "^25.2.6",
"leven": "^3.1.0",
- "pretty-format": "^25.2.6"
+ "pretty-format": "^25.5.0"
},
"dependencies": {
"ansi-styles": {
@@ -6530,16 +6331,16 @@
}
},
"jest-watcher": {
- "version": "25.2.7",
- "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.7.tgz",
- "integrity": "sha512-RdHuW+f49tahWtluTnUdZ2iPliebleROI2L/J5phYrUS6DPC9RB3SuUtqYyYhGZJsbvRSuLMIlY/cICJ+PIecw==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.5.0.tgz",
+ "integrity": "sha512-XrSfJnVASEl+5+bb51V0Q7WQx65dTSk7NL4yDdVjPnRNpM0hG+ncFmDYJo9O8jaSRcAitVbuVawyXCRoxGrT5Q==",
"dev": true,
"requires": {
- "@jest/test-result": "^25.2.6",
- "@jest/types": "^25.2.6",
+ "@jest/test-result": "^25.5.0",
+ "@jest/types": "^25.5.0",
"ansi-escapes": "^4.2.1",
"chalk": "^3.0.0",
- "jest-util": "^25.2.6",
+ "jest-util": "^25.5.0",
"string-length": "^3.1.0"
},
"dependencies": {
@@ -6601,13 +6402,19 @@
"requires": {
"has-flag": "^4.0.0"
}
+ },
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
}
}
},
"jest-worker": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz",
- "integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz",
+ "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==",
"dev": true,
"requires": {
"merge-stream": "^2.0.0",
@@ -6620,24 +6427,6 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- },
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "pngjs": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.3.3.tgz",
- "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q=="
- },
"supports-color": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
@@ -6655,14 +6444,14 @@
"integrity": "sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ=="
},
"js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"js-yaml": {
- "version": "3.13.1",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
- "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "version": "3.14.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+ "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
"dev": true,
"requires": {
"argparse": "^1.0.7",
@@ -6709,9 +6498,9 @@
},
"dependencies": {
"acorn": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
- "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz",
+ "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==",
"dev": true
},
"tough-cookie": {
@@ -6724,19 +6513,13 @@
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
- },
- "ws": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz",
- "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==",
- "dev": true
}
}
},
"jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
"dev": true
},
"json-parse-better-errors": {
@@ -6787,12 +6570,13 @@
}
},
"jsx-ast-utils": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz",
- "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=",
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz",
+ "integrity": "sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA==",
"dev": true,
"requires": {
- "array-includes": "^3.0.3"
+ "array-includes": "^3.0.3",
+ "object.assign": "^4.1.0"
}
},
"kind-of": {
@@ -6820,14 +6604,6 @@
"resolved": "https://registry.npmjs.org/langmap/-/langmap-0.0.16.tgz",
"integrity": "sha512-AtYvBK7BsDvWwnSfmO7CfgeUy7GUT1wK3QX8eKH/Ey/eXodqoHuAtvdQ82hmWD9QVFVKnuiNjym9fGY4qSJeLA=="
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
- "requires": {
- "invert-kv": "^1.0.0"
- }
- },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -6852,10 +6628,11 @@
"computed-style": "~0.1.3"
}
},
- "linear-layout-vector": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/linear-layout-vector/-/linear-layout-vector-0.0.1.tgz",
- "integrity": "sha1-OYEU1zA7bsx/1rJzr3uEAdi6nHA="
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
},
"lint-staged": {
"version": "8.1.3",
@@ -6890,26 +6667,120 @@
"yup": "^0.26.10"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
- "ms": "^2.1.1"
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
}
},
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"dev": true
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
}
}
},
@@ -6931,9 +6802,9 @@
},
"dependencies": {
"p-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.0.0.tgz",
- "integrity": "sha512-GO107XdrSUmtHxVoi60qc9tUl/KkNKm+X2CF4P9amalpGxv5YqVPJNfSb0wcA+syCopkZvYYIzW8OVTQW59x/w==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz",
+ "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==",
"dev": true
}
}
@@ -7045,18 +6916,9 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
- "dev": true,
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
- },
- "dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
}
},
"lodash": {
@@ -7146,9 +7008,9 @@
},
"dependencies": {
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
@@ -7162,11 +7024,11 @@
}
},
"loose-envify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"requires": {
- "js-tokens": "^3.0.0"
+ "js-tokens": "^3.0.0 || ^4.0.0"
}
},
"loud-rejection": {
@@ -7188,9 +7050,9 @@
}
},
"make-dir": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
- "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"dev": true,
"requires": {
"semver": "^6.0.0"
@@ -7255,6 +7117,11 @@
"resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz",
"integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg=="
},
+ "memoize-one": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.1.1.tgz",
+ "integrity": "sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA=="
+ },
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
@@ -7806,43 +7673,32 @@
}
},
"micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
"dev": true,
"requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
}
},
"mime": {
- "version": "2.4.4",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+ "version": "2.4.5",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz",
+ "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==",
"dev": true
},
"mime-db": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+ "version": "1.44.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+ "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
},
"mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "version": "2.1.27",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+ "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"requires": {
- "mime-db": "~1.37.0"
+ "mime-db": "1.44.0"
}
},
"mimic-fn": {
@@ -7905,9 +7761,9 @@
"dev": true
},
"nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz",
+ "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw=="
},
"nanomatch": {
"version": "1.2.13",
@@ -7935,9 +7791,9 @@
"dev": true
},
"next-tick": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+ "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
},
"nice-try": {
"version": "1.0.5",
@@ -8007,17 +7863,14 @@
}
},
"node-releases": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.1.tgz",
- "integrity": "sha512-2UXrBr6gvaebo5TNF84C66qyJJ6r0kxBObgZIDX3D3/mt1ADKiHux3NJPWisq0wxvJJdkjECH+9IIKYViKj71Q==",
- "requires": {
- "semver": "^5.3.0"
- }
+ "version": "1.1.56",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz",
+ "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw=="
},
"node-sass": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz",
- "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==",
+ "version": "4.14.1",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.14.1.tgz",
+ "integrity": "sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==",
"requires": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
@@ -8033,7 +7886,7 @@
"node-gyp": "^3.8.0",
"npmlog": "^4.0.0",
"request": "^2.88.0",
- "sass-graph": "^2.2.4",
+ "sass-graph": "2.2.5",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
},
@@ -8071,12 +7924,12 @@
}
},
"normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"requires": {
"hosted-git-info": "^2.1.4",
- "is-builtin-module": "^1.0.0",
+ "resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
@@ -8195,10 +8048,16 @@
}
}
},
+ "object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true
+ },
"object-keys": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz",
- "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
"dev": true
},
"object-visit": {
@@ -8223,15 +8082,14 @@
}
},
"object.entries": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz",
- "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz",
+ "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==",
"dev": true,
"requires": {
- "define-properties": "^1.1.2",
- "es-abstract": "^1.6.1",
- "function-bind": "^1.1.0",
- "has": "^1.0.1"
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "has": "^1.0.3"
}
},
"object.pick": {
@@ -8266,17 +8124,17 @@
}
},
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"dev": true,
"requires": {
"deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
+ "fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "word-wrap": "~1.2.3"
}
},
"os-homedir": {
@@ -8284,14 +8142,6 @@
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
},
- "os-locale": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "requires": {
- "lcid": "^1.0.0"
- }
- },
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@@ -8322,7 +8172,6 @@
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
- "dev": true,
"requires": {
"p-try": "^1.0.0"
}
@@ -8331,7 +8180,6 @@
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
- "dev": true,
"requires": {
"p-limit": "^1.1.0"
}
@@ -8345,8 +8193,7 @@
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
},
"parse-json": {
"version": "2.2.0",
@@ -8369,12 +8216,9 @@
"dev": true
},
"path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "requires": {
- "pinkie-promise": "^2.0.0"
- }
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
},
"path-is-absolute": {
"version": "1.0.1",
@@ -8396,8 +8240,7 @@
"path-parse": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
- "dev": true
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
},
"path-type": {
"version": "1.1.0",
@@ -8460,18 +8303,26 @@
}
},
"pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
"dev": true,
"requires": {
- "find-up": "^1.0.0"
+ "find-up": "^2.1.0"
+ }
+ },
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "requires": {
+ "find-up": "^2.1.0"
}
},
"please-upgrade-node": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz",
- "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
+ "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
"requires": {
"semver-compare": "^1.0.0"
@@ -8490,9 +8341,9 @@
"dev": true
},
"popper.js": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz",
- "integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw=="
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
+ "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
},
"posix-character-classes": {
"version": "0.1.1",
@@ -8501,62 +8352,13 @@
"dev": true
},
"postcss": {
- "version": "6.0.16",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz",
- "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==",
- "dev": true,
+ "version": "7.0.30",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.30.tgz",
+ "integrity": "sha512-nu/0m+NtIzoubO+xdAlwZl/u5S5vi/y6BCsoL8D+8IxsD3XvBS8X4YEADNIVXKVuQvduiucnRv+vPIqj56EGMQ==",
"requires": {
- "chalk": "^2.3.0",
+ "chalk": "^2.4.2",
"source-map": "^0.6.1",
- "supports-color": "^5.1.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz",
- "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==",
- "dev": true,
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz",
- "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==",
- "dev": true,
- "requires": {
- "ansi-styles": "^3.1.0",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^4.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "^2.0.0"
- }
- }
- }
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "supports-color": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz",
- "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==",
- "dev": true,
- "requires": {
- "has-flag": "^2.0.0"
- }
- }
+ "supports-color": "^6.1.0"
}
},
"postcss-modules-extract-imports": {
@@ -8566,19 +8368,6 @@
"dev": true,
"requires": {
"postcss": "^7.0.5"
- },
- "dependencies": {
- "postcss": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz",
- "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==",
- "dev": true,
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.5.0"
- }
- }
}
},
"postcss-modules-local-by-default": {
@@ -8589,6 +8378,28 @@
"requires": {
"css-selector-tokenizer": "^0.7.0",
"postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-modules-scope": {
@@ -8599,6 +8410,28 @@
"requires": {
"css-selector-tokenizer": "^0.7.0",
"postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-modules-values": {
@@ -8609,6 +8442,28 @@
"requires": {
"icss-replace-symbols": "^1.1.0",
"postcss": "^6.0.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "6.0.23",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+ "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^2.4.1",
+ "source-map": "^0.6.1",
+ "supports-color": "^5.4.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
}
},
"postcss-nested": {
@@ -8618,26 +8473,14 @@
"requires": {
"postcss": "^7.0.2",
"postcss-selector-parser": "^3.1.1"
- },
- "dependencies": {
- "postcss": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.6.tgz",
- "integrity": "sha512-Nq/rNjnHFcKgCDDZYO0lNsl6YWe6U7tTy+ESN+PnLxebL8uBtYX59HZqvrj7YLK5UCyll2hqDsJOo3ndzEW8Ug==",
- "requires": {
- "chalk": "^2.4.1",
- "source-map": "^0.6.1",
- "supports-color": "^5.5.0"
- }
- }
}
},
"postcss-selector-parser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
- "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz",
+ "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==",
"requires": {
- "dot-prop": "^4.1.1",
+ "dot-prop": "^5.2.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
@@ -8654,12 +8497,12 @@
"dev": true
},
"pretty-format": {
- "version": "25.2.6",
- "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz",
- "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==",
+ "version": "25.5.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.5.0.tgz",
+ "integrity": "sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==",
"dev": true,
"requires": {
- "@jest/types": "^25.2.6",
+ "@jest/types": "^25.5.0",
"ansi-regex": "^5.0.0",
"ansi-styles": "^4.0.0",
"react-is": "^16.12.0"
@@ -8695,12 +8538,6 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
- },
- "react-is": {
- "version": "16.13.1",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
- "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
- "dev": true
}
}
},
@@ -8718,9 +8555,9 @@
}
},
"process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"progress": {
"version": "2.0.3",
@@ -8728,6 +8565,16 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
+ "prompts": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.3.2.tgz",
+ "integrity": "sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA==",
+ "dev": true,
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.4"
+ }
+ },
"prop-types": {
"version": "15.7.2",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
@@ -8736,16 +8583,6 @@
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.8.1"
- },
- "dependencies": {
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- }
}
},
"property-expr": {
@@ -8755,9 +8592,9 @@
"dev": true
},
"proxy-from-env": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
"pseudomap": {
@@ -8766,9 +8603,9 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
},
"psl": {
- "version": "1.1.31",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
- "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
},
"pump": {
"version": "3.0.0",
@@ -8786,9 +8623,9 @@
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"puppeteer": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.0.tgz",
- "integrity": "sha512-PC4oKMtwAElo8YtS/cYnk2/dew/3TonsGKKzjpFLWwkhBCteFsOZCVOXTt2QlP6w53mH0YsJE+fPLPzOW+DCug==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-2.1.1.tgz",
+ "integrity": "sha512-LWzaDVQkk1EPiuYeTOj+CZRIjda4k2s5w4MK4xoH2+kgWV/SDlkYHmxatDdtYrciHUKSXTsGgPgPP8ILVdBsxg==",
"dev": true,
"requires": {
"@types/mime-types": "^2.1.0",
@@ -8812,26 +8649,20 @@
"ms": "^2.1.1"
}
},
- "mime-db": {
- "version": "1.43.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
- "dev": true
- },
- "mime-types": {
- "version": "2.1.26",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
- "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "dev": true,
- "requires": {
- "mime-db": "1.43.0"
- }
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
+ },
+ "ws": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+ "dev": true,
+ "requires": {
+ "async-limiter": "~1.0.0"
+ }
}
}
},
@@ -8846,9 +8677,9 @@
"integrity": "sha512-dye+7rERqNf/6mDT1iwps+4Gf42420xuZgygF33uX178DxffqcyeuHbBuJ382FIcB5iP6mMZOhfW7kI0uXwb/Q=="
},
"react": {
- "version": "16.12.0",
- "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz",
- "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==",
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz",
+ "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
@@ -8866,9 +8697,9 @@
}
},
"react-color": {
- "version": "2.18.0",
- "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.18.0.tgz",
- "integrity": "sha512-FyVeU1kQiSokWc8NPz22azl1ezLpJdUyTbWL0LPUpcuuYDrZ/Y1veOk9rRK5B3pMlyDGvTk4f4KJhlkIQNRjEA==",
+ "version": "2.18.1",
+ "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.18.1.tgz",
+ "integrity": "sha512-X5XpyJS6ncplZs74ak0JJoqPi+33Nzpv5RYWWxn17bslih+X7OlgmfpmGC1fNvdkK7/SGWYf1JJdn7D2n5gSuQ==",
"requires": {
"@icons/material": "^0.2.4",
"lodash": "^4.17.11",
@@ -8879,22 +8710,22 @@
}
},
"react-device-detect": {
- "version": "1.11.14",
- "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-1.11.14.tgz",
- "integrity": "sha512-WSjch241xI+rXHVtJaSYxNUT2WAykzfJgMI2Hg9xjNNTlIZdJu/fmWf4iedNH7qzFq+JaJ6fDJu3mrKFLerKBw==",
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-1.12.1.tgz",
+ "integrity": "sha512-BQ7xIEHx0VqPBGEtEFJRybHnhZ1Qn3BXX8dRR3EKLRfSTKpITUw925VYCGnygZDpmgYSq5NX0IvHGhy0w7Sckg==",
"requires": {
- "ua-parser-js": "^0.7.20"
+ "ua-parser-js": "^0.7.21"
}
},
"react-dom": {
- "version": "16.12.0",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.12.0.tgz",
- "integrity": "sha512-LMxFfAGrcS3kETtQaCkTKjMiifahaMySFDn71fZUNpPHZQEzmk/GiAeIT8JSOrHB23fnuCOMruL2a8NYlw+8Gw==",
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz",
+ "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
- "scheduler": "^0.18.0"
+ "scheduler": "^0.19.1"
}
},
"react-draggable": {
@@ -8915,6 +8746,11 @@
"prop-types": "^15.6.2"
}
},
+ "react-fast-compare": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.1.1.tgz",
+ "integrity": "sha512-SCsAORWK59BvauR2L1BTdjQbJcSGJJz03U0awektk2hshLKrITDDFTlgGCqIZpTDlPC/NFlZee6xTMzXPVLiHw=="
+ },
"react-intl": {
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.7.2.tgz",
@@ -8928,9 +8764,9 @@
}
},
"react-is": {
- "version": "16.8.6",
- "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
- "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"react-lifecycles-compat": {
"version": "3.0.4",
@@ -8949,13 +8785,15 @@
}
},
"react-player": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/react-player/-/react-player-1.14.2.tgz",
- "integrity": "sha512-t3R1szFSA1mkd66R4OSYwONjy1tETySoFYgsFzskhin9WCnypdPOuj5N5+uiuAInSg5ueznxoMGndl3JSoXYlQ==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/react-player/-/react-player-2.0.1.tgz",
+ "integrity": "sha512-QG/NutOfDq4FF/7nzMDzM4nmb8ExVES/5n973NSZgZ/1iE6ObmhDOau9gO67NPYOQv/RhOJ4S8b0g9bVAdK9vA==",
"requires": {
"deepmerge": "^4.0.0",
"load-script": "^1.0.0",
- "prop-types": "^15.7.2"
+ "memoize-one": "^5.1.1",
+ "prop-types": "^15.7.2",
+ "react-fast-compare": "^3.0.1"
}
},
"react-render-in-browser": {
@@ -9005,30 +8843,30 @@
"loose-envify": "^1.4.0",
"prop-types": "^15.6.2",
"react-lifecycles-compat": "^3.0.4"
- },
- "dependencies": {
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- }
}
},
"react-virtualized": {
- "version": "9.21.1",
- "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.1.tgz",
- "integrity": "sha512-E53vFjRRMCyUTEKuDLuGH1ld/9TFzjf/fFW816PE4HFXWZorESbSTYtiZz1oAjra0MminaUU1EnvUxoGuEFFPA==",
+ "version": "9.21.2",
+ "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.21.2.tgz",
+ "integrity": "sha512-oX7I7KYiUM7lVXQzmhtF4Xg/4UA5duSA+/ZcAvdWlTLFCoFYq1SbauJT5gZK9cZS/wdYR6TPGpX/dqzvTqQeBA==",
"requires": {
"babel-runtime": "^6.26.0",
"clsx": "^1.0.1",
- "dom-helpers": "^2.4.0 || ^3.0.0",
- "linear-layout-vector": "0.0.1",
+ "dom-helpers": "^5.0.0",
"loose-envify": "^1.3.0",
"prop-types": "^15.6.0",
"react-lifecycles-compat": "^3.0.4"
+ },
+ "dependencies": {
+ "dom-helpers": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.1.4.tgz",
+ "integrity": "sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A==",
+ "requires": {
+ "@babel/runtime": "^7.8.7",
+ "csstype": "^2.6.7"
+ }
+ }
}
},
"reactcss": {
@@ -9056,12 +8894,31 @@
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "requires": {
+ "path-exists": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "requires": {
+ "pinkie-promise": "^2.0.0"
+ }
+ }
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -9103,9 +8960,9 @@
}
},
"redis-commands": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz",
- "integrity": "sha1-gdgm9F+pyLIBH0zXoP5ZfSQdRCs="
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.5.0.tgz",
+ "integrity": "sha512-6KxamqpZ468MeQC3bkWmCB1fp56XL64D4Kf0zJSwDZbVLLm7KFkoIcHrgRvQ+sk8dnhySs7+yBg94yIkAK7aJg=="
},
"redis-parser": {
"version": "2.6.0",
@@ -9113,15 +8970,24 @@
"integrity": "sha1-Uu0J2srBCPGmMcB+m2mUHnoZUEs="
},
"regenerate": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz",
- "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
"dev": true
},
+ "regenerate-unicode-properties": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+ "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
+ "dev": true,
+ "requires": {
+ "regenerate": "^1.4.0"
+ }
+ },
"regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA=="
},
"regex-not": {
"version": "1.0.2",
@@ -9140,29 +9006,40 @@
"dev": true
},
"regexpu-core": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
- "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+ "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
"dev": true,
"requires": {
- "regenerate": "^1.2.1",
- "regjsgen": "^0.2.0",
- "regjsparser": "^0.1.4"
+ "regenerate": "^1.4.0",
+ "regenerate-unicode-properties": "^8.2.0",
+ "regjsgen": "^0.5.1",
+ "regjsparser": "^0.6.4",
+ "unicode-match-property-ecmascript": "^1.0.4",
+ "unicode-match-property-value-ecmascript": "^1.2.0"
}
},
"regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+ "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
"dev": true
},
"regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "version": "0.6.4",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+ "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
+ }
}
},
"remove-trailing-separator": {
@@ -9192,9 +9069,9 @@
}
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -9203,7 +9080,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -9213,7 +9090,7 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
@@ -9244,9 +9121,9 @@
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
"require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"require-uncached": {
"version": "1.0.3",
@@ -9259,12 +9136,11 @@
}
},
"resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
- "dev": true,
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
"requires": {
- "path-parse": "^1.0.5"
+ "path-parse": "^1.0.6"
}
},
"resolve-cwd": {
@@ -9313,11 +9189,11 @@
"dev": true
},
"rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
"requires": {
- "glob": "^7.0.5"
+ "glob": "^7.1.3"
}
},
"rsvp": {
@@ -9327,13 +9203,10 @@
"dev": true
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
},
"run-node": {
"version": "1.0.0",
@@ -9342,9 +9215,9 @@
"dev": true
},
"rxjs": {
- "version": "6.3.3",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
- "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
@@ -9396,6 +9269,105 @@
"normalize-path": "^2.1.1"
}
},
+ "braces": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+ "dev": true,
+ "requires": {
+ "arr-flatten": "^1.1.0",
+ "array-unique": "^0.3.2",
+ "extend-shallow": "^2.0.1",
+ "fill-range": "^4.0.0",
+ "isobject": "^3.0.1",
+ "repeat-element": "^1.1.2",
+ "snapdragon": "^0.8.1",
+ "snapdragon-node": "^2.0.1",
+ "split-string": "^3.0.2",
+ "to-regex": "^3.0.1"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1",
+ "to-regex-range": "^2.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ }
+ }
+ },
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
+ "requires": {
+ "arr-diff": "^4.0.0",
+ "array-unique": "^0.3.2",
+ "braces": "^2.3.1",
+ "define-property": "^2.0.2",
+ "extend-shallow": "^3.0.2",
+ "extglob": "^2.0.4",
+ "fragment-cache": "^0.2.1",
+ "kind-of": "^6.0.2",
+ "nanomatch": "^1.2.9",
+ "object.pick": "^1.3.0",
+ "regex-not": "^1.0.0",
+ "snapdragon": "^0.8.1",
+ "to-regex": "^3.0.2"
+ }
+ },
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
@@ -9404,18 +9376,28 @@
"requires": {
"remove-trailing-separator": "^1.0.1"
}
+ },
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
+ "requires": {
+ "is-number": "^3.0.0",
+ "repeat-string": "^1.6.1"
+ }
}
}
},
"sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz",
+ "integrity": "sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==",
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
"scss-tokenizer": "^0.2.3",
- "yargs": "^7.0.0"
+ "yargs": "^13.3.2"
}
},
"saxes": {
@@ -9428,9 +9410,9 @@
}
},
"scheduler": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.18.0.tgz",
- "integrity": "sha512-agTSHR1Nbfi6ulI0kYNK0203joW2Y5W4po4l+v03tOoiJKpTBbxpNhWDvqc/4IcOw+KLmSiQLTasZ4cab2/UWQ==",
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
+ "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -9466,9 +9448,9 @@
"integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
},
"semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
},
"semver-compare": {
"version": "1.0.0",
@@ -9537,14 +9519,14 @@
"optional": true
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
},
"simple-git": {
- "version": "1.107.0",
- "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.107.0.tgz",
- "integrity": "sha512-t4OK1JRlp4ayKRfcW6owrWcRVLyHRUlhGd0uN6ZZTqfDq8a5XpcUdOKiGRNobHEuMtNqzp0vcJNvhYWwh5PsQA==",
+ "version": "1.132.0",
+ "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-1.132.0.tgz",
+ "integrity": "sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==",
"dev": true,
"requires": {
"debug": "^4.0.1"
@@ -9560,9 +9542,9 @@
}
},
"ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
}
}
@@ -9595,9 +9577,9 @@
"dev": true
},
"slice-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",
- "integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.0",
@@ -9629,6 +9611,15 @@
"use": "^3.1.0"
},
"dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
@@ -9738,12 +9729,12 @@
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
},
"source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
"dev": true,
"requires": {
- "atob": "^2.1.1",
+ "atob": "^2.1.2",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
@@ -9751,9 +9742,9 @@
}
},
"source-map-support": {
- "version": "0.5.16",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
- "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
"dev": true,
"requires": {
"buffer-from": "^1.0.0",
@@ -9767,32 +9758,32 @@
"dev": true
},
"spdx-correct": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
- "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+ "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
},
"spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-license-ids": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
- "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg=="
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+ "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
},
"split-string": {
"version": "3.1.0",
@@ -9810,9 +9801,9 @@
"dev": true
},
"sshpk": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
- "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -9883,6 +9874,16 @@
"integrity": "sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M=",
"requires": {
"debug": "2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ }
}
},
"strictdom": {
@@ -9938,6 +9939,48 @@
"strip-ansi": "^3.0.0"
}
},
+ "string.prototype.trimend": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+ "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
+ "string.prototype.trimleft": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz",
+ "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimstart": "^1.0.0"
+ }
+ },
+ "string.prototype.trimright": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz",
+ "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5",
+ "string.prototype.trimend": "^1.0.0"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+ "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.5"
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -9955,6 +9998,14 @@
"get-own-enumerable-property-symbols": "^3.0.0",
"is-obj": "^1.0.1",
"is-regexp": "^1.0.0"
+ },
+ "dependencies": {
+ "is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "dev": true
+ }
}
},
"strip-ansi": {
@@ -10000,18 +10051,11 @@
"dev": true
},
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
- },
- "dependencies": {
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- }
}
},
"supports-hyperlinks": {
@@ -10054,27 +10098,27 @@
"dev": true
},
"synchronous-promise": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.6.tgz",
- "integrity": "sha512-TyOuWLwkmtPL49LHCX1caIwHjRzcVd62+GF6h8W/jHOeZUFHpnd2XJDVuUlaTaLPH1nuu2M69mfHr5XbQJnf/g==",
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.12.tgz",
+ "integrity": "sha512-rIDJiHmIK02tXU+eW1v6a7rNIIiMLm5JUF5Uj2fT6oLSulg7WNDVoqvkYqkFoJzf4v2gmTLppvzegdo9R+7h1Q==",
"dev": true
},
"table": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/table/-/table-5.1.1.tgz",
- "integrity": "sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==",
+ "version": "5.4.6",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz",
+ "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==",
"dev": true,
"requires": {
- "ajv": "^6.6.1",
- "lodash": "^4.17.11",
- "slice-ansi": "2.0.0",
- "string-width": "^2.1.1"
+ "ajv": "^6.10.2",
+ "lodash": "^4.17.14",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
"dev": true
},
"is-fullwidth-code-point": {
@@ -10084,22 +10128,23 @@
"dev": true
},
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
"requires": {
+ "emoji-regex": "^7.0.1",
"is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "strip-ansi": "^5.1.0"
}
},
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-regex": "^4.1.0"
}
}
}
@@ -10132,6 +10177,12 @@
"requires": {
"type-fest": "^0.11.0"
}
+ },
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
}
}
},
@@ -10144,22 +10195,6 @@
"@istanbuljs/schema": "^0.1.2",
"glob": "^7.1.4",
"minimatch": "^3.0.4"
- },
- "dependencies": {
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- }
- }
}
},
"text-hex": {
@@ -10186,9 +10221,9 @@
"dev": true
},
"tiny-emitter": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
- "integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"tinycolor2": {
"version": "1.4.1",
@@ -10196,9 +10231,9 @@
"integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g="
},
"tippy.js": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-5.1.3.tgz",
- "integrity": "sha512-qZl6nPzXmfPTPmHXdnMc8N57BnJMvCqMg4KGgeR9Mi2k9QYHa3tA6O1UFn6w3vlHT/UIS21NrlMjixjcG2DeTw==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-5.2.1.tgz",
+ "integrity": "sha512-66UT6JRVn3dXNCORE+0UvUK3JZqV/VhLlU6HTDm3FmrweUUFUxUGvT8tUQ7ycMp+uhuLAwQw6dBabyC+iKf/MA==",
"requires": {
"popper.js": "^1.16.0"
}
@@ -10262,13 +10297,12 @@
}
},
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "is-number": "^7.0.0"
}
},
"toposort": {
@@ -10278,19 +10312,12 @@
"dev": true
},
"tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
}
},
"tr46": {
@@ -10321,9 +10348,9 @@
}
},
"tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==",
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+ "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
"tunnel-agent": {
@@ -10355,9 +10382,9 @@
"dev": true
},
"type-fest": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
- "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
"dev": true
},
"typedarray": {
@@ -10380,6 +10407,34 @@
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
"integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ=="
},
+ "unicode-canonical-property-names-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+ "dev": true
+ },
+ "unicode-match-property-ecmascript": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+ "dev": true,
+ "requires": {
+ "unicode-canonical-property-names-ecmascript": "^1.0.4",
+ "unicode-property-aliases-ecmascript": "^1.0.4"
+ }
+ },
+ "unicode-match-property-value-ecmascript": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+ "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+ "dev": true
+ },
+ "unicode-property-aliases-ecmascript": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+ "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
+ "dev": true
+ },
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@@ -10472,14 +10527,14 @@
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"v8-to-istanbul": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz",
- "integrity": "sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng==",
+ "version": "4.1.4",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz",
+ "integrity": "sha512-Rw6vJHj1mbdK8edjR7+zuJrpDtKIgNdAvTSAcpYfgMIw+u2dPDntD3dgN4XQFLU2/fvFQdzj+EeSGfd/jnY5fQ==",
"dev": true,
"requires": {
"@types/istanbul-lib-coverage": "^2.0.1",
@@ -10592,9 +10647,9 @@
}
},
"which-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
"wide-align": {
"version": "1.1.3",
@@ -10621,9 +10676,9 @@
},
"dependencies": {
"readable-stream": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
- "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
@@ -10641,19 +10696,50 @@
"triple-beam": "^1.2.0"
}
},
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"dev": true
},
"wrap-ansi": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
- "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+ "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
"requires": {
- "string-width": "^1.0.1",
- "strip-ansi": "^3.0.1"
+ "ansi-styles": "^3.2.0",
+ "string-width": "^3.0.0",
+ "strip-ansi": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
+ }
}
},
"wrappy": {
@@ -10683,13 +10769,10 @@
}
},
"ws": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
- "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
- "dev": true,
- "requires": {
- "async-limiter": "~1.0.0"
- }
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+ "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+ "dev": true
},
"xml-name-validator": {
"version": "3.0.0",
@@ -10704,9 +10787,9 @@
"dev": true
},
"y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
},
"yallist": {
"version": "2.1.2",
@@ -10714,52 +10797,108 @@
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
},
"yaml": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.7.2.tgz",
- "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
- "requires": {
- "@babel/runtime": "^7.6.3"
- }
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
+ "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg=="
},
"yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "version": "13.3.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+ "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
"requires": {
- "camelcase": "^3.0.0",
- "cliui": "^3.2.0",
- "decamelize": "^1.1.1",
- "get-caller-file": "^1.0.1",
- "os-locale": "^1.4.0",
- "read-pkg-up": "^1.0.1",
+ "cliui": "^5.0.0",
+ "find-up": "^3.0.0",
+ "get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
- "require-main-filename": "^1.0.1",
+ "require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
- "string-width": "^1.0.2",
- "which-module": "^1.0.0",
- "y18n": "^3.2.1",
- "yargs-parser": "^5.0.0"
+ "string-width": "^3.0.0",
+ "which-module": "^2.0.0",
+ "y18n": "^4.0.0",
+ "yargs-parser": "^13.1.2"
},
"dependencies": {
- "camelcase": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+ },
+ "find-up": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "requires": {
+ "locate-path": "^3.0.0"
+ }
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "requires": {
+ "p-locate": "^3.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "requires": {
+ "p-try": "^2.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "requires": {
+ "p-limit": "^2.0.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+ },
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+ "requires": {
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "requires": {
+ "ansi-regex": "^4.1.0"
+ }
}
}
},
"yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "version": "13.1.2",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+ "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
"requires": {
- "camelcase": "^3.0.0"
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
},
"dependencies": {
"camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
}
}
},
diff --git a/bigbluebutton-html5/package.json b/bigbluebutton-html5/package.json
index 352652a5e0..1e4299b8ba 100755
--- a/bigbluebutton-html5/package.json
+++ b/bigbluebutton-html5/package.json
@@ -63,7 +63,7 @@
"react-dropzone": "^7.0.1",
"react-intl": "~2.7.2",
"react-modal": "~3.6.1",
- "react-player": "^1.14.2",
+ "react-player": "^2.0.1",
"react-render-in-browser": "^1.1.1",
"react-tabs": "^2.3.1",
"react-toastify": "^4.5.2",
diff --git a/bigbluebutton-html5/private/config/settings.yml b/bigbluebutton-html5/private/config/settings.yml
index c21e3f9767..65e3f38411 100755
--- a/bigbluebutton-html5/private/config/settings.yml
+++ b/bigbluebutton-html5/private/config/settings.yml
@@ -71,9 +71,6 @@ public:
openActions:
accesskey: A
descId: openActions
- openStatus:
- accesskey: S
- descId: openStatus
branding:
displayBrandingArea: false
connectionTimeout: 60000
@@ -93,10 +90,21 @@ public:
chromeDefaultExtensionLink: https://chrome.google.com/webstore/detail/bigbluebutton-screenshare/akgoaoikmbmhcopjgakkcepdgdgkjfbc
chromeExtensionKey: KEY
chromeExtensionLink: LINK
- chromeScreenshareSources:
- - window
- - screen
- firefoxScreenshareSource: window
+ screenshare:
+ constraints:
+ video:
+ frameRate:
+ ideal: 5
+ max: 10
+ width:
+ max: 2560
+ height:
+ max: 1600
+ audio: false
+ chromeScreenshareSources:
+ - window
+ - screen
+ firefoxScreenshareSource: window
cameraProfiles:
- id: low
name: Low quality
@@ -173,6 +181,8 @@ public:
webcamsDefaultPlacement: "top"
media:
stunTurnServersFetchAddress: "/bigbluebutton/api/stuns"
+ cacheStunTurnServers: true
+ fallbackStunServer: ''
mediaTag: "#remote-media"
callTransferTimeout: 5000
callHangupTimeout: 2000
diff --git a/bigbluebutton-html5/private/locales/ar.json b/bigbluebutton-html5/private/locales/ar.json
index 88739518db..91d7dbacd5 100644
--- a/bigbluebutton-html5/private/locales/ar.json
+++ b/bigbluebutton-html5/private/locales/ar.json
@@ -112,7 +112,6 @@
"app.media.screenshare.start": "بدأت مشاركة الشاشة",
"app.media.screenshare.end": "انتهت مشاركة الشاشة",
"app.media.screenshare.unavailable": "مشاركة الشاشة غير متوفرة",
- "app.media.screenshare.safariNotSupported": "مشاركة الشاشة غير مدعومة حاليًا بواسطة سفاري. من فضلك ، استخدم فايرفوكس أو جوجل كروم.",
"app.media.screenshare.autoplayBlockedDesc": "نحن بحاجة إلى إذنك لتظهر لك شاشة مقدم العرض.",
"app.media.screenshare.autoplayAllowLabel": "عرض الشاشة المشتركة",
"app.screenshare.notAllowed": "خطأ: لم يتم منح إذن الدخول إلى الشاشة.",
diff --git a/bigbluebutton-html5/private/locales/bg_BG.json b/bigbluebutton-html5/private/locales/bg_BG.json
index a6e7d4428f..37dddf0ad2 100644
--- a/bigbluebutton-html5/private/locales/bg_BG.json
+++ b/bigbluebutton-html5/private/locales/bg_BG.json
@@ -41,7 +41,7 @@
"app.captions.pad.hide": "Скрий субтитрите",
"app.captions.pad.tip": "Натиснете Esc за връщане в редактора",
"app.captions.pad.ownership": "Поемете контрол",
- "app.captions.pad.ownershipTooltip": "Ще поемете контрол вълху писането на субтитри на {0}",
+ "app.captions.pad.ownershipTooltip": "Ще поемете контрол върху писането на субтитри на {0}",
"app.captions.pad.interimResult": "Междинен резултат",
"app.captions.pad.dictationStart": "Започни диктовка",
"app.captions.pad.dictationStop": "Спри диктовката",
diff --git a/bigbluebutton-html5/private/locales/ca.json b/bigbluebutton-html5/private/locales/ca.json
index d58a33cb96..6e1490344e 100644
--- a/bigbluebutton-html5/private/locales/ca.json
+++ b/bigbluebutton-html5/private/locales/ca.json
@@ -3,7 +3,7 @@
"app.chat.submitLabel": "Envia missatge",
"app.chat.errorMaxMessageLength": "El missatge és {0} caràcter(s) massa llarg",
"app.chat.disconnected": "Esteu fora de línia, els missatges no es poden enviar",
- "app.chat.locked": "El xar està bloquejar, els missatges no es poden enviar",
+ "app.chat.locked": "El xat està bloquejat, els missatges no es poden enviar",
"app.chat.inputLabel": "Entrada del missatge pel xat {0}",
"app.chat.inputPlaceholder": "Envia missatge a {0}",
"app.chat.titlePublic": "Xat públic",
@@ -63,6 +63,7 @@
"app.userList.presenter": "Presentador/a",
"app.userList.you": "Vós",
"app.userList.locked": "Tancat",
+ "app.userList.byModerator": "Per (Moderador/a)",
"app.userList.label": "Llista d'usuaris",
"app.userList.toggleCompactView.label": "Canvia al mode compacte",
"app.userList.guest": "Convidat/ada",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Inicia xat privat",
"app.userList.menu.clearStatus.label": "Neteja l'estat",
"app.userList.menu.removeUser.label": "Elimina usuari/ària",
+ "app.userList.menu.removeConfirmation.label": "Eliminar usuari/ària ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Esteu segurs d'eliminar aquest usuari/ària? Un cop ho feu no podrà tornar a entrar en aquesta sala. Si el voleu tornar a incloure haureu de finalitzar sessió i tornar-la a iniciar.",
"app.userList.menu.muteUserAudio.label": "Silencia usuari/ària",
"app.userList.menu.unmuteUserAudio.label": "Activa el micròfon de l'usuari/ària",
"app.userList.userAriaLabel": "{0} {1} {2} Estat {3}",
@@ -111,6 +114,7 @@
"app.media.autoplayAlertDesc": "Permet accés",
"app.media.screenshare.start": "Inici de pantalla compartida",
"app.media.screenshare.end": "Fi de la pantalla compartida",
+ "app.media.screenshare.unavailable": "No es pot compartir pantalla",
"app.media.screenshare.autoplayBlockedDesc": "Es necessita donar permís per mostrar-te la pantalla del presentador",
"app.media.screenshare.autoplayAllowLabel": "Veure pantalla compartida",
"app.screenshare.notAllowed": "Error: No s'ha permés l'accés a la pantalla",
@@ -169,6 +173,9 @@
"app.presentationUploder.rejectedError": "Els següents fitxers han estat rebutjats. Si us plau, comprovi el tipus de fitxer.",
"app.presentationUploder.upload.progress": "Pujant ({0}&)",
"app.presentationUploder.upload.413": "El fitxer és massa gran. Separeu-lo en diversos arxius.",
+ "app.presentationUploder.upload.408": "El temps de la sol·licitud de càrrega del token s'ha acabat",
+ "app.presentationUploder.upload.404": "404: Token de pujada no vàlid",
+ "app.presentationUploder.upload.401": "La sol·licitud del token de càrrega de presentació ha fallat.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Processant pàgina {0} de {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Convertint fitxer...",
"app.presentationUploder.conversion.generatingThumbnail": "Generant miniatures ...",
@@ -398,7 +405,7 @@
"app.audioModal.unsupportedBrowserLabel": "Sembla que esteu emprant un navegador no suportat del tot. Si us plau utilitzeu o {0} o {1} per a un suport complet.",
"app.audioModal.closeLabel": "Tanca",
"app.audioModal.yes": "Sí",
- "app.audioModal.no": "O",
+ "app.audioModal.no": "No",
"app.audioModal.yes.arialabel" : "L'eco és audible",
"app.audioModal.no.arialabel" : "L'eco és inaudible",
"app.audioModal.echoTestTitle": "Test privat d'eco. Digueu algunes paraules. Us escolteu?",
diff --git a/bigbluebutton-html5/private/locales/cs_CZ.json b/bigbluebutton-html5/private/locales/cs_CZ.json
index 22024ea528..77b22c18ba 100644
--- a/bigbluebutton-html5/private/locales/cs_CZ.json
+++ b/bigbluebutton-html5/private/locales/cs_CZ.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Přednášející",
"app.userList.you": "Vy",
"app.userList.locked": "Uzamčen",
+ "app.userList.byModerator": "od (moderátora)",
"app.userList.label": "Seznam uživatelů",
"app.userList.toggleCompactView.label": "Přepnout na kompaktní rozložení",
"app.userList.guest": "Host",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Spustit soukromý chat",
"app.userList.menu.clearStatus.label": "Smazat status",
"app.userList.menu.removeUser.label": "Odstranit uživatele",
+ "app.userList.menu.removeConfirmation.label": "Odebrat uživatele ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Jste si jist(a), že chcete odebrat tohoto uživatele? Jakmile bude odebrán, nebude se schopen znovu přihlásit k relaci.",
"app.userList.menu.muteUserAudio.label": "Ztlumit uživatele",
"app.userList.menu.unmuteUserAudio.label": "Zrušit ztlumení uživatele",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
@@ -112,7 +115,6 @@
"app.media.screenshare.start": "Sdílení obrazovky bylo zahájeno",
"app.media.screenshare.end": "Sdílení obrazovky bylo ukončeno",
"app.media.screenshare.unavailable": "Sdílení obrazovky není k dispozici",
- "app.media.screenshare.safariNotSupported": "Sdílení obrazovky neni v Safari v současti podporováno. Použijte prosím Firefox nebo Google Chrome",
"app.media.screenshare.autoplayBlockedDesc": "Potřebujeme Vaše povolení, abychom Vám mohli ukázat obrazovku prezentujícího.",
"app.media.screenshare.autoplayAllowLabel": "Zobrazit sdílenou obrazovku",
"app.screenshare.notAllowed": "Chyba: Nebylo uděleno oprávnění pro přístup k obrazovce.",
@@ -171,6 +173,9 @@
"app.presentationUploder.rejectedError": "Vybraný soubor(y) byl(y) odmítnut(y). Zkontrolujte prosím typ souboru(ů).",
"app.presentationUploder.upload.progress": "Nahrávání ({0}%)",
"app.presentationUploder.upload.413": "Soubor je příliš velký. Rozdělte jej prosím na několik souborů.",
+ "app.presentationUploder.upload.408": "Vyžádat vypršení platnosti nahrávacího tokenu",
+ "app.presentationUploder.upload.404": "404: Neplatný nahrávací token",
+ "app.presentationUploder.upload.401": "Žádost o token pro nahrání prezentace selhala",
"app.presentationUploder.conversion.conversionProcessingSlides": "Zpracovávám stránku {0} z {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Zpracování souboru...",
"app.presentationUploder.conversion.generatingThumbnail": "Generování náhledů...",
@@ -217,7 +222,7 @@
"app.poll.a5": "A / B / C / D / E",
"app.poll.answer.true": "Pravda",
"app.poll.answer.false": "Nepravda",
- "app.poll.answer.yes": "Ano, ukončit",
+ "app.poll.answer.yes": "Ano",
"app.poll.answer.no": "Ne",
"app.poll.answer.a": "A",
"app.poll.answer.b": "B",
@@ -364,12 +369,12 @@
"app.actionsBar.currentStatusDesc": "Stávající stav {0}",
"app.actionsBar.captions.start": "Zapnout zobrazení vložených titulků",
"app.actionsBar.captions.stop": "Vypnout zobrazení vložených titulků",
- "app.audioNotification.audioFailedError1001": "Chyba 1001: WebSocket odpojen (WebSocket disconnected)\n",
+ "app.audioNotification.audioFailedError1001": "Chyba 1001: WebSocket odpojen (WebSocket disconnected)",
"app.audioNotification.audioFailedError1002": "Chyba 1002: Nelze zřídit WebSocket spojení (Could not make a WebSocket connection)",
"app.audioNotification.audioFailedError1003": "Chyba 1003: Verze prohlížeče není podporovaná (Browser version not supported)",
"app.audioNotification.audioFailedError1004": "Chyba 1004: Chyba v průběhu hovoru (důvod={0}) (Failure on call)",
"app.audioNotification.audioFailedError1005": "Chyba 1005: Hovor neočekávaně ukončen (Call ended unexpectedly)",
- "app.audioNotification.audioFailedError1006": "Chyba 1006: Čas hovoru vypršel (Call timed out)\n",
+ "app.audioNotification.audioFailedError1006": "Chyba 1006: Čas hovoru vypršel (Call timed out)",
"app.audioNotification.audioFailedError1007": "Chyba 1007: Vyjednani ICE selhalo (ICE negotiation failed)",
"app.audioNotification.audioFailedError1008": "Chyba 1008: Přenos selhal (Transfer failed)",
"app.audioNotification.audioFailedError1009": "Chyba 1009: Nemohu získat informace od STUN/TURN serveru (Could not fetch STUN/TURN server information)",
@@ -411,7 +416,7 @@
"app.audioModal.help.macNotAllowed": "Zdá se, že nastaveni Vašeho systému Mac blokuje přístup k Vašemu mikrofonu. Otevřete Předvolby systemu > Zabezpečení a Soukromí > Soukromí > Mikrofon a zkontrolujte, že je Váš prohlížeč povolen.",
"app.audioModal.audioDialTitle": "Připojit se pomocí telefonu",
"app.audioDial.audioDialDescription": "Vytočit",
- "app.audioDial.audioDialConfrenceText": "a zadejte číslo PIN kontference",
+ "app.audioDial.audioDialConfrenceText": "a zadejte číslo PIN konference",
"app.audioModal.autoplayBlockedDesc": "Potřebujeme Vaše oprávnění k přehrávání zvuku",
"app.audioModal.playAudio": "Přehrát zvuk",
"app.audioModal.playAudio.arialabel" : "Přehrát zvuk",
@@ -480,7 +485,7 @@
"app.userList.guest.pendingGuestUsers": "{0} Čekajících hostů",
"app.userList.guest.pendingGuestAlert": "Připojil se k relaci a čeká na Vaše schválení",
"app.userList.guest.rememberChoice": "Zapamatovat volbu",
- "app.user-info.title": "Vyhledávání v adresáři\n",
+ "app.user-info.title": "Vyhledávání v adresáři",
"app.toast.breakoutRoomEnded": "Vedlejší místnost byla ukončena. Prosím, připojte se znovu ke zvuku.",
"app.toast.chat.public": "Nová zpráva ve veřejném chatu",
"app.toast.chat.private": "Nová zpráva v soukromém chatu",
@@ -494,7 +499,7 @@
"app.notification.recordingPaused": "Toto setkání již není nehráváno",
"app.notification.recordingAriaLabel": "Čas záznamu ",
"app.notification.userJoinPushAlert": "{0} se připojil k relaci",
- "app.shortcut-help.title": "Klávesové zkratky\n",
+ "app.shortcut-help.title": "Klávesové zkratky",
"app.shortcut-help.accessKeyNotAvailable": "Klávesové zkratky nejsou dostupné",
"app.shortcut-help.comboLabel": "Kombinace",
"app.shortcut-help.functionLabel": "Funkce",
diff --git a/bigbluebutton-html5/private/locales/de.json b/bigbluebutton-html5/private/locales/de.json
index db55ca84f5..3b46fc6ac7 100644
--- a/bigbluebutton-html5/private/locales/de.json
+++ b/bigbluebutton-html5/private/locales/de.json
@@ -50,8 +50,8 @@
"app.note.title": "Geteilte Notizen",
"app.note.label": "Notiz",
"app.note.hideNoteLabel": "Notiz verbergen",
- "app.user.activityCheck": "Nutzeraktivitätsprüfung",
- "app.user.activityCheck.label": "Prüfen, ob Nutzer noch in der Konferenz ist ({0})",
+ "app.user.activityCheck": "Teilnehmeraktivitätsprüfung",
+ "app.user.activityCheck.label": "Prüfen, ob der Teilnehmer noch in der Konferenz ist ({0})",
"app.user.activityCheck.check": "Prüfen",
"app.note.tipLabel": "Drücken Sie Esc, um die Editorwerkzeugliste auszuwählen",
"app.userList.usersTitle": "Teilnehmer",
@@ -63,56 +63,59 @@
"app.userList.presenter": "Präsentator",
"app.userList.you": "Sie",
"app.userList.locked": "Gesperrt",
+ "app.userList.byModerator": "vom (Moderator)",
"app.userList.label": "Teilnehmerliste",
"app.userList.toggleCompactView.label": "Kompaktansichtmodus wechseln",
"app.userList.guest": "Gast",
"app.userList.menuTitleContext": "Verfügbare Optionen",
- "app.userList.chatListItem.unreadSingular": "{0} neue Nachricht(en)",
- "app.userList.chatListItem.unreadPlural": "{0} neue Nachricht(en)",
+ "app.userList.chatListItem.unreadSingular": "{0} neue Nachricht",
+ "app.userList.chatListItem.unreadPlural": "{0} neue Nachrichten",
"app.userList.menu.chat.label": "Privaten Chat starten",
"app.userList.menu.clearStatus.label": "Status zurücksetzen",
"app.userList.menu.removeUser.label": "Teilnehmer entfernen",
+ "app.userList.menu.removeConfirmation.label": "Teilnehmer entfernen ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Sind Sie sicher, dass Sie diesen Teilnehmer entfernen möchten? Sobald er entfernt wurde, kann er nicht mehr an dieser Konferenz teilnehmen.",
"app.userList.menu.muteUserAudio.label": "Teilnehmer stummschalten",
"app.userList.menu.unmuteUserAudio.label": "Stummschaltung aufheben",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
"app.userList.menu.promoteUser.label": "Zum Moderator befördern",
- "app.userList.menu.demoteUser.label": "Zum Zuschauer zurückstufen",
+ "app.userList.menu.demoteUser.label": "Zum Teilnehmer zurückstufen",
"app.userList.menu.unlockUser.label": "{0} freigeben",
"app.userList.menu.lockUser.label": "{0} sperren",
"app.userList.menu.directoryLookup.label": "Verzeichnissuche",
"app.userList.menu.makePresenter.label": "Zum Präsentator machen",
"app.userList.userOptions.manageUsersLabel": "Teilnehmer verwalten",
"app.userList.userOptions.muteAllLabel": "Alle Teilnehmer stummschalten",
- "app.userList.userOptions.muteAllDesc": "Schaltet alle Teilnehmer der Konferenz stumm",
- "app.userList.userOptions.clearAllLabel": "Lösche alle Statusicons",
- "app.userList.userOptions.clearAllDesc": "Löscht alle Statusicons der Teilnehmer",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Schalte alle Teilnehmer außer den Präsentator stumm",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "Schaltet alle Teilnehmer außer den Präsentator stumm",
+ "app.userList.userOptions.muteAllDesc": "Alle Teilnehmer der Konferenz werden stumm geschaltet",
+ "app.userList.userOptions.clearAllLabel": "Alle Statusicons löschen",
+ "app.userList.userOptions.clearAllDesc": "Alle Statusicons der Teilnehmer löschen",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Alle Teilnehmer außer den Präsentator stummschalten",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Alle Teilnehmer der Konferenz außer dem Präsentator werden stumm geschaltet",
"app.userList.userOptions.unmuteAllLabel": "Konferenz-Stummschaltung aufheben",
"app.userList.userOptions.unmuteAllDesc": "Hebt die Konferenz-Stummschaltung auf",
- "app.userList.userOptions.lockViewersLabel": "Zuschauerrechte einstellen",
+ "app.userList.userOptions.lockViewersLabel": "Teilnehmerrechte einschränken",
"app.userList.userOptions.lockViewersDesc": "Schränkt bestimmte Funktionen der Konferenzteilnehmer ein",
"app.userList.userOptions.disableCam": "Teilnehmerwebcams sind deaktiviert",
"app.userList.userOptions.disableMic": "Teilnehmermikrofone sind deaktiviert",
"app.userList.userOptions.disablePrivChat": "Privater Chat ist deaktiviert",
"app.userList.userOptions.disablePubChat": "Öffentlicher Chat ist deaktiviert",
"app.userList.userOptions.disableNote": "Geteilte Notizen sind jetzt gesperrt",
- "app.userList.userOptions.hideUserList": "Die Teilnehmerliste ist jetzt für die Teilnehmer nicht mehr sichtbar",
+ "app.userList.userOptions.hideUserList": "Teilnehmerliste ist jetzt für die Teilnehmer ausgeblendet",
"app.userList.userOptions.webcamsOnlyForModerator": "Nur Moderatoren können die Teilnehmerwebcams sehen (wegen eingeschränkter Rechteeinstellungen)",
"app.userList.content.participants.options.clearedStatus": "Status aller Teilnehmer zurückgesetzt",
- "app.userList.userOptions.enableCam": "Teilnehmer dürfen ihre Webcam verwenden",
- "app.userList.userOptions.enableMic": "Teilnehmer dürfen ihr Mikrofon verwenden",
+ "app.userList.userOptions.enableCam": "Teilnehmer dürfen ihre Webcams verwenden",
+ "app.userList.userOptions.enableMic": "Teilnehmer dürfen ihr Mikrofone verwenden",
"app.userList.userOptions.enablePrivChat": "Privater Chat ist erlaubt",
"app.userList.userOptions.enablePubChat": "Öffentlicher Chat ist erlaubt",
"app.userList.userOptions.enableNote": "Geteilte Notizen sind erlaubt",
- "app.userList.userOptions.showUserList": "Die Teilnehmerliste ist jetzt für die Teilnehmer sichtbar",
+ "app.userList.userOptions.showUserList": "Teilnehmerliste ist jetzt für die Teilnehmer sichtbar",
"app.userList.userOptions.enableOnlyModeratorWebcam": "Sie können Ihre Webcam jetzt freigeben, jeder wird Sie sehen.",
"app.media.label": "Media",
"app.media.autoplayAlertDesc": "Zugang erlauben",
"app.media.screenshare.start": "Bildschirmfreigabe wurde gestartet",
"app.media.screenshare.end": "Bildschirmfreigabe wurde gestoppt",
"app.media.screenshare.unavailable": "Bildschirmfreigabe nicht verfügbar",
- "app.media.screenshare.safariNotSupported": "Bildschirmfreigabe wird gegenwärtig von Safari nicht unterstützt. Bitte verwenden Sie Firefox oder Google Chrome.",
+ "app.media.screenshare.notSupported": "Bildschirmfreigabe wird in diesem Browser nicht unterstützt.",
"app.media.screenshare.autoplayBlockedDesc": "Wir benötigen Ihre Zustimmung, um Ihnen den Bildschirm des Präsentators zu zeigen.",
"app.media.screenshare.autoplayAllowLabel": "Geteilten Bildschirm ansehen",
"app.screenshare.notAllowed": "Fehler: Die Berechtigung zur Bildschirmfreigabe wurde nicht erteilt.",
@@ -144,12 +147,12 @@
"app.presentation.presentationToolbar.fitWidthDesc": "Folie in voller Breite darstellen",
"app.presentation.presentationToolbar.fitScreenLabel": "An Bildschirm anpassen",
"app.presentation.presentationToolbar.fitScreenDesc": "Gesamte Folie darstellen",
- "app.presentation.presentationToolbar.zoomLabel": "Vergrößerungsgrad",
- "app.presentation.presentationToolbar.zoomDesc": "Vergrößerungsstufe der Präsentation ändern",
- "app.presentation.presentationToolbar.zoomInLabel": "Reinzoomen",
- "app.presentation.presentationToolbar.zoomInDesc": "In die Präsentation hinein zoomen",
- "app.presentation.presentationToolbar.zoomOutLabel": "Rauszoomen",
- "app.presentation.presentationToolbar.zoomOutDesc": "Aus der Präsentation heraus zoomen",
+ "app.presentation.presentationToolbar.zoomLabel": "Zoom",
+ "app.presentation.presentationToolbar.zoomDesc": "Zoom-Stufe der Präsentation ändern",
+ "app.presentation.presentationToolbar.zoomInLabel": "Vergrößern",
+ "app.presentation.presentationToolbar.zoomInDesc": "Vergrößern der Präsentation",
+ "app.presentation.presentationToolbar.zoomOutLabel": "Verkleinern",
+ "app.presentation.presentationToolbar.zoomOutDesc": "Verkleinern der Präsentation",
"app.presentation.presentationToolbar.zoomReset": "Zoom zurücksetzen",
"app.presentation.presentationToolbar.zoomIndicator": "Aktuelle Zoom-Stufe",
"app.presentation.presentationToolbar.fitToWidth": "An Breite anpassen",
@@ -171,6 +174,9 @@
"app.presentationUploder.rejectedError": "Die ausgewählten Dateien wurden zurückgewiesen. Bitte prüfen Sie die zulässigen Dateitypen.",
"app.presentationUploder.upload.progress": "Hochladen ({0}%)",
"app.presentationUploder.upload.413": "Die Datei ist zu groß. Bitte teilen Sie sie in mehrere kleinere Dateien auf.",
+ "app.presentationUploder.upload.408": "Zeitüberschreitung des Upload-Token anfordern.",
+ "app.presentationUploder.upload.404": "404: Ungültiger Upload-Token",
+ "app.presentationUploder.upload.401": "Anforderung des Upload-Tokens von Präsentationen fehlgeschlagen.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Verarbeite Seite {0} von {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Konvertiere Datei...",
"app.presentationUploder.conversion.generatingThumbnail": "Erstelle Miniaturbilder...",
@@ -192,9 +198,9 @@
"app.poll.pollPaneTitle": "Umfrage",
"app.poll.quickPollTitle": "Schnellumfrage",
"app.poll.hidePollDesc": "Versteckt das Umfragemenü",
- "app.poll.customPollInstruction": "Um selbst erstellte Umfrage zu erstellen, klicken Sie die untenstehende Schaltfläche und geben Sie Ihre Optionen ein",
+ "app.poll.customPollInstruction": "Um eine benutzerdefinierte Umfrage zu erstellen, wählen Sie die Schaltfläche unten und geben Sie Ihre Optionen ein.",
"app.poll.quickPollInstruction": "Wählen Sie eine der unten stehenden Optionen, um die Umfrage zu starten.",
- "app.poll.customPollLabel": "Benutzerdefinierte Umfrage...",
+ "app.poll.customPollLabel": "Benutzerdefinierte Umfrage",
"app.poll.startCustomLabel": "Benutzerdefinierte Umfrage starten",
"app.poll.activePollInstruction": "Lassen Sie dieses Fenster offen, um auf die Antworten der Teilnehmer zu warten. Sobald Sie auf \"Umfrageergebnisse veröffentlichen\" klicken, werden die Ergebnisse angezeigt und die Umfrage beendet.",
"app.poll.publishLabel": "Umfrageergebnisse veröffentlichen",
@@ -230,7 +236,7 @@
"app.polling.pollAnswerLabel": "Umfrageantwort {0}",
"app.polling.pollAnswerDesc": "Diese Option auswählen für Umfrage {0}",
"app.failedMessage": "Es gibt Verbindungsprobleme mit dem Server.",
- "app.downloadPresentationButton.label": "Ursprüngliche Version der Präsentation runterladen",
+ "app.downloadPresentationButton.label": "Ursprüngliche Version der Präsentation herunterladen",
"app.connectingMessage": "Verbinde...",
"app.waitingMessage": "Verbindung unterbrochen. Versuche in {0} Sekunden erneut zu verbinden...",
"app.retryNow": "Jetzt erneut versuchen",
@@ -238,7 +244,7 @@
"app.navBar.settingsDropdown.fullscreenLabel": "Als Vollbild darstellen",
"app.navBar.settingsDropdown.settingsLabel": "Einstellungen öffnen",
"app.navBar.settingsDropdown.aboutLabel": "Versionsinfo",
- "app.navBar.settingsDropdown.leaveSessionLabel": "Konferenz verlassen",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "Ausloggen",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Vollbilddarstellung beenden",
"app.navBar.settingsDropdown.fullscreenDesc": "Einstellungsmenü als Vollbild darstellen",
"app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen verändern",
@@ -354,7 +360,7 @@
"app.actionsBar.emojiMenu.happyLabel": "Glücklich",
"app.actionsBar.emojiMenu.happyDesc": "Ihren Status auf glücklich setzen",
"app.actionsBar.emojiMenu.noneLabel": "Status löschen",
- "app.actionsBar.emojiMenu.noneDesc": "Status löschen",
+ "app.actionsBar.emojiMenu.noneDesc": "Ihren Status löschen",
"app.actionsBar.emojiMenu.applauseLabel": "Applaus",
"app.actionsBar.emojiMenu.applauseDesc": "Ihren Status auf Applaus setzen",
"app.actionsBar.emojiMenu.thumbsUpLabel": "Daumen hoch",
@@ -379,7 +385,7 @@
"app.audioNotification.audioFailedMessage": "Audioverbindung konnte nicht hergestellt werden",
"app.audioNotification.mediaFailedMessage": "getUserMicMedia fehlgeschlagen, weil nur sichere Quellen erlaubt sind",
"app.audioNotification.closeLabel": "Schließen",
- "app.audioNotificaion.reconnectingAsListenOnly": "Mikrofonnutzung wurde für alle Zuschauer gesperrt, Sie werden als reiner Zuhörer verbunden",
+ "app.audioNotificaion.reconnectingAsListenOnly": "Mikrofone sind für Teilnehmer gesperrt, Sie werden nur zum Zuhören verbunden",
"app.breakoutJoinConfirmation.title": "Breakout-Raum beitreten",
"app.breakoutJoinConfirmation.message": "Möchten Sie beitreten",
"app.breakoutJoinConfirmation.confirmDesc": "Dem Breakout-Raum beitreten",
@@ -489,11 +495,11 @@
"app.toast.setEmoji.label": "Emojistatus auf {0} gesetzt",
"app.toast.meetingMuteOn.label": "Alle Teilnehmer wurden stummgeschaltet",
"app.toast.meetingMuteOff.label": "Konferenzstummschaltung ausgeschaltet",
- "app.notification.recordingStart": "Die Konferenz wird jetzt aufgezeichnet",
+ "app.notification.recordingStart": "Diese Konferenz wird jetzt aufgezeichnet",
"app.notification.recordingStop": "Diese Konferenz wird nicht aufgezeichnet",
- "app.notification.recordingPaused": "Die Konferenz wird nicht mehr aufgezeichnet",
+ "app.notification.recordingPaused": "Diese Konferenz wird nicht mehr aufgezeichnet",
"app.notification.recordingAriaLabel": "Aufgezeichnete Zeit",
- "app.notification.userJoinPushAlert": "{0} hat den Raum betreten",
+ "app.notification.userJoinPushAlert": "{0} ist der Konferenz beigetreten",
"app.shortcut-help.title": "Tastaturkürzel",
"app.shortcut-help.accessKeyNotAvailable": "Zugriffsschlüssel sind nicht verfügbar",
"app.shortcut-help.comboLabel": "Tastenkombination",
@@ -511,8 +517,8 @@
"app.shortcut-help.togglePan": "Aktiviere Verschiebewerkzeug (Präsentator)",
"app.shortcut-help.nextSlideDesc": "Nächste Folie (Präsentator)",
"app.shortcut-help.previousSlideDesc": "Vorherige Folie (Präsentator)",
- "app.lock-viewers.title": "Zuschauerrechte einstellen",
- "app.lock-viewers.description": "Diese Optionen ermöglichen es, bestimmte Funktionen für Zuschauer einzuschränken.",
+ "app.lock-viewers.title": "Teilnehmerrechte einschränken",
+ "app.lock-viewers.description": "Diese Optionen ermöglichen es, bestimmte Funktionen für Teilnehmer einzuschränken.",
"app.lock-viewers.featuresLable": "Funktion",
"app.lock-viewers.lockStatusLabel": "Status",
"app.lock-viewers.webcamLabel": "Webcam freigeben",
diff --git a/bigbluebutton-html5/private/locales/de_DE.json b/bigbluebutton-html5/private/locales/de_DE.json
new file mode 100644
index 0000000000..7e84f87a7b
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/de_DE.json
@@ -0,0 +1,5 @@
+{
+ "app.lock-viewers.otherViewersWebcamLabel": "Webcams anderer Teilnehmer sehen"
+
+}
+
diff --git a/bigbluebutton-html5/private/locales/en.json b/bigbluebutton-html5/private/locales/en.json
index f0a66e4aa3..31ef683d9d 100755
--- a/bigbluebutton-html5/private/locales/en.json
+++ b/bigbluebutton-html5/private/locales/en.json
@@ -65,6 +65,7 @@
"app.userList.presenter": "Presenter",
"app.userList.you": "You",
"app.userList.locked": "Locked",
+ "app.userList.byModerator": "by (Moderator)",
"app.userList.label": "User list",
"app.userList.toggleCompactView.label": "Toggle compact view mode",
"app.userList.guest": "Guest",
@@ -74,6 +75,8 @@
"app.userList.menu.chat.label": "Start a private chat",
"app.userList.menu.clearStatus.label": "Clear status",
"app.userList.menu.removeUser.label": "Remove user",
+ "app.userList.menu.removeConfirmation.label": "Remove user ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Prevent this user from rejoining the session.",
"app.userList.menu.muteUserAudio.label": "Mute user",
"app.userList.menu.unmuteUserAudio.label": "Unmute user",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
@@ -114,7 +117,7 @@
"app.media.screenshare.start": "Screenshare has started",
"app.media.screenshare.end": "Screenshare has ended",
"app.media.screenshare.unavailable": "Screenshare Unavailable",
- "app.media.screenshare.safariNotSupported": "Screenshare is currently not supported in Safari. Please, use Firefox or Google Chrome.",
+ "app.media.screenshare.notSupported": "Screensharing is not supported in this browser.",
"app.media.screenshare.autoplayBlockedDesc": "We need your permission to show you the presenter's screen.",
"app.media.screenshare.autoplayAllowLabel": "View shared screen",
"app.screenshare.notAllowed": "Error: Permission to access screen wasn't granted.",
diff --git a/bigbluebutton-html5/private/locales/es.json b/bigbluebutton-html5/private/locales/es.json
index 2661435cdc..b8cd9d867a 100644
--- a/bigbluebutton-html5/private/locales/es.json
+++ b/bigbluebutton-html5/private/locales/es.json
@@ -111,6 +111,7 @@
"app.media.autoplayAlertDesc": "Permitir acceso",
"app.media.screenshare.start": "Compartir pantalla ha iniciado",
"app.media.screenshare.end": "Compartir pantalla ha finalizado",
+ "app.media.screenshare.unavailable": "Compartir pantalla no disponible",
"app.media.screenshare.autoplayBlockedDesc": "Necesitamos su permiso para mostrarle la pantalla del presentador",
"app.media.screenshare.autoplayAllowLabel": "Ver pantalla compartida",
"app.screenshare.notAllowed": "Error: No tiene permisos para acceder a la pantalla",
@@ -160,15 +161,18 @@
"app.presentationUploder.confirmDesc": "Grardar los cambios e iniciar la presentación",
"app.presentationUploder.dismissLabel": "Cancelar",
"app.presentationUploder.dismissDesc": "Cerrar la ventana modal y descartar cambios.",
- "app.presentationUploder.dropzoneLabel": "Arrastrar archivo aqui para cargarlo",
- "app.presentationUploder.dropzoneImagesLabel": "Arrastrar imagenes aqui para cargarlas",
+ "app.presentationUploder.dropzoneLabel": "Arrastrar archivo aquí para cargarlo",
+ "app.presentationUploder.dropzoneImagesLabel": "Arrastrar imágenes aquí para cargarlas",
"app.presentationUploder.browseFilesLabel": "o buscar archivos",
"app.presentationUploder.browseImagesLabel": "o buscar imagenes",
"app.presentationUploder.fileToUpload": "En proceso de ser cargado ...",
- "app.presentationUploder.currentBadge": "Acual",
+ "app.presentationUploder.currentBadge": "Actual",
"app.presentationUploder.rejectedError": "El(los) archivo(s) seleccionado(s) ha(n) sido rechazado(s). Por favor, revise el(los) tipo(s) de archivo.",
"app.presentationUploder.upload.progress": "Cargando ({0}%)",
"app.presentationUploder.upload.413": "Archivo muy grande, por favor divídelo en varios ficheros",
+ "app.presentationUploder.upload.408": "La solicitud de carga del token está fuera de tiempo.",
+ "app.presentationUploder.upload.404": "404: Token de subida no válido",
+ "app.presentationUploder.upload.401": "La solicitud del token de subida de presentación ha fallado.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Procesando página {0} de {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Convirtiendo archivos ...",
"app.presentationUploder.conversion.generatingThumbnail": "Generando miniaturas ...",
@@ -229,8 +233,8 @@
"app.polling.pollAnswerDesc": "Seleccione esta opcion para responder {0}",
"app.failedMessage": "Disculpas, problemas conectando al servidor.",
"app.downloadPresentationButton.label": "Descargar la presentación original",
- "app.connectingMessage": "Conectandose ...",
- "app.waitingMessage": "Desconectado. Se realizara un reintento en {0} segundos ...",
+ "app.connectingMessage": "Conectándose ...",
+ "app.waitingMessage": "Desconectado. Se realizará un reintento en {0} segundos ...",
"app.retryNow": "Reintentando ahora",
"app.navBar.settingsDropdown.optionsLabel": "Opciones",
"app.navBar.settingsDropdown.fullscreenLabel": "Desplegar a pantalla completa",
@@ -252,14 +256,14 @@
"app.navBar.userListToggleBtnLabel": "Alternar lista de usuarios",
"app.navBar.toggleUserList.ariaLabel": "Cambio de usuarios y mensajes",
"app.navBar.toggleUserList.newMessages": "con nueva notificación de mensaje ",
- "app.navBar.recording": "Esta sesión esta siendo grabada",
+ "app.navBar.recording": "Esta sesión está siendo grabada",
"app.navBar.recording.on": "Grabando",
"app.navBar.recording.off": "No grabando",
"app.navBar.emptyAudioBrdige": "No hay ningún micrófono activo. Comparta su micrófono para añadir audio a esta grabación.",
"app.leaveConfirmation.confirmLabel": "Salir",
"app.leaveConfirmation.confirmDesc": "Te desconecta de la reunión",
"app.endMeeting.title": "Finalizar sesión",
- "app.endMeeting.description": "¿Estas seguro de querer finalizar la sesión?",
+ "app.endMeeting.description": "¿Estás seguro de querer finalizar la sesión?",
"app.endMeeting.yesLabel": "Si",
"app.endMeeting.noLabel": "No",
"app.about.title": "Acerca de",
@@ -276,7 +280,7 @@
"app.actionsBar.raiseLabel": "Levantar",
"app.actionsBar.label": "Barra de acciones",
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Reestablecer presentación",
- "app.actionsBar.actionsDropdown.restorePresentationDesc": "Restaurar presentación despues de que ha sido cerrada",
+ "app.actionsBar.actionsDropdown.restorePresentationDesc": "Restaurar presentación después de que ha sido cerrada",
"app.screenshare.screenShareLabel" : "Compartir pantalla",
"app.submenu.application.applicationSectionTitle": "Aplicación",
"app.submenu.application.animationsLabel": "Animaciones",
@@ -415,8 +419,8 @@
"app.audioModal.playAudio.arialabel" : "Reproducir audio",
"app.audioDial.tipIndicator": "Pista",
"app.audioDial.tipMessage": "Pulse la tecla '0' en su teléfono para silenciarse/activar el audio a si mismo.",
- "app.audioModal.connecting": "Conectandose",
- "app.audioModal.connectingEchoTest": "Conenctandose a prueba de eco",
+ "app.audioModal.connecting": "Conectándose",
+ "app.audioModal.connectingEchoTest": "Conectándose a prueba de eco",
"app.audioManager.joinedAudio": "Has ingresado a la conferencia de audio",
"app.audioManager.joinedEcho": "Has ingresado a la prueba de eco",
"app.audioManager.leftAudio": "Has abandonado la conferencia de audio",
@@ -425,7 +429,7 @@
"app.audioManager.connectionError": "Error: Error de conexión",
"app.audioManager.requestTimeout": "Error: Ocurrio un error de tiempo de espera",
"app.audioManager.invalidTarget": "Error: Intento hacer una petición a un destino invalido",
- "app.audioManager.mediaError": "Error: Ocurrio un error al obtener los dispositivos de medios",
+ "app.audioManager.mediaError": "Error: Ocurrió un error al obtener los dispositivos de medios",
"app.audio.joinAudio": "Unirse al audio",
"app.audio.leaveAudio": "Abandonar audio",
"app.audio.enterSessionLabel": "Entrar a la sesión",
@@ -442,7 +446,7 @@
"app.audio.permissionsOverlay.title": "Permitir acceso a tu micrófono",
"app.audio.permissionsOverlay.hint": "Necesitamos tu autorización para acceder tus dipositivos de medios para poder ingresar a la conferencia de voz :)",
"app.error.removed": "Has sido eliminado de la conferencia",
- "app.error.meeting.ended": "Haz salido de la conferencia",
+ "app.error.meeting.ended": "Has salido de la conferencia",
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado intentando unirse a la reunión",
"app.meeting.logout.permissionEjectReason": "Expulsado por violación de permiso",
"app.meeting.logout.ejectedFromMeeting": "Usted ha sido expulsado/a de la reunión",
@@ -487,7 +491,7 @@
"app.toast.setEmoji.label": "Estado del emoji cambiado a {0}",
"app.toast.meetingMuteOn.label": "Todos los usuarios han sido silenciados",
"app.toast.meetingMuteOff.label": "Función de silenciar ha sido deshabilitada",
- "app.notification.recordingStart": "La sesión esta siendo grabada",
+ "app.notification.recordingStart": "La sesión está siendo grabada",
"app.notification.recordingStop": "Esta sesión no está siendo grabada",
"app.notification.recordingPaused": "Se ha dejado de grabar la sesión",
"app.notification.recordingAriaLabel": "Tiempo de grabación",
@@ -620,7 +624,7 @@
"app.whiteboard.toolbar.multiUserOn": "Activar modo multiusuario de pizarra",
"app.whiteboard.toolbar.multiUserOff": "Desactivar modo multiusuario de pizarra",
"app.whiteboard.toolbar.fontSize": "Lista de tamaño de letras",
- "app.feedback.title": "Haz salido de la conferencia",
+ "app.feedback.title": "Has salido de la conferencia",
"app.feedback.subtitle": "Nos encantaría saber cual fué tu experiencia con BigBlueButton (opcional)",
"app.feedback.textarea": "¿Como podemos mejorar BigBlueButton?",
"app.feedback.sendFeedback": "Enviar retroalimentación",
diff --git a/bigbluebutton-html5/private/locales/eu.json b/bigbluebutton-html5/private/locales/eu.json
index 807ece2a23..cab695213f 100644
--- a/bigbluebutton-html5/private/locales/eu.json
+++ b/bigbluebutton-html5/private/locales/eu.json
@@ -111,6 +111,7 @@
"app.media.autoplayAlertDesc": "Baimendu sartzea",
"app.media.screenshare.start": "Pantaila partekatzea hasi da",
"app.media.screenshare.end": "Pantaila partekatzea bukatu da",
+ "app.media.screenshare.unavailable": "Pantaila partekatzea ez dago eskuragarri",
"app.media.screenshare.autoplayBlockedDesc": "Zure baimena behar dugu aurkezlearen pantaila zuri erakusteko.",
"app.media.screenshare.autoplayAllowLabel": "Ikusi partekatutako pantaila",
"app.screenshare.notAllowed": "Errorea: Pantailan sartzeko baimena ez da eman.",
@@ -169,6 +170,9 @@
"app.presentationUploder.rejectedError": "Hautatutako fitxategia(k) baztertu egin d(ir)a. Egiaztatu fitxategi mota(k).",
"app.presentationUploder.upload.progress": "Igotzen (%{0})",
"app.presentationUploder.upload.413": "Fitxategia handiegia da. Hainbat fitxategitan zatitu ezazu mesedez.",
+ "app.presentationUploder.upload.408": "Igoerako eskaera-tokenaren denbora agortu da.",
+ "app.presentationUploder.upload.404": "404: igoera-token baliogabea",
+ "app.presentationUploder.upload.401": "Aurkezpen-igoeraren eskaera-tokenak huts egin du.",
"app.presentationUploder.conversion.conversionProcessingSlides": "{1} orrietatik {0}.a prozesatzen",
"app.presentationUploder.conversion.genericConversionStatus": "Fitxategia bihurtzen...",
"app.presentationUploder.conversion.generatingThumbnail": "Miniaturak sortzen...",
diff --git a/bigbluebutton-html5/private/locales/fa_IR.json b/bigbluebutton-html5/private/locales/fa_IR.json
index 89f6fa4d9b..814a4f19c3 100644
--- a/bigbluebutton-html5/private/locales/fa_IR.json
+++ b/bigbluebutton-html5/private/locales/fa_IR.json
@@ -111,6 +111,7 @@
"app.media.autoplayAlertDesc": "دادن اجازه دسترسی",
"app.media.screenshare.start": "اشتراک صفحه نمایش شروع شد",
"app.media.screenshare.end": "اشتراک صفحه نمایش به پایان رسید.",
+ "app.media.screenshare.unavailable": "اشتراک صفحه در دسترس نیست",
"app.media.screenshare.autoplayBlockedDesc": "ما به مجوز شما برای نشان دادن شما به ارائه دهندگان نیاز داریم",
"app.media.screenshare.autoplayAllowLabel": "مشاهده صفحه اشتراکی",
"app.screenshare.notAllowed": "خطا : دسترسی برای نمایش صفحه ، ایجاد نشد",
@@ -169,6 +170,9 @@
"app.presentationUploder.rejectedError": "فایل(های) انتخاب شده رد شدند. لطفا نوع فایل(ها) را بررسی کنید",
"app.presentationUploder.upload.progress": "در حال بارگزاری ({0}%)",
"app.presentationUploder.upload.413": "حجم فایل زیاد است.لطفا آن را به چند فایل کوچکتر تبدیل کنید",
+ "app.presentationUploder.upload.408": "زمان درخواست شناسه بارگذاری به پایان رسید.",
+ "app.presentationUploder.upload.404": "404: شناسه بارگذاری نامعتبر می باشد.",
+ "app.presentationUploder.upload.401": "درخواست شناسه بارگذاری ارائه ناموفق بوده است.",
"app.presentationUploder.conversion.conversionProcessingSlides": "در حال پردازش صفحه {0} از {1}",
"app.presentationUploder.conversion.genericConversionStatus": "در حال تبدیل فایل ...",
"app.presentationUploder.conversion.generatingThumbnail": "در حال تولید تصاویر کوچک ...",
@@ -389,7 +393,7 @@
"app.calculatingBreakoutTimeRemaining": "در حال محاسبه زمان باقی مانده ...",
"app.audioModal.ariaTitle": "ملحق شدن به مدال صدا",
"app.audioModal.microphoneLabel": "میکروفون",
- "app.audioModal.listenOnlyLabel": "تنها شنوده",
+ "app.audioModal.listenOnlyLabel": "تنها شنونده",
"app.audioModal.audioChoiceLabel": "مایلید با چه روشی به بخش صدا وارید شوید؟",
"app.audioModal.iOSBrowser": "صدا/تصویر پیشتیبانی نمیشود",
"app.audioModal.iOSErrorDescription": "در حال حاضر صدا و تصویر در مرورگر کروم iOS پشتیبانی نمیشود",
diff --git a/bigbluebutton-html5/private/locales/fr.json b/bigbluebutton-html5/private/locales/fr.json
index 4ef38a3ebf..df0ab51259 100644
--- a/bigbluebutton-html5/private/locales/fr.json
+++ b/bigbluebutton-html5/private/locales/fr.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Présentateur",
"app.userList.you": "Vous",
"app.userList.locked": "Verrouillé",
+ "app.userList.byModerator": "par (Modérateur)",
"app.userList.label": "Liste d'utilisateur",
"app.userList.toggleCompactView.label": "Basculer le mode d'affichage compact",
"app.userList.guest": "Invité",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Démarrer une discussion privée",
"app.userList.menu.clearStatus.label": "Effacer le statut",
"app.userList.menu.removeUser.label": "Retirer l'utilisateur",
+ "app.userList.menu.removeConfirmation.label": "Supprimer utilisateur ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Voulez-vous vraiment supprimer cet utilisateur ?\nUne fois supprimé, il ne pourra pas rejoindre cette session.",
"app.userList.menu.muteUserAudio.label": "Rendre Muet",
"app.userList.menu.unmuteUserAudio.label": "Autoriser à parler",
"app.userList.userAriaLabel": "{0} {1} {2} État {3}",
@@ -111,12 +114,13 @@
"app.media.autoplayAlertDesc": "Autoriser l'accès",
"app.media.screenshare.start": "Le Partage d'écran a commencé",
"app.media.screenshare.end": "Le Partage d'écran s'est terminé",
+ "app.media.screenshare.unavailable": "Partage d'écran indisponible",
"app.media.screenshare.autoplayBlockedDesc": "Nous avons besoin de votre permission pour vous montrer l'écran du présentateur.",
"app.media.screenshare.autoplayAllowLabel": "Afficher l'écran partagé",
- "app.screenshare.notAllowed": "Erreur: L'autorisation d'accès à l'écran n'a pas été accordée.",
- "app.screenshare.notSupportedError": "Erreur: Le partage d'écran est autorisé uniquement sur les domaines sécurisés (SSL)",
- "app.screenshare.notReadableError": "Erreur: Un échec s'est produit lors de la capture de votre écran.",
- "app.screenshare.genericError": "Erreur: Une erreur s'est produite lors du partage d'écran, veuillez réessayer.",
+ "app.screenshare.notAllowed": "Erreur : l'autorisation d'accès à l'écran n'a pas été accordée.",
+ "app.screenshare.notSupportedError": "Erreur : le partage d'écran est autorisé uniquement sur les domaines sécurisés (SSL)",
+ "app.screenshare.notReadableError": "Erreur : un échec s'est produit lors de la capture de votre écran.",
+ "app.screenshare.genericError": "Erreur : une erreur s'est produite lors du partage d'écran, veuillez réessayer.",
"app.meeting.ended": "Cette session s'est terminée",
"app.meeting.meetingTimeRemaining": "Temps de réunion restant : {0}",
"app.meeting.meetingTimeHasEnded": "Le temps s'est écoulé. La réunion sera bientôt close",
@@ -169,6 +173,9 @@
"app.presentationUploder.rejectedError": "Le(s) fichier(s) sélectionné(s) a été rejeté(s). Veuillez vérifier le format de ce(s) fichier(s).",
"app.presentationUploder.upload.progress": "Chargement ({0}%)",
"app.presentationUploder.upload.413": "Le fichier est trop volumineux. Veuillez le diviser en plusieurs fichiers s'il vous plaît.",
+ "app.presentationUploder.upload.408": "Le jeton de demande de téléversement a expiré.",
+ "app.presentationUploder.upload.404": "404 : jeton de téléversement invalide",
+ "app.presentationUploder.upload.401": "La demande d'un jeton de téléversement de présentation a échoué.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Traitement de la page {0} sur {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Conversion de fichier...",
"app.presentationUploder.conversion.generatingThumbnail": "Génération des vignettes...",
@@ -405,12 +412,12 @@
"app.audioModal.settingsTitle": "Modifier vos paramètres audio",
"app.audioModal.helpTitle": "Il y a un problème avec vos périphériques",
"app.audioModal.helpText": "Avez-vous donné la permission d'accéder à votre microphone ? Notez qu'une boîte de dialogue doit apparaître lorsque vous essayez de rejoindre l'audio, demandant les autorisations de votre périphérique multimédia. Veuillez l'accepter pour rejoindre la conférence audio. Si ce n'est pas le cas, essayez de modifier les autorisations de votre microphone dans les paramètres de votre navigateur.",
- "app.audioModal.help.noSSL": "Cette page n'est pas sécurisée. Afin que l'accès u microphone soit autorisé, la page doit être servie via HTTPS. Veuillez contacter l'administrateur du serveur.",
- "app.audioModal.help.macNotAllowed": "Il semble que les préférences système de votre Mac bloquent l'accès à votre microphone. Ouvrez les Préférences Système> Sécurité et confidentialité> Confidentialité> Microphone et vérifiez que le navigateur que vous utilisez est bien coché.",
+ "app.audioModal.help.noSSL": "Cette page n'est pas sécurisée. Afin que l'accès au microphone soit autorisé, la page doit être servie via HTTPS. Veuillez contacter l'administrateur du serveur.",
+ "app.audioModal.help.macNotAllowed": "Il semble que les préférences système de votre Mac bloquent l'accès à votre microphone. Ouvrez les Préférences Système > Sécurité et confidentialité > Confidentialité > Microphone et vérifiez que le navigateur que vous utilisez est bien coché.",
"app.audioModal.audioDialTitle": "Joindre avec votre téléphone",
"app.audioDial.audioDialDescription": "Composer",
"app.audioDial.audioDialConfrenceText": "et saisir le numéro PIN de la conférence :",
- "app.audioModal.autoplayBlockedDesc": "Nous avons besoins de votre autorisation pour activer le son.",
+ "app.audioModal.autoplayBlockedDesc": "Nous avons besoin de votre autorisation pour activer le son.",
"app.audioModal.playAudio": "Lecture audio",
"app.audioModal.playAudio.arialabel" : "Lecture audio",
"app.audioDial.tipIndicator": "Astuce",
@@ -552,7 +559,7 @@
"app.video.notSupportedError": "La vidéo de la webcam peut uniquement être partagée avec des sources sûres ; assurez-vous que votre certificat SSL est valide",
"app.video.notReadableError": "Impossible d'obtenir la vidéo de la webcam. Assurez-vous qu'aucun autre programme n'utilise la webcam",
"app.video.mediaFlowTimeout1020": "Le média n'a pas pu atteindre le serveur (erreur 1020)",
- "app.video.suggestWebcamLock": "Appliquer le paramètre de verrouillage aux webcams des téléspectateurs?",
+ "app.video.suggestWebcamLock": "Appliquer le paramètre de verrouillage aux webcams des téléspectateurs ?",
"app.video.suggestWebcamLockReason": "(cela améliorera la stabilité de la conférence)",
"app.video.enable": "Activer",
"app.video.cancel": "Annuler",
@@ -610,7 +617,7 @@
"app.whiteboard.toolbar.color.eletricLime": "Vert électrique",
"app.whiteboard.toolbar.color.lime": "Vert",
"app.whiteboard.toolbar.color.cyan": "Cyan",
- "app.whiteboard.toolbar.color.dodgerBlue": "Dodger bleu",
+ "app.whiteboard.toolbar.color.dodgerBlue": "Bleu Dodger",
"app.whiteboard.toolbar.color.blue": "Bleu",
"app.whiteboard.toolbar.color.violet": "Violet",
"app.whiteboard.toolbar.color.magenta": "Magenta",
@@ -659,7 +666,7 @@
"app.createBreakoutRoom.addParticipantLabel": "+ Ajouter participant",
"app.createBreakoutRoom.freeJoin": "Autoriser les participants à choisir une salle de réunion à rejoindre",
"app.createBreakoutRoom.leastOneWarnBreakout": "Vous devez placer au moins un participant dans une réunion privée.",
- "app.createBreakoutRoom.modalDesc": "Conseil : Vous pouvez glisser-déposer le nom d'un utilisateur pour l'affecter à une salle de réunion spécifique.",
+ "app.createBreakoutRoom.modalDesc": "Conseil : vous pouvez glisser-déposer le nom d'un utilisateur pour l'affecter à une salle de réunion spécifique.",
"app.createBreakoutRoom.roomTime": "{0} minutes",
"app.createBreakoutRoom.numberOfRoomsError": "Le nombre de réunions est invalide.",
"app.externalVideo.start": "Partager une nouvelle vidéo",
@@ -671,7 +678,7 @@
"app.externalVideo.autoPlayWarning": "Jouer la vidéo pour permettre la synchronisation des médias",
"app.network.connection.effective.slow": "Nous remarquons des problèmes de connectivité.",
"app.network.connection.effective.slow.help": "Plus d'information",
- "app.externalVideo.noteLabel": "Remarque : Les vidéos externes partagées n'apparaîtront pas dans l'enregistrement. Les URLs YouTube, Vimeo, Instructure Media, Twitch et Daily Motion sont supportées.",
+ "app.externalVideo.noteLabel": "Remarque : les vidéos externes partagées n'apparaîtront pas dans l'enregistrement. Les URLs YouTube, Vimeo, Instructure Media, Twitch et Daily Motion sont supportées.",
"app.actionsBar.actionsDropdown.shareExternalVideo": "Partager une vidéo externe",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Arrêter le partage de vidéo externe",
"app.iOSWarning.label": "Veuillez mettre à jour vers iOS 12.2 ou supérieur",
diff --git a/bigbluebutton-html5/private/locales/gl.json b/bigbluebutton-html5/private/locales/gl.json
index 10f156aa27..4a7128801b 100644
--- a/bigbluebutton-html5/private/locales/gl.json
+++ b/bigbluebutton-html5/private/locales/gl.json
@@ -1,25 +1,25 @@
{
- "app.home.greeting": "A túa presentación dara inicio nun momento...",
+ "app.home.greeting": "A súa presentación comezará en breve…",
"app.chat.submitLabel": "Enviar mensaxe",
- "app.chat.errorMaxMessageLength": "A mensaxe é {0} carácter(é) mais longo do esperado",
- "app.chat.disconnected": "Estas desconectado, as mensaxes non poden ser enviados",
- "app.chat.locked": "Chat bloqueado, as mensaxes non poden ser enviados",
- "app.chat.inputLabel": "Entrada de mensaxe para chat {0}",
+ "app.chat.errorMaxMessageLength": "A mensaxe ten {0} carácter(es) mais do admitido",
+ "app.chat.disconnected": "Esta desconectado, non é posíbel enviar as mensaxes",
+ "app.chat.locked": "Conversa bloqueado, anon é posíbel enviar as mensaxes",
+ "app.chat.inputLabel": "Entrada de mensaxe para a conversa {0}",
"app.chat.inputPlaceholder": "Enviar mensaxe a {0}.",
- "app.chat.titlePublic": "Chat público",
- "app.chat.titlePrivate": "Chat privado con {0}.",
- "app.chat.partnerDisconnected": "{0} abandonou a reunión",
+ "app.chat.titlePublic": "Conversa pública",
+ "app.chat.titlePrivate": "Conversa privada con {0}.",
+ "app.chat.partnerDisconnected": "{0} abandonou a xuntanza",
"app.chat.closeChatLabel": "Pechar {0}",
- "app.chat.hideChatLabel": "Ocultar {0}",
- "app.chat.moreMessages": "Máis mensaxes abaixo",
- "app.chat.dropdown.options": "Opcións de chat",
+ "app.chat.hideChatLabel": "Agochar {0}",
+ "app.chat.moreMessages": "Máis mensaxes a seguir",
+ "app.chat.dropdown.options": "Opcións da conversa",
"app.chat.dropdown.clear": "Limpar",
"app.chat.dropdown.copy": "Copiar",
"app.chat.dropdown.save": "Gardar",
- "app.chat.label": "Chat",
+ "app.chat.label": "Conversa",
"app.chat.offline": "Desconectado",
- "app.chat.emptyLogLabel": "Rexistro de chat baleiro",
- "app.chat.clearPublicChatMessage": "O chat publico foi borrado por un moderador",
+ "app.chat.emptyLogLabel": "Rexistro da conversa baleiro",
+ "app.chat.clearPublicChatMessage": "A conversa publica foi retirada por un moderador",
"app.chat.multi.typing": "Varios usuarios están a escribir",
"app.chat.one.typing": "{0} está a escribir",
"app.chat.two.typing": "{0} e {1} están a escribir",
@@ -27,186 +27,203 @@
"app.captions.menu.close": "Pechar",
"app.captions.menu.start": "Iniciar",
"app.captions.menu.ariaStart": "Comezar a escribir subtítulos",
- "app.captions.menu.ariaStartDesc": "Abre o editor de subtítulos e pecha a xanela flotante",
- "app.captions.menu.select": "Seleccione idiomas dispoñibles",
- "app.captions.menu.ariaSelect": "Idioma de subtítulos",
- "app.captions.menu.subtitle": "Selecciona o idioma e estilos para subtítulos a utilizar na túa sesión.",
+ "app.captions.menu.ariaStartDesc": "Abre o editor de subtítulos e pecha a xanela modal",
+ "app.captions.menu.select": "Seleccione idiomas dispoñíbeis",
+ "app.captions.menu.ariaSelect": "Idioma dos subtítulos",
+ "app.captions.menu.subtitle": "Seleccione o idioma e estilos para subtítulos a utilizar na súa sesión.",
"app.captions.menu.title": "Subtítulos",
"app.captions.menu.fontSize": "Tamaño",
"app.captions.menu.fontColor": "Cor de texto",
- "app.captions.menu.fontFamily": "Fonte",
+ "app.captions.menu.fontFamily": "Tipo de letra",
"app.captions.menu.backgroundColor": "Cor de fondo",
- "app.captions.menu.previewLabel": "Previsualizar",
- "app.captions.menu.cancelLabel": "Cancela",
- "app.captions.pad.hide": "Ocultar subtítulos",
- "app.captions.pad.tip": "Presione Esc para enfocar a barra de ferramentas do editor",
+ "app.captions.menu.previewLabel": "Vista previa",
+ "app.captions.menu.cancelLabel": "Cancelar",
+ "app.captions.pad.hide": "Agochar os subtítulos",
+ "app.captions.pad.tip": "Prema Esc para enfocar a barra de ferramentas do editor",
"app.captions.pad.ownership": "Tomar o control",
- "app.captions.pad.ownershipTooltip": "Será asignado como propietario de 0 {} subtítulos",
+ "app.captions.pad.ownershipTooltip": "Vai ser asignado coma propietario de {0} subtítulos",
"app.captions.pad.interimResult": "Resultados provisionais",
"app.captions.pad.dictationStart": "Iniciar ditado",
"app.captions.pad.dictationStop": "Deter ditado",
- "app.captions.pad.dictationOnDesc": "Activar recoñecemento de voz",
- "app.captions.pad.dictationOffDesc": "Desactivar recoñecemento de voz",
+ "app.captions.pad.dictationOnDesc": "Activar o recoñecemento de voz",
+ "app.captions.pad.dictationOffDesc": "Desactivar o recoñecemento de voz",
"app.note.title": "Notas compartidas",
"app.note.label": "Nota",
- "app.note.hideNoteLabel": "Ocultar nota",
- "app.user.activityCheck": "Comprobar actividade do usuario",
- "app.user.activityCheck.label": "Comprobar se o usuario continúa na reunión ({0})",
+ "app.note.hideNoteLabel": "Agochar nota",
+ "app.user.activityCheck": "Comprobar a actividade do usuario",
+ "app.user.activityCheck.label": "Comprobar se o usuario aínda está na xuntanza ({0})",
"app.user.activityCheck.check": "Comprobar",
- "app.note.tipLabel": "Presione Esc para enfocar a barra de ferramentas do editor",
+ "app.note.tipLabel": "Prema Esc para enfocar a barra de ferramentas do editor",
"app.userList.usersTitle": "Usuarios",
"app.userList.participantsTitle": "Participantes",
"app.userList.messagesTitle": "Mensaxes",
"app.userList.notesTitle": "Notas",
- "app.userList.notesListItem.unreadContent": "Contido novo dispoñible na sección de notas compartidas",
+ "app.userList.notesListItem.unreadContent": "Contido novo dispoñíbel na sección de notas compartidas",
"app.userList.captionsTitle": "Subtítulos",
"app.userList.presenter": "Presentador",
- "app.userList.you": "O teu",
+ "app.userList.you": "Vostede",
"app.userList.locked": "Bloqueado",
+ "app.userList.byModerator": "por (Moderator)",
"app.userList.label": "Lista de usuarios",
- "app.userList.toggleCompactView.label": "Cambiar a modo de vista compacta",
- "app.userList.guest": "Huesped",
- "app.userList.menuTitleContext": "Opcións dispoñibles",
- "app.userList.chatListItem.unreadSingular": "{0} Nova Mensaxe",
- "app.userList.chatListItem.unreadPlural": "{0} Novas mensaxes",
- "app.userList.menu.chat.label": "Iniciar o chat privado",
- "app.userList.menu.clearStatus.label": "Borrar estado",
- "app.userList.menu.removeUser.label": "Eliminar usuario",
- "app.userList.menu.muteUserAudio.label": "Deshabilitar audio de usuario",
- "app.userList.menu.unmuteUserAudio.label": "Habilitar audio de usuario",
+ "app.userList.toggleCompactView.label": "Alternar o modo de vista compacta",
+ "app.userList.guest": "Convidado",
+ "app.userList.menuTitleContext": "Opcións dispoñíbeis",
+ "app.userList.chatListItem.unreadSingular": "{0} nova mensaxe",
+ "app.userList.chatListItem.unreadPlural": "{0} novas mensaxes",
+ "app.userList.menu.chat.label": "Iniciar a conversa privada",
+ "app.userList.menu.clearStatus.label": "Limpar o estado",
+ "app.userList.menu.removeUser.label": "Retirar o usuario",
+ "app.userList.menu.removeConfirmation.label": "Retirar o usuario ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Confirma que quere retirar este usuario? Unha vez retirado non poderá volver entrar nesta sesión.",
+ "app.userList.menu.muteUserAudio.label": "Desactivar o son do usuario",
+ "app.userList.menu.unmuteUserAudio.label": "Activar o son do usuario",
"app.userList.userAriaLabel": "{0} {1} {2} estado {3}",
"app.userList.menu.promoteUser.label": "Promover a moderador",
"app.userList.menu.demoteUser.label": "Degradar a espectador",
"app.userList.menu.unlockUser.label": "Desbloquear {0}",
"app.userList.menu.lockUser.label": "Bloquear {0}",
- "app.userList.menu.directoryLookup.label": "Procura de directorio",
+ "app.userList.menu.directoryLookup.label": "Atopar directorio",
"app.userList.menu.makePresenter.label": "Promover a presentador",
- "app.userList.userOptions.manageUsersLabel": "Manexar usuarios",
- "app.userList.userOptions.muteAllLabel": "Deshabilitar audio a todos os usuarios",
- "app.userList.userOptions.muteAllDesc": "Deshabilitar audio a todos os usuarios na sesión",
- "app.userList.userOptions.clearAllLabel": "Borrar todas as iconas de estado",
- "app.userList.userOptions.clearAllDesc": "Borrar todas as iconas de estado de usuarios",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Deshabilitar audio a todos os usuarios excepto a presentador",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "Deshabilitar audio a todos os usuarios na sesión excepto a presentador",
- "app.userList.userOptions.unmuteAllLabel": "Desactivar funcion para deshabilitar audio",
- "app.userList.userOptions.unmuteAllDesc": "Habilitar audio na sesión",
+ "app.userList.userOptions.manageUsersLabel": "Administrar usuarios",
+ "app.userList.userOptions.muteAllLabel": "Desactivar o son de todos os usuarios",
+ "app.userList.userOptions.muteAllDesc": "Desactivar o son de todos os usuarios na xuntanza",
+ "app.userList.userOptions.clearAllLabel": "Limpar todas as iconas de estado",
+ "app.userList.userOptions.clearAllDesc": "Limpar todas as iconas de estado dos usuarios",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Silenciar a todos os usuarios agás o presentador",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Silenciar a todos os usuarios na xuntanza agás o presentador",
+ "app.userList.userOptions.unmuteAllLabel": "Desactivar o silencio na xuntanza",
+ "app.userList.userOptions.unmuteAllDesc": "Activar o son na xuntanza",
"app.userList.userOptions.lockViewersLabel": "Bloquear espectadores",
- "app.userList.userOptions.lockViewersDesc": "Bloquear algunhas funcións a espectadores",
- "app.userList.userOptions.disableCam": "Cámaras web de invitados deshabilitadas",
- "app.userList.userOptions.disableMic": "Micrófonos de invitados deshabilitados",
- "app.userList.userOptions.disablePrivChat": "Chat privado deshabilitado",
- "app.userList.userOptions.disablePubChat": "Chat público deshabilitado",
- "app.userList.userOptions.disableNote": "Notas compartidas bloqueadas",
- "app.userList.userOptions.hideUserList": "Lista de usuarios oculta para participantes",
+ "app.userList.userOptions.lockViewersDesc": "Bloquear certas funcionalidades para os asistentes ao encontro",
+ "app.userList.userOptions.disableCam": "As cámaras web dos espectadores están desactivadas",
+ "app.userList.userOptions.disableMic": "Os micrófonos dos espectadores están desactivados",
+ "app.userList.userOptions.disablePrivChat": "A conversa privada está desactivada",
+ "app.userList.userOptions.disablePubChat": "A conversa pública está desactivada",
+ "app.userList.userOptions.disableNote": "As notas compartidas están bloqueadas",
+ "app.userList.userOptions.hideUserList": "A lista de usuarios agora está agochada para os espectadores",
"app.userList.userOptions.webcamsOnlyForModerator": "Só os moderadores poden ver as cámaras web dos invitados (debido á configuración de bloqueo)",
- "app.userList.content.participants.options.clearedStatus": "Todos os estados de usuario foron borrados",
- "app.userList.userOptions.enableCam": "Cámaras web de invitados habilitadas",
- "app.userList.userOptions.enableMic": "Micrófonos de invitados habilitados",
- "app.userList.userOptions.enablePrivChat": "Chat privado habilitado",
- "app.userList.userOptions.enablePubChat": "Chat público habilitado",
- "app.userList.userOptions.enableNote": "Notas compartidas habilitadas",
- "app.userList.userOptions.showUserList": "Lista de usuarios visible para participantes",
- "app.userList.userOptions.enableOnlyModeratorWebcam": "Vostede pode habilitar o seu cámara web agora. Todos poderán verlle",
- "app.media.label": "Media",
+ "app.userList.content.participants.options.clearedStatus": "Limparonse todos os estados de usuario",
+ "app.userList.userOptions.enableCam": "As cámaras web dos espectadores están activadas",
+ "app.userList.userOptions.enableMic": "Os micrófonos dos espectadores están activados",
+ "app.userList.userOptions.enablePrivChat": "A conversa privada está activada",
+ "app.userList.userOptions.enablePubChat": "A conversa pública está activada",
+ "app.userList.userOptions.enableNote": "As notas compartidas están activadas",
+ "app.userList.userOptions.showUserList": "A lista de usuarios agora amosase aos espectadores",
+ "app.userList.userOptions.enableOnlyModeratorWebcam": "Pode activar agora a súaúa cámara web, todos poderán velo",
+ "app.media.label": "Multimedia",
"app.media.autoplayAlertDesc": "Permitir acceso",
- "app.media.screenshare.start": "Compartir pantalla iniciou",
- "app.media.screenshare.end": "Compartir pantalla finalizou",
- "app.media.screenshare.autoplayBlockedDesc": "Necesitamos o seu permiso para mostrarlle a pantalla do presentador",
- "app.media.screenshare.autoplayAllowLabel": "Ver pantalla compartida",
- "app.meeting.ended": "A sesión finalizou",
- "app.meeting.meetingTimeHasEnded": "Tempo finalizado. A reunión pecharase en breve",
- "app.meeting.endedMessage": "Serás enviado á pantalla de inicio.",
- "app.meeting.alertMeetingEndsUnderOneMinute": "A reunión péchase nun minuto",
- "app.meeting.alertBreakoutEndsUnderOneMinute": "A micro-salga péchase nun minuto",
- "app.presentation.hide": "Ocultar presentación",
+ "app.media.screenshare.start": "Comezou a pantalla compartida",
+ "app.media.screenshare.end": "Rematou a pantalla compartida",
+ "app.media.screenshare.unavailable": "A pantalla compartida non está dispoñíbel",
+ "app.media.screenshare.notSupported": "Este navegador non admite a compartición de pantalla.",
+ "app.media.screenshare.autoplayBlockedDesc": "Necesitamos o seu permiso para amosarlle a pantalla do presentador",
+ "app.media.screenshare.autoplayAllowLabel": "Ver a pantalla compartida",
+ "app.screenshare.notAllowed": "Erro: non se concedeu permiso para acceder á pantalla.",
+ "app.screenshare.notSupportedError": "Erro: a pantalla compartida só está permitida en dominios seguros (SSL)",
+ "app.screenshare.notReadableError": "Erro: produciuse un fallo ao tentar capturar a súa pantalla",
+ "app.screenshare.genericError": "Erro: produciuse un erro ao compartir a pantalla, ténteo de novo",
+ "app.meeting.ended": "Rematou a sesión",
+ "app.meeting.meetingTimeRemaining": "Tempo restante da xuntanza: {0}",
+ "app.meeting.meetingTimeHasEnded": "Rematou o tempo, A xuntanza pecharase en breve",
+ "app.meeting.endedMessage": "Será reenviado á pantalla de inicio",
+ "app.meeting.alertMeetingEndsUnderOneMinute": "A xuntanza pecharase nun minuto",
+ "app.meeting.alertBreakoutEndsUnderOneMinute": "A sala parcial pecharase nun minuto",
+ "app.presentation.hide": "Agochar a presentación",
"app.presentation.notificationLabel": "Presentación actual",
"app.presentation.slideContent": "Contido da diapositiva",
- "app.presentation.startSlideContent": "Inicio do pase de diapositivas",
- "app.presentation.endSlideContent": "Fin do pase de diapositivas",
- "app.presentation.emptySlideContent": "Diapositiva actual sen contido",
- "app.presentation.presentationToolbar.noNextSlideDesc": "Finalizar presentación",
- "app.presentation.presentationToolbar.noPrevSlideDesc": "Iniciar presentación",
- "app.presentation.presentationToolbar.selectLabel": "Seleccione diapositiva",
+ "app.presentation.startSlideContent": "Inicio do contido das diapositivas",
+ "app.presentation.endSlideContent": "Fin do contido das diapositivas",
+ "app.presentation.emptySlideContent": "Non hai contido para a diapositiva actual",
+ "app.presentation.presentationToolbar.noNextSlideDesc": "Rematar a presentación",
+ "app.presentation.presentationToolbar.noPrevSlideDesc": "Iniciar a presentación",
+ "app.presentation.presentationToolbar.selectLabel": "Seleccionar a diapositiva",
"app.presentation.presentationToolbar.prevSlideLabel": "Diapositiva anterior",
- "app.presentation.presentationToolbar.prevSlideDesc": "Cambiar presentación a diapositiva anterior",
+ "app.presentation.presentationToolbar.prevSlideDesc": "Cambia a presentación á diapositiva anterior",
"app.presentation.presentationToolbar.nextSlideLabel": "Seguinte diapositiva",
- "app.presentation.presentationToolbar.nextSlideDesc": "Cambiar presentación a diapositiva seguinte",
- "app.presentation.presentationToolbar.skipSlideLabel": "Brincar diapositiva",
- "app.presentation.presentationToolbar.skipSlideDesc": "Cambiar presentación a diapositiva específica",
- "app.presentation.presentationToolbar.fitWidthLabel": "Axustar ao ancho",
- "app.presentation.presentationToolbar.fitWidthDesc": "Mostrar diapositiva a todo o ancho",
+ "app.presentation.presentationToolbar.nextSlideDesc": "Cambia a presentación á seguinte diapositiva",
+ "app.presentation.presentationToolbar.skipSlideLabel": "Omitir diapositiva",
+ "app.presentation.presentationToolbar.skipSlideDesc": "Cambia a presentación a unha diapositiva específica",
+ "app.presentation.presentationToolbar.fitWidthLabel": "Axustar ao largo",
+ "app.presentation.presentationToolbar.fitWidthDesc": "Amosar todo o largo da diapositiva",
"app.presentation.presentationToolbar.fitScreenLabel": "Axustar á pantalla",
- "app.presentation.presentationToolbar.fitScreenDesc": "Mostrar toda a diapositiva",
+ "app.presentation.presentationToolbar.fitScreenDesc": "Amosar toda a diapositiva",
"app.presentation.presentationToolbar.zoomLabel": "Zoom",
- "app.presentation.presentationToolbar.zoomDesc": "Cambiar o nivel de Zoom da presentación",
+ "app.presentation.presentationToolbar.zoomDesc": "Cambiar o nivel de zoom da presentación",
"app.presentation.presentationToolbar.zoomInLabel": "Achegarse",
- "app.presentation.presentationToolbar.zoomInDesc": "Achegarse en presentación",
+ "app.presentation.presentationToolbar.zoomInDesc": "Ampliar a presentación",
"app.presentation.presentationToolbar.zoomOutLabel": "Afastarse",
- "app.presentation.presentationToolbar.zoomOutDesc": "Afastarse en presentación",
- "app.presentation.presentationToolbar.zoomReset": "Reiniciar zoom",
- "app.presentation.presentationToolbar.zoomIndicator": "Porcentaxe actual de zoom",
- "app.presentation.presentationToolbar.fitToWidth": "Axustar ao ancho",
+ "app.presentation.presentationToolbar.zoomOutDesc": "Reducir a presentación",
+ "app.presentation.presentationToolbar.zoomReset": "Restaurar o zoom",
+ "app.presentation.presentationToolbar.zoomIndicator": "Porcentaxe de zoom actual",
+ "app.presentation.presentationToolbar.fitToWidth": "Axustar ao largo",
"app.presentation.presentationToolbar.fitToPage": "Axustar á páxina",
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
"app.presentationUploder.title": "Presentación",
- "app.presentationUploder.message": "Como presentador ten a habilidade de subir calquera documento ofimático ou PDF/PDF. Recomendámoslle o formato PDF/PDF para obter os mellores resultados. Por favor asegúrese de que a presentación está seleccionada usando o selector circular na parte dereita.",
- "app.presentationUploder.uploadLabel": "Cargar",
+ "app.presentationUploder.message": "Como presentador tes a posibilidade de enviar calquera documento de oficina ou ficheiro PDF. Recomendamos o ficheiro PDF para obter mellores resultados. Asegúrese de que a presentación está seleccionada usando o selector circular na parte dereita. ",
+ "app.presentationUploder.uploadLabel": "Enviar",
"app.presentationUploder.confirmLabel": "Confirmar",
"app.presentationUploder.confirmDesc": "Gardar os cambios e iniciar a presentación",
"app.presentationUploder.dismissLabel": "Cancelar",
- "app.presentationUploder.dismissDesc": "Pechar a xanela modal e descartar cambios.",
- "app.presentationUploder.dropzoneLabel": "Arrastrar arquivo aqui para cargalo",
- "app.presentationUploder.dropzoneImagesLabel": "Arrastrar imaxes aqui para cargalas",
- "app.presentationUploder.browseFilesLabel": "ou buscar arquivos",
- "app.presentationUploder.browseImagesLabel": "ou buscar imagenes",
- "app.presentationUploder.fileToUpload": "En proceso de ser cargado ...",
+ "app.presentationUploder.dismissDesc": "Pechar a xanela modal e desbotar os seus cambios.",
+ "app.presentationUploder.dropzoneLabel": "Arrastre os ficheiros aquí para envialos",
+ "app.presentationUploder.dropzoneImagesLabel": "Arrastre as imaxes aquí para envialas",
+ "app.presentationUploder.browseFilesLabel": "ou busque os ficheiros",
+ "app.presentationUploder.browseImagesLabel": "ou busque as imaxes",
+ "app.presentationUploder.fileToUpload": "Para ser enviado…",
"app.presentationUploder.currentBadge": "Acual",
- "app.presentationUploder.rejectedError": "O(os) arquivo(s) seleccionado(s) ha(n) sido rexeitado(s). Por favor, revise o(os) tipo(s) de arquivo.",
- "app.presentationUploder.upload.progress": "Cargando ({0}%)",
- "app.presentationUploder.upload.413": "Arquivo moi grande, por favor divídeo en varios ficheiros",
- "app.presentationUploder.conversion.conversionProcessingSlides": "Procesando páxina {0} de 1. {}",
- "app.presentationUploder.conversion.genericConversionStatus": "Convertendo arquivos ...",
- "app.presentationUploder.conversion.generatingThumbnail": "Xerando miniaturas ...",
- "app.presentationUploder.conversion.generatedSlides": "Diapositivas foron xeradas ...",
- "app.presentationUploder.conversion.generatingSvg": "Xerando imaxes SVG ...",
- "app.presentationUploder.conversion.pdfHasBigPage": "Non se pode converter o ficheiro PDF/PDF, por favor proba a optimizalo",
- "app.presentationUploder.conversion.timeout": "A conversión tomou demasiado tempo ...",
- "app.presentationUploder.isDownloadableLabel": "A descarga da presentación non está permitida",
- "app.presentationUploder.isNotDownloadableLabel": "Descarga de presentación permitida",
- "app.presentationUploder.removePresentationLabel": "Borrar presentación",
- "app.presentationUploder.setAsCurrentPresentation": "Establecer presentación como actual",
- "app.presentationUploder.tableHeading.filename": "Nome de arquivo",
+ "app.presentationUploder.rejectedError": "O(s) ficheiro(s) seleccionado(s) foi(foron) rexeitado(s). Revise o(os) tipo(s) de ficheiro.",
+ "app.presentationUploder.upload.progress": "Enviando ({0}%)",
+ "app.presentationUploder.upload.413": "O ficheiro é grande de máis, divídao en varios ficheiros",
+ "app.presentationUploder.upload.408": "Solicitar o tempo de espera da testemuña de envío.",
+ "app.presentationUploder.upload.404": "404: testemuña de envío non válida",
+ "app.presentationUploder.upload.401": "Produciuse un fallo na solicitude do tempo de espera da testemuña de envío.",
+ "app.presentationUploder.conversion.conversionProcessingSlides": "Procesando páxina {0} de {1}",
+ "app.presentationUploder.conversion.genericConversionStatus": "Convertendo ficheiros…",
+ "app.presentationUploder.conversion.generatingThumbnail": "Xerando miniaturas…",
+ "app.presentationUploder.conversion.generatedSlides": "Presentacións xeradas…",
+ "app.presentationUploder.conversion.generatingSvg": "Xerando imaxes SVG…",
+ "app.presentationUploder.conversion.pageCountExceeded": "Excedeu o número de páxinas. Divida o ficheiro en varios ficheiros.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
+ "app.presentationUploder.conversion.pdfHasBigPage": "Non foi posíbel converter o ficheiro PDF. Tente optimizalo",
+ "app.presentationUploder.conversion.timeout": " Ouh! a conversión tomou demasiado tempo",
+ "app.presentationUploder.conversion.pageCountFailed": "Produciuse un fallo ao determinar o número de páxinas.",
+ "app.presentationUploder.isDownloadableLabel": "Non permitir a descarga da presentación",
+ "app.presentationUploder.isNotDownloadableLabel": "Permitir a descarga da presentación",
+ "app.presentationUploder.removePresentationLabel": "Retirar a presentación",
+ "app.presentationUploder.setAsCurrentPresentation": "Estabelecer a presentación como actual",
+ "app.presentationUploder.tableHeading.filename": "Nome de ficheiro",
"app.presentationUploder.tableHeading.options": "Opcións",
"app.presentationUploder.tableHeading.status": "Estado",
"app.poll.pollPaneTitle": "Enquisa",
"app.poll.quickPollTitle": "Enquisa rápida",
- "app.poll.hidePollDesc": "Ocultar o menu da enquisa",
- "app.poll.customPollInstruction": "Para crear unha enquisa personalizada presiona o botón de abaixo e introduce as respostas.",
- "app.poll.quickPollInstruction": "Selecciona unha das seguintes opcións para iniciar a túa enquisa. ",
+ "app.poll.hidePollDesc": "Agochar o panel do menú da enquisa",
+ "app.poll.customPollInstruction": "Para crear unha enquisa personalizada, seleccione o botón seguinte e introduza as súas opcións.",
+ "app.poll.quickPollInstruction": "Selecciona unha das seguintes opcións para iniciar a súa enquisa.",
"app.poll.customPollLabel": "Enquisa personalizada",
- "app.poll.startCustomLabel": "Iniciar enquisa personalizada",
- "app.poll.activePollInstruction": "Deixe este panel aberto para ver as respostas en tempo real da súa enquisa. Cando estea listo presione 'Publicar resultados de enquisa' para publicar os resultados e finalizar a enquisa.",
- "app.poll.publishLabel": "Publicar resultados da enquisa",
- "app.poll.backLabel": "Regresar ás opcións da enquisa",
+ "app.poll.startCustomLabel": "Iniciar a enquisa personalizada",
+ "app.poll.activePollInstruction": "Deixe este panel aberto para ver as respostas en tempo real da súa enquisa. Cando estea listo prema en «Publicar os resultados da enquisa» para publicar os resultados e rematar a enquisa.",
+ "app.poll.publishLabel": "Publicar os resultados da enquisa",
+ "app.poll.backLabel": "Volver ás opcións da enquisa",
"app.poll.closeLabel": "Pechar",
- "app.poll.waitingLabel": "Esperando respostas ({0}/{1})",
- "app.poll.ariaInputCount": "Opción de enquisa personalizada {0} de 1. {}",
- "app.poll.customPlaceholder": "Agregar resposta de enquisa",
- "app.poll.noPresentationSelected": "Non se seleccionou ningunha presentación! Por favor, seleccione unha.",
- "app.poll.clickHereToSelect": "'Click' aquí para seleccionar",
+ "app.poll.waitingLabel": "Agardando respostas ({0}/{1})",
+ "app.poll.ariaInputCount": "Opción da enquisa personalizada {0} de {1}",
+ "app.poll.customPlaceholder": "Engadir opción de enquisa",
+ "app.poll.noPresentationSelected": "Non se seleccionou ningunha presentación Seleccione unha.",
+ "app.poll.clickHereToSelect": "Prema aquí para seleccionar",
"app.poll.t": "Verdadeiro",
"app.poll.f": "Falso",
- "app.poll.tf": "Verdadeiro / Falseo",
- "app.poll.y": "Se",
+ "app.poll.tf": "Verdadeiro / Falso",
+ "app.poll.y": "Si",
"app.poll.n": "Non",
- "app.poll.yn": "Se / Non",
+ "app.poll.yn": "Si / Non",
"app.poll.a2": "A / B",
"app.poll.a3": "A / B / C",
"app.poll.a4": "A / B / C / D",
"app.poll.a5": "A / B / C / D / E",
"app.poll.answer.true": "Verdadeiro",
"app.poll.answer.false": "Falso",
- "app.poll.answer.yes": "Se",
+ "app.poll.answer.yes": "Si",
"app.poll.answer.no": "Non",
"app.poll.answer.a": "A",
"app.poll.answer.b": "B",
@@ -216,330 +233,372 @@
"app.poll.liveResult.usersTitle": "Usuarios",
"app.poll.liveResult.responsesTitle": "Resposta",
"app.polling.pollingTitle": "Opcións da enquisa",
- "app.polling.pollAnswerLabel": "Resposta de enquisa {0}",
- "app.polling.pollAnswerDesc": "Seleccione esta opcion para responder {0}",
- "app.failedMessage": "Desculpas, problemas conectando ao servidor.",
+ "app.polling.pollAnswerLabel": "Resposta á enquisa {0}",
+ "app.polling.pollAnswerDesc": "Selecciona esta opción para votar por {0}",
+ "app.failedMessage": "Desculpas, hai problemas para conectar co servidor.",
"app.downloadPresentationButton.label": "Descargar a presentación orixinal",
- "app.connectingMessage": "Conectandose ...",
- "app.waitingMessage": "Desconectado. Realizásese un reintento en 0 {} segundos ...",
- "app.retryNow": "Reintentando agora",
+ "app.connectingMessage": "Conectandose…",
+ "app.waitingMessage": "Desconectado Tentando volver conectar en {0} segundos…",
+ "app.retryNow": "Volver tentalo agora",
"app.navBar.settingsDropdown.optionsLabel": "Opcións",
- "app.navBar.settingsDropdown.fullscreenLabel": "Despregar a pantalla completa",
- "app.navBar.settingsDropdown.settingsLabel": "Abrir configuración",
- "app.navBar.settingsDropdown.aboutLabel": "Acerca de",
+ "app.navBar.settingsDropdown.fullscreenLabel": "Poñer a pantalla completa",
+ "app.navBar.settingsDropdown.settingsLabel": "Axustes",
+ "app.navBar.settingsDropdown.aboutLabel": "Sobre",
"app.navBar.settingsDropdown.leaveSessionLabel": "Saír",
- "app.navBar.settingsDropdown.exitFullscreenLabel": "Saír de pantalla completa",
- "app.navBar.settingsDropdown.fullscreenDesc": "Facer o menú de configuración a pantalla completa",
- "app.navBar.settingsDropdown.settingsDesc": "Cambiar a configuración xeral",
- "app.navBar.settingsDropdown.aboutDesc": "Mostrar información achega do cliente",
- "app.navBar.settingsDropdown.leaveSessionDesc": "Abandonar a reunión",
+ "app.navBar.settingsDropdown.exitFullscreenLabel": "Saír da pantalla completa",
+ "app.navBar.settingsDropdown.fullscreenDesc": "Poñer o menú de axustes a pantalla completa",
+ "app.navBar.settingsDropdown.settingsDesc": "Cambiar os axustes xerais",
+ "app.navBar.settingsDropdown.aboutDesc": "Amosar información sobre o cliente",
+ "app.navBar.settingsDropdown.leaveSessionDesc": "Abandonar a xuntanza",
"app.navBar.settingsDropdown.exitFullscreenDesc": "Saír do modo de pantalla completa",
"app.navBar.settingsDropdown.hotkeysLabel": "Atallos de teclado",
- "app.navBar.settingsDropdown.hotkeysDesc": "Listaxe de atallos de teclado dispoñibles",
+ "app.navBar.settingsDropdown.hotkeysDesc": "Lista de atallos de teclado dispoñíbeis",
"app.navBar.settingsDropdown.helpLabel": "Axuda",
- "app.navBar.settingsDropdown.helpDesc": "Ligazóns a videotutoriales (abre unha nova pestana)",
+ "app.navBar.settingsDropdown.helpDesc": "Vincular o usuario a vídeo titoriais (abre unha nova lapela)",
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza a sesión actual",
- "app.navBar.settingsDropdown.endMeetingLabel": "Finalizar sesión",
- "app.navBar.userListToggleBtnLabel": "Alternar lista de usuarios",
- "app.navBar.toggleUserList.ariaLabel": "Cambio de usuarios e mensaxes",
- "app.navBar.toggleUserList.newMessages": "con nova notificación de mensaxe ",
- "app.navBar.recording": "Esta sesión esta sendo gravada",
+ "app.navBar.settingsDropdown.endMeetingLabel": "Rematar a xuntanza",
+ "app.navBar.userListToggleBtnLabel": "Abrir/pechar a lista de usuarios",
+ "app.navBar.toggleUserList.ariaLabel": "Os usuarios e as mensaxes se alternan",
+ "app.navBar.toggleUserList.newMessages": "con nova notificación de mensaxes",
+ "app.navBar.recording": "Esta sesión esta a ser gravada",
"app.navBar.recording.on": "Gravando",
- "app.navBar.recording.off": "Non gravando",
- "app.navBar.emptyAudioBrdige": "Non hai ningún micrófono activo. Comparta o seu micrófono para engadir audio a esta gravación.",
- "app.leaveConfirmation.confirmLabel": "Saír",
- "app.leaveConfirmation.confirmDesc": "Desconéctache da reunión",
- "app.endMeeting.title": "Finalizar sesión",
- "app.endMeeting.description": "Estas seguro de querer finalizar a sesión?",
- "app.endMeeting.yesLabel": "Se",
+ "app.navBar.recording.off": "Non se está a gravar",
+ "app.navBar.emptyAudioBrdige": "Non hai ningún micrófono activo. Comparta o seu micrófono para engadir son a esta gravación.",
+ "app.leaveConfirmation.confirmLabel": "Abandonar",
+ "app.leaveConfirmation.confirmDesc": "Desconectarse da xuntanza",
+ "app.endMeeting.title": "Rematar a xuntanza",
+ "app.endMeeting.description": "Confirma que quere rematar esta sesión?",
+ "app.endMeeting.yesLabel": "Si",
"app.endMeeting.noLabel": "Non",
- "app.about.title": "Acerca de",
- "app.about.confirmLabel": "OK",
- "app.about.confirmDesc": "OK",
+ "app.about.title": "Sobre",
+ "app.about.version": "Versión do cliente:",
+ "app.about.copyright": "Dereitos de autoría:",
+ "app.about.confirmLabel": "Aceptar",
+ "app.about.confirmDesc": "Aceptar",
"app.about.dismissLabel": "Cancelar",
- "app.about.dismissDesc": "Pechar información achega do cliente",
- "app.actionsBar.changeStatusLabel": "Cambiar estado",
- "app.actionsBar.muteLabel": "Deshabilitar audio",
- "app.actionsBar.unmuteLabel": "Habilitar audio",
+ "app.about.dismissDesc": "Pechar a información sobre o cliente",
+ "app.actionsBar.changeStatusLabel": "Cambiar o estado",
+ "app.actionsBar.muteLabel": "Desactivar o son",
+ "app.actionsBar.unmuteLabel": "Activar o son",
"app.actionsBar.camOffLabel": "Cámara apagada",
- "app.actionsBar.raiseLabel": "Levantar",
+ "app.actionsBar.raiseLabel": "Erguer",
"app.actionsBar.label": "Barra de accións",
- "app.actionsBar.actionsDropdown.restorePresentationLabel": "Reestablecer presentación",
- "app.actionsBar.actionsDropdown.restorePresentationDesc": "Restaurar presentación despues de que foi pechada",
+ "app.actionsBar.actionsDropdown.restorePresentationLabel": "Reaurar a presentación",
+ "app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar a presentación após ter sido pechada",
+ "app.screenshare.screenShareLabel" : "Compartir pantalla",
"app.submenu.application.applicationSectionTitle": "Aplicación",
"app.submenu.application.animationsLabel": "Animacións",
- "app.submenu.application.audioAlertLabel": "Alertas de son para o chat",
- "app.submenu.application.pushAlertLabel": "Alertas visuais para o chat",
- "app.submenu.application.userJoinAudioAlertLabel": "Alertas de audio para usuario entrante",
+ "app.submenu.application.audioAlertLabel": "Alertas de son para a conversa",
+ "app.submenu.application.pushAlertLabel": "Alertas visuais para a conversa",
+ "app.submenu.application.userJoinAudioAlertLabel": "Alertas de son para usuario entrante",
"app.submenu.application.userJoinPushAlertLabel": "Alertas emerxentes para usuario entrante",
- "app.submenu.application.fontSizeControlLabel": "Tamaño de fonte",
- "app.submenu.application.increaseFontBtnLabel": "Incrementar tamaño de fonte",
- "app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fonte",
+ "app.submenu.application.fontSizeControlLabel": "Tamaño da letra",
+ "app.submenu.application.increaseFontBtnLabel": "Incrementar o tamaño da letra",
+ "app.submenu.application.decreaseFontBtnLabel": "Diminuír o tamaño da letra",
"app.submenu.application.currentSize": "actualmente {0}",
- "app.submenu.application.languageLabel": "Linguaxe de aplicación",
- "app.submenu.application.languageOptionLabel": "Seleccionar linguaxe",
+ "app.submenu.application.languageLabel": "Idioma da aplicación",
+ "app.submenu.application.languageOptionLabel": "Escoller idioma",
"app.submenu.application.noLocaleOptionLabel": "Non hai locais activos",
"app.submenu.audio.micSourceLabel": "Fonte de micrófono",
- "app.submenu.audio.speakerSourceLabel": "Fonte de altofalantes",
- "app.submenu.audio.streamVolumeLabel": "Volume do fluxo de audio",
+ "app.submenu.audio.speakerSourceLabel": "Fonte de altofalante",
+ "app.submenu.audio.streamVolumeLabel": "Volume do fluxo de son",
"app.submenu.video.title": "Vídeo",
- "app.submenu.video.videoSourceLabel": "Fonte do vídeo",
- "app.submenu.video.videoOptionLabel": "Escoller ver fonte",
- "app.submenu.video.videoQualityLabel": "Calidade de vídeo",
- "app.submenu.video.qualityOptionLabel": "Escoller calidade do vídeo",
- "app.submenu.video.participantsCamLabel": "Vendo webcams de participantes",
+ "app.submenu.video.videoSourceLabel": "Fonte de vídeo",
+ "app.submenu.video.videoOptionLabel": "Escoller ver a fonte",
+ "app.submenu.video.videoQualityLabel": "Calidade do vídeo",
+ "app.submenu.video.qualityOptionLabel": "Escoller a calidade do vídeo",
+ "app.submenu.video.participantsCamLabel": "Vista das cámaras web dos participantes",
"app.settings.applicationTab.label": "Aplicación",
- "app.settings.audioTab.label": "Audio",
+ "app.settings.audioTab.label": "Son",
"app.settings.videoTab.label": "Vídeo",
"app.settings.usersTab.label": "Participantes",
- "app.settings.main.label": "Configuración",
- "app.settings.main.cancel.label": "Cancela",
- "app.settings.main.cancel.label.description": "Desfeita os cambios e pecha o menú de configuración",
+ "app.settings.main.label": "Axustes",
+ "app.settings.main.cancel.label": "Cancelar",
+ "app.settings.main.cancel.label.description": "Desbotar os cambios e pechar o menú de axustes",
"app.settings.main.save.label": "Gardar",
- "app.settings.main.save.label.description": "Gurada cambios e pecha o menú de configuración",
+ "app.settings.main.save.label.description": "Gardar os cambios e pechar o menú de axustes",
"app.settings.dataSavingTab.label": "Aforro de datos",
- "app.settings.dataSavingTab.webcam": "Habilitar webcams",
- "app.settings.dataSavingTab.screenShare": "Habilitar escritorio compartido",
- "app.settings.dataSavingTab.description": "Para aforrar ancho de banda axusta o que se se está mostrando",
- "app.settings.save-notification.label": "A configuración gardouse",
+ "app.settings.dataSavingTab.webcam": "Activar as cámaras web",
+ "app.settings.dataSavingTab.screenShare": "Activar o escritorio compartido",
+ "app.settings.dataSavingTab.description": "Para aforrar largo de banda axustar o que se se está a amosar",
+ "app.settings.save-notification.label": "Gardáronse os axustes",
"app.switch.onLabel": "Aceso",
"app.switch.offLabel": "Apagado",
+ "app.talkingIndicator.ariaMuteDesc" : "Seleccione para silenciar o usuario",
+ "app.talkingIndicator.isTalking" : "{0} está chamando",
+ "app.talkingIndicator.wasTalking" : "{0} deixou de chamar",
"app.actionsBar.actionsDropdown.actionsLabel": "Accións",
- "app.actionsBar.actionsDropdown.presentationLabel": "Subir unha presentación",
+ "app.actionsBar.actionsDropdown.presentationLabel": "Enviar unha presentación",
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar unha enquisa",
- "app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir a túa pantalla",
- "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Compartir pantalla esta bloqueada",
- "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Deixar de compartir a túa pantalla",
- "app.actionsBar.actionsDropdown.presentationDesc": "Subir a túa presentación",
+ "app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir a súa pantalla",
+ "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "A pantalla compartida está bloqueada",
+ "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Deixar de compartir a súa pantalla",
+ "app.actionsBar.actionsDropdown.presentationDesc": "Enviar a súa presentación",
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar unha enquisa",
- "app.actionsBar.actionsDropdown.desktopShareDesc": "Compartir a túa pantalla con outros",
- "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Deixar de compartir a túa pantalla con outros",
+ "app.actionsBar.actionsDropdown.desktopShareDesc": "Compartir a súa pantalla con outros",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Deixar de compartir a súa pantalla con outros",
"app.actionsBar.actionsDropdown.pollBtnLabel": "Iniciar unha enquisa",
- "app.actionsBar.actionsDropdown.pollBtnDesc": "Cambia o panel de enquisa",
- "app.actionsBar.actionsDropdown.saveUserNames": "Gardar nomes de usuario",
- "app.actionsBar.actionsDropdown.createBreakoutRoom": "Crear grupos de traballo",
- "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "crear grupos de traballo para dividir a sesión actual",
+ "app.actionsBar.actionsDropdown.pollBtnDesc": "Alternar o panel de enquisa",
+ "app.actionsBar.actionsDropdown.saveUserNames": "Gardar os nomes de usuario",
+ "app.actionsBar.actionsDropdown.createBreakoutRoom": "Crear salas parciais",
+ "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "crear salas parciais para dividir a xuntanza actual",
"app.actionsBar.actionsDropdown.captionsLabel": "Escribir subtítulos",
- "app.actionsBar.actionsDropdown.captionsDesc": "Alterna o panel de subtítulos",
- "app.actionsBar.actionsDropdown.takePresenter": "Tomar rol de presentador",
- "app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarche a ti mesmo o rol de presentador",
- "app.actionsBar.emojiMenu.statusTriggerLabel": "Establecer estado",
+ "app.actionsBar.actionsDropdown.captionsDesc": "Alternar o panel de subtítulos",
+ "app.actionsBar.actionsDropdown.takePresenter": "Tomar o rol de presentador",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarse a un mesmo como novo presentador",
+ "app.actionsBar.emojiMenu.statusTriggerLabel": "Estabelecer o estado",
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
- "app.actionsBar.emojiMenu.awayDesc": "Cambiar o teu estado a ausente",
- "app.actionsBar.emojiMenu.raiseHandLabel": "Alzar",
- "app.actionsBar.emojiMenu.raiseHandDesc": "Alzar a man para preguntar",
+ "app.actionsBar.emojiMenu.awayDesc": "Cambiar o seu estado a ausente",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "Erguer",
+ "app.actionsBar.emojiMenu.raiseHandDesc": "Erguer a man para facer unha pregunta",
"app.actionsBar.emojiMenu.neutralLabel": "Indeciso",
- "app.actionsBar.emojiMenu.neutralDesc": "Cambiar o teu estado a indeciso",
- "app.actionsBar.emojiMenu.confusedLabel": "Confundido",
- "app.actionsBar.emojiMenu.confusedDesc": "Cambiar o teu estado para confundido",
+ "app.actionsBar.emojiMenu.neutralDesc": "Cambiar o seu estado a indeciso",
+ "app.actionsBar.emojiMenu.confusedLabel": "Confuso",
+ "app.actionsBar.emojiMenu.confusedDesc": "Cambiar o seu estado a confuso",
"app.actionsBar.emojiMenu.sadLabel": "Triste",
- "app.actionsBar.emojiMenu.sadDesc": "Cambiar o teu estado a triste",
+ "app.actionsBar.emojiMenu.sadDesc": "Cambiar o seu estado a triste",
"app.actionsBar.emojiMenu.happyLabel": "Feliz",
- "app.actionsBar.emojiMenu.happyDesc": "Cambiar o teu estado a feliz",
- "app.actionsBar.emojiMenu.noneLabel": "Limpar estado",
- "app.actionsBar.emojiMenu.noneDesc": "Limpa o teu estado",
- "app.actionsBar.emojiMenu.applauseLabel": "Aplausos",
- "app.actionsBar.emojiMenu.applauseDesc": "Cambiar o teu estado a aplausos",
+ "app.actionsBar.emojiMenu.happyDesc": "Cambiar o seu estado a feliz",
+ "app.actionsBar.emojiMenu.noneLabel": "Limpar o estado",
+ "app.actionsBar.emojiMenu.noneDesc": "Limpar o seu estado",
+ "app.actionsBar.emojiMenu.applauseLabel": "Aplaudindo",
+ "app.actionsBar.emojiMenu.applauseDesc": "Cambiar o seu estado a aplaudindo",
"app.actionsBar.emojiMenu.thumbsUpLabel": "Sinal de aprobación",
- "app.actionsBar.emojiMenu.thumbsUpDesc": "Cambiar o teu estado a sinal de aprobación",
+ "app.actionsBar.emojiMenu.thumbsUpDesc": "Cambiar o seu estado a sinal de aprobación",
"app.actionsBar.emojiMenu.thumbsDownLabel": "Sinal de desaprobación",
- "app.actionsBar.emojiMenu.thumbsDownDesc": "Cambia o teu estdo a sinal de desaprobación",
+ "app.actionsBar.emojiMenu.thumbsDownDesc": "Cambia o seu estado a sinal de desaprobación",
"app.actionsBar.currentStatusDesc": "estado actual {0}",
"app.actionsBar.captions.start": "Comezar a ver subtítulos",
"app.actionsBar.captions.stop": "Deixar de ver subtítulos",
- "app.audioNotification.audioFailedMessage": "A túa conexión de audio fallou en conectarse",
- "app.audioNotification.mediaFailedMessage": "getUserMicMedia fallou, Só orixes seguras son admitidos",
+ "app.audioNotification.audioFailedError1001": "WebSocket desconectado (error 1001)",
+ "app.audioNotification.audioFailedError1002": "Non foi posíbel facer unha conexión WebSocket (erro 1002)",
+ "app.audioNotification.audioFailedError1003": "A versión do navegador non é compatíbel (erro 1003)",
+ "app.audioNotification.audioFailedError1004": "Produciuse un fallo na chamada (razón={0}) (erro 1004)",
+ "app.audioNotification.audioFailedError1005": "A chamada rematou inesperadamente (erro 1005)",
+ "app.audioNotification.audioFailedError1006": "Rematou o tempo de espera da chamada (erro 1006)",
+ "app.audioNotification.audioFailedError1007": "Produciuse un fallo de conexión (erro ICE 1007)",
+ "app.audioNotification.audioFailedError1008": "Produciuse un fallo de transferencia (erro 1008)",
+ "app.audioNotification.audioFailedError1009": "Non foi posíbel recuperar a información do servidor STUN/TURN (erro 1009)",
+ "app.audioNotification.audioFailedError1010": "Rematou o tempo de espera da negociación da conexión (erro ICE 1010)",
+ "app.audioNotification.audioFailedError1011": "Rematou o tempo de espera da conexión (erro ICE 1011)",
+ "app.audioNotification.audioFailedError1012": "Conexión pechada (erro ICE 1012)",
+ "app.audioNotification.audioFailedMessage": "Produciuse un fallo na súa conexión de son",
+ "app.audioNotification.mediaFailedMessage": "Produciuse un fallo en getUserMicMedia xa que só se permiten as orixes seguras",
"app.audioNotification.closeLabel": "Pechar",
- "app.breakoutJoinConfirmation.message": "Queres unirche",
- "app.breakoutJoinConfirmation.confirmDesc": "Ingresar a un grupo de traballo",
+ "app.audioNotificaion.reconnectingAsListenOnly": "O micrófono bloqueouse para os espectadores, vostede está conectado só como oínte",
+ "app.breakoutJoinConfirmation.title": "Entrar na sala parcial",
+ "app.breakoutJoinConfirmation.message": "Quere entrar?",
+ "app.breakoutJoinConfirmation.confirmDesc": "Entrar nunha sala parcial",
"app.breakoutJoinConfirmation.dismissLabel": "Cancelar",
- "app.breakoutJoinConfirmation.dismissDesc": "Pecha e rexeita entrada a grupo de traballo",
- "app.breakoutJoinConfirmation.freeJoinMessage": "Selecciona o grupo de traballo a ingresar",
- "app.breakoutWillCloseMessage": "Tempo transcorrido. Grupo de traballo pecharase en breve.",
- "app.calculatingBreakoutTimeRemaining": "Calculando tempo restante ...",
- "app.audioModal.ariaTitle": "Unirse en modo audio",
+ "app.breakoutJoinConfirmation.dismissDesc": "Pechar e rexeitar a entrada na sala parcial",
+ "app.breakoutJoinConfirmation.freeJoinMessage": "Seleccionar a sala parcial na que entrar",
+ "app.breakoutTimeRemainingMessage": "Tempo restante da sala parcial: {0}",
+ "app.breakoutWillCloseMessage": "Rematou o tempo. A sala parcial pecharase en breve.",
+ "app.calculatingBreakoutTimeRemaining": "Calculando tempo restante…",
+ "app.audioModal.ariaTitle": " Xanela modal para entrar ao son",
"app.audioModal.microphoneLabel": "Micrófono",
"app.audioModal.listenOnlyLabel": "Só escoitar",
- "app.audioModal.audioChoiceLabel": "Como queres unirche ao audio?",
- "app.audioModal.iOSBrowser": "Audio/Vídeo non soportado",
- "app.audioModal.iOSErrorDescription": "Neste momento o audio e vídeo non son soportados en Chrome para iOS.",
- "app.audioModal.iOSErrorRecommendation": "Recomendámosche utilizar Safari VOS.",
- "app.audioModal.audioChoiceDesc": "Selecciona como unirse ao audio nesta reunión",
- "app.audioModal.unsupportedBrowserLabel": "Parece que está a usar un navegador non totalmente soportado. Por favor, utilice un dos seguintes {0} ó {1} para unha compatibilidade completa. ",
+ "app.audioModal.audioChoiceLabel": "Gustaríalle entrar ao son?",
+ "app.audioModal.iOSBrowser": "Son/vídeo non compatíbel",
+ "app.audioModal.iOSErrorDescription": "Neste momento o son e o vídeo non son compatíbeis co Chrome para iOS.",
+ "app.audioModal.iOSErrorRecommendation": "Recomendámoslle empregar Safari iOS.",
+ "app.audioModal.audioChoiceDesc": "Seleccionar como entrar ao son nesta xuntanza",
+ "app.audioModal.unsupportedBrowserLabel": "Parece que estás a usar un navegador que non é totalmente compatíbel. Utilice {0} ou {1} para obter unha compatibilidade completa.",
"app.audioModal.closeLabel": "Pechar",
- "app.audioModal.yes": "Se",
+ "app.audioModal.yes": "Si",
"app.audioModal.no": "Non",
- "app.audioModal.echoTestTitle": "Esta é unha proba de eco privada. Dí unhas palabras. Escoitaches o audio?",
- "app.audioModal.settingsTitle": "Cambia a túa configuración de audio",
- "app.audioModal.helpTitle": "Ocorreu un erro cos teus dispositivos de medios",
- "app.audioModal.helpText": "Autorizaches o uso do teu micrófono? Ten en conta que cando tratas de ingresar ao audio, débeseche mostrar unha caixa de diálogo na que se solicita a túa autorización. Se non ocorreu tenta cambiar os permisos do teu micrófono no area de configuración do teu navegador.",
- "app.audioModal.help.noSSL": "Esta páxina non é segura. Para poder usar o micrófono a páxina ten que ser servida por HTTPS. Por favor, contacte co administrador do servidor.",
- "app.audioModal.help.macNotAllowed": "Parece que as preferencias do teu sistema Mac están a bloquear o acceso ao mícrofono. Abra Preferencias do sistema > Seguridade e privacidade > Privacidade > Micrófono, e verifica que o navegador que está a usar está activado.",
- "app.audioModal.audioDialTitle": "Únase usando o seu teléfono",
+ "app.audioModal.yes.arialabel" : "O eco é audíbel",
+ "app.audioModal.no.arialabel" : "O eco non é audíbel",
+ "app.audioModal.echoTestTitle": "Esta é unha proba de eco privada. Diga unhas palabras. Escoitou o son?",
+ "app.audioModal.settingsTitle": "Cambiar a súa configuración de son",
+ "app.audioModal.helpTitle": "Houbo un problema cos seus dispositivos multimedia",
+ "app.audioModal.helpText": "Deu permiso para acceder ao seu micrófono? Teña en conta que debería aparecer un diálogo cando tente unir o son, solicitando os permisos do seu dispositivo multimedia, acépteos para entrar na conferencia de son. Se non é así, tente cambiar os permisos do micrófono na configuración do seu navegador.",
+ "app.audioModal.help.noSSL": "Esta páxina non é segura. Para poder acceder ao micrófono a páxina ten que ser servida mediante HTTPS. Contacte co administrador do servidor.",
+ "app.audioModal.help.macNotAllowed": "Parece que as preferencias do teu sistema Mac están a bloquear o acceso ao mícrofono. Abra Preferencias do sistema > Seguridade e privacidade > Privacidade > Micrófono, e verifique que o navegador que está a usar está marcado.",
+ "app.audioModal.audioDialTitle": "Entre usando o seu teléfono",
"app.audioDial.audioDialDescription": "Marcar",
- "app.audioModal.autoplayBlockedDesc": "Necesitamos o seu permiso para reproducir audio.",
- "app.audioModal.playAudio": "Reproducir audio",
- "app.audioModal.playAudio.arialabel" : "Reproducir audio",
- "app.audioDial.tipIndicator": "Pista",
- "app.audioDial.tipMessage": "Pulse a tecla '0' no seu teléfono para silenciarse/activar o audio a se mesmo.",
- "app.audioModal.connecting": "Conectandose",
- "app.audioModal.connectingEchoTest": "Conenctandose a proba de eco",
- "app.audioManager.joinedAudio": "Ingresaches á conferencia de audio",
- "app.audioManager.joinedEcho": "Ingresaches á proba de eco",
- "app.audioManager.leftAudio": "Abandonaches a conferencia de audio",
- "app.audioManager.reconnectingAudio": "Tentando reconectar audio",
- "app.audio.joinAudio": "Unirse ao audio",
- "app.audio.leaveAudio": "Abandonar audio",
- "app.audio.enterSessionLabel": "Entrar á sesión",
+ "app.audioDial.audioDialConfrenceText": "e introduza o número de PIN da conferencia:",
+ "app.audioModal.autoplayBlockedDesc": "Necesitamos o seu permiso para reproducir son.",
+ "app.audioModal.playAudio": "Reproducir son",
+ "app.audioModal.playAudio.arialabel" : "Reproducir son",
+ "app.audioDial.tipIndicator": "Consello",
+ "app.audioDial.tipMessage": "Prema a tecla «0» no seu teléfono para silenciar/activar o seu propio son.",
+ "app.audioModal.connecting": "Conectando",
+ "app.audioModal.connectingEchoTest": "Conectando coa proba de eco",
+ "app.audioManager.joinedAudio": "Vostede entrou na conferencia de son",
+ "app.audioManager.joinedEcho": "Vostede entrou na proba de eco",
+ "app.audioManager.leftAudio": "Vostede abandonou á conferencia de son",
+ "app.audioManager.reconnectingAudio": "Tentando volver conectar o son",
+ "app.audioManager.genericError": "Erro: produciuse un erro, tenteo de novo",
+ "app.audioManager.connectionError": "Erro: Produciuse un erro de conexión",
+ "app.audioManager.requestTimeout": "Erro: había un tempo de espera na solicitude",
+ "app.audioManager.invalidTarget": "Erro: tentouse solicitar algo a un destino non válido",
+ "app.audioManager.mediaError": "Erro: produciuse un problema ao recibir os seus dispositivos multimedia",
+ "app.audio.joinAudio": "Entrar ao son",
+ "app.audio.leaveAudio": "Abandonar o son",
+ "app.audio.enterSessionLabel": "Entrar na sesión",
"app.audio.playSoundLabel": "Reproducir son",
"app.audio.backLabel": "Atrás",
- "app.audio.audioSettings.titleLabel": "Seleccionar a túa configuración de audio",
- "app.audio.audioSettings.descriptionLabel": "Ten en conta que aparecerá un cadro de diálogo no teu navegador, que che pide a aceptar compartir o teu micrófono.",
- "app.audio.audioSettings.microphoneSourceLabel": "Fonte do micrófono",
+ "app.audio.audioSettings.titleLabel": "Escolla os seus axustes do son",
+ "app.audio.audioSettings.descriptionLabel": "Teña en conta que aparecerá un diálogo no navegador que requira que acepte compartir o seu micrófono",
+ "app.audio.audioSettings.microphoneSourceLabel": "Fonte de micrófono",
"app.audio.audioSettings.speakerSourceLabel": "Fonte de altofalante",
- "app.audio.audioSettings.microphoneStreamLabel": "O teu volúmen do fluxo de audio",
+ "app.audio.audioSettings.microphoneStreamLabel": "O seu volume do fluxo de son",
"app.audio.audioSettings.retryLabel": "Tentar de novo",
"app.audio.listenOnly.backLabel": "Atrás",
"app.audio.listenOnly.closeLabel": "Pechar",
- "app.audio.permissionsOverlay.title": "Permitir acceso ao teu micrófono",
- "app.error.removed": "Fuches eliminado da conferencia",
- "app.error.meeting.ended": "Feixe saído da conferencia",
- "app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tentando unirse á reunión",
+ "app.audio.permissionsOverlay.title": "Permitir o acceso ao seu micrófono",
+ "app.audio.permissionsOverlay.hint": "Necesitamos que nos permita usar os seus dispositivos multimedia para introducilo na conferencia de voz :)",
+ "app.error.removed": "Vostede foi retirado/a da conferencia",
+ "app.error.meeting.ended": "Vostede desconectouse da conferencia",
+ "app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tentando entrar na xuntanza",
"app.meeting.logout.permissionEjectReason": "Expulsado por violación de permiso",
- "app.meeting.logout.ejectedFromMeeting": "Vostede foi expulsado/a de a reunión",
- "app.meeting.logout.validateTokenFailedEjectReason": "Erro ao validar o token de autorización",
- "app.meeting.logout.userInactivityEjectReason": "Usuario inactivo por moito tempo",
- "app.meeting-ended.rating.legendLabel": "Cualificación de votos",
+ "app.meeting.logout.ejectedFromMeeting": "Vostede foi retirado/a da xuntanza",
+ "app.meeting.logout.validateTokenFailedEjectReason": "Produciuse un erro ao validar a testemuña de autorización",
+ "app.meeting.logout.userInactivityEjectReason": "Usuario inactivo durante demasiado tempo",
+ "app.meeting-ended.rating.legendLabel": "Valoración de comentarios",
"app.meeting-ended.rating.starLabel": "Estrela",
"app.modal.close": "Pechar",
- "app.modal.close.description": "Ignora os cambios e pecha a xanela flotante.",
- "app.modal.confirm": "Finalizado",
- "app.modal.newTab": "(abre nova pestana)",
- "app.modal.confirm.description": "Garda os cambios e pecha a xanela flotante",
+ "app.modal.close.description": "Ignora os cambios e pecha a xanela modal.",
+ "app.modal.confirm": "Feito",
+ "app.modal.newTab": "(abre unha nova lapela)",
+ "app.modal.confirm.description": "Garda os cambios e pecha a xanela modal",
"app.dropdown.close": "Pechar",
"app.error.400": "Solicitude incorrecta",
"app.error.401": "Non autorizado",
- "app.error.403": "Vostede foi expulsado/a de a reunión",
+ "app.error.403": "Vostede foi retirado/a da xuntanza",
"app.error.404": "Non se atopou",
- "app.error.410": "A reunión finalizou",
- "app.error.500": "Ups, algo salio mal",
- "app.error.leaveLabel": "Ingresa de novo",
- "app.error.fallback.presentation.title": "Ocorreu un erro",
- "app.error.fallback.presentation.description": "Isto rexistrouse. Por favor, tente volver cargar a páxina.",
+ "app.error.410": "Rematou a xuntanza",
+ "app.error.500": "Ouh! algo foi mal",
+ "app.error.leaveLabel": "Acceder de novo",
+ "app.error.fallback.presentation.title": "Produciuse un erro",
+ "app.error.fallback.presentation.description": "Accedeu. Tente volver cargar a páxina.",
"app.error.fallback.presentation.reloadButton": "Recargar",
- "app.guest.waiting": "Esperando aprobación para unirse",
- "app.userList.guest.waitingUsers": "Usuarios en espera",
+ "app.guest.waiting": "Agardando a aprobación para entrar",
+ "app.userList.guest.waitingUsers": "Usuarios agardando",
"app.userList.guest.waitingUsersTitle": "Xestión de usuarios",
- "app.userList.guest.optionTitle": "Revisar de usuarios pendentes",
- "app.userList.guest.allowAllAuthenticated": "Permitir todos os autenticados",
- "app.userList.guest.allowAllGuests": "Permitir todos os invitados",
+ "app.userList.guest.optionTitle": "Revisar os usuarios pendentes",
+ "app.userList.guest.allowAllAuthenticated": "Permitir a todos os autenticados",
+ "app.userList.guest.allowAllGuests": "Permitir a todos os convidados",
"app.userList.guest.allowEveryone": "Permitir a todos",
"app.userList.guest.denyEveryone": "Denegar a todos",
- "app.userList.guest.pendingUsers": "{0} Usuarios pendentes",
- "app.userList.guest.pendingGuestUsers": "{0} Invitados pendentes",
- "app.userList.guest.pendingGuestAlert": "Uniuse á sesión e está a esperar a súa aprobación.",
- "app.userList.guest.rememberChoice": "Lembrar elección",
- "app.user-info.title": "Procura de directorio",
- "app.toast.breakoutRoomEnded": "A sesión de grupo de traballo finalizou. Ingresa ao audio novamente.",
- "app.toast.chat.public": "Nova mensaxe en chat público",
- "app.toast.chat.private": "Nova mensaxe en chat privado",
+ "app.userList.guest.pendingUsers": "{0} usuarios pendentes",
+ "app.userList.guest.pendingGuestUsers": "{0} convidados pendentes",
+ "app.userList.guest.pendingGuestAlert": "Entrou na sesión e está agardando a súa aprobación.",
+ "app.userList.guest.rememberChoice": "Lembrar a escolla",
+ "app.user-info.title": "Atopar directorio",
+ "app.toast.breakoutRoomEnded": "A sala parcial rematou. Volva entrar ao son.",
+ "app.toast.chat.public": "Nova mensaxe na conversa pública",
+ "app.toast.chat.private": "Nova mensaxe na conversa privada",
"app.toast.chat.system": "Sistema",
- "app.toast.clearedEmoji.label": "Estado do emoji borrado",
- "app.toast.setEmoji.label": "Estado do emoji cambiado a 0. {}",
+ "app.toast.clearedEmoji.label": "Estado do emoji limpo",
+ "app.toast.setEmoji.label": "Estado do emoji cambiado a {0}",
"app.toast.meetingMuteOn.label": "Todos os usuarios foron silenciados",
- "app.toast.meetingMuteOff.label": "Función de silenciar foi deshabilitada",
- "app.notification.recordingStart": "A sesión esta sendo gravada",
+ "app.toast.meetingMuteOff.label": "Desactivouse a reunión silenciosa",
+ "app.notification.recordingStart": "A sesión esta a ser gravada",
"app.notification.recordingStop": "Esta sesión non está a ser gravada",
- "app.notification.recordingPaused": "Deixouse de gravar a sesión",
+ "app.notification.recordingPaused": "Xa non se está a gravar esta sesión",
"app.notification.recordingAriaLabel": "Tempo de gravación",
- "app.notification.userJoinPushAlert": "{0} uniuse á sesión",
+ "app.notification.userJoinPushAlert": "{0} entrou na sesión",
"app.shortcut-help.title": "Atallos de teclado",
- "app.shortcut-help.accessKeyNotAvailable": "Teclas de acceso non dispoñibles",
+ "app.shortcut-help.accessKeyNotAvailable": "Teclas de acceso non dispoñíbeis",
"app.shortcut-help.comboLabel": "Combinación",
"app.shortcut-help.functionLabel": "Función",
"app.shortcut-help.closeLabel": "Pechar",
- "app.shortcut-help.closeDesc": "Pecha o modo de Atallos de teclado",
+ "app.shortcut-help.closeDesc": " Pecha a xanela modal de atallos do teclado",
"app.shortcut-help.openOptions": "Abrir opcións",
- "app.shortcut-help.toggleUserList": "Cambia lista de usuarios",
- "app.shortcut-help.toggleMute": "Deshabilitar / Habilitar audio",
- "app.shortcut-help.togglePublicChat": "Cambia chat público (Lista de usuarios debe ser aberta)",
- "app.shortcut-help.hidePrivateChat": "Ocultar chat privado",
- "app.shortcut-help.closePrivateChat": "Pechar chat privado",
- "app.shortcut-help.openActions": "Abrir menú de accións",
+ "app.shortcut-help.toggleUserList": "Alternar a lista de usuarios",
+ "app.shortcut-help.toggleMute": "Silenciar/Activar son",
+ "app.shortcut-help.togglePublicChat": "Alternar a conversa pública (a lista de usuarios debe estar aberta)",
+ "app.shortcut-help.hidePrivateChat": "Agochar a conversa privada",
+ "app.shortcut-help.closePrivateChat": "Pechar a conversa privada",
+ "app.shortcut-help.openActions": "Abrir o menú de accións",
"app.shortcut-help.openStatus": "Abrir o menú de estados",
- "app.shortcut-help.togglePan": "Activar ferramenta Pan (Presentador)",
+ "app.shortcut-help.togglePan": "Activar a ferramenta Pan (Presentador)",
"app.shortcut-help.nextSlideDesc": "Diapositiva seguinte (Presentador)",
"app.shortcut-help.previousSlideDesc": "Diapositiva anterior (Presentador)",
- "app.lock-viewers.title": "Bloquear espectadores",
- "app.lock-viewers.description": "Estas opcións permítenlle restrinxir certas características a observadores.",
+ "app.lock-viewers.title": "Bloquear aos espectadores",
+ "app.lock-viewers.description": "Estas opcións permítenlle restrinxir aos espectadores o uso de funcións específicas.",
"app.lock-viewers.featuresLable": "Función",
"app.lock-viewers.lockStatusLabel": "Estado",
- "app.lock-viewers.webcamLabel": "Compartir webcam",
- "app.lock-viewers.otherViewersWebcamLabel": "Ver a webcam doutros espectadores",
- "app.lock-viewers.microphoneLable": "Compartir micrófono",
- "app.lock-viewers.PublicChatLabel": "Enviar mensaxes ao chat Público",
- "app.lock-viewers.PrivateChatLable": "Enviar mensaxes ao chat Privado",
+ "app.lock-viewers.webcamLabel": "Compartir a cámara web",
+ "app.lock-viewers.otherViewersWebcamLabel": "Ver a cámara web doutros espectadores",
+ "app.lock-viewers.microphoneLable": "Compartir o micrófono",
+ "app.lock-viewers.PublicChatLabel": "Enviar mensaxes á conversa pública ",
+ "app.lock-viewers.PrivateChatLable": "Enviar mensaxes á conversa privada",
"app.lock-viewers.notesLabel": "Editar notas compartidas",
- "app.lock-viewers.userListLabel": "Ver outros participantes na lista de usuarios",
- "app.lock-viewers.ariaTitle": "Bloquear a observadores configuración modal",
+ "app.lock-viewers.userListLabel": "Ver outros espectadores na lista de usuarios",
+ "app.lock-viewers.ariaTitle": "Bloquear a xanela modal de axustes dos espectadores",
"app.lock-viewers.button.apply": "Aplicar",
- "app.lock-viewers.button.cancel": "Cancela",
+ "app.lock-viewers.button.cancel": "Cancelar",
"app.lock-viewers.locked": "Bloqueado",
"app.lock-viewers.unlocked": "Desbloqueado",
"app.recording.startTitle": "Iniciar gravación",
"app.recording.stopTitle": "Pausar gravación",
"app.recording.resumeTitle": "Continuar gravación",
- "app.recording.startDescription": "Pode volver presionar o botón de gravación para pausar a gravación actual.",
- "app.recording.stopDescription": "Está seguro de querer pausar a gravación? Pode continuala volvendo presionar o botón de gravación novamente.",
- "app.videoPreview.cameraLabel": "Webcam",
+ "app.recording.startDescription": "Máis tarde pode usar o botón de gravación para deter a gravación.",
+ "app.recording.stopDescription": "Confirma que quere deter a gravación? Pode continuala premendo de novo o botón de gravación.",
+ "app.videoPreview.cameraLabel": "Cámara web",
"app.videoPreview.profileLabel": "Calidade",
"app.videoPreview.cancelLabel": "Cancelar",
"app.videoPreview.closeLabel": "Pechar",
- "app.videoPreview.findingWebcamsLabel": "Buscando webcams",
- "app.videoPreview.startSharingLabel": "Iniciar compartir",
- "app.videoPreview.webcamOptionLabel": "Selecciona a webcam",
- "app.videoPreview.webcamPreviewLabel": "Vista preliminar de webcam",
- "app.videoPreview.webcamSettingsTitle": "Configuración de webcam",
- "app.videoPreview.webcamNotFoundLabel": "Webcam non atopada",
- "app.videoPreview.profileNotFoundLabel": "Perfil de cámara non soportado",
- "app.video.joinVideo": "Compartir webcam",
- "app.video.leaveVideo": "Deixar de compartir webcam",
- "app.video.iceCandidateError": "Erro ao agregar candidato ICE",
- "app.video.permissionError": "Erro ao compartit a webcam. Por favor revise os permisos",
- "app.video.sharingError": "Erro ao compartir a webcam",
- "app.video.notFoundError": "Webcam non fué atopada. Por favor asegurate de que se atopa conectada",
- "app.video.notAllowed": "Faltan permisos para compartir a webcam, por favor asegurate de que os permisos do navegador son correctos",
- "app.video.notSupportedError": "Só pódese compartir a webcam de fontes seguras, asegurate de que o certificado SSL sexa valido",
- "app.video.notReadableError": "Non se puido obter vídeo de webcam. Asegurate de que ningunha outra aplicación estea utilizandola.",
- "app.video.suggestWebcamLock": "Aplicar a configuración de bloqueo ás cámaras web dos observadores?",
- "app.video.suggestWebcamLockReason": "(isto mellorará a estabilidade da gravación)",
+ "app.videoPreview.findingWebcamsLabel": "Buscando cámaras web",
+ "app.videoPreview.startSharingLabel": "Comezar a compartir",
+ "app.videoPreview.webcamOptionLabel": "Seleccionar a cámara web",
+ "app.videoPreview.webcamPreviewLabel": "Vista preliminar de cámara web",
+ "app.videoPreview.webcamSettingsTitle": "Axustes da cámara web",
+ "app.videoPreview.webcamNotFoundLabel": "Non se atopou a cámara web",
+ "app.videoPreview.profileNotFoundLabel": "Non hai ningún perfil de cámara admitido",
+ "app.video.joinVideo": "Compartir a cámara web",
+ "app.video.leaveVideo": "Deixar de compartir a cámara web",
+ "app.video.iceCandidateError": "Produciuse un erro ao engadir un candidato ICE",
+ "app.video.iceConnectionStateError": "Produciuse un fallo de conexión (erro ICE 1107)",
+ "app.video.permissionError": "Produciuse un erro ao compartir a cámara web. Revise os permisos",
+ "app.video.sharingError": "Produciuse un erro ao compartir a cámara web",
+ "app.video.notFoundError": "Non se atopou a cámara web. Asegúrese de que estea conectada",
+ "app.video.notAllowed": "Fallo o permiso para a cámara web compartida, asegúrese de que os permisos do seu navegador son correctos",
+ "app.video.notSupportedError": "Só é posíbel compartir cámaras web de fontes seguras, asegúrese de que o certificado SSL sexa valido",
+ "app.video.notReadableError": "Non se puido obter vídeo de webcam. Asegurate de que ningunha outra aplicación estea utilizandola.\n\nNon foi posíbel obter o vídeo da cámara web. Asegurese de que outro programa non estea a usar a cámara web",
+ "app.video.mediaFlowTimeout1020": "Os recursos multimedia non foron quen de acadar o servidor (erro 1020)",
+ "app.video.suggestWebcamLock": "Forzar os axustes de bloqueo para as cámaras web dos espectadores?",
+ "app.video.suggestWebcamLockReason": "(isto mellorará a estabilidade da xuntanza)",
"app.video.enable": "Activar",
- "app.video.cancel": "Cancela",
+ "app.video.cancel": "Cancelar",
"app.video.swapCam": "Intercambiar",
- "app.video.swapCamDesc": "intercambiar a dirección das webcams",
- "app.video.videoLocked": "Compartir cámara web bloqueado",
- "app.video.videoButtonDesc": "Compartir webcam",
+ "app.video.swapCamDesc": "intercambiar o enderezo das cámaras web",
+ "app.video.videoLocked": "Compartir cámara web bloqueada",
+ "app.video.videoButtonDesc": "Compartir a cámara web",
"app.video.videoMenu": "Menú de vídeo",
- "app.video.videoMenuDisabled": "Webcam deshabilitada",
- "app.video.videoMenuDesc": "Abrir o menú de vídeo",
- "app.video.chromeExtensionError": "Debes instalar",
+ "app.video.videoMenuDisabled": "O menú de vídeo da cámara web está desactivada nos axustes",
+ "app.video.videoMenuDesc": "Abrir o menú despregable de vídeo",
+ "app.video.chromeExtensionError": "Debe instalar",
"app.video.chromeExtensionErrorLink": "esta extensión de Chrome",
"app.video.stats.title": "Estatísticas de conexión",
"app.video.stats.packetsReceived": "Paquetes recibidos",
"app.video.stats.packetsSent": "Paquetes enviados",
"app.video.stats.packetsLost": "Paquetes perdidos",
- "app.video.stats.bitrate": "Bitrate",
- "app.video.stats.lostPercentage": "Porcentaxe total de perdida",
+ "app.video.stats.bitrate": "Taxa de bits",
+ "app.video.stats.lostPercentage": "Porcentaxe total de perda",
"app.video.stats.lostRecentPercentage": "Porcentaxe de perda recente",
"app.video.stats.dimensions": "Dimensións",
- "app.video.stats.codec": "Codec",
+ "app.video.stats.codec": "Códec",
"app.video.stats.decodeDelay": "Demora de decodificación",
"app.video.stats.rtt": "RTT",
"app.video.stats.encodeUsagePercent": "Uso de codificador",
"app.video.stats.currentDelay": "Demora actual",
- "app.fullscreenButton.label": "Facer {0} pantalla completa",
- "app.meeting.endNotification.ok.label": "OK",
- "app.whiteboard.annotations.poll": "Resultados da enquisa compartidos",
+ "app.fullscreenButton.label": "Poñer {0} a pantalla completa",
+ "app.deskshare.iceConnectionStateError": "Produciuse un fallo de conexión ao compartir a pantalla (erro ICE 1108)",
+ "app.sfu.mediaServerConnectionError2000": "Non foi posíbel conectar co servidor multimedia (erro 2000)",
+ "app.sfu.mediaServerOffline2001": "O servidor multimedia está desconectado. Ténteo máis tarde (erro 2001)",
+ "app.sfu.mediaServerNoResources2002": "O servidor multimedia non ten recursos dispoñíbeis (erro 2002)",
+ "app.sfu.mediaServerRequestTimeout2003": "As solicitudes do servidor multimedia caducan (erro 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "O servidor multimedia non pode recoller candidatos a conexión (erro ICE 2021)",
+ "app.sfu.serverIceGatheringFailed2022": "Produciuse un fallo de conexión co servidor multimedia (erro ICE 2022)",
+ "app.sfu.mediaGenericError2200": "O servidor multimedia non procesou a solicitude (erro 2200)",
+ "app.sfu.invalidSdp2202":"O cliente xerou unha solicitude multimedia non válida (erro SDP 2202)",
+ "app.sfu.noAvailableCodec2203": "O servidor non atopou un códec axeitado (erro 2203)",
+ "app.meeting.endNotification.ok.label": "Aceptar",
+ "app.whiteboard.annotations.poll": "Os resultados da enquisa foron publicados",
"app.whiteboard.toolbar.tools": "Ferramentas",
"app.whiteboard.toolbar.tools.hand": "Panorama",
"app.whiteboard.toolbar.tools.pencil": "Lapis",
@@ -548,83 +607,85 @@
"app.whiteboard.toolbar.tools.ellipse": "Elipse",
"app.whiteboard.toolbar.tools.line": "Liña",
"app.whiteboard.toolbar.tools.text": "Texto",
- "app.whiteboard.toolbar.thickness": "Grosor de liña",
- "app.whiteboard.toolbar.thicknessDisabled": "Grosor de liña deshabilitado",
+ "app.whiteboard.toolbar.thickness": "Grosor da liña",
+ "app.whiteboard.toolbar.thicknessDisabled": "O grosor da liña está desactivado",
"app.whiteboard.toolbar.color": "Cores",
- "app.whiteboard.toolbar.colorDisabled": "Cores deshabilitados",
+ "app.whiteboard.toolbar.colorDisabled": "As cores están desactivadas",
"app.whiteboard.toolbar.color.black": "Negro",
- "app.whiteboard.toolbar.color.white": "Blanco",
+ "app.whiteboard.toolbar.color.white": "Branco",
"app.whiteboard.toolbar.color.red": "Vermello",
"app.whiteboard.toolbar.color.orange": "Laranxa",
- "app.whiteboard.toolbar.color.eletricLime": "Verde fosforescente",
+ "app.whiteboard.toolbar.color.eletricLime": "Verde eléctrico",
"app.whiteboard.toolbar.color.lime": "Verde",
- "app.whiteboard.toolbar.color.cyan": "Azul ceo",
+ "app.whiteboard.toolbar.color.cyan": "Ciano",
"app.whiteboard.toolbar.color.dodgerBlue": "Azul Intenso",
"app.whiteboard.toolbar.color.blue": "Azul",
"app.whiteboard.toolbar.color.violet": "Violeta",
- "app.whiteboard.toolbar.color.magenta": "Magenta",
+ "app.whiteboard.toolbar.color.magenta": "Maxenta",
"app.whiteboard.toolbar.color.silver": "Prata",
- "app.whiteboard.toolbar.undo": "Desfacer anotacións",
- "app.whiteboard.toolbar.clear": "Borrar todas as anotacións",
- "app.whiteboard.toolbar.multiUserOn": "Activar modo multiusuario de lousa",
- "app.whiteboard.toolbar.multiUserOff": "Desactivar modo multiusuario de lousa",
+ "app.whiteboard.toolbar.undo": "Desfacer as anotacións",
+ "app.whiteboard.toolbar.clear": "Limpar todas as anotacións",
+ "app.whiteboard.toolbar.multiUserOn": "Activar o modo multiusuario do encerado",
+ "app.whiteboard.toolbar.multiUserOff": "Desactivar o modo multiusuario do encerado",
"app.whiteboard.toolbar.fontSize": "Lista de tamaño de letras",
- "app.feedback.title": "Feixe saído da conferencia",
- "app.feedback.subtitle": "Encantaríanos saber cal fué a túa experiencia con BigBlueButton (opcional)",
+ "app.feedback.title": "Vostede desconectouse da conferencia",
+ "app.feedback.subtitle": "Encantaríanos saber cal foi a súa experiencia con BigBlueButton (opcional)",
"app.feedback.textarea": "Como podemos mellorar BigBlueButton?",
- "app.feedback.sendFeedback": "Enviar retroalimentación",
- "app.feedback.sendFeedbackDesc": "Enviar retroalimentación e deixar a sesión",
- "app.videoDock.webcamFocusLabel": "Enfocar",
- "app.videoDock.webcamFocusDesc": "Enfocar a webcam seleccionada",
- "app.videoDock.webcamUnfocusLabel": "Desenfocar",
- "app.videoDock.webcamUnfocusDesc": "Desenfocar a camara seleccionada",
- "app.videoDock.autoplayBlockedDesc": "Necesitamos o seu permiso para mostrarlle as webcams doutros usuarios.",
- "app.videoDock.autoplayAllowLabel": "Ver webcams",
- "app.invitation.title": "Invitación a grupo de traballo",
+ "app.feedback.sendFeedback": "Enviar comentarios",
+ "app.feedback.sendFeedbackDesc": "Enviar comentarios e abandonar a sesión",
+ "app.videoDock.webcamFocusLabel": "Poñer en foco",
+ "app.videoDock.webcamFocusDesc": "Poñer en foco a cámara web seleccionada",
+ "app.videoDock.webcamUnfocusLabel": "Retirar do foco",
+ "app.videoDock.webcamUnfocusDesc": "Retirar do foco a camara web seleccionada",
+ "app.videoDock.autoplayBlockedDesc": "Necesitamos o seu permiso para mostrarlle as cámaras web doutros usuarios.",
+ "app.videoDock.autoplayAllowLabel": "Ver cámaras web",
+ "app.invitation.title": "Convite a sala parcial",
"app.invitation.confirm": "Convidar",
- "app.createBreakoutRoom.title": "Grupos de traballo",
- "app.createBreakoutRoom.ariaTitle": "Ocultar Salas de Descanso",
- "app.createBreakoutRoom.breakoutRoomLabel": "Grupos de traballo {0}",
- "app.createBreakoutRoom.generatingURL": "Xerando ligazón",
- "app.createBreakoutRoom.generatedURL": "Xerada",
+ "app.createBreakoutRoom.title": "Salas parciais",
+ "app.createBreakoutRoom.ariaTitle": "Agochar as salas parciais",
+ "app.createBreakoutRoom.breakoutRoomLabel": "Salas parciais {0}",
+ "app.createBreakoutRoom.generatingURL": "Xerando o URL",
+ "app.createBreakoutRoom.generatedURL": "Xerado",
"app.createBreakoutRoom.duration": "Duración {0}",
"app.createBreakoutRoom.room": "Sala {0}",
- "app.createBreakoutRoom.notAssigned": "Non asignado ({0})",
- "app.createBreakoutRoom.join": "Ingresar á sala",
- "app.createBreakoutRoom.joinAudio": "Ingresar ao audio",
- "app.createBreakoutRoom.returnAudio": "Regresar ao audio",
+ "app.createBreakoutRoom.notAssigned": "Sen asignar ({0})",
+ "app.createBreakoutRoom.join": "Entrar na sala",
+ "app.createBreakoutRoom.joinAudio": "Entrar ao son",
+ "app.createBreakoutRoom.returnAudio": "Regresar ao son",
"app.createBreakoutRoom.alreadyConnected": "Xa está na sala",
"app.createBreakoutRoom.confirm": "Crear",
"app.createBreakoutRoom.record": "Gravar",
"app.createBreakoutRoom.numberOfRooms": "Número de salas",
"app.createBreakoutRoom.durationInMinutes": "Duración (minutos)",
"app.createBreakoutRoom.randomlyAssign": "Asignado aleatóriamente",
- "app.createBreakoutRoom.endAllBreakouts": "Finalizar todos os grupos de traballo",
+ "app.createBreakoutRoom.endAllBreakouts": "Rematar todas as salas parciais",
"app.createBreakoutRoom.roomName": "{0} (Sala - {1})",
- "app.createBreakoutRoom.doneLabel": "Finalizado",
+ "app.createBreakoutRoom.doneLabel": "Feito",
"app.createBreakoutRoom.nextLabel": "Seguinte",
- "app.createBreakoutRoom.minusRoomTime": "Diminuír tempo de grupo de traballo",
- "app.createBreakoutRoom.addRoomTime": "Aumentar tempo de grupo de traballo",
- "app.createBreakoutRoom.addParticipantLabel": "+ Agregar participante",
- "app.createBreakoutRoom.freeJoin": "Permitir aos usuarios seleccionar o grupo de traballo a ingresar",
- "app.createBreakoutRoom.leastOneWarnBreakout": "Debes agregar almenos un usuario a cada grupo de traballo.",
+ "app.createBreakoutRoom.minusRoomTime": "Diminuír o tempo da sala parcial",
+ "app.createBreakoutRoom.addRoomTime": "Incrementar o tempo da sala parcial",
+ "app.createBreakoutRoom.addParticipantLabel": "+ Engadir participante",
+ "app.createBreakoutRoom.freeJoin": "Permitirlle aos usuarios escoller a sala parcial na que entrar",
+ "app.createBreakoutRoom.leastOneWarnBreakout": "Debe poñer polo menos un usuario nunha sala parcial",
+ "app.createBreakoutRoom.modalDesc": "Consello: pode arrastrar e soltar o nome dun usuario para asignalo a unha sala parcial específica.",
"app.createBreakoutRoom.roomTime": "{0} minutos",
- "app.createBreakoutRoom.numberOfRoomsError": "O número de salas é invalido.",
+ "app.createBreakoutRoom.numberOfRoomsError": "O número de salas non é válido",
"app.externalVideo.start": "Compartir un novo vídeo",
"app.externalVideo.title": "Compartir un vídeo externo",
- "app.externalVideo.input": "URL de vídeo externo",
- "app.externalVideo.urlInput": "Engadir URL de vídeo",
- "app.externalVideo.urlError": "Esta URL de vídeo non está soportada",
+ "app.externalVideo.input": "URL do vídeo externo",
+ "app.externalVideo.urlInput": "Engadir un URL de vídeo",
+ "app.externalVideo.urlError": "Este URL de vídeo non está admitido",
"app.externalVideo.close": "Pechar",
- "app.externalVideo.autoPlayWarning": "Reproduza o vídeo para activar a sincronización de medios",
+ "app.externalVideo.autoPlayWarning": "Reproducir o vídeo para activar a sincronización de recursos multimedia",
"app.network.connection.effective.slow": "Estamos a detectar problemas de conectividade.",
"app.network.connection.effective.slow.help": "Máis información",
+ "app.externalVideo.noteLabel": "Nota: os vídeos externos compartidos non aparecerán na gravación. Admítense os URL de YouTube, Vimeo, Instructure Media, Twitch e Daily Motion.",
"app.actionsBar.actionsDropdown.shareExternalVideo": "Compartir un vídeo externo",
- "app.actionsBar.actionsDropdown.stopShareExternalVideo": "Deter compartir vídeo externo",
- "app.iOSWarning.label": "Por favor, actualice a iOS 12.2 ou superior",
- "app.legacy.unsupportedBrowser": "Parece que está a usar un navegador non totalmente soportado. Por favor, utilice un dos seguintes {0} ó {1} para unha compatibilidade completa.",
- "app.legacy.upgradeBrowser": "Parece que está a usar unha versión antiga do navegador. Por favor, actualice o seu navegador para unha compatibilidade completa.",
- "app.legacy.criosBrowser": "Utilice Safari en iOS para contar con completo soporte."
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "Deter a compartición do vídeo externo",
+ "app.iOSWarning.label": "Actualice a iOS 12.2 ou superior",
+ "app.legacy.unsupportedBrowser": "Parece que estás a usar un navegador que non é compatíbel. Utilice {0} ou {1} para obter unha compatibilidade completa.",
+ "app.legacy.upgradeBrowser": "Parece que estás a usar unha versión antiga dun navegador compatíbel. Actualice o navegador para obter unha compatibilidade completa. ",
+ "app.legacy.criosBrowser": "En iOS, use Safari para ter una compatibilidade completa."
}
diff --git a/bigbluebutton-html5/private/locales/hi_IN.json b/bigbluebutton-html5/private/locales/hi_IN.json
index 69b1909f48..eb0eb9aaf0 100644
--- a/bigbluebutton-html5/private/locales/hi_IN.json
+++ b/bigbluebutton-html5/private/locales/hi_IN.json
@@ -20,6 +20,7 @@
"app.captions.menu.title": "बंद शीर्षक",
"app.captions.menu.backgroundColor": "पीछे का रंग",
"app.captions.menu.cancelLabel": "रद्द करना",
+ "app.captions.pad.hide": "my name is hari",
"app.captions.pad.tip": "संपादक टूलबार पर ध्यान केंद्रित करने के लिए Esc दबाएं",
"app.note.title": "साझा किए गए नोट्स",
"app.note.label": "ध्यान दें",
diff --git a/bigbluebutton-html5/private/locales/id.json b/bigbluebutton-html5/private/locales/id.json
index ed6556d631..c2cca22535 100644
--- a/bigbluebutton-html5/private/locales/id.json
+++ b/bigbluebutton-html5/private/locales/id.json
@@ -1,175 +1,690 @@
{
+ "app.home.greeting": "Presentasi Anda akan mulai sesaat lagi...",
"app.chat.submitLabel": "Kirimkan pesan",
- "app.chat.errorMaxMessageLength": "Pesan ini terdiri dari {0} karakter(s) terlalu panjang",
- "app.chat.inputLabel": "Input pesan untuk chat {0}",
- "app.chat.titlePublic": "Chat Publik",
- "app.chat.titlePrivate": "Chat pribadi dengan {0}",
- "app.chat.partnerDisconnected": "{0} sudah keluar dari meeting",
+ "app.chat.errorMaxMessageLength": "Pesan ini terlalu panjang {0} karakter",
+ "app.chat.disconnected": "Anda terputus, pesan tak bisa dikirim",
+ "app.chat.locked": "Obrolan dikunci, pesan tak bisa dikirim",
+ "app.chat.inputLabel": "Masukan pesan untuk obrolan {0}",
+ "app.chat.inputPlaceholder": "Kirim pesan ke {0}",
+ "app.chat.titlePublic": "Obrolan Publik",
+ "app.chat.titlePrivate": "Obrolan pribadi dengan {0}",
+ "app.chat.partnerDisconnected": "{0} sudah keluar dari pertemuan",
"app.chat.closeChatLabel": "Tutup {0}",
"app.chat.hideChatLabel": "Sembunyikan {0}",
- "app.chat.moreMessages": "Lihat pesan lebih banyak dibawah ini",
- "app.chat.dropdown.options": "Opsi Chat",
+ "app.chat.moreMessages": "Lebih banyak pesan di bawah",
+ "app.chat.dropdown.options": "Opsi obrolan",
"app.chat.dropdown.clear": "Bersihkan",
"app.chat.dropdown.copy": "Salin",
"app.chat.dropdown.save": "Simpan",
- "app.chat.label": "Chat",
- "app.chat.emptyLogLabel": "Log Chatting kosong",
+ "app.chat.label": "Obrolan",
+ "app.chat.offline": "Luring",
+ "app.chat.emptyLogLabel": "Catatan obrolan kosong",
+ "app.chat.clearPublicChatMessage": "Riwayat obrolan publik dibersihkan oleh moderator",
+ "app.chat.multi.typing": "Beberapa pengguna sedang mengetik",
+ "app.chat.one.typing": "{0} sedang mengetik",
+ "app.chat.two.typing": "{0} dan {1} sedang mengetik",
+ "app.captions.label": "Penjelas",
"app.captions.menu.close": "Tutup",
"app.captions.menu.start": "Mulai",
+ "app.captions.menu.ariaStart": "Mulai menulis penjelas",
+ "app.captions.menu.ariaStartDesc": "Membuka penyunting penjelas dan menutup modal",
+ "app.captions.menu.select": "Pilih bahasa yang tersedia",
+ "app.captions.menu.ariaSelect": "Bahasa penjelas",
+ "app.captions.menu.subtitle": "Harap pilih suatu bahasa dan gaya untuk penjelas tertutup dalam sesi Anda",
+ "app.captions.menu.title": "Penjelas tertutup",
+ "app.captions.menu.fontSize": "Ukuran",
+ "app.captions.menu.fontColor": "Warna teks",
+ "app.captions.menu.fontFamily": "Fonta",
"app.captions.menu.backgroundColor": "Warna latar",
- "app.captions.menu.cancelLabel": "Batalkan",
+ "app.captions.menu.previewLabel": "Pratinjau",
+ "app.captions.menu.cancelLabel": "Batal",
+ "app.captions.pad.hide": "Sembunyikan penjelas tertutup",
+ "app.captions.pad.tip": "Tekan Esc untuk fokus ke bilah alat penyunting",
+ "app.captions.pad.ownership": "Ambil alih",
+ "app.captions.pad.ownershipTooltip": "Anda akan ditugasi sebagai pemilik dari {0} penjelas",
+ "app.captions.pad.interimResult": "Hasil sementara",
+ "app.captions.pad.dictationStart": "Mulai dikte",
+ "app.captions.pad.dictationStop": "Stop dikte",
+ "app.captions.pad.dictationOnDesc": "Nyalakan pengenalan bicara",
+ "app.captions.pad.dictationOffDesc": "Matikan pengenalan bicara",
+ "app.note.title": "Catatan Bersama",
+ "app.note.label": "Catatan",
+ "app.note.hideNoteLabel": "Sembunyikan catatan",
+ "app.user.activityCheck": "Pemeriksaan aktivitas pengguna",
+ "app.user.activityCheck.label": "Periksa apakah pengguna masih dalam pertemuan ({0})",
+ "app.user.activityCheck.check": "Periksa",
+ "app.note.tipLabel": "Tekan Esc untuk fokus ke bilah alat penyunting",
"app.userList.usersTitle": "Pengguna",
"app.userList.participantsTitle": "Peserta",
"app.userList.messagesTitle": "Pesan",
+ "app.userList.notesTitle": "Catatan",
+ "app.userList.notesListItem.unreadContent": "Konten baru tersedia dalam bagian catatan bersama",
+ "app.userList.captionsTitle": "Penjelas",
"app.userList.presenter": "Pemateri",
"app.userList.you": "Anda",
"app.userList.locked": "Terkunci",
+ "app.userList.byModerator": "oleh (Moderator)",
+ "app.userList.label": "Daftar pengguna",
+ "app.userList.toggleCompactView.label": "Jungkitkan mode tampilan kompak",
"app.userList.guest": "Tamu",
+ "app.userList.menuTitleContext": "Opsi yang tersedia",
"app.userList.chatListItem.unreadSingular": "{0} Pesan Baru",
"app.userList.chatListItem.unreadPlural": "{0} Pesan Baru",
+ "app.userList.menu.chat.label": "Mulai obrolan privat",
+ "app.userList.menu.clearStatus.label": "Bersihkan status",
"app.userList.menu.removeUser.label": "Hapus pengguna",
- "app.userList.menu.muteUserAudio.label": "Diamkan pengguna",
- "app.userList.menu.unmuteUserAudio.label": "Aktifkan pengguna",
+ "app.userList.menu.removeConfirmation.label": "Hapus pengguna ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Anda yakin hendak menghapus pengguna ini? Sekali dihapus mereka tidak akan bisa bergabung lagi ke sesi ini.",
+ "app.userList.menu.muteUserAudio.label": "Bisukan pengguna",
+ "app.userList.menu.unmuteUserAudio.label": "Bolehkan bicara pengguna",
+ "app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
+ "app.userList.menu.promoteUser.label": "Promosikan jadi moderator",
+ "app.userList.menu.demoteUser.label": "Turunkan jadi pemirsa",
+ "app.userList.menu.unlockUser.label": "Buka kunci {0}",
"app.userList.menu.lockUser.label": "Kunci {0}",
- "app.userList.userOptions.muteAllLabel": "Diamkan semua Pengguna",
+ "app.userList.menu.directoryLookup.label": "Lihat Direktori",
+ "app.userList.menu.makePresenter.label": "Jadikan penyaji",
+ "app.userList.userOptions.manageUsersLabel": "Kelola pengguna",
+ "app.userList.userOptions.muteAllLabel": "Bisukan semua pengguna",
+ "app.userList.userOptions.muteAllDesc": "Bisukan semua pengguna dalam pertemuan",
+ "app.userList.userOptions.clearAllLabel": "Bersihkan semua ikon status",
+ "app.userList.userOptions.clearAllDesc": "Bersihkan semua ikon status dari pengguna",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Bisukan semua pengguna kecuali penyaji",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Membisukan semua pengguna dalam pertemuan kecuali penyaji",
+ "app.userList.userOptions.unmuteAllLabel": "Matikan membisukan pertemuan",
+ "app.userList.userOptions.unmuteAllDesc": "Tak bisukan pertemuan",
+ "app.userList.userOptions.lockViewersLabel": "Kunci pemirsa",
+ "app.userList.userOptions.lockViewersDesc": "Kunci fungsionalitas tertentu bagi hadirin pertemuan",
+ "app.userList.userOptions.disableCam": "Webcam pemirsa dinonaktifkan",
+ "app.userList.userOptions.disableMic": "Mikrofon pemirsa dinonaktifkan",
+ "app.userList.userOptions.disablePrivChat": "Obrolan pribadi dinonaktifkan",
+ "app.userList.userOptions.disablePubChat": "Obrolan publik dinonaktifkan",
+ "app.userList.userOptions.disableNote": "Catatan bersama kini dikunci",
+ "app.userList.userOptions.hideUserList": "Daftar pengguna kini tersembunyi dari pemirsa",
+ "app.userList.userOptions.webcamsOnlyForModerator": "Hanya para moderator yang dapat melihat webcam pemirsa (karena pengaturan penguncian)",
+ "app.userList.content.participants.options.clearedStatus": "Semua status pengguna dibersihkan",
+ "app.userList.userOptions.enableCam": "Webcam pemirsa difungsikan",
+ "app.userList.userOptions.enableMic": "Mikrofon pemirsa difungsikan",
+ "app.userList.userOptions.enablePrivChat": "Obrolan pribadi difungsikan",
+ "app.userList.userOptions.enablePubChat": "Obrolan publik difungsikan",
+ "app.userList.userOptions.enableNote": "Catatan bersama kini difungsikan",
+ "app.userList.userOptions.showUserList": "Daftar pengguna kini ditampilkan ke pemirsa",
+ "app.userList.userOptions.enableOnlyModeratorWebcam": "Anda dapat memfungsikan webcam Anda sekarang, semua orang akan melihat Anda",
"app.media.label": "Media",
- "app.media.screenshare.start": "Berbagi layar sudah mulai",
+ "app.media.autoplayAlertDesc": "Izinkan Akses",
+ "app.media.screenshare.start": "Berbagi layar sudah dimulai",
"app.media.screenshare.end": "Berbagi layar sudah berakhir",
+ "app.media.screenshare.unavailable": "Berbagi Layar Tidak Tersedia",
+ "app.media.screenshare.autoplayBlockedDesc": "Kami perlu izin Anda untuk menunjukkan layar penyaji.",
+ "app.media.screenshare.autoplayAllowLabel": "Lihat layar bersama",
+ "app.screenshare.notAllowed": "Galat: Izin untuk mengakses layar tak diberikan.",
+ "app.screenshare.notSupportedError": "Galat: Berbagi layar diizinkan hanya pada domain aman (SSL)",
+ "app.screenshare.notReadableError": "Galat: Ada kegagalan ketika mencoba menangkap layar Anda",
+ "app.screenshare.genericError": "Galat: Ada kesalahan yang terjadi dengan berbagi layar, harap coba lagi",
"app.meeting.ended": "Sesi sudah berakhir",
- "app.presentation.presentationToolbar.prevSlideLabel": "Slide Sebelumnya",
- "app.presentation.presentationToolbar.prevSlideDesc": "Pindahkan presentasi ke slide sebelumnya",
- "app.presentation.presentationToolbar.nextSlideLabel": "Slide selanjutnya",
- "app.presentation.presentationToolbar.nextSlideDesc": "Pindahkan presentasi ke slide selanjutnya",
- "app.presentation.presentationToolbar.skipSlideLabel": "Lewati Slide",
- "app.presentation.presentationToolbar.skipSlideDesc": "Pindahkan presentasi ke slide tertentu",
- "app.presentation.presentationToolbar.fitWidthLabel": "Sesuaikan dengan lebar layar",
- "app.presentation.presentationToolbar.fitWidthDesc": "Tampilkan seluruh lebar slide",
- "app.presentation.presentationToolbar.fitScreenLabel": "Sesuaikan dengan ukuran layar",
- "app.presentation.presentationToolbar.fitScreenDesc": "Tampilkan seluruh slide",
- "app.presentation.presentationToolbar.zoomLabel": "Perbesar",
- "app.presentation.presentationToolbar.zoomDesc": "Ubah level zoom dari presentasi",
- "app.presentation.presentationToolbar.fitToWidth": "Sesuaikan dengan lebar layar",
+ "app.meeting.meetingTimeRemaining": "Sisa waktu pertemuan: {0}",
+ "app.meeting.meetingTimeHasEnded": "Waktu berakhir. Pertemuan akan segera ditutup",
+ "app.meeting.endedMessage": "Anda akan diteruskan kembali ke layar beranda",
+ "app.meeting.alertMeetingEndsUnderOneMinute": "Pertemuan berakhir dalam satu menit.",
+ "app.meeting.alertBreakoutEndsUnderOneMinute": "Pecahan akan ditutup dalam satu menit.",
+ "app.presentation.hide": "Sembunyikan presentasi",
+ "app.presentation.notificationLabel": "Presentasi saat ini",
+ "app.presentation.slideContent": "Isi Salindia",
+ "app.presentation.startSlideContent": "Konten salindia mulai",
+ "app.presentation.endSlideContent": "Konten salindia berakhir",
+ "app.presentation.emptySlideContent": "Tidak ada konten untuk salindia saat ini",
+ "app.presentation.presentationToolbar.noNextSlideDesc": "Akhir presentasi",
+ "app.presentation.presentationToolbar.noPrevSlideDesc": "Awal presentasi",
+ "app.presentation.presentationToolbar.selectLabel": "Pilih salindia",
+ "app.presentation.presentationToolbar.prevSlideLabel": "Salindia sebelumnya",
+ "app.presentation.presentationToolbar.prevSlideDesc": "Ubah presentasi ke salindia sebelumnya",
+ "app.presentation.presentationToolbar.nextSlideLabel": "Salindia selanjutnya",
+ "app.presentation.presentationToolbar.nextSlideDesc": "Ubah presentasi ke salindia selanjutnya",
+ "app.presentation.presentationToolbar.skipSlideLabel": "Lewati salindia",
+ "app.presentation.presentationToolbar.skipSlideDesc": "Ubah presentasi ke salindia tertentu",
+ "app.presentation.presentationToolbar.fitWidthLabel": "Paskan lebar",
+ "app.presentation.presentationToolbar.fitWidthDesc": "Tampilkan selebar salindia",
+ "app.presentation.presentationToolbar.fitScreenLabel": "Paskan layar",
+ "app.presentation.presentationToolbar.fitScreenDesc": "Tampilkan seluruh salindia",
+ "app.presentation.presentationToolbar.zoomLabel": "Zum",
+ "app.presentation.presentationToolbar.zoomDesc": "Ubah level zum dari presentasi",
+ "app.presentation.presentationToolbar.zoomInLabel": "Perbesar",
+ "app.presentation.presentationToolbar.zoomInDesc": "Perbesar presentasi",
+ "app.presentation.presentationToolbar.zoomOutLabel": "Perkecil",
+ "app.presentation.presentationToolbar.zoomOutDesc": "Perkecil presentasi",
+ "app.presentation.presentationToolbar.zoomReset": "Reset Zum",
+ "app.presentation.presentationToolbar.zoomIndicator": "Persentase zum saat ini",
+ "app.presentation.presentationToolbar.fitToWidth": "Paskan lebar",
+ "app.presentation.presentationToolbar.fitToPage": "Paskan halaman",
+ "app.presentation.presentationToolbar.goToSlide": "Salindia {0}",
"app.presentationUploder.title": "Presentasi",
- "app.presentationUploder.confirmDesc": "Simpan ubahan Anda dan mulai presentasi",
+ "app.presentationUploder.message": "Sebagai penyaji Anda dapat mengunggah sebarang dokumen kantor atau berkas PDF. Kami menyarankan berkas PDF untuk hasil terbaik. Harap pastikan bahwa suatu presentasi dipilih memakai kotak centang lingkaran pada sisi kanan.",
+ "app.presentationUploder.uploadLabel": "Unggah",
+ "app.presentationUploder.confirmLabel": "Konfirmasikan",
+ "app.presentationUploder.confirmDesc": "Simpan perubahan Anda dan mulai presentasi",
"app.presentationUploder.dismissLabel": "Batalkan",
- "app.presentationUploder.dismissDesc": "Tutup jendela dan batalkan perubahan.",
- "app.presentationUploder.dropzoneLabel": "Drag file untuk unggah",
- "app.presentationUploder.browseFilesLabel": "atau telusuri file",
- "app.presentationUploder.tableHeading.options": "Pilihan",
+ "app.presentationUploder.dismissDesc": "Tutup jendela dan buang perubahan",
+ "app.presentationUploder.dropzoneLabel": "Seret berkas ke sini untuk mengunggah",
+ "app.presentationUploder.dropzoneImagesLabel": "Seret gambar ke sini untuk mengunggah",
+ "app.presentationUploder.browseFilesLabel": "atau telusuri berkas",
+ "app.presentationUploder.browseImagesLabel": "atau telusuri/tangkap gambar",
+ "app.presentationUploder.fileToUpload": "Untuk diunggah ...",
+ "app.presentationUploder.currentBadge": "Saat ini",
+ "app.presentationUploder.rejectedError": "Berkas yang dipilih telah ditolak. Harap periksa tipe berkas.",
+ "app.presentationUploder.upload.progress": "Mengunggah ({0}%)",
+ "app.presentationUploder.upload.413": "Berkas terlalu besar. Harap pecah ke dalam beberapa berkas.",
+ "app.presentationUploder.upload.408": "Habis waktu token unggah permintaan.",
+ "app.presentationUploder.upload.404": "404: Token unggah tak valid",
+ "app.presentationUploder.upload.401": "Permintaan token unggah presentasi gagal.",
+ "app.presentationUploder.conversion.conversionProcessingSlides": "Memroses halaman {0} dari {1}",
+ "app.presentationUploder.conversion.genericConversionStatus": "Mengonversi berkas",
+ "app.presentationUploder.conversion.generatingThumbnail": "Membuat gambar mini ...",
+ "app.presentationUploder.conversion.generatedSlides": "Salindia dibuat ...",
+ "app.presentationUploder.conversion.generatingSvg": "Membuat gambar SVG ...",
+ "app.presentationUploder.conversion.pageCountExceeded": "Banyaknya halaman terlampaui. Harap pecah berkas ke dalam beberapa berkas.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Gagal memroses dokumen kantor. Harap unggah PDF sebagai pengganti.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Gagal memroses dokumen kantor. Harap unggah PDF sebagai pengganti.",
+ "app.presentationUploder.conversion.pdfHasBigPage": "Kami tidak bisa mengonversi berkas PDF, harap coba mengoptimasinya",
+ "app.presentationUploder.conversion.timeout": "Ups, konversi makan waktu terlalu lama",
+ "app.presentationUploder.conversion.pageCountFailed": "Gagal menentukan banyaknya halaman.",
+ "app.presentationUploder.isDownloadableLabel": "Jangan izinkan presentasi diunduh",
+ "app.presentationUploder.isNotDownloadableLabel": "Izinkan presentasi diunduh",
+ "app.presentationUploder.removePresentationLabel": "Hapus presentasi",
+ "app.presentationUploder.setAsCurrentPresentation": "Atur presentasi sebagai saat ini",
+ "app.presentationUploder.tableHeading.filename": "Nama berkas",
+ "app.presentationUploder.tableHeading.options": "Opsi",
+ "app.presentationUploder.tableHeading.status": "Status",
+ "app.poll.pollPaneTitle": "Pemungutan suara",
+ "app.poll.quickPollTitle": "Pemungutan Suara Cepat",
+ "app.poll.hidePollDesc": "Sembunyikan panel menu pemungutan suara",
+ "app.poll.customPollInstruction": "Untuk membuat pemungutan suara ubahan, pilih tombol di bawah dan masukkan pilihan-pilihan Anda.",
+ "app.poll.quickPollInstruction": "Pilih sebuah opsi di bawah untuk memulai pemungutan suara.",
+ "app.poll.customPollLabel": "Pemungutan suara ubahan",
+ "app.poll.startCustomLabel": "Mulai pemungutan suara ubahan",
+ "app.poll.activePollInstruction": "Biarkan panel ini terbuka untuk melihat respon hidup ke pemungutan suara. Ketika Anda siap, pilih 'Publikasikan hasil pemungutan suara' untuk mengumumkan hasil dan mengakhiri pemungutan suara.",
+ "app.poll.publishLabel": "Umumkan hasil pemungutan suara",
+ "app.poll.backLabel": "Kembali ke opsi pemungutan suara",
"app.poll.closeLabel": "Tutup",
+ "app.poll.waitingLabel": "Menunggu respon ({0}/{1})",
+ "app.poll.ariaInputCount": "Opsi pemungutan suara ubahan {0} dari {1}",
+ "app.poll.customPlaceholder": "Tambahkan opsi pemungutan suara",
+ "app.poll.noPresentationSelected": "Tidak ada presentasi yang dipilih. Harap pilih satu.",
+ "app.poll.clickHereToSelect": "Klik di sini untuk memilih",
+ "app.poll.t": "Benar",
+ "app.poll.f": "Salah",
+ "app.poll.tf": "Benar / Salah",
+ "app.poll.y": "Ya",
+ "app.poll.n": "Tidak",
+ "app.poll.yn": "Ya / Tidak",
+ "app.poll.a2": "A / B",
+ "app.poll.a3": "A / B / C",
+ "app.poll.a4": "A / B / C / D",
+ "app.poll.a5": "A / B / C / D / E",
+ "app.poll.answer.true": "Benar",
+ "app.poll.answer.false": "Salah",
+ "app.poll.answer.yes": "Ya",
+ "app.poll.answer.no": "Tidak",
+ "app.poll.answer.a": "A",
+ "app.poll.answer.b": "B",
+ "app.poll.answer.c": "C",
+ "app.poll.answer.d": "D",
+ "app.poll.answer.e": "E",
"app.poll.liveResult.usersTitle": "Pengguna",
+ "app.poll.liveResult.responsesTitle": "Respon",
+ "app.polling.pollingTitle": "Opsi pemungutan suara",
+ "app.polling.pollAnswerLabel": "Jawaban pemungutan suara {0}",
+ "app.polling.pollAnswerDesc": "Pilih opsi ini untuk memberi suara bagi {0}",
"app.failedMessage": "Mohon maaf, ada kesulitan terhubung ke server",
- "app.navBar.settingsDropdown.optionsLabel": "Pilihan",
- "app.navBar.settingsDropdown.fullscreenLabel": "Aktifkan layar penuh",
- "app.navBar.settingsDropdown.settingsLabel": "Buka Pengaturan",
+ "app.downloadPresentationButton.label": "Mengunduh presentasi asli",
+ "app.connectingMessage": "Menyambung ...",
+ "app.waitingMessage": "Terputus. Mencoba menyambung ulang dalam {0} detik ...",
+ "app.retryNow": "Coba lagi sekarang",
+ "app.navBar.settingsDropdown.optionsLabel": "Opsi",
+ "app.navBar.settingsDropdown.fullscreenLabel": "Jadikan layar penuh",
+ "app.navBar.settingsDropdown.settingsLabel": "Pengaturan",
"app.navBar.settingsDropdown.aboutLabel": "Tentang",
"app.navBar.settingsDropdown.leaveSessionLabel": "Keluar",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Keluar dari layar penuh",
"app.navBar.settingsDropdown.fullscreenDesc": "Buat menu pengaturan menjadi layar penuh",
"app.navBar.settingsDropdown.settingsDesc": "Ubah pengaturan umum",
"app.navBar.settingsDropdown.aboutDesc": "Tampilkan informasi tentang klien",
- "app.navBar.settingsDropdown.leaveSessionDesc": "Keluar meeting",
+ "app.navBar.settingsDropdown.leaveSessionDesc": "Keluar pertemuan",
"app.navBar.settingsDropdown.exitFullscreenDesc": "Keluar dari mode layar penuh",
- "app.navBar.userListToggleBtnLabel": "Alihkan Daftar Pengguna",
- "app.navBar.toggleUserList.newMessages": "Dengan notifikasi pesan baru",
+ "app.navBar.settingsDropdown.hotkeysLabel": "Pintasan papan tik",
+ "app.navBar.settingsDropdown.hotkeysDesc": "Daftar pintasan papan tik yang tersedia",
+ "app.navBar.settingsDropdown.helpLabel": "Bantuan",
+ "app.navBar.settingsDropdown.helpDesc": "Menaut pengguna ke tutorial video (membuka tab baru)",
+ "app.navBar.settingsDropdown.endMeetingDesc": "Mengakhiri pertemuan saat ini",
+ "app.navBar.settingsDropdown.endMeetingLabel": "Akhir pertemuan",
+ "app.navBar.userListToggleBtnLabel": "Jungkitkan daftar pengguna",
+ "app.navBar.toggleUserList.ariaLabel": "Jungkitkan pengguna dan pesan",
+ "app.navBar.toggleUserList.newMessages": "dengan notifikasi pesan baru",
+ "app.navBar.recording": "Sesi ini sedang direkam",
+ "app.navBar.recording.on": "Merekam",
+ "app.navBar.recording.off": "Tidak merekam",
+ "app.navBar.emptyAudioBrdige": "Tidak ada mikrofon aktif. Bagikan mikrofon Anda untuk menambah audio ke rekaman ini.",
"app.leaveConfirmation.confirmLabel": "Keluar",
"app.leaveConfirmation.confirmDesc": "Anda keluar dari meeting",
+ "app.endMeeting.title": "Akhir pertemuan",
+ "app.endMeeting.description": "Anda yakin ingin mengakhiri sesi ini?",
+ "app.endMeeting.yesLabel": "Ya",
+ "app.endMeeting.noLabel": "Tidak",
"app.about.title": "Tentang",
+ "app.about.version": "Build klien:",
"app.about.copyright": "Hak Cipta:",
"app.about.confirmLabel": "OK",
"app.about.confirmDesc": "OK",
"app.about.dismissLabel": "Batalkan",
- "app.about.dismissDesc": "Tutup informasi klien",
- "app.actionsBar.muteLabel": "Diamkan",
- "app.actionsBar.unmuteLabel": "Aktifkan",
- "app.actionsBar.raiseLabel": "Naikan",
+ "app.about.dismissDesc": "Tutup informasi tentang klien",
+ "app.actionsBar.changeStatusLabel": "Ubah status",
+ "app.actionsBar.muteLabel": "Bisukan",
+ "app.actionsBar.unmuteLabel": "Tak bisukan",
+ "app.actionsBar.camOffLabel": "Kamera mati",
+ "app.actionsBar.raiseLabel": "Acungkan tangan",
+ "app.actionsBar.label": "Bilah aksi",
+ "app.actionsBar.actionsDropdown.restorePresentationLabel": "Pulihkan presentasi",
+ "app.actionsBar.actionsDropdown.restorePresentationDesc": "Tombol untuk memulihkan presentasi setelah itu ditutup",
+ "app.screenshare.screenShareLabel" : "Berbagi layar",
"app.submenu.application.applicationSectionTitle": "Aplikasi",
- "app.submenu.application.fontSizeControlLabel": "Ukuran Huruf",
- "app.submenu.application.increaseFontBtnLabel": "Besarkan Ukuran Huruf Aplikasi",
- "app.submenu.application.decreaseFontBtnLabel": "Kecilkan Ukuran Huruf Aplikasi",
+ "app.submenu.application.animationsLabel": "Animasi",
+ "app.submenu.application.audioAlertLabel": "Peringatan Audio untuk Obrolan",
+ "app.submenu.application.pushAlertLabel": "Peringatan Popup untuk Obrolan",
+ "app.submenu.application.userJoinAudioAlertLabel": "Peringatan Audio untuk Pengguna Bergabung",
+ "app.submenu.application.userJoinPushAlertLabel": "Peringatan Popup untuk Pengguna Bergabung",
+ "app.submenu.application.fontSizeControlLabel": "Ukuran fonta",
+ "app.submenu.application.increaseFontBtnLabel": "Perbesar ukuran fonta aplikasi",
+ "app.submenu.application.decreaseFontBtnLabel": "Perkecil ukuran fonta aplikasi",
+ "app.submenu.application.currentSize": "saat ini {0}",
"app.submenu.application.languageLabel": "Bahasa Aplikasi",
- "app.submenu.application.languageOptionLabel": "Pilih Bahasa",
- "app.submenu.application.noLocaleOptionLabel": "Tidak ada lokalisasi yang aktif",
- "app.submenu.audio.micSourceLabel": "Sumber Mikropon",
- "app.submenu.audio.speakerSourceLabel": "Sumber Speaker",
+ "app.submenu.application.languageOptionLabel": "Pilih bahasa",
+ "app.submenu.application.noLocaleOptionLabel": "Tidak ada locale yang aktif",
+ "app.submenu.audio.micSourceLabel": "Sumber mikrofon",
+ "app.submenu.audio.speakerSourceLabel": "Sumber speaker",
"app.submenu.audio.streamVolumeLabel": "Volume stream audio Anda",
"app.submenu.video.title": "Video",
- "app.submenu.video.videoSourceLabel": "Lihat Sumber",
- "app.submenu.video.videoOptionLabel": "Pilih Lihat Sumber",
+ "app.submenu.video.videoSourceLabel": "Sumber tilikan",
+ "app.submenu.video.videoOptionLabel": "Pilih sumber tilikan",
+ "app.submenu.video.videoQualityLabel": "Kualitas video",
"app.submenu.video.qualityOptionLabel": "Pilih kualitas video",
- "app.submenu.video.participantsCamLabel": "Melihat Web Kamera Peserta",
+ "app.submenu.video.participantsCamLabel": "Melihat webcam pemirsa",
"app.settings.applicationTab.label": "Aplikasi",
"app.settings.audioTab.label": "Audio",
"app.settings.videoTab.label": "Video",
"app.settings.usersTab.label": "Partisipan",
"app.settings.main.label": "Pengaturan",
"app.settings.main.cancel.label": "Batalkan",
- "app.settings.main.cancel.label.description": "Batalkan perubahan dan tutup menu pengaturan.",
+ "app.settings.main.cancel.label.description": "Buang perubahan dan tutup menu pengaturan.",
"app.settings.main.save.label": "Simpan",
"app.settings.main.save.label.description": "Simpan perubahan dan tutup menu pengaturan",
+ "app.settings.dataSavingTab.label": "Penghematan data",
+ "app.settings.dataSavingTab.webcam": "Fungsikan webcam",
+ "app.settings.dataSavingTab.screenShare": "Fungsikan berbagi desktop",
+ "app.settings.dataSavingTab.description": "Untuk menghemat bandwidth Anda setel apa yang saat ini sedang ditampilkan.",
+ "app.settings.save-notification.label": "Pengaturan telah disimpan",
+ "app.switch.onLabel": "NYALA",
+ "app.switch.offLabel": "MATI",
+ "app.talkingIndicator.ariaMuteDesc" : "Pilih untuk membisukan pengguna",
+ "app.talkingIndicator.isTalking" : "{0} sedang bicara",
+ "app.talkingIndicator.wasTalking" : "{0} berhenti bicara",
"app.actionsBar.actionsDropdown.actionsLabel": "Aksi",
- "app.actionsBar.actionsDropdown.presentationLabel": "Unggah presentasi",
+ "app.actionsBar.actionsDropdown.presentationLabel": "Unggah suatu presentasi",
"app.actionsBar.actionsDropdown.initPollLabel": "Mulai polling",
- "app.actionsBar.actionsDropdown.desktopShareLabel": "Bagikan Layar",
- "app.actionsBar.actionsDropdown.presentationDesc": "Unggah presentasi",
+ "app.actionsBar.actionsDropdown.desktopShareLabel": "Bagikan layar Anda",
+ "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Berbagi layar dikunci",
+ "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Berhenti membagikan layar Anda",
+ "app.actionsBar.actionsDropdown.presentationDesc": "Unggah presentasi Anda",
"app.actionsBar.actionsDropdown.initPollDesc": "Mulai polling",
- "app.actionsBar.actionsDropdown.desktopShareDesc": "Bagikan layar anda dengan orang lain",
- "app.actionsBar.emojiMenu.awayLabel": "Tidak Fokus",
- "app.actionsBar.emojiMenu.awayDesc": "Ubah status menjadi Tidak Fokus",
- "app.actionsBar.emojiMenu.raiseHandLabel": "Naikan",
+ "app.actionsBar.actionsDropdown.desktopShareDesc": "Bagikan layar Anda dengan orang lain",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Berhenti membagikan layar Anda dengan",
+ "app.actionsBar.actionsDropdown.pollBtnLabel": "Mulai poll",
+ "app.actionsBar.actionsDropdown.pollBtnDesc": "Jungkitkan panel poll",
+ "app.actionsBar.actionsDropdown.saveUserNames": "Simpan nama-nama pengguna",
+ "app.actionsBar.actionsDropdown.createBreakoutRoom": "Buat ruang pecahan",
+ "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "buat pecahan untuk membelah pertemuan saat ini",
+ "app.actionsBar.actionsDropdown.captionsLabel": "Tulis penjelas tertutup",
+ "app.actionsBar.actionsDropdown.captionsDesc": "Jungkitkan panel penjelas",
+ "app.actionsBar.actionsDropdown.takePresenter": "Jadi penyaji",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "Tugaskan Anda sendiri sebagai penyaji baru",
+ "app.actionsBar.emojiMenu.statusTriggerLabel": "Atur status",
+ "app.actionsBar.emojiMenu.awayLabel": "Pergi",
+ "app.actionsBar.emojiMenu.awayDesc": "Ubah status menjadi pergi",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "Acungkan tangan",
"app.actionsBar.emojiMenu.raiseHandDesc": "Angkat tangan untuk bertanya",
- "app.actionsBar.emojiMenu.neutralLabel": "Tidak memutuskan",
- "app.actionsBar.emojiMenu.neutralDesc": "Ubah status anda menjadi Tidak Memutuskan",
+ "app.actionsBar.emojiMenu.neutralLabel": "Belum menentukan",
+ "app.actionsBar.emojiMenu.neutralDesc": "Ubah status Anda menjadi belum memilih",
"app.actionsBar.emojiMenu.confusedLabel": "Bingung",
- "app.actionsBar.emojiMenu.confusedDesc": "Ubah status anda menjadi Bingung",
+ "app.actionsBar.emojiMenu.confusedDesc": "Ubah status Anda menjadi bingung",
"app.actionsBar.emojiMenu.sadLabel": "Sedih",
- "app.actionsBar.emojiMenu.sadDesc": "Ubah status anda menjadi Sedih",
- "app.actionsBar.emojiMenu.happyLabel": "Bahagia",
- "app.actionsBar.emojiMenu.happyDesc": "Ubah status anda menjadi Bahagia",
+ "app.actionsBar.emojiMenu.sadDesc": "Ubah status Anda menjadi sedih",
+ "app.actionsBar.emojiMenu.happyLabel": "Senang",
+ "app.actionsBar.emojiMenu.happyDesc": "Ubah status Anda menjadi senang",
"app.actionsBar.emojiMenu.noneLabel": "Bersihkan Status",
- "app.actionsBar.emojiMenu.noneDesc": "Normalkan status anda",
+ "app.actionsBar.emojiMenu.noneDesc": "Bersihkan status Anda",
"app.actionsBar.emojiMenu.applauseLabel": "Tepuk tangan",
- "app.actionsBar.emojiMenu.applauseDesc": "Ubah status anda menjadi Tepuk Tangan",
- "app.actionsBar.emojiMenu.thumbsUpLabel": "Jempol Atas",
- "app.actionsBar.emojiMenu.thumbsUpDesc": "Ubah status Anda menjadi Jempol Atas",
- "app.actionsBar.emojiMenu.thumbsDownLabel": "Jempol Bawah",
- "app.actionsBar.emojiMenu.thumbsDownDesc": "Ubah status Anda menjadi Jempol Bawah",
+ "app.actionsBar.emojiMenu.applauseDesc": "Ubah status Anda menjadi tepuk tangan",
+ "app.actionsBar.emojiMenu.thumbsUpLabel": "Jempol atas",
+ "app.actionsBar.emojiMenu.thumbsUpDesc": "Ubah status Anda menjadi jempol atas",
+ "app.actionsBar.emojiMenu.thumbsDownLabel": "Jempol bawah",
+ "app.actionsBar.emojiMenu.thumbsDownDesc": "Ubah status Anda menjadi jempol bawah",
"app.actionsBar.currentStatusDesc": "status saat ini {0}",
- "app.audioNotification.audioFailedMessage": "Koneksi audio anda gagal terhubung",
+ "app.actionsBar.captions.start": "Mulai melihat penjelas tertutup",
+ "app.actionsBar.captions.stop": "Berhenti melihat penjelas tertutup",
+ "app.audioNotification.audioFailedError1001": "WebSocket terputus (galat 1001)",
+ "app.audioNotification.audioFailedError1002": "Tidak bisa membuat koneksi WebSocket (galat 1002)",
+ "app.audioNotification.audioFailedError1003": "Versi peramban tidak didukung (galat 1003)",
+ "app.audioNotification.audioFailedError1004": "Kegagalan saat panggilan (alasan={0}) (galat 1004)",
+ "app.audioNotification.audioFailedError1005": "Panggilan berakhir tak terduga (galat 1005)",
+ "app.audioNotification.audioFailedError1006": "Panggilan habis waktu (galat 1006)",
+ "app.audioNotification.audioFailedError1007": "Kegagalan koneksi (ICE galat 1007)",
+ "app.audioNotification.audioFailedError1008": "Transfer gagal (galat 1008)",
+ "app.audioNotification.audioFailedError1009": "Tidak bisa mengambil informasi server STUN/TURN (galat 1009)",
+ "app.audioNotification.audioFailedError1010": "Habis waktu negosiasi koneksi (ICE galat 1010)",
+ "app.audioNotification.audioFailedError1011": "Habis waktu koneksi (ICE galat 1011)",
+ "app.audioNotification.audioFailedError1012": "Koneksi ditutup (ICE galat 1012)",
+ "app.audioNotification.audioFailedMessage": "Koneksi audio Anda gagal terhubung",
+ "app.audioNotification.mediaFailedMessage": "getUserMicMedia gagal karena hanya sumber yang aman yang diizinkan",
"app.audioNotification.closeLabel": "Tutup",
- "app.breakoutJoinConfirmation.message": "Anda ingin bergabung ?",
- "app.breakoutJoinConfirmation.dismissLabel": "Batalkan",
- "app.audioModal.microphoneLabel": "MIkropon",
- "app.audioModal.audioChoiceLabel": "Bagaimana anda akan terhubung dengan audio?",
- "app.audioModal.audioChoiceDesc": "Pilih cara terhubung dengan audio di meeting ini",
+ "app.audioNotificaion.reconnectingAsListenOnly": "Mikrofon telah dikunci bagi pemirsa, Anda sedang terhubung sebagai hanya-dengar",
+ "app.breakoutJoinConfirmation.title": "Gabung ke ruang pecahan",
+ "app.breakoutJoinConfirmation.message": "Apakah Anda ingin bergabung",
+ "app.breakoutJoinConfirmation.confirmDesc": "Menggabungkan Anda ke ruang pecahan",
+ "app.breakoutJoinConfirmation.dismissLabel": "Batal",
+ "app.breakoutJoinConfirmation.dismissDesc": "Tutup dan tolak bergabung ke ruang pecahan",
+ "app.breakoutJoinConfirmation.freeJoinMessage": "Pilih suatu ruang pecahan yang akan diikuti",
+ "app.breakoutTimeRemainingMessage": "Sisa waktu ruang pecahan: {0}",
+ "app.breakoutWillCloseMessage": "Waktu berakhir. Ruang pecahan akan segera tutup",
+ "app.calculatingBreakoutTimeRemaining": "Menghitung sisa waktu ...",
+ "app.audioModal.ariaTitle": "Bergabung audio modal",
+ "app.audioModal.microphoneLabel": "MIkrofon",
+ "app.audioModal.listenOnlyLabel": "Hanya dengar",
+ "app.audioModal.audioChoiceLabel": "Bagaimana Anda akan menghubungkan audio?",
+ "app.audioModal.iOSBrowser": "Audio/video tidak didukung",
+ "app.audioModal.iOSErrorDescription": "Saat ini audio dan video tidak didukung pada Chrome bagi iOS.",
+ "app.audioModal.iOSErrorRecommendation": "Kami sarankan memakai Safari iOS.",
+ "app.audioModal.audioChoiceDesc": "Pilih cara terhubung dengan audio di pertemuan ini",
+ "app.audioModal.unsupportedBrowserLabel": "Tampaknya Anda sedang memakai peramban yang tidak sepenuhnya didukung. Harap gunakan {0} atau {1} untuk dukungan penuh.",
"app.audioModal.closeLabel": "Tutup",
+ "app.audioModal.yes": "Ya",
+ "app.audioModal.no": "Tidak",
+ "app.audioModal.yes.arialabel" : "Gaung terdengar",
+ "app.audioModal.no.arialabel" : "Gaung tidak terdengar",
+ "app.audioModal.echoTestTitle": "Ini adalah uji gaung privat. Ucapkan beberapa kata. Apakah Anda mendengar suara?",
+ "app.audioModal.settingsTitle": "Ubah pengaturan audio Anda",
+ "app.audioModal.helpTitle": "Ada masalah dengan peranti media Anda",
+ "app.audioModal.helpText": "Apakah Anda memberi izin untuk akses mikrofon? Perhatikan bahwa suatu dialog mestinya muncul ketika Anda mencoba bergabung dengan audio, meminta izin peranti media Anda, harap terima itu untuk bergabung ke konferensi audio. Bila bukan begitu kasusnya, cobalah mengubah izin mikrofon Anda dalam pengaturan peramban Anda.",
+ "app.audioModal.help.noSSL": "Halaman ini tidak diamankan. Agar akses mikrofon diizinkan, halaman mesti disajikan melalui HTTPS. Harap hubungi administrator server.",
+ "app.audioModal.help.macNotAllowed": "Tampaknya Preferensi Sistem Mac Anda memblokir akses ke mikrofon Anda. Buka Preferensi Sistem > Keamanan & Privasi > Privasi > Mikrofon, dan verifikasikan bahwa peramban yang Anda pakai dicentang.",
+ "app.audioModal.audioDialTitle": "Bergabung memakai telepon Anda",
+ "app.audioDial.audioDialDescription": "Dial",
+ "app.audioDial.audioDialConfrenceText": "dan masukkan nomor PIN konferensi:",
+ "app.audioModal.autoplayBlockedDesc": "Kami perlu izin Anda untuk memutar audio.",
+ "app.audioModal.playAudio": "Putar audio",
+ "app.audioModal.playAudio.arialabel" : "Putar audio",
+ "app.audioDial.tipIndicator": "Tip",
+ "app.audioDial.tipMessage": "Tekan tombol '0' pada telepon Anda untuk membisukan/membolehkan bicara.",
+ "app.audioModal.connecting": "Menyambung",
+ "app.audioModal.connectingEchoTest": "Menyambung ke uji echo",
+ "app.audioManager.joinedAudio": "Anda telah bergabung dengan konferensi audio",
+ "app.audioManager.joinedEcho": "Anda telah bergabung ke uji echo",
+ "app.audioManager.leftAudio": "Anda telah meninggalkan konferensi audio",
+ "app.audioManager.reconnectingAudio": "Mencoba menyambung ulang audio",
+ "app.audioManager.genericError": "Galat: Telah terjadi kesalaha, harap coba lagi",
+ "app.audioManager.connectionError": "Galat: Kesalahan koneksi",
+ "app.audioManager.requestTimeout": "Galat: Ada kehabisan waktu dalam permintaan",
+ "app.audioManager.invalidTarget": "Galat: Mencoba meminta sesuatu ke target yang tidak valid",
+ "app.audioManager.mediaError": "Galat: Ada masalah mendapatkan peranti media Anda",
"app.audio.joinAudio": "Terhubung audio",
"app.audio.leaveAudio": "Tinggalkan audio",
+ "app.audio.enterSessionLabel": "Masuk sesi",
+ "app.audio.playSoundLabel": "Putar suara",
"app.audio.backLabel": "Kembali",
- "app.audio.audioSettings.titleLabel": "Pilih pengaturan audio anda",
- "app.audio.audioSettings.descriptionLabel": "Mohon diperhatikan, dialog akan muncul pada browser anda, Silakan untuk menekan tombol menerima berbagi mikropon jika diminta.",
- "app.audio.audioSettings.microphoneSourceLabel": "Sumber Mikropon",
- "app.audio.audioSettings.speakerSourceLabel": "Sumber Speaker",
- "app.audio.audioSettings.microphoneStreamLabel": "Volume stream audio anda",
+ "app.audio.audioSettings.titleLabel": "Pilih pengaturan audio Anda",
+ "app.audio.audioSettings.descriptionLabel": "Mohon diperhatikan, dialog akan muncul pada peramban Anda, meminta Anda menerima berbagi mikrofon Anda.",
+ "app.audio.audioSettings.microphoneSourceLabel": "Sumber mikrofon",
+ "app.audio.audioSettings.speakerSourceLabel": "Sumber speaker",
+ "app.audio.audioSettings.microphoneStreamLabel": "Volume stream audio Anda",
+ "app.audio.audioSettings.retryLabel": "Coba lagi",
"app.audio.listenOnly.backLabel": "Kembali",
"app.audio.listenOnly.closeLabel": "Tutup",
+ "app.audio.permissionsOverlay.title": "Izinkan akses ke mikrofon Anda",
+ "app.audio.permissionsOverlay.hint": "Kami perlu Anda mengizinkan kami memakai peranti media Anda agar menggabungkan Anda ke konferensi suara :)",
+ "app.error.removed": "Anda telah disingkirkan dari konferensi",
"app.error.meeting.ended": "Anda telah keluar dari konferensi",
+ "app.meeting.logout.duplicateUserEjectReason": "Pengguna duplikat mencoba bergabung ke pertemuan",
+ "app.meeting.logout.permissionEjectReason": "Dikeluarkan karena pelanggaran izin",
+ "app.meeting.logout.ejectedFromMeeting": "Anda telah disingkirkan dari pertemuan",
+ "app.meeting.logout.validateTokenFailedEjectReason": "Gagal memvalidasi token autorisasi",
+ "app.meeting.logout.userInactivityEjectReason": "Pengguna tidak aktif terlalu lama",
+ "app.meeting-ended.rating.legendLabel": "Peringkat umpan balik",
+ "app.meeting-ended.rating.starLabel": "Bintang",
"app.modal.close": "Tutup",
+ "app.modal.close.description": "Abaikan perubahan dan tutup modal",
+ "app.modal.confirm": "Selesai",
+ "app.modal.newTab": "(membuka tab baru)",
+ "app.modal.confirm.description": "Menyimpan perubahan dan menutup modal",
"app.dropdown.close": "Tutup",
+ "app.error.400": "Permintaan Buruk",
"app.error.401": "Tidak memiliki izin",
+ "app.error.403": "Anda telah disingkirkan dari pertemuan",
"app.error.404": "Tidak ditemukan",
- "app.error.500": "Ops, sepertinya ada kesalahan",
- "app.error.leaveLabel": "Log in Kembali",
+ "app.error.410": "Pertemuan sudah selesai",
+ "app.error.500": "Ups, ada sesuatu yang salah",
+ "app.error.leaveLabel": "Masuk lagi",
+ "app.error.fallback.presentation.title": "Terjadi suatu kesalahan",
+ "app.error.fallback.presentation.description": "Itu telah dicatat. Harap coba muat ulang halaman.",
+ "app.error.fallback.presentation.reloadButton": "Muat ulang",
+ "app.guest.waiting": "Menunggu persetujuan untuk bergabung",
+ "app.userList.guest.waitingUsers": "Menunggu Pengguna",
+ "app.userList.guest.waitingUsersTitle": "Manajemen Pengguna",
+ "app.userList.guest.optionTitle": "Tinjau Pengguna Yang Tertunda",
+ "app.userList.guest.allowAllAuthenticated": "Izinkan semua yang terautentikasi",
+ "app.userList.guest.allowAllGuests": "Izinkan semua tamu",
+ "app.userList.guest.allowEveryone": "Izinkan siapa pun",
+ "app.userList.guest.denyEveryone": "Tolak siapa pun",
+ "app.userList.guest.pendingUsers": "{0} Pengguna Tertunda",
+ "app.userList.guest.pendingGuestUsers": "{0} Pengguna Tamu Tertunda",
+ "app.userList.guest.pendingGuestAlert": "Telah bergabung ke sesi dan menunggu persetujuan Anda.",
+ "app.userList.guest.rememberChoice": "Ingat pilihan",
+ "app.user-info.title": "Lihat Direktori",
+ "app.toast.breakoutRoomEnded": "Ruang pecahan berakhir. Harap bergabung ulang suara.",
+ "app.toast.chat.public": "Pesan Obrolan Publik baru",
+ "app.toast.chat.private": "Pesan Obrolan Privat baru",
+ "app.toast.chat.system": "Sistem",
+ "app.toast.clearedEmoji.label": "Status emoji dibersihkan",
+ "app.toast.setEmoji.label": "Status emoji ditata ke {0}",
+ "app.toast.meetingMuteOn.label": "Semua pengguna telah dibisukan",
+ "app.toast.meetingMuteOff.label": "Pembisuan pertemuan dimatikan",
+ "app.notification.recordingStart": "Sesi ini sekarang sedang direkam",
+ "app.notification.recordingStop": "Sesi ini tidak sedang direkam",
+ "app.notification.recordingPaused": "Sesi ini tidak lagi direkam",
+ "app.notification.recordingAriaLabel": "Waktu rekaman",
+ "app.notification.userJoinPushAlert": "{0} bergabung ke sesi",
+ "app.shortcut-help.title": "Pintasan papan tik",
+ "app.shortcut-help.accessKeyNotAvailable": "Tombol akses tidak tersedia",
+ "app.shortcut-help.comboLabel": "Kombo",
+ "app.shortcut-help.functionLabel": "Fungsi",
"app.shortcut-help.closeLabel": "Tutup",
+ "app.shortcut-help.closeDesc": "Menutup modal pintasan papan tik",
+ "app.shortcut-help.openOptions": "Buka Opsi",
+ "app.shortcut-help.toggleUserList": "Jungkitkan DaftarPengguna",
+ "app.shortcut-help.toggleMute": "Bisukan / Boleh Bicara",
+ "app.shortcut-help.togglePublicChat": "Jungkitkan Obrolan Publik (Daftar pengguna mesti terbuka)",
+ "app.shortcut-help.hidePrivateChat": "Sembunyikan obrolan privat",
+ "app.shortcut-help.closePrivateChat": "Tutup obrolan privat",
+ "app.shortcut-help.openActions": "Buka menu aksi",
+ "app.shortcut-help.openStatus": "Buka menu status",
+ "app.shortcut-help.togglePan": "Aktifkan alat Pan (Penyaji)",
+ "app.shortcut-help.nextSlideDesc": "Salindia selanjutnya (Penyaji)",
+ "app.shortcut-help.previousSlideDesc": "Salindia sebelumnya (Penyaji)",
+ "app.lock-viewers.title": "Kunci pemirsa",
+ "app.lock-viewers.description": "Opsi ini memungkinkan Anda membatasi pemirsa memakai fitur-fitur tertentu.",
+ "app.lock-viewers.featuresLable": "Fitur",
+ "app.lock-viewers.lockStatusLabel": "Status",
+ "app.lock-viewers.webcamLabel": "Berbagi webcam",
+ "app.lock-viewers.otherViewersWebcamLabel": "Melihat webcam pemirsa lain",
+ "app.lock-viewers.microphoneLable": "Berbagi mikrofon",
+ "app.lock-viewers.PublicChatLabel": "Mengirim pesan obrolan Publik",
+ "app.lock-viewers.PrivateChatLable": "Mengirim pesan obrolan Privat",
+ "app.lock-viewers.notesLabel": "Menyunting Catatan Bersama",
+ "app.lock-viewers.userListLabel": "Melihat pemirsa lain dalam Daftar pengguna",
+ "app.lock-viewers.ariaTitle": "Kunci modal pengaturan pemirsa ",
+ "app.lock-viewers.button.apply": "Terapkan",
"app.lock-viewers.button.cancel": "Batalkan",
"app.lock-viewers.locked": "Terkunci",
+ "app.lock-viewers.unlocked": "Tak Terkunci",
+ "app.recording.startTitle": "Mulai merekam",
+ "app.recording.stopTitle": "Jeda merekam",
+ "app.recording.resumeTitle": "Lanjutkan merekam",
+ "app.recording.startDescription": "Anda dapat memilih tombol rekam lagi nanti untuk mengistirahatkan perekaman.",
+ "app.recording.stopDescription": "Anda yakin hendak mengistirahatkan perekaman? Anda dapat melanjutkan dengan memilih tombol rekam lagi.",
+ "app.videoPreview.cameraLabel": "Kamera",
+ "app.videoPreview.profileLabel": "Kualitas",
"app.videoPreview.cancelLabel": "Batalkan",
"app.videoPreview.closeLabel": "Tutup",
+ "app.videoPreview.findingWebcamsLabel": "Mencari webcam",
+ "app.videoPreview.startSharingLabel": "Mulai berbagi",
+ "app.videoPreview.webcamOptionLabel": "Pilih webcam",
+ "app.videoPreview.webcamPreviewLabel": "Pratinjau webcam",
+ "app.videoPreview.webcamSettingsTitle": "Pengaturan webcam",
+ "app.videoPreview.webcamNotFoundLabel": "Webcam tidak ditemukan",
+ "app.videoPreview.profileNotFoundLabel": "Tidak ada profil kamera yang didukung",
+ "app.video.joinVideo": "Berbagi webcam",
+ "app.video.leaveVideo": "Berhenti membagikan webcam",
+ "app.video.iceCandidateError": "Galat saat menambahkan kandidat ICE",
+ "app.video.iceConnectionStateError": "Kegagalan koneksi (ICE galat 1107)",
+ "app.video.permissionError": "Galat saat berbagi webcam. Haram periksa izin",
+ "app.video.sharingError": "Galat saat berbagi webcam",
+ "app.video.notFoundError": "Tidak bisa menemukan webcam. Harap pastikan itu terhubung ",
+ "app.video.notAllowed": "Kurang izin untuk berbagi webcam, harap pastikan izin peramban Anda.",
+ "app.video.notSupportedError": "Dapat membagikan video webcam hanya dengan sumber aman, pastikan sertifikat SSL Anda valid.",
+ "app.video.notReadableError": "Tidak bisa mendapatkan video webcam. Pastikan program lain tidak sedang memakai webcam.",
+ "app.video.mediaFlowTimeout1020": "Media tidak dapat mencapai server (error 1020)",
+ "app.video.suggestWebcamLock": "Paksakan pengaturan penguncian ke webcam pemirsa?",
+ "app.video.suggestWebcamLockReason": "(ini akan memperbaiki stabilitas pertemuan)",
+ "app.video.enable": "Fungsikan",
"app.video.cancel": "Batalkan",
+ "app.video.swapCam": "Tukar",
+ "app.video.swapCamDesc": "tukar arah webcam",
+ "app.video.videoLocked": "Berbagi webcam dikunci",
+ "app.video.videoButtonDesc": "Berbagi webcam",
+ "app.video.videoMenu": "Menu video",
+ "app.video.videoMenuDisabled": "Menu video Webcam dinonaktifkan dalam pengaturan",
+ "app.video.videoMenuDesc": "Buka dropdown menu video",
+ "app.video.chromeExtensionError": "Anda mesti memasang",
+ "app.video.chromeExtensionErrorLink": "ekstensi Chrome ini",
+ "app.video.stats.title": "Statistik Koneksi",
+ "app.video.stats.packetsReceived": "Paket diterima",
+ "app.video.stats.packetsSent": "Paket dikirim",
+ "app.video.stats.packetsLost": "Paket hilang",
+ "app.video.stats.bitrate": "Laju bit",
+ "app.video.stats.lostPercentage": "Total persentase hilang",
+ "app.video.stats.lostRecentPercentage": "Baru-baru ini persentase hilang",
+ "app.video.stats.dimensions": "Dimensi",
+ "app.video.stats.codec": "Kodek",
+ "app.video.stats.decodeDelay": "Tundaan dekode",
+ "app.video.stats.rtt": "RTT",
+ "app.video.stats.encodeUsagePercent": "Penggunaan enkode",
+ "app.video.stats.currentDelay": "Tundaan saat ini",
+ "app.fullscreenButton.label": "Jadikan {0} layar penuh",
+ "app.deskshare.iceConnectionStateError": "Koneksi gagal ketika berbagi layar (ICE galat 1108)",
+ "app.sfu.mediaServerConnectionError2000": "Tidak bisa menyambung ke server media (galat 2000)",
+ "app.sfu.mediaServerOffline2001": "Server media sedang luring. Harap coba lagi nanti (galat 2001)",
+ "app.sfu.mediaServerNoResources2002": "Server media tidak punya sumber daya yang tersedia (galat 2002)",
+ "app.sfu.mediaServerRequestTimeout2003": "Permintaan server media habis waktu (galat 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "Server media tak bisa mengumpulkan kandidat koneksi (ICE galat 2021)",
+ "app.sfu.serverIceGatheringFailed2022": "Koneksi server media gagal (ICE galat 2022)",
+ "app.sfu.mediaGenericError2200": "Server media gagal memroses permintaan (galat 2200)",
+ "app.sfu.invalidSdp2202":"Klien membuat permintaan media yang tidak valid (SDP galat 2202)",
+ "app.sfu.noAvailableCodec2203": "Server tidak bisa menemukan kodek yang sesuai (galat 2203)",
"app.meeting.endNotification.ok.label": "OK",
+ "app.whiteboard.annotations.poll": "Hasil poll dipublikasikan",
+ "app.whiteboard.toolbar.tools": "Perkakas",
+ "app.whiteboard.toolbar.tools.hand": "Pan",
+ "app.whiteboard.toolbar.tools.pencil": "Pinsil",
+ "app.whiteboard.toolbar.tools.rectangle": "Persegi Panjang",
+ "app.whiteboard.toolbar.tools.triangle": "Segi Tiga",
+ "app.whiteboard.toolbar.tools.ellipse": "Elips",
+ "app.whiteboard.toolbar.tools.line": "Garis",
+ "app.whiteboard.toolbar.tools.text": "Teks",
+ "app.whiteboard.toolbar.thickness": "Ketebalan menggambar",
+ "app.whiteboard.toolbar.thicknessDisabled": "Ketebalan menggambar dinonaktifkan",
+ "app.whiteboard.toolbar.color": "Warna",
+ "app.whiteboard.toolbar.colorDisabled": "Warna dinonaktifkan",
+ "app.whiteboard.toolbar.color.black": "Hitam",
+ "app.whiteboard.toolbar.color.white": "Putih",
+ "app.whiteboard.toolbar.color.red": "Merah",
+ "app.whiteboard.toolbar.color.orange": "Jingga",
+ "app.whiteboard.toolbar.color.eletricLime": "Limau elektrik",
+ "app.whiteboard.toolbar.color.lime": "Limau",
+ "app.whiteboard.toolbar.color.cyan": "Sian",
+ "app.whiteboard.toolbar.color.dodgerBlue": "Biru dodger",
+ "app.whiteboard.toolbar.color.blue": "Biru",
+ "app.whiteboard.toolbar.color.violet": "Lembayung",
+ "app.whiteboard.toolbar.color.magenta": "Ungu",
+ "app.whiteboard.toolbar.color.silver": "Perak",
+ "app.whiteboard.toolbar.undo": "Batalkan anotasi",
+ "app.whiteboard.toolbar.clear": "Bersihkan semua anotasi",
+ "app.whiteboard.toolbar.multiUserOn": "Nyalakan papan tulis multi pengguna",
+ "app.whiteboard.toolbar.multiUserOff": "Matikan papan tulis multi pengguna",
+ "app.whiteboard.toolbar.fontSize": "Daftar ukuran fonta",
"app.feedback.title": "Anda telah keluar dari konferensi",
- "app.createBreakoutRoom.joinAudio": "Terhubung audio",
- "app.externalVideo.close": "Tutup"
+ "app.feedback.subtitle": "Kami berharap mendengar pengalaman Anda dengan BigBlueButton (opsional)",
+ "app.feedback.textarea": "Bagaimana kami dapat membuat BigBlueButton lebih baik?",
+ "app.feedback.sendFeedback": "Kirim Umpan Balik",
+ "app.feedback.sendFeedbackDesc": "Kirim suatu umpan balik dan tinggalkan pertemuan",
+ "app.videoDock.webcamFocusLabel": "Fokus",
+ "app.videoDock.webcamFocusDesc": "Fokus ke webcam yang dipilih",
+ "app.videoDock.webcamUnfocusLabel": "Lepas fokus",
+ "app.videoDock.webcamUnfocusDesc": "Lepas fokus dari webcam yang dipilih",
+ "app.videoDock.autoplayBlockedDesc": "Kami perlu izin Anda untuk menampilkan kepadamu webcam pengguna lain.",
+ "app.videoDock.autoplayAllowLabel": "Lihat webcam",
+ "app.invitation.title": "Undangan ruang pecahan",
+ "app.invitation.confirm": "Undang",
+ "app.createBreakoutRoom.title": "Ruang Pecahan",
+ "app.createBreakoutRoom.ariaTitle": "Sembunyikan Ruang Pecahan",
+ "app.createBreakoutRoom.breakoutRoomLabel": "Ruangan Pecahan {0}",
+ "app.createBreakoutRoom.generatingURL": "Membangkitkan URL",
+ "app.createBreakoutRoom.generatedURL": "Dibangkitkan",
+ "app.createBreakoutRoom.duration": "Durasi {0}",
+ "app.createBreakoutRoom.room": "Ruang {0}",
+ "app.createBreakoutRoom.notAssigned": "Belum ditugasi ({0})",
+ "app.createBreakoutRoom.join": "Bergabung ruang",
+ "app.createBreakoutRoom.joinAudio": "Audio bergabung",
+ "app.createBreakoutRoom.returnAudio": "Audio kembali",
+ "app.createBreakoutRoom.alreadyConnected": "Sudah dalam ruang",
+ "app.createBreakoutRoom.confirm": "Buat",
+ "app.createBreakoutRoom.record": "Rekam",
+ "app.createBreakoutRoom.numberOfRooms": "Banyaknya ruangan",
+ "app.createBreakoutRoom.durationInMinutes": "Durasi (menit)",
+ "app.createBreakoutRoom.randomlyAssign": "Tugaskan acak",
+ "app.createBreakoutRoom.endAllBreakouts": "Akhiri semua ruang pecahan",
+ "app.createBreakoutRoom.roomName": "{0} (Ruang - {1})",
+ "app.createBreakoutRoom.doneLabel": "Selesai",
+ "app.createBreakoutRoom.nextLabel": "Selanjutnya",
+ "app.createBreakoutRoom.minusRoomTime": "Kurangi waktu ruang pecahan ke",
+ "app.createBreakoutRoom.addRoomTime": "Naikkan waktu ruang pecahan ke",
+ "app.createBreakoutRoom.addParticipantLabel": "+ Tambah partisipan",
+ "app.createBreakoutRoom.freeJoin": "Izinkan pengguna memilih ruang pecahan yang akan diikuti",
+ "app.createBreakoutRoom.leastOneWarnBreakout": "Anda mesti menempatkan paling tidak satu pengguna dalam suatu ruang pecahan",
+ "app.createBreakoutRoom.modalDesc": "Tip: Anda dapat menyeret-dan-menjatuhkan suatu nama pengguna untuk menugaskan mereka ke ruang pecahan tertentu.",
+ "app.createBreakoutRoom.roomTime": "{0} menit",
+ "app.createBreakoutRoom.numberOfRoomsError": "Banyaknya ruang tidak valid.",
+ "app.externalVideo.start": "Berbagi suatu video baru",
+ "app.externalVideo.title": "Berbagi suatu video eksternal",
+ "app.externalVideo.input": "URL Video Eksternal",
+ "app.externalVideo.urlInput": "Tambah URL Video",
+ "app.externalVideo.urlError": "URL video ini tak didukung",
+ "app.externalVideo.close": "Tutup",
+ "app.externalVideo.autoPlayWarning": "Putar video untuk memfungsikan sinkronisasi media",
+ "app.network.connection.effective.slow": "Kami mengamati masalah konektivitas.",
+ "app.network.connection.effective.slow.help": "Informasi lebih jauh",
+ "app.externalVideo.noteLabel": "Catatan: Video eksternal yang dibagikan tidak akan muncul dalam rekaman. URL YouTube, Vimeo, Instructure Media, Twitch, dan Daily Motion didukung. ",
+ "app.actionsBar.actionsDropdown.shareExternalVideo": "Berbagi suatu video eksternal",
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "Berhenti membagikan video eksternal",
+ "app.iOSWarning.label": "Mohon tingkatkan ke iOS 12.2 atau lebih baru",
+ "app.legacy.unsupportedBrowser": "Tampaknya Anda memakai peramban yang tidak didukung. Harap gunakan {0} atau {1} untuk dukungan penuh.",
+ "app.legacy.upgradeBrowser": "Tampaknya Anda memakai versi lebih tua dari peramban yang didukung. Harap tingkatkan peramban Anda untuk dukungan penuh.",
+ "app.legacy.criosBrowser": "Pada iOS harap gunakan Safari untuk dukungan penuh."
}
diff --git a/bigbluebutton-html5/private/locales/it_IT.json b/bigbluebutton-html5/private/locales/it_IT.json
index bb3b4c0792..be8ce230a0 100644
--- a/bigbluebutton-html5/private/locales/it_IT.json
+++ b/bigbluebutton-html5/private/locales/it_IT.json
@@ -111,6 +111,7 @@
"app.media.autoplayAlertDesc": "Premetti l'accesso",
"app.media.screenshare.start": "Condivisione schermo avviata",
"app.media.screenshare.end": "Condivisione schermo terminata",
+ "app.media.screenshare.unavailable": "Condivisione schermo non disponibile",
"app.media.screenshare.autoplayBlockedDesc": "Abbiamo bisogno del tuo permesso per mostrarti lo schermo del presentatore",
"app.media.screenshare.autoplayAllowLabel": "Visualizza schermo condiviso",
"app.screenshare.notAllowed": "Errore: non è stato permesso l'accesso",
@@ -169,6 +170,7 @@
"app.presentationUploder.rejectedError": "Il file selezionato è stato rifiutato. controllare il tipo di file.",
"app.presentationUploder.upload.progress": "Caricamento ({0}%)",
"app.presentationUploder.upload.413": "Il file è troppo grande. Per favore dividilo in più file.",
+ "app.presentationUploder.upload.404": "404: Token di upload non valido",
"app.presentationUploder.conversion.conversionProcessingSlides": "Elaborazione pagina {0} di {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Conversione file...",
"app.presentationUploder.conversion.generatingThumbnail": "Elaborazione anteprima...",
@@ -583,6 +585,7 @@
"app.sfu.mediaServerOffline2001": "Il server dei media è offline. Riprova più tardi (errore 2001)",
"app.sfu.mediaServerNoResources2002": "Il server dei media non ha risorse disponibili (errore 2002)",
"app.sfu.mediaServerRequestTimeout2003": "Le richieste al server dei media sono scadute (errore 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "Il server dei media non è riuscito a ottenere candidati per la connessione (errore ICE 2021)",
"app.sfu.serverIceGatheringFailed2022": "Connessione al server dei media fallita (errore ICE 2022)",
"app.sfu.mediaGenericError2200": "Il server dei media ha fallito a processare la richiesta (error 2200)",
"app.sfu.invalidSdp2202":"Il client ha generato una richiesta di media invalida (errore SDP 2202)",
diff --git a/bigbluebutton-html5/private/locales/ja.json b/bigbluebutton-html5/private/locales/ja.json
index 30006a6287..690d443ee4 100644
--- a/bigbluebutton-html5/private/locales/ja.json
+++ b/bigbluebutton-html5/private/locales/ja.json
@@ -43,8 +43,8 @@
"app.captions.pad.ownership": "代わる",
"app.captions.pad.ownershipTooltip": "{0} 字幕のオーナーになります",
"app.captions.pad.interimResult": "中間結果",
- "app.captions.pad.dictationStart": "ディクテーション開始",
- "app.captions.pad.dictationStop": "ディクテーション終了",
+ "app.captions.pad.dictationStart": "口述開始",
+ "app.captions.pad.dictationStop": "口述終了",
"app.captions.pad.dictationOnDesc": "音声認識オン",
"app.captions.pad.dictationOffDesc": "音声認識オフ",
"app.note.title": "共有メモ",
@@ -63,6 +63,7 @@
"app.userList.presenter": "プレゼンター",
"app.userList.you": "自分",
"app.userList.locked": "ロック",
+ "app.userList.byModerator": "(Moderator)による",
"app.userList.label": "ユーザーリスト",
"app.userList.toggleCompactView.label": "コンパクトモードに切り替え",
"app.userList.guest": "ゲスト",
@@ -71,8 +72,10 @@
"app.userList.chatListItem.unreadPlural": "未読メッセージ {0}",
"app.userList.menu.chat.label": "非公開チャット",
"app.userList.menu.clearStatus.label": "ステータスを消去する",
- "app.userList.menu.removeUser.label": "ユーザーを削除する",
- "app.userList.menu.muteUserAudio.label": "ユーザーをミュートにする",
+ "app.userList.menu.removeUser.label": "このユーザーを退室させる",
+ "app.userList.menu.removeConfirmation.label": "ユーザー({0})の退室",
+ "app.userlist.menu.removeConfirmation.desc": "このユーザーはもうこのセッションには戻れなくなりますが、構いませんか?",
+ "app.userList.menu.muteUserAudio.label": "ユーザーをミュートする",
"app.userList.menu.unmuteUserAudio.label": "ユーザーのミュートを外す",
"app.userList.userAriaLabel": "{0} {1} {2} ステータス {3}",
"app.userList.menu.promoteUser.label": "モデレーターにする",
@@ -82,7 +85,7 @@
"app.userList.menu.directoryLookup.label": "ディレクトリ検索",
"app.userList.menu.makePresenter.label": "プレゼンターにする",
"app.userList.userOptions.manageUsersLabel": "ユーザー管理",
- "app.userList.userOptions.muteAllLabel": "全ユーザーをミュートにする",
+ "app.userList.userOptions.muteAllLabel": "全ユーザーをミュートする",
"app.userList.userOptions.muteAllDesc": "この会議の全ユーザーをミュートにする",
"app.userList.userOptions.clearAllLabel": "全ステータスアイコンを消去する",
"app.userList.userOptions.clearAllDesc": "ユーザーの全ステータスアイコンを消去する",
@@ -111,6 +114,8 @@
"app.media.autoplayAlertDesc": "アクセス許可",
"app.media.screenshare.start": "画面共有を開始しました",
"app.media.screenshare.end": "画面共有を終了しました",
+ "app.media.screenshare.unavailable": "画面共有は利用できません",
+ "app.media.screenshare.notSupported": "画面共有はこのブラウザではサポートされていません。",
"app.media.screenshare.autoplayBlockedDesc": "プレゼンターの画面の共有を許可してください",
"app.media.screenshare.autoplayAllowLabel": "共有画面を見る",
"app.screenshare.notAllowed": "エラー:画面へのアクセスが許可されていません",
@@ -169,6 +174,9 @@
"app.presentationUploder.rejectedError": "選択ファイルが拒否されました。ファイル形式を確認してください。",
"app.presentationUploder.upload.progress": "アップロード中({0}%)",
"app.presentationUploder.upload.413": "ファイルが大きすぎます。いくつかのファイルに分割してください。",
+ "app.presentationUploder.upload.408": "アップロードトークンの要求が時間切れになりました。",
+ "app.presentationUploder.upload.404": "エラー404:無効なアップロードトークン",
+ "app.presentationUploder.upload.401": "アップロードトークンの要求が失敗しました。",
"app.presentationUploder.conversion.conversionProcessingSlides": "{1}ページ中{0}ページ目を処理中",
"app.presentationUploder.conversion.genericConversionStatus": "ファイル変換中…",
"app.presentationUploder.conversion.generatingThumbnail": "サムネイル作成中…",
@@ -236,7 +244,7 @@
"app.navBar.settingsDropdown.fullscreenLabel": "全画面表示に切替",
"app.navBar.settingsDropdown.settingsLabel": "設定を開く",
"app.navBar.settingsDropdown.aboutLabel": "アバウト",
- "app.navBar.settingsDropdown.leaveSessionLabel": "ログアウト",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "退室",
"app.navBar.settingsDropdown.exitFullscreenLabel": "全画面表示解除",
"app.navBar.settingsDropdown.fullscreenDesc": "設定メニューを全画面表示",
"app.navBar.settingsDropdown.settingsDesc": "一般の設定を変更",
@@ -263,7 +271,7 @@
"app.endMeeting.yesLabel": "はい",
"app.endMeeting.noLabel": "いいえ",
"app.about.title": "アバウト",
- "app.about.version": "バージョン:",
+ "app.about.version": "クライアントバージョン:",
"app.about.copyright": "Copyright:",
"app.about.confirmLabel": "OK",
"app.about.confirmDesc": "OK",
@@ -309,14 +317,14 @@
"app.settings.main.cancel.label.description": "変更を破棄し設定メニューを閉じる",
"app.settings.main.save.label": "保存",
"app.settings.main.save.label.description": "変更を保存し設定メニューを閉じる",
- "app.settings.dataSavingTab.label": "データ保存",
+ "app.settings.dataSavingTab.label": "通信量を減らす",
"app.settings.dataSavingTab.webcam": "ウェブカメラを有効にする",
"app.settings.dataSavingTab.screenShare": "デスクトップ共有を有効にする",
- "app.settings.dataSavingTab.description": "データ量を下げるには設定を変更してください",
+ "app.settings.dataSavingTab.description": "通信量を減らすため設定を変更してください",
"app.settings.save-notification.label": "設定が保存されました",
"app.switch.onLabel": "入",
- "app.switch.offLabel": "断",
- "app.talkingIndicator.ariaMuteDesc" : "ユーザをミュートにします",
+ "app.switch.offLabel": "切",
+ "app.talkingIndicator.ariaMuteDesc" : "ユーザをミュートします",
"app.talkingIndicator.isTalking" : "{0} が話しています",
"app.talkingIndicator.wasTalking" : "{0} が話し終えました",
"app.actionsBar.actionsDropdown.actionsLabel": "アクション",
@@ -328,7 +336,7 @@
"app.actionsBar.actionsDropdown.presentationDesc": "プレゼンテーションをアップロード",
"app.actionsBar.actionsDropdown.initPollDesc": "投票を初期化",
"app.actionsBar.actionsDropdown.desktopShareDesc": "他の人と画面を共有する",
- "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "との画面共有をやめる",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "画面共有をやめる:",
"app.actionsBar.actionsDropdown.pollBtnLabel": "投票を開始する",
"app.actionsBar.actionsDropdown.pollBtnDesc": "投票画面を切替",
"app.actionsBar.actionsDropdown.saveUserNames": "ユーザー名を保存する",
@@ -345,8 +353,8 @@
"app.actionsBar.emojiMenu.raiseHandDesc": "質問がありましたら挙手してください",
"app.actionsBar.emojiMenu.neutralLabel": "普通",
"app.actionsBar.emojiMenu.neutralDesc": "ステータスを「普通」にする",
- "app.actionsBar.emojiMenu.confusedLabel": "わけがわからない",
- "app.actionsBar.emojiMenu.confusedDesc": "ステータスを「わけがわからない」にする",
+ "app.actionsBar.emojiMenu.confusedLabel": "わからん",
+ "app.actionsBar.emojiMenu.confusedDesc": "ステータスを「わからん」にする",
"app.actionsBar.emojiMenu.sadLabel": "悲しい",
"app.actionsBar.emojiMenu.sadDesc": "ステータスを「悲しい」にする",
"app.actionsBar.emojiMenu.happyLabel": "ハッピー",
@@ -388,7 +396,7 @@
"app.breakoutWillCloseMessage": "時間終了。まもなく小会議室を終了します。",
"app.calculatingBreakoutTimeRemaining": "残り時間を計算中...",
"app.audioModal.ariaTitle": "音声ウィンドウに参加",
- "app.audioModal.microphoneLabel": "マイク",
+ "app.audioModal.microphoneLabel": "音声で参加",
"app.audioModal.listenOnlyLabel": "聴講のみ",
"app.audioModal.audioChoiceLabel": "音声はどうしますか?",
"app.audioModal.iOSBrowser": "サポートされていない音声/ビデオ",
@@ -445,10 +453,10 @@
"app.error.meeting.ended": "会議からログアウトしました",
"app.meeting.logout.duplicateUserEjectReason": "重複したユーザが会議に参加しようとしています",
"app.meeting.logout.permissionEjectReason": "許可違反により強制退室されました",
- "app.meeting.logout.ejectedFromMeeting": "会議から退室しました",
+ "app.meeting.logout.ejectedFromMeeting": "会議から退室させられました",
"app.meeting.logout.validateTokenFailedEjectReason": "認証トークンが確認できませんでした",
"app.meeting.logout.userInactivityEjectReason": "一定時間操作がなかったため、接続が中断されました",
- "app.meeting-ended.rating.legendLabel": "フィードバック評価",
+ "app.meeting-ended.rating.legendLabel": "評価のフィードバック",
"app.meeting-ended.rating.starLabel": "スター",
"app.modal.close": "閉じる",
"app.modal.close.description": "変更を保存せずにウィンドウを閉じる",
@@ -458,7 +466,7 @@
"app.dropdown.close": "閉じる",
"app.error.400": "不正なリクエスト",
"app.error.401": "権限がありません",
- "app.error.403": "会議から退室しました",
+ "app.error.403": "会議から退室させられました",
"app.error.404": "見つかりません",
"app.error.410": "会議は終了しました",
"app.error.500": "問題が起こりました",
@@ -520,7 +528,7 @@
"app.lock-viewers.PrivateChatLable": "プライベートチャットにメッセージを送信する",
"app.lock-viewers.notesLabel": "共有ノートを編集する",
"app.lock-viewers.userListLabel": "他の視聴者をユーザーリストに表示する",
- "app.lock-viewers.ariaTitle": "視聴者のモーダル設定をロックする",
+ "app.lock-viewers.ariaTitle": "閲覧者のロック設定モーダル",
"app.lock-viewers.button.apply": "適用",
"app.lock-viewers.button.cancel": "キャンセル",
"app.lock-viewers.locked": "ロック",
@@ -548,7 +556,7 @@
"app.video.permissionError": "ウェブカメラ共有でエラーが発生しました。許可設定を確認してください。",
"app.video.sharingError": "ウェブカメラ共有エラー",
"app.video.notFoundError": "ウェブカメラが見つかりませんでした。接続を確認してください",
- "app.video.notAllowed": "ウェブカメラを共有する権限がありませんでした。ブラウザの設定を確認してください",
+ "app.video.notAllowed": "ウェブカメラを共有する権限がありません。ブラウザの設定を確認してください",
"app.video.notSupportedError": "ウェブカメラは安全なページでしか共有できません。SSL証明書が有効か確かめてください",
"app.video.notReadableError": "ウェブカメラの映像を取得できませんでした。他のプログラムが使ってないことを確認してください",
"app.video.mediaFlowTimeout1020": "映像がサーバに届いていません (error 1020)",
@@ -644,7 +652,7 @@
"app.createBreakoutRoom.join": "会議室に参加",
"app.createBreakoutRoom.joinAudio": "音声で参加",
"app.createBreakoutRoom.returnAudio": "音声を戻す",
- "app.createBreakoutRoom.alreadyConnected": "会議室に入っています",
+ "app.createBreakoutRoom.alreadyConnected": "既に会議室内です",
"app.createBreakoutRoom.confirm": "作成",
"app.createBreakoutRoom.record": "録画",
"app.createBreakoutRoom.numberOfRooms": "会議室数",
@@ -663,20 +671,20 @@
"app.createBreakoutRoom.roomTime": "{0} 分",
"app.createBreakoutRoom.numberOfRoomsError": "会議室の数が正しく設定されていません。",
"app.externalVideo.start": "新しいビデオを共有",
- "app.externalVideo.title": "外部からの動画を共有する",
- "app.externalVideo.input": "外部動画URL",
+ "app.externalVideo.title": "インターネット上の動画を共有する",
+ "app.externalVideo.input": "動画のURL",
"app.externalVideo.urlInput": "動画URLを追加",
"app.externalVideo.urlError": "この動画URLは再生できませんでした",
"app.externalVideo.close": "閉じる",
"app.externalVideo.autoPlayWarning": "音声同期するには動画を再生してください",
"app.network.connection.effective.slow": "接続の問題が発生しました",
"app.network.connection.effective.slow.help": "ヘルプ",
- "app.externalVideo.noteLabel": "注意:外部動画は録画できません。YouTube, Vimeo, Instructure Media, Twitch, Daily MotionのURLがサポートされています",
- "app.actionsBar.actionsDropdown.shareExternalVideo": "外部からの動画を共有する",
- "app.actionsBar.actionsDropdown.stopShareExternalVideo": "外部動画の共有停止",
+ "app.externalVideo.noteLabel": "注意:インターネット上の動画は録画できません。YouTube, Vimeo, Instructure Media, Twitch, Daily MotionのURLがサポートされています",
+ "app.actionsBar.actionsDropdown.shareExternalVideo": "動画を共有する",
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "動画の共有停止",
"app.iOSWarning.label": "iOS 12.2またはそれ以降のバージョンにアップグレードしてください",
"app.legacy.unsupportedBrowser": "サポート対象外のブラウザを使用している可能性があります。サポート対象の{0}または{1}をお使いください。",
- "app.legacy.upgradeBrowser": "バージョンのブラウザが古い可能性があります。サポート対象のブラウザへアップグレードしてください。",
+ "app.legacy.upgradeBrowser": "ブラウザのバージョンが古い可能性があります。サポート対象のブラウザへアップグレードしてください。",
"app.legacy.criosBrowser": "iOSをお使いの場合、Safariを使ってください"
}
diff --git a/bigbluebutton-html5/private/locales/ja_JP.json b/bigbluebutton-html5/private/locales/ja_JP.json
index 3517934bbc..b5d54fbe53 100644
--- a/bigbluebutton-html5/private/locales/ja_JP.json
+++ b/bigbluebutton-html5/private/locales/ja_JP.json
@@ -26,7 +26,7 @@
"app.captions.label": "字幕",
"app.captions.menu.close": "閉じる",
"app.captions.menu.start": "開始",
- "app.captions.menu.ariaStart": "字幕を書き始めます",
+ "app.captions.menu.ariaStart": "字幕を書き込む",
"app.captions.menu.ariaStartDesc": "ウィンドウを閉じて字幕を編集する",
"app.captions.menu.select": "使用可能な言語を選択",
"app.captions.menu.ariaSelect": "字幕の言語",
@@ -43,8 +43,8 @@
"app.captions.pad.ownership": "代わる",
"app.captions.pad.ownershipTooltip": "{0} 字幕のオーナになります",
"app.captions.pad.interimResult": "中間結果",
- "app.captions.pad.dictationStart": "ディクテーション開始",
- "app.captions.pad.dictationStop": "ディクテーション終了",
+ "app.captions.pad.dictationStart": "口述開始",
+ "app.captions.pad.dictationStop": "口述終了",
"app.captions.pad.dictationOnDesc": "音声認識オン",
"app.captions.pad.dictationOffDesc": "音声認識オフ",
"app.note.title": "共有メモ",
@@ -63,6 +63,7 @@
"app.userList.presenter": "プレゼンター",
"app.userList.you": "自分",
"app.userList.locked": "ロック",
+ "app.userList.byModerator": "(Moderator)による",
"app.userList.label": "ユーザーリスト",
"app.userList.toggleCompactView.label": "コンパクトモードに切り替える",
"app.userList.guest": "ゲスト",
@@ -71,8 +72,10 @@
"app.userList.chatListItem.unreadPlural": "未読メッセージ {0}",
"app.userList.menu.chat.label": "非公開チャット",
"app.userList.menu.clearStatus.label": "ステータスを消去する",
- "app.userList.menu.removeUser.label": "ユーザーを削除する",
- "app.userList.menu.muteUserAudio.label": "ユーザーをミュートにする",
+ "app.userList.menu.removeUser.label": "ユーザーを退室させる",
+ "app.userList.menu.removeConfirmation.label": "ユーザー({0})の退室",
+ "app.userlist.menu.removeConfirmation.desc": "このユーザーはもうこのセッションには戻れなくなりますが、構いませんか?",
+ "app.userList.menu.muteUserAudio.label": "ユーザーをミュートする",
"app.userList.menu.unmuteUserAudio.label": "ユーザーのミュートを外す",
"app.userList.userAriaLabel": "{0} {1} {2} ステータス {3}",
"app.userList.menu.promoteUser.label": "モデレーターにする",
@@ -82,7 +85,7 @@
"app.userList.menu.directoryLookup.label": "ディレクトリ検索",
"app.userList.menu.makePresenter.label": "プレゼンターにする",
"app.userList.userOptions.manageUsersLabel": "ユーザー管理",
- "app.userList.userOptions.muteAllLabel": "全ユーザーをミュートにする",
+ "app.userList.userOptions.muteAllLabel": "全ユーザーをミュートする",
"app.userList.userOptions.muteAllDesc": "この会議の全ユーザーをミュートする",
"app.userList.userOptions.clearAllLabel": "全ステータスアイコンを消去する",
"app.userList.userOptions.clearAllDesc": "ユーザーの全ステータスアイコンを消去する",
@@ -111,6 +114,8 @@
"app.media.autoplayAlertDesc": "アクセスを許可します",
"app.media.screenshare.start": "画面共有を開始しました",
"app.media.screenshare.end": "画面共有を終了しました",
+ "app.media.screenshare.unavailable": "画面共有は利用できません",
+ "app.media.screenshare.notSupported": "画面共有はこのブラウザではサポートされていません。",
"app.media.screenshare.autoplayBlockedDesc": "プレゼンターの画面を表示するには、あなたの許可が必要です。",
"app.media.screenshare.autoplayAllowLabel": "共有画面を表示する",
"app.screenshare.notAllowed": "エラー:画面へのアクセスが許可されていません。",
@@ -169,6 +174,9 @@
"app.presentationUploder.rejectedError": "選択ファイルが拒否されました。ファイル形式を確認してください。",
"app.presentationUploder.upload.progress": "アップロード中 ({0}%)",
"app.presentationUploder.upload.413": "ファイルが大きすぎます。いくつかのファイルに分割してください。",
+ "app.presentationUploder.upload.408": "アップロードトークンの要求が時間切れになりました。",
+ "app.presentationUploder.upload.404": "エラー404:無効なアップロードトークン",
+ "app.presentationUploder.upload.401": "アップロードトークンの要求が失敗しました。",
"app.presentationUploder.conversion.conversionProcessingSlides": "{1}ページ中{0}ページ目を処理中",
"app.presentationUploder.conversion.genericConversionStatus": "ファイル変換中…",
"app.presentationUploder.conversion.generatingThumbnail": "サムネイル作成中…",
@@ -236,7 +244,7 @@
"app.navBar.settingsDropdown.fullscreenLabel": "全画面表示に切替",
"app.navBar.settingsDropdown.settingsLabel": "設定",
"app.navBar.settingsDropdown.aboutLabel": "製品情報",
- "app.navBar.settingsDropdown.leaveSessionLabel": "ログアウト",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "退室",
"app.navBar.settingsDropdown.exitFullscreenLabel": "全画面表示解除",
"app.navBar.settingsDropdown.fullscreenDesc": "設定メニューを全画面表示",
"app.navBar.settingsDropdown.settingsDesc": "一般設定を変更",
@@ -263,7 +271,7 @@
"app.endMeeting.yesLabel": "はい",
"app.endMeeting.noLabel": "いいえ",
"app.about.title": "製品情報",
- "app.about.version": "バージョン:",
+ "app.about.version": "クライアントバージョン:",
"app.about.copyright": "Copyright:",
"app.about.confirmLabel": "OK",
"app.about.confirmDesc": "OK",
@@ -309,14 +317,14 @@
"app.settings.main.cancel.label.description": "変更を破棄し設定メニューを閉じる",
"app.settings.main.save.label": "保存",
"app.settings.main.save.label.description": "変更を保存し設定メニューを閉じる",
- "app.settings.dataSavingTab.label": "データ保存",
+ "app.settings.dataSavingTab.label": "通信量を減らす",
"app.settings.dataSavingTab.webcam": "ウェブカメラを有効にする",
"app.settings.dataSavingTab.screenShare": "デスクトップ共有を有効にする",
- "app.settings.dataSavingTab.description": "データ量を下げるには設定を変更してください",
+ "app.settings.dataSavingTab.description": "通信量を減らすため設定を変更してください",
"app.settings.save-notification.label": "設定が保存されました",
"app.switch.onLabel": "入",
- "app.switch.offLabel": "断",
- "app.talkingIndicator.ariaMuteDesc" : "ユーザをミュートにします",
+ "app.switch.offLabel": "切",
+ "app.talkingIndicator.ariaMuteDesc" : "ユーザをミュートします",
"app.talkingIndicator.isTalking" : "{0} が話しています",
"app.talkingIndicator.wasTalking" : "{0} が話し終えました",
"app.actionsBar.actionsDropdown.actionsLabel": "アクション",
@@ -328,7 +336,7 @@
"app.actionsBar.actionsDropdown.presentationDesc": "プレゼンテーションをアップロード",
"app.actionsBar.actionsDropdown.initPollDesc": "投票を開始する",
"app.actionsBar.actionsDropdown.desktopShareDesc": "他の人と画面を共有する",
- "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "との画面共有をやめる",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "画面共有をやめる:",
"app.actionsBar.actionsDropdown.pollBtnLabel": "投票を開始する",
"app.actionsBar.actionsDropdown.pollBtnDesc": "投票画面を切替",
"app.actionsBar.actionsDropdown.saveUserNames": "ユーザ名を保存する",
@@ -345,8 +353,8 @@
"app.actionsBar.emojiMenu.raiseHandDesc": "質問がありましたら挙手してください",
"app.actionsBar.emojiMenu.neutralLabel": "普通",
"app.actionsBar.emojiMenu.neutralDesc": "ステータスを「普通」にする",
- "app.actionsBar.emojiMenu.confusedLabel": "分からない",
- "app.actionsBar.emojiMenu.confusedDesc": "ステータスを「分からない」にする",
+ "app.actionsBar.emojiMenu.confusedLabel": "わからん",
+ "app.actionsBar.emojiMenu.confusedDesc": "ステータスを「わからん」にする",
"app.actionsBar.emojiMenu.sadLabel": "悲しい",
"app.actionsBar.emojiMenu.sadDesc": "ステータスを「悲しい」にする",
"app.actionsBar.emojiMenu.happyLabel": "ハッピー",
@@ -388,7 +396,7 @@
"app.breakoutWillCloseMessage": "時間終了。まもなく小会議室を終了します。",
"app.calculatingBreakoutTimeRemaining": "残り時間を計算中...",
"app.audioModal.ariaTitle": "音声ウィンドウに参加",
- "app.audioModal.microphoneLabel": "マイク",
+ "app.audioModal.microphoneLabel": "音声で参加",
"app.audioModal.listenOnlyLabel": "聴講のみ",
"app.audioModal.audioChoiceLabel": "音声はどうしますか?",
"app.audioModal.iOSBrowser": "サポートされていない音声/ビデオ",
@@ -445,10 +453,10 @@
"app.error.meeting.ended": "会議からログアウトしました",
"app.meeting.logout.duplicateUserEjectReason": "重複したユーザが会議に参加しようとしています",
"app.meeting.logout.permissionEjectReason": "許可違反により強制退室されました",
- "app.meeting.logout.ejectedFromMeeting": "会議から退室しました",
+ "app.meeting.logout.ejectedFromMeeting": "会議から退室させられました",
"app.meeting.logout.validateTokenFailedEjectReason": "認証トークンが確認できませんでした",
"app.meeting.logout.userInactivityEjectReason": "一定時間操作がなかったため、接続が中断されました",
- "app.meeting-ended.rating.legendLabel": "フィードバック評価",
+ "app.meeting-ended.rating.legendLabel": "評価のフィードバック",
"app.meeting-ended.rating.starLabel": "スター",
"app.modal.close": "閉じる",
"app.modal.close.description": "変更を保存せずにウィンドウを閉じる",
@@ -458,7 +466,7 @@
"app.dropdown.close": "閉じる",
"app.error.400": "不正なリクエスト",
"app.error.401": "権限がありません",
- "app.error.403": "会議から退室しました",
+ "app.error.403": "会議から退室させられました",
"app.error.404": "見つかりません",
"app.error.410": "会議は終了しました",
"app.error.500": "問題が発生しました",
@@ -520,7 +528,7 @@
"app.lock-viewers.PrivateChatLable": "プライベートチャットにメッセージを送信する",
"app.lock-viewers.notesLabel": "共有ノートを編集する",
"app.lock-viewers.userListLabel": "他の閲覧者をユーザーリストに表示する",
- "app.lock-viewers.ariaTitle": "閲覧者のモーダル設定をロックする",
+ "app.lock-viewers.ariaTitle": "閲覧者のロック設定モーダル",
"app.lock-viewers.button.apply": "適用",
"app.lock-viewers.button.cancel": "キャンセル",
"app.lock-viewers.locked": "ロック",
@@ -548,7 +556,7 @@
"app.video.permissionError": "ウェブカメラ共有でエラーが発生しました。許可設定を確認してください。",
"app.video.sharingError": "ウェブカメラ共有エラー",
"app.video.notFoundError": "ウェブカメラが見つかりませんでした。接続を確認してください",
- "app.video.notAllowed": "ウェブカメラの共有が許可されていません。ブラウザの設定を確認してください。",
+ "app.video.notAllowed": "ウェブカメラを共有する権限がありません。ブラウザの設定を確認してください",
"app.video.notSupportedError": "ウェブカメラは安全なページでしか共有できません。有効なSSL証明書か確認してください。",
"app.video.notReadableError": "ウェブカメラの映像を取得できませんでした。 他のプログラムがウェブカメラを使用していないことを確認してください。",
"app.video.mediaFlowTimeout1020": "映像がサーバに届いていません (error 1020)",
@@ -644,7 +652,7 @@
"app.createBreakoutRoom.join": "参加する",
"app.createBreakoutRoom.joinAudio": "音声で参加",
"app.createBreakoutRoom.returnAudio": "音声を戻す",
- "app.createBreakoutRoom.alreadyConnected": "会議室に入っています",
+ "app.createBreakoutRoom.alreadyConnected": "既に会議室内です",
"app.createBreakoutRoom.confirm": "作成",
"app.createBreakoutRoom.record": "録画",
"app.createBreakoutRoom.numberOfRooms": "会議室数",
@@ -663,20 +671,20 @@
"app.createBreakoutRoom.roomTime": "{0} 分",
"app.createBreakoutRoom.numberOfRoomsError": "会議室の数が正しく設定されていません。",
"app.externalVideo.start": "新しいビデオを共有",
- "app.externalVideo.title": "外部からの動画を共有する",
- "app.externalVideo.input": "外部動画URL",
+ "app.externalVideo.title": "インターネット上の動画を共有する",
+ "app.externalVideo.input": "動画URL",
"app.externalVideo.urlInput": "動画URLを追加",
"app.externalVideo.urlError": "この動画のURLはサポートされていません",
"app.externalVideo.close": "閉じる",
"app.externalVideo.autoPlayWarning": "動画を再生してメディアの同期を有効にする",
"app.network.connection.effective.slow": "接続の問題が発生しました",
"app.network.connection.effective.slow.help": "詳しい情報",
- "app.externalVideo.noteLabel": "注意:外部動画は録画されません。YouTube, Vimeo, Instructure Media, Twitch, Daily MotionのURLがサポートされています",
- "app.actionsBar.actionsDropdown.shareExternalVideo": "外部からの動画を共有する",
- "app.actionsBar.actionsDropdown.stopShareExternalVideo": "外部動画の共有停止",
+ "app.externalVideo.noteLabel": "注意:インターネット上の動画は録画されません。YouTube, Vimeo, Instructure Media, Twitch, Daily MotionのURLがサポートされています",
+ "app.actionsBar.actionsDropdown.shareExternalVideo": "動画を共有する",
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "動画の共有停止",
"app.iOSWarning.label": "iOS 12.2またはそれ以降のバージョンにアップグレードしてください",
"app.legacy.unsupportedBrowser": "サポート対象外のブラウザを使用している可能性があります。サポート対象の{0}または{1}をお使いください。",
- "app.legacy.upgradeBrowser": "バージョンのブラウザが古い可能性があります。サポート対象のブラウザへアップグレードしてください。",
+ "app.legacy.upgradeBrowser": "ブラウザのバージョンが古い可能性があります。サポート対象のブラウザへアップグレードしてください。",
"app.legacy.criosBrowser": "iOSではフルサポートのためにSafariをお使いください。"
}
diff --git a/bigbluebutton-html5/private/locales/kn.json b/bigbluebutton-html5/private/locales/kn.json
new file mode 100644
index 0000000000..9bb3d2d453
--- /dev/null
+++ b/bigbluebutton-html5/private/locales/kn.json
@@ -0,0 +1,687 @@
+{
+ "app.home.greeting": "ನಿಮ್ಮ ಪ್ರಸ್ತುತಿ ಶೀಘ್ರದಲ್ಲೇ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ",
+ "app.chat.submitLabel": "ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ",
+ "app.chat.errorMaxMessageLength": "ಸಂದೇಶವು {0} ಅಕ್ಷರಗಳಿರುವುದರಿಂದ ತುಂಬಾ ಉದ್ದವಾಗಿದೆ",
+ "app.chat.disconnected": "ನೀವು ಸಂಪರ್ಕದಿಂದ ಕಡಿತಗೊಂಡಿದ್ದೀರಿ, ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ",
+ "app.chat.locked": "ಚಾಟ್ ಲಾಕ್ ಆಗಿದೆ, ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲಾಗುವುದಿಲ್ಲ",
+ "app.chat.inputLabel": "ಚಾಟ್ಗಾಗಿ ಸಂದೇಶ ಇನ್ಪುಟ್ {0}",
+ "app.chat.inputPlaceholder": "{0} ರವರಿಗೆ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಿ",
+ "app.chat.titlePublic": "ಸಾರ್ವಜನಿಕ ಚಾಟ್",
+ "app.chat.titlePrivate": "ಇವರೊಂದಿಗೆ ಖಾಸಗಿ ಚಾಟ್ {0}",
+ "app.chat.partnerDisconnected": "ಸಭೆಯಿಂದ ಹೊರಬಂದಿದ್ದಾರೆ {0}",
+ "app.chat.closeChatLabel": "ಮುಚ್ಚಿ {0}",
+ "app.chat.hideChatLabel": "ಮರೆಮಾಡಿ {0}",
+ "app.chat.moreMessages": "ಕೆಳಗಿನ ಹೆಚ್ಚಿನ ಸಂದೇಶಗಳು",
+ "app.chat.dropdown.options": "ಚಾಟ್ ಆಯ್ಕೆಗಳು",
+ "app.chat.dropdown.clear": "ಸ್ಪಷ್ಟ",
+ "app.chat.dropdown.copy": "ನಕಲಿಸಿ",
+ "app.chat.dropdown.save": "ಉಳಿಸಿ",
+ "app.chat.label": "ಚಾಟ್",
+ "app.chat.offline": "ಆಫ್ಲೈನ್",
+ "app.chat.emptyLogLabel": "ಚಾಟ್ ಲಾಗ್ ಖಾಲಿಯಾಗಿದೆ",
+ "app.chat.clearPublicChatMessage": "ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಇತಿಹಾಸವನ್ನು ಮಾಡರೇಟರ್ ತೆರವುಗೊಳಿಸಿದ್ದಾರೆ",
+ "app.chat.multi.typing": "ಹಲವು ಬಳಕೆದಾರರು ಟೈಪ್ ಮಾಡುತ್ತಿದ್ದಾರೆ",
+ "app.chat.one.typing": "{0} ಟೈಪ್ ಮಾಡುತ್ತಿರುವರು",
+ "app.chat.two.typing": "{0} ಮತ್ತು {1} ಟೈಪ್ ಮಾಡುತ್ತಿದ್ದಾರೆ",
+ "app.captions.label": "ಶೀರ್ಷಿಕೆಗಳು",
+ "app.captions.menu.close": "ಮುಚ್ಚಿ {0}",
+ "app.captions.menu.start": "ಪ್ರಾರಂಭಿಸಿ",
+ "app.captions.menu.ariaStart": "ಶೀರ್ಷಿಕೆಗಳನ್ನು ಬರೆಯಲು ಪ್ರಾರಂಭಿಸಿ",
+ "app.captions.menu.ariaStartDesc": "ಶೀರ್ಷಿಕೆಗಳ ಸಂಪಾದಕವನ್ನು ತೆರೆಯುತ್ತದೆ ಮತ್ತು ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.captions.menu.select": "ಲಭ್ಯವಿರುವ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ",
+ "app.captions.menu.ariaSelect": "ಶೀರ್ಷಿಕೆಗಳ ಭಾಷೆ",
+ "app.captions.menu.subtitle": "ನಿಮ್ಮ ಅಧಿವೇಶನದಲ್ಲಿ ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳಿಗಾಗಿ ದಯವಿಟ್ಟು ಭಾಷೆ ಮತ್ತು ಶೈಲಿಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ.",
+ "app.captions.menu.title": "ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳು",
+ "app.captions.menu.fontSize": "ಗಾತ್ರ",
+ "app.captions.menu.fontColor": "ಪಠ್ಯದ ಬಣ್ಣ",
+ "app.captions.menu.fontFamily": "ಅಕ್ಷರ ವಿನ್ಯಾಸ",
+ "app.captions.menu.backgroundColor": "ಹಿನ್ನೆಲೆ ಬಣ್ಣ",
+ "app.captions.menu.previewLabel": "ಮುನ್ನೋಟ",
+ "app.captions.menu.cancelLabel": "ರದ್ದುಮಾಡಿ",
+ "app.captions.pad.hide": "ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳನ್ನು ಮರೆಮಾಡಿ",
+ "app.captions.pad.tip": "ಫೋಕಸ್ ಎಡಿಟರ್ ಟೂಲ್ಬಾರ್ ಮಾಡಲು Esc ಒತ್ತಿರಿ",
+ "app.captions.pad.ownership": "ವಹಿಸಿಕೊಳ್ಳಿ",
+ "app.captions.pad.ownershipTooltip": "ನಿಮ್ಮನ್ನು {0} ಶೀರ್ಷಿಕೆಗಳ ಮಾಲೀಕರಾಗಿ ನಿಯೋಜಿಸಲಾಗುತ್ತದೆ",
+ "app.captions.pad.interimResult": "ಮಧ್ಯಂತರ ಫಲಿತಾಂಶಗಳು",
+ "app.captions.pad.dictationStart": "ಉಕ್ತಲೇಖನ ಪ್ರಾರಂಭಿಸಿ",
+ "app.captions.pad.dictationStop": "ಉಕ್ತಲೇಖನ ನಿಲ್ಲಿಸಿ",
+ "app.captions.pad.dictationOnDesc": "ಭಾಷಣ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಆನ್ ಮಾಡುತ್ತದೆ",
+ "app.captions.pad.dictationOffDesc": "ಭಾಷಣ ಗುರುತಿಸುವಿಕೆಯನ್ನು ಆಫ್ ಮಾಡುತ್ತದೆ",
+ "app.note.title": "ಹಂಚಿದ ಟಿಪ್ಪಣಿಗಳು",
+ "app.note.label": "ಸೂಚನೆ",
+ "app.note.hideNoteLabel": "ಟಿಪ್ಪಣಿ ಮರೆಮಾಡಿ",
+ "app.user.activityCheck": "ಬಳಕೆದಾರರ ಚಟುವಟಿಕೆ ಪರಿಶೀಲನೆ",
+ "app.user.activityCheck.label": "ಬಳಕೆದಾರರು ಇನ್ನೂ ಸಭೆಯಲ್ಲಿದ್ದಾರೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ ({0})",
+ "app.user.activityCheck.check": "ಪರಿಶೀಲಿಸಿ",
+ "app.note.tipLabel": "ಫೋಕಸ್ ಎಡಿಟರ್ ಟೂಲ್ಬಾರ್ ಮಾಡಲು Esc ಒತ್ತಿರಿ",
+ "app.userList.usersTitle": "ಬಳಕೆದಾರರು",
+ "app.userList.participantsTitle": "ಭಾಗವಹಿಸುವವರು",
+ "app.userList.messagesTitle": "ಸಂದೇಶಗಳು",
+ "app.userList.notesTitle": "ಟಿಪ್ಪಣಿಗಳು",
+ "app.userList.notesListItem.unreadContent": "ಹಂಚಿದ ಟಿಪ್ಪಣಿಗಳ ವಿಭಾಗದಲ್ಲಿ ಹೊಸ ವಿಷಯ ಲಭ್ಯವಿದೆ",
+ "app.userList.captionsTitle": "ಶೀರ್ಷಿಕೆಗಳು",
+ "app.userList.presenter": "ಪ್ರಸ್ತುತ ಪಡಿಸುವವ",
+ "app.userList.you": "ನೀವು",
+ "app.userList.locked": "ಲಾಕ್ ಮಾಡಲಾಗಿದೆ",
+ "app.userList.label": "ಬಳಕೆದಾರರ ಪಟ್ಟಿ",
+ "app.userList.toggleCompactView.label": "ಕಾಂಪ್ಯಾಕ್ಟ್ ವೀಕ್ಷಣೆ ಮೋಡ್ ಅನ್ನು ಟಾಗಲ್ ಮಾಡಿ",
+ "app.userList.guest": "ಅತಿಥಿ",
+ "app.userList.menuTitleContext": "ಲಭ್ಯವಿರುವ ಆಯ್ಕೆಗಳು",
+ "app.userList.chatListItem.unreadSingular": "{0} ಹೊಸ ಸಂದೇಶ",
+ "app.userList.chatListItem.unreadPlural": "{0} ಹೊಸ ಸಂದೇಶಗಳು",
+ "app.userList.menu.chat.label": "ಖಾಸಗಿ ಚಾಟ್ ಪ್ರಾರಂಭಿಸಿ",
+ "app.userList.menu.clearStatus.label": "ಸ್ಥಿತಿಯನ್ನು ತೆರವುಗೊಳಿಸಿ",
+ "app.userList.menu.removeUser.label": "ಬಳಕೆದಾರರನ್ನು ತೆಗೆದುಹಾಕಿ",
+ "app.userList.menu.muteUserAudio.label": "ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧ ಮಾಡಿ",
+ "app.userList.menu.unmuteUserAudio.label": "ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧತೆಯಿಂದ ತೆರೆಯಿರಿ",
+ "app.userList.userAriaLabel": "{0}, {1}, {2} ಸ್ಥಿತಿ {3}",
+ "app.userList.menu.promoteUser.label": "ಮಾಡರೇಟರ್ಗೆ ಮುಂಬಡ್ತಿ ನೀಡಿ",
+ "app.userList.menu.demoteUser.label": "ವೀಕ್ಷಕರಾಗಿ ಹಿಂಬಡ್ತಿ ನೀಡಿ",
+ "app.userList.menu.unlockUser.label": "ಅನ್ಲಾಕ್ ಮಾಡಿ {0}",
+ "app.userList.menu.lockUser.label": "{0} ಲಾಕ್ ಮಾಡಿ",
+ "app.userList.menu.directoryLookup.label": "ಸೂಚಿಕೆಯಲ್ಲಿ ಹುಡುಕಿ",
+ "app.userList.menu.makePresenter.label": "ಪ್ರಸ್ತುತಪಡುವವರಾಗಿ ಮಾಡಿ",
+ "app.userList.userOptions.manageUsersLabel": "ಬಳಕೆದಾರರನ್ನು ನಿರ್ವಹಿಸಿ",
+ "app.userList.userOptions.muteAllLabel": "ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧ ಮಾಡಿ",
+ "app.userList.userOptions.muteAllDesc": "ಸಭೆಯಲ್ಲಿ ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧ ಮಾಡುತ್ತದೆ",
+ "app.userList.userOptions.clearAllLabel": "ಎಲ್ಲಾ ಸ್ಥಿತಿ ಲಾಂಛನಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ",
+ "app.userList.userOptions.clearAllDesc": "ಬಳಕೆದಾರರಿಂದ ಎಲ್ಲಾ ಸ್ಥಿತಿ ಲಾಂಛನಗಳನ್ನು ತೆರವುಗೊಳಿಸುತ್ತದೆ",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "ಪ್ರಸ್ತುತಪಡುವವರನ್ನು ಹೊರತುಪಡಿಸಿ ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧ ಮಾಡಿ",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "ಪ್ರಸ್ತುತಪಡುವವರನ್ನು ಹೊರತುಪಡಿಸಿ ಸಭೆಯಲ್ಲಿರುವ ಎಲ್ಲ ಬಳಕೆದಾರರನ್ನು ಸ್ಥಬ್ಧ ಮಾಡುತ್ತದೆ",
+ "app.userList.userOptions.unmuteAllLabel": "ಸಭೆಯ ಸ್ಥಬ್ಧವನ್ನು ಆರಿಸಿರಿ",
+ "app.userList.userOptions.unmuteAllDesc": "ಸಭೆಯನ್ನು ಸ್ಥಬ್ಧತೆಯಿಂದ ತೆರೆಯುತ್ತದೆ",
+ "app.userList.userOptions.lockViewersLabel": "ವೀಕ್ಷಕರನ್ನು ಲಾಕ್ ಮಾಡಿ",
+ "app.userList.userOptions.lockViewersDesc": "ಸಭೆಯಲ್ಲಿ ಪಾಲ್ಗೊಳ್ಳುವವರಿಗೆ ಕೆಲವು ಕಾರ್ಯಗಳನ್ನು ಲಾಕ್ ಮಾಡಿ",
+ "app.userList.userOptions.disableCam": "ವೀಕ್ಷಕರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.disableMic": "ವೀಕ್ಷಕರ ಮೈಕ್ರೊಫೋನ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.disablePrivChat": "ಖಾಸಗಿ ಚಾಟ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.disablePubChat": "ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.disableNote": "ಹಂಚಿದ ಟಿಪ್ಪಣಿಗಳನ್ನು ಈಗ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ",
+ "app.userList.userOptions.hideUserList": "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಈಗ ವೀಕ್ಷಕರಿಗೆ ಮರೆಮಾಡಲಾಗಿದೆ",
+ "app.userList.userOptions.webcamsOnlyForModerator": "ಮಾಡರೇಟರ್ಗಳು ಮಾತ್ರ ವೀಕ್ಷಕರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ನೋಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ (ಲಾಕ್ ಸೆಟ್ಟಿಂಗ್ಗಳ ಕಾರಣ)",
+ "app.userList.content.participants.options.clearedStatus": "ಎಲ್ಲಾ ಬಳಕೆದಾರರ ಸ್ಥಿತಿಗಳನ್ನು ತೆರವುಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enableCam": "ವೀಕ್ಷಕರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enableMic": "ವೀಕ್ಷಕರ ಮೈಕ್ರೊಫೋನ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enablePrivChat": "ಖಾಸಗಿ ಚಾಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enablePubChat": "ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enableNote": "ಹಂಚಿದ ಟಿಪ್ಪಣಿಗಳನ್ನು ಈಗ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.showUserList": "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಈಗ ವೀಕ್ಷಕರಿಗೆ ತೋರಿಸಲಾಗಿದೆ",
+ "app.userList.userOptions.enableOnlyModeratorWebcam": "ನಿಮ್ಮ ವೆಬ್ಕ್ಯಾಮ್ ಅನ್ನು ನೀವು ಈಗ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು, ಎಲ್ಲರೂ ನಿಮ್ಮನ್ನು ನೋಡುತ್ತಾರೆ",
+ "app.media.label": "ಮಾಧ್ಯಮ",
+ "app.media.autoplayAlertDesc": "ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ",
+ "app.media.screenshare.start": "ಸ್ಕ್ರೀನ್ಶೇರ್ ಪ್ರಾರಂಭವಾಗಿದೆ",
+ "app.media.screenshare.end": "ಸ್ಕ್ರೀನ್ಶೇರ್ ಕೊನೆಗೊಂಡಿದೆ",
+ "app.media.screenshare.unavailable": "ಸ್ಕ್ರೀನ್ಶೇರ್ ಲಭ್ಯವಿಲ್ಲ",
+ "app.media.screenshare.autoplayBlockedDesc": "ನಿರೂಪಕರ ಪರದೆಯನ್ನು ನಿಮಗೆ ತೋರಿಸಲು ನಮಗೆ ನಿಮ್ಮ ಅನುಮತಿ ಬೇಕು.",
+ "app.media.screenshare.autoplayAllowLabel": "ಹಂಚಿದ ಪರದೆಯನ್ನು ವೀಕ್ಷಿಸಿ",
+ "app.screenshare.notAllowed": "ದೋಷ: ಪರದೆಯನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿ ನೀಡಲಾಗಿಲ್ಲ.",
+ "app.screenshare.notSupportedError": "ದೋಷ: ಸುರಕ್ಷಿತ (ಎಸ್ಎಸ್ಎಲ್) ಡೊಮೇನ್ಗಳಲ್ಲಿ ಮಾತ್ರ ಸ್ಕ್ರೀನ್ಶೇರಿಂಗ್ ಅನ್ನು ಅನುಮತಿಸಲಾಗಿದೆ",
+ "app.screenshare.notReadableError": "ದೋಷ: ನಿಮ್ಮ ಪರದೆಯನ್ನು ಸೆರೆಹಿಡಿಯಲು ಪ್ರಯತ್ನಿಸುವಾಗ ವಿಫಲವಾಗಿದೆ",
+ "app.screenshare.genericError": "ದೋಷ: ಸ್ಕ್ರೀನ್ಶೇರಿಂಗ್ನಲ್ಲಿ ದೋಷ ಸಂಭವಿಸಿದೆ, ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ",
+ "app.meeting.ended": "ಈ ಅಧಿವೇಶನ ಕೊನೆಗೊಂಡಿದೆ",
+ "app.meeting.meetingTimeRemaining": "ಸಭೆಯ ಸಮಯ ಉಳಿದಿದೆ: {0}",
+ "app.meeting.meetingTimeHasEnded": "ಸಮಯ ಕೊನೆಗೊಂಡಿತು. ಸಭೆ ಶೀಘ್ರದಲ್ಲೇ ಮುಚ್ಚಲಿದೆ",
+ "app.meeting.endedMessage": "ನಿಮ್ಮನ್ನು ಮತ್ತೆ ಮುಖಪುಟಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ",
+ "app.meeting.alertMeetingEndsUnderOneMinute": "ಸಭೆ ಒಂದು ನಿಮಿಷದಲ್ಲಿ ಮುಚ್ಚುತ್ತಿದೆ.",
+ "app.meeting.alertBreakoutEndsUnderOneMinute": "ಬ್ರೇಕ್ out ಟ್ ಒಂದು ನಿಮಿಷದಲ್ಲಿ ಮುಚ್ಚುತ್ತಿದೆ.",
+ "app.presentation.hide": "ಪ್ರಸ್ತುತಿಯನ್ನು ಮರೆಮಾಡಿ",
+ "app.presentation.notificationLabel": "ಪ್ರಸ್ತುತ ಪ್ರಸ್ತುತಿ",
+ "app.presentation.slideContent": "ಜಾರುಕ ವಿಷಯ",
+ "app.presentation.startSlideContent": "ಜಾರುಕದ ವಿಷಯ ಪ್ರಾರಂಭ",
+ "app.presentation.endSlideContent": "ಜಾರುಕದ ವಿಷಯ ಅಂತ್ಯ",
+ "app.presentation.emptySlideContent": "ಪ್ರಸ್ತುತ ಸ್ಲೈಡ್ಗೆ ಯಾವುದೇ ವಿಷಯವಿಲ್ಲ",
+ "app.presentation.presentationToolbar.noNextSlideDesc": "ಪ್ರಸ್ತುತಿಯ ಅಂತ್ಯ",
+ "app.presentation.presentationToolbar.noPrevSlideDesc": "ಪ್ರಸ್ತುತಿಯ ಪ್ರಾರಂಭ",
+ "app.presentation.presentationToolbar.selectLabel": "ಜಾರುಕ ಆಯ್ಕೆಮಾಡಿ",
+ "app.presentation.presentationToolbar.prevSlideLabel": "ಹಿಂದಿನ ಜಾರುಕ",
+ "app.presentation.presentationToolbar.prevSlideDesc": "ಪ್ರಸ್ತುತಿಯನ್ನು ಹಿಂದಿನ ಜಾರುಕಕ್ಕೆ ಬದಲಾಯಿಸಿ",
+ "app.presentation.presentationToolbar.nextSlideLabel": "ಮುಂದಿನ ಜಾರುಕ",
+ "app.presentation.presentationToolbar.nextSlideDesc": "ಪ್ರಸ್ತುತಿಯನ್ನು ಮುಂದಿನ ಸ್ಲೈಡ್ಗೆ ಬದಲಾಯಿಸಿ",
+ "app.presentation.presentationToolbar.skipSlideLabel": "ಜಾರುಕ ಬಿಟ್ಟುಬಿಡಿ",
+ "app.presentation.presentationToolbar.skipSlideDesc": "ಪ್ರಸ್ತುತಿಯನ್ನು ನಿರ್ದಿಷ್ಟ ಜಾರುಕಕ್ಕೆ ಬದಲಾಯಿಸಿ",
+ "app.presentation.presentationToolbar.fitWidthLabel": "ಅಗಲಕ್ಕೆ ಹೊಂದಿಕೊಳ್ಳಿ",
+ "app.presentation.presentationToolbar.fitWidthDesc": "ಜಾರುಕದ ಸಂಪೂರ್ಣ ಅಗಲವನ್ನು ಪ್ರದರ್ಶಿಸಿ",
+ "app.presentation.presentationToolbar.fitScreenLabel": "ಪರದೆಗೆ ಹೊಂದಿಕೊಳ್ಳಿ",
+ "app.presentation.presentationToolbar.fitScreenDesc": "ಇಡೀ ಜಾರುಕವನ್ನು ಪ್ರದರ್ಶಿಸಿ",
+ "app.presentation.presentationToolbar.zoomLabel": "ಜೂಮ್ ಮಾಡಿ",
+ "app.presentation.presentationToolbar.zoomDesc": "ಪ್ರಸ್ತುತಿಯ ಜೂಮ್ ಮಟ್ಟವನ್ನು ಬದಲಾಯಿಸಿ",
+ "app.presentation.presentationToolbar.zoomInLabel": "ಇನ್ನು ಹತ್ತಿರವಾಗಿಸಿ",
+ "app.presentation.presentationToolbar.zoomInDesc": "ಪ್ರಸ್ತುತಿಯಲ್ಲಿ ಜೂಮ್ ಮಾಡಿ",
+ "app.presentation.presentationToolbar.zoomOutLabel": "ಜೂಮ್ ಔಟ್ ಮಾಡಿ",
+ "app.presentation.presentationToolbar.zoomOutDesc": "ಪ್ರಸ್ತುತಿಯಿಂದ ಜೂಮ್ ಔಟ್ ಮಾಡಿ",
+ "app.presentation.presentationToolbar.zoomReset": "ಜೂಮ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ",
+ "app.presentation.presentationToolbar.zoomIndicator": "ಪ್ರಸ್ತುತ ಜೂಮ್ ಶೇಕಡಾವಾರು",
+ "app.presentation.presentationToolbar.fitToWidth": "ಅಗಲಕ್ಕೆ ಹೊಂದಿಕೊಳ್ಳಿ",
+ "app.presentation.presentationToolbar.fitToPage": "ಪುಟಕ್ಕೆ ತಕ್ಕಂತೆ ಹೊಂದಿಸಿ",
+ "app.presentation.presentationToolbar.goToSlide": "ಜಾರುಕ {0}",
+ "app.presentationUploder.title": "ಪ್ರಸ್ತುತಿ",
+ "app.presentationUploder.message": "ನಿರೂಪಕ ಆಗಿ ನೀವು ಯಾವುದೇ ಕಚೇರಿ ಡಾಕ್ಯುಮೆಂಟ್ ಅಥವಾ ಪಿಡಿಎಫ್ ಫೈಲ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದ್ದೀರಿ. ಉತ್ತಮ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ ನಾವು ಪಿಡಿಎಫ್ ಫೈಲ್ ಅನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. ಬಲಭಾಗದಲ್ಲಿರುವ ವೃತ್ತದ ಚೆಕ್ಬಾಕ್ಸ್ ಬಳಸಿ ಪ್ರಸ್ತುತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.",
+ "app.presentationUploder.uploadLabel": "ಅಪ್ಲೋಡ್ ಮಾಡಿ",
+ "app.presentationUploder.confirmLabel": "ದೃಢೀಕರಿಸಿ",
+ "app.presentationUploder.confirmDesc": "ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸಿ ಮತ್ತು ಪ್ರಸ್ತುತಿಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.presentationUploder.dismissLabel": "ರದ್ದುಮಾಡಿ",
+ "app.presentationUploder.dismissDesc": "ಮೋಡಲ್ ವಿಂಡೋವನ್ನು ಮುಚ್ಚಿ ಮತ್ತು ನಿಮ್ಮ ಬದಲಾವಣೆಗಳನ್ನು ತ್ಯಜಿಸಿ",
+ "app.presentationUploder.dropzoneLabel": "ಕಡತಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಇಲ್ಲಿ ಎಳೆಯಿರಿ",
+ "app.presentationUploder.dropzoneImagesLabel": "ಚಿತ್ರಗಳನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಲು ಇಲ್ಲಿ ಎಳೆಯಿರಿ",
+ "app.presentationUploder.browseFilesLabel": "ಅಥವಾ ಕಡತಗಳಿಗಾಗಿ ಬ್ರೌಸ್ ಮಾಡಿ",
+ "app.presentationUploder.browseImagesLabel": "ಅಥವಾ ಚಿತ್ರಗಳಿಗಾಗಿ ಬ್ರೌಸ್ ಮಾಡಿ / ಸೆರೆಹಿಡಿಯಿರಿ",
+ "app.presentationUploder.fileToUpload": "ಅಪ್ಲೋಡ್ ಮಾಡಲು ...",
+ "app.presentationUploder.currentBadge": "ಪ್ರಸ್ತುತ",
+ "app.presentationUploder.rejectedError": "ಆಯ್ದ ಕಡತ (ಗಳನ್ನು) ತಿರಸ್ಕರಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಕಡತ ಪ್ರಕಾರ (ಗಳನ್ನು) ಪರಿಶೀಲಿಸಿ.",
+ "app.presentationUploder.upload.progress": "ಅಪ್ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ ({0}%)",
+ "app.presentationUploder.upload.413": "ಕಡತ ತುಂಬಾ ದೊಡ್ಡದಾಗಿದೆ. ದಯವಿಟ್ಟು ಬಹು ಕಡತಗಳಾಗಿ ವಿಭಜಿಸಿ.",
+ "app.presentationUploder.upload.408": "ಅಪ್ಲೋಡ್ ಟೋಕನ್ ಟೈಮ್ಔಟ್ ಆಗಿದೆ.",
+ "app.presentationUploder.upload.404": "404: ಅಪ್ಲೋಡ್ ಟೋಕನ್ ಸರಿಯಿಲ್ಲ",
+ "app.presentationUploder.upload.401": "ಪ್ರೆಸಂಟೇಶನ್ ಅಪ್ಲೋಡ್ ಮಾಡುವ ಕೋರಿಕೆ ವಿಫಲವಾಗಿದೆ.",
+ "app.presentationUploder.conversion.conversionProcessingSlides": "{0} ನ {1} ಪುಟವನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತಿದೆ",
+ "app.presentationUploder.conversion.genericConversionStatus": "ಕಡತವನ್ನು ಪರಿವರ್ತಿಸಲಾಗುತ್ತಿದೆ ...",
+ "app.presentationUploder.conversion.generatingThumbnail": "ಥಂಬ್ನೇಲ್ಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ ...",
+ "app.presentationUploder.conversion.generatedSlides": "ಜಾರುಕಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ ...",
+ "app.presentationUploder.conversion.generatingSvg": "ಎಸ್ವಿಜಿ ಚಿತ್ರಗಳನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ ...",
+ "app.presentationUploder.conversion.pageCountExceeded": "ಪುಟಗಳ ಸಂಖ್ಯೆ ಮೀರಿದೆ. ದಯವಿಟ್ಟು ಫೈಲ್ ಅನ್ನು ಬಹು ಫೈಲ್ಗಳಾಗಿ ವಿಭಜಿಸಿ.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "ಕಚೇರಿ ಡಾಕ್ಯುಮೆಂಟ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ. ಬದಲಿಗೆ ಪಿಡಿಎಫ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "ಕಚೇರಿ ಡಾಕ್ಯುಮೆಂಟ್ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ವಿಫಲವಾಗಿದೆ. ಬದಲಿಗೆ ಪಿಡಿಎಫ್ ಅನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ.",
+ "app.presentationUploder.conversion.pdfHasBigPage": "ನಮಗೆ ಪಿಡಿಎಫ್ ಫೈಲ್ ಅನ್ನು ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ದಯವಿಟ್ಟು ಅದನ್ನು ಅತ್ಯುತ್ತಮವಾಗಿಸಲು ಪ್ರಯತ್ನಿಸಿ",
+ "app.presentationUploder.conversion.timeout": "ಅಯ್ಯೊ, ಪರಿವರ್ತನೆ ತುಂಬಾ ಸಮಯ ತೆಗೆದುಕೊಂಡಿತು",
+ "app.presentationUploder.conversion.pageCountFailed": "ಪುಟಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ಧರಿಸಲು ವಿಫಲವಾಗಿದೆ.",
+ "app.presentationUploder.isDownloadableLabel": "ಪ್ರಸ್ತುತಿಯನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಬೇಡಿ",
+ "app.presentationUploder.isNotDownloadableLabel": "ಪ್ರಸ್ತುತಿಯನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಲು ಅನುಮತಿಸಿ",
+ "app.presentationUploder.removePresentationLabel": "ಪ್ರಸ್ತುತಿಯನ್ನು ತೆಗೆದುಹಾಕಿ",
+ "app.presentationUploder.setAsCurrentPresentation": "ಪ್ರಸ್ತುತಿಯನ್ನು ಪ್ರಸ್ತುತ ಎಂದು ಹೊಂದಿಸಿ",
+ "app.presentationUploder.tableHeading.filename": "ಕಡತದ ಹೆಸರು",
+ "app.presentationUploder.tableHeading.options": "ಆಯ್ಕೆಗಳು",
+ "app.presentationUploder.tableHeading.status": "ಸ್ಥಿತಿ",
+ "app.poll.pollPaneTitle": "ಮತದಾನ",
+ "app.poll.quickPollTitle": "ತ್ವರಿತ ಸಮೀಕ್ಷೆ",
+ "app.poll.hidePollDesc": "ಸಮೀಕ್ಷೆ ಮೆನು ಫಲಕವನ್ನು ಮರೆಮಾಡುತ್ತದೆ",
+ "app.poll.customPollInstruction": "ಕಸ್ಟಮ್ ಸಮೀಕ್ಷೆಯನ್ನು ರಚಿಸಲು, ಕೆಳಗಿನ ಬಟನ್ ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ನಿಮ್ಮ ಆಯ್ಕೆಗಳನ್ನು ನಮೂದಿಸಿ.",
+ "app.poll.quickPollInstruction": "ನಿಮ್ಮ ಸಮೀಕ್ಷೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಕೆಳಗಿನ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ.",
+ "app.poll.customPollLabel": "ಕಸ್ಟಮ್ ಸಮೀಕ್ಷೆ",
+ "app.poll.startCustomLabel": "ಕಸ್ಟಮ್ ಸಮೀಕ್ಷೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.poll.activePollInstruction": "ನಿಮ್ಮ ಸಮೀಕ್ಷೆಗೆ ನೇರ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ನೋಡಲು ಈ ಫಲಕವನ್ನು ಮುಕ್ತವಾಗಿ ಬಿಡಿ. ನೀವು ಸಿದ್ಧರಾದಾಗ, ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಕಟಿಸಲು ಮತ್ತು ಮತದಾನವನ್ನು ಕೊನೆಗೊಳಿಸಲು 'ಮತದಾನ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಕಟಿಸಿ' ಆಯ್ಕೆಮಾಡಿ.",
+ "app.poll.publishLabel": "ಮತದಾನ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಕಟಿಸಿ",
+ "app.poll.backLabel": "ಮತದಾನದ ಆಯ್ಕೆಗಳಿಗೆ ಹಿಂತಿರುಗಿ",
+ "app.poll.closeLabel": "ಮುಚ್ಚಿ",
+ "app.poll.waitingLabel": "ಪ್ರತಿಕ್ರಿಯೆಗಳಿಗಾಗಿ ಕಾಯಲಾಗುತ್ತಿದೆ ({0} / {1})",
+ "app.poll.ariaInputCount": "{1} ನ ಕಸ್ಟಮ್ ಪೋಲ್ ಆಯ್ಕೆ {0}",
+ "app.poll.customPlaceholder": "ಮತದಾನ ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿ",
+ "app.poll.noPresentationSelected": "ಯಾವುದೇ ಪ್ರಸ್ತುತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿಲ್ಲ! ದಯವಿಟ್ಟು ಒಂದನ್ನು ಆರಿಸಿ.",
+ "app.poll.clickHereToSelect": "ಆಯ್ಕೆ ಮಾಡಲು ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ",
+ "app.poll.t": "ಸರಿ",
+ "app.poll.f": "ತಪ್ಪು",
+ "app.poll.tf": "ಸರಿ / ತಪ್ಪು",
+ "app.poll.y": "ಹೌದು",
+ "app.poll.n": "ಇಲ್ಲ",
+ "app.poll.yn": "ಹೌದು / ಅಲ್ಲ",
+ "app.poll.a2": "A / B",
+ "app.poll.a3": "A / B / C",
+ "app.poll.a4": "A / B / C / D",
+ "app.poll.a5": "A / B / C / D / E",
+ "app.poll.answer.true": "ಸರಿ",
+ "app.poll.answer.false": "ತಪ್ಪು",
+ "app.poll.answer.yes": "ಹೌದು",
+ "app.poll.answer.no": "ಇಲ್ಲ",
+ "app.poll.answer.a": "A",
+ "app.poll.answer.b": "B",
+ "app.poll.answer.c": "C",
+ "app.poll.answer.d": "D",
+ "app.poll.answer.e": "E",
+ "app.poll.liveResult.usersTitle": "ಬಳಕೆದಾರರು",
+ "app.poll.liveResult.responsesTitle": "ಪ್ರತಿಕ್ರಿಯೆ",
+ "app.polling.pollingTitle": "ಮತದಾನದ ಆಯ್ಕೆಗಳು",
+ "app.polling.pollAnswerLabel": "ಸಮೀಕ್ಷೆಯ ಉತ್ತರ {0}",
+ "app.polling.pollAnswerDesc": "{0} ಗೆ ಮತ ಚಲಾಯಿಸಲು ಈ ಆಯ್ಕೆಯನ್ನು ಆರಿಸಿ",
+ "app.failedMessage": "ಕ್ಷಮೆಯಾಚಿಸಿ, ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಿಸಲು ತೊಂದರೆ.",
+ "app.downloadPresentationButton.label": "ಮೂಲ ಪ್ರಸ್ತುತಿಯನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಿ",
+ "app.connectingMessage": "ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ ...",
+ "app.waitingMessage": "ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ. {0} ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮರುಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ ...",
+ "app.retryNow": "ಈಗ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ",
+ "app.navBar.settingsDropdown.optionsLabel": "ಆಯ್ಕೆಗಳು",
+ "app.navBar.settingsDropdown.fullscreenLabel": "ಪೂರ್ಣಪರದೆ ಮಾಡಿ",
+ "app.navBar.settingsDropdown.settingsLabel": "ಸಂಯೋಜನೆಗಳು",
+ "app.navBar.settingsDropdown.aboutLabel": "ಬಗ್ಗೆ",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "ಲಾಗ್ ಔಟ್",
+ "app.navBar.settingsDropdown.exitFullscreenLabel": "ಪೂರ್ಣಪರದೆ ನಿರ್ಗಮಿಸಿ",
+ "app.navBar.settingsDropdown.fullscreenDesc": "ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೆನುವನ್ನು ಪೂರ್ಣಪರದೆ ಮಾಡಿ",
+ "app.navBar.settingsDropdown.settingsDesc": "ಸಾಮಾನ್ಯ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ",
+ "app.navBar.settingsDropdown.aboutDesc": "ಕ್ಲೈಂಟ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ತೋರಿಸಿ",
+ "app.navBar.settingsDropdown.leaveSessionDesc": "ಸಭೆಯನ್ನು ಬಿಡಿ",
+ "app.navBar.settingsDropdown.exitFullscreenDesc": "ಪೂರ್ಣಪರದೆ ಮೋಡ್ನಿಂದ ನಿರ್ಗಮಿಸಿ",
+ "app.navBar.settingsDropdown.hotkeysLabel": "ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ಗಳು",
+ "app.navBar.settingsDropdown.hotkeysDesc": "ಲಭ್ಯವಿರುವ ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ಗಳ ಪಟ್ಟಿ",
+ "app.navBar.settingsDropdown.helpLabel": "ಸಹಾಯ",
+ "app.navBar.settingsDropdown.helpDesc": "ವೀಡಿಯೊ ಟ್ಯುಟೋರಿಯಲ್ಗಳಿಗೆ ಬಳಕೆದಾರರನ್ನು ಲಿಂಕ್ ಮಾಡುತ್ತದೆ (ಹೊಸ ಟ್ಯಾಬ್ ತೆರೆಯುತ್ತದೆ)",
+ "app.navBar.settingsDropdown.endMeetingDesc": "ಪ್ರಸ್ತುತ ಸಭೆಯನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ",
+ "app.navBar.settingsDropdown.endMeetingLabel": "ಸಭೆಯನ್ನು ಕೊನೆಗೊಳಿಸಿ",
+ "app.navBar.userListToggleBtnLabel": "ಬಳಕೆದಾರರ ಪಟ್ಟಿ ಟಾಗಲ್ ಮಾಡಿ",
+ "app.navBar.toggleUserList.ariaLabel": "ಬಳಕೆದಾರರು ಮತ್ತು ಸಂದೇಶಗಳು ಟಾಗಲ್ ಆಗುತ್ತವೆ",
+ "app.navBar.toggleUserList.newMessages": "ಹೊಸ ಸಂದೇಶ ಅಧಿಸೂಚನೆಯೊಂದಿಗೆ",
+ "app.navBar.recording": "ಈ ಅಧಿವೇಶನವನ್ನು ದಾಖಲಿಸಲಾಗುತ್ತಿದೆ",
+ "app.navBar.recording.on": "ರೆಕಾರ್ಡಿಂಗ್",
+ "app.navBar.recording.off": "ರೆಕಾರ್ಡಿಂಗ್ ಮಾಡುತ್ತಿಲ್ಲ",
+ "app.navBar.emptyAudioBrdige": "ಸಕ್ರಿಯ ಮೈಕ್ರೊಫೋನ್ ಇಲ್ಲ. ಈ ರೆಕಾರ್ಡಿಂಗ್ಗೆ ಆಡಿಯೊ ಸೇರಿಸಲು ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ ಹಂಚಿಕೊಳ್ಳಿ.",
+ "app.leaveConfirmation.confirmLabel": "ಹೊರಬನ್ನಿ",
+ "app.leaveConfirmation.confirmDesc": "ನಿಮ್ಮನ್ನು ಸಭೆಯಿಂದ ಹೊರಹಾಕುತ್ತದೆ",
+ "app.endMeeting.title": "ಸಭೆಯನ್ನು ಕೊನೆಗೊಳಿಸಿ",
+ "app.endMeeting.description": "ಈ ಅಧಿವೇಶನವನ್ನು ಕೊನೆಗೊಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ?",
+ "app.endMeeting.yesLabel": "ಹೌದು",
+ "app.endMeeting.noLabel": "ಇಲ್ಲ",
+ "app.about.title": "ಬಗ್ಗೆ",
+ "app.about.version": "ಗ್ರಾಹಕ ನಿರ್ಮಾಣ:",
+ "app.about.copyright": "ಕೃತಿಸ್ವಾಮ್ಯ:",
+ "app.about.confirmLabel": "ಸರಿ",
+ "app.about.confirmDesc": "ಸರಿ",
+ "app.about.dismissLabel": "ರದ್ದುಮಾಡಿ",
+ "app.about.dismissDesc": "ಕ್ಲೈಂಟ್ ಮಾಹಿತಿಯ ಬಗ್ಗೆ ಮುಚ್ಚಿ",
+ "app.actionsBar.changeStatusLabel": "ಸ್ಥಿತಿಯನ್ನು ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.muteLabel": "ಸ್ಥಬ್ಧ ಮಾಡಿ ",
+ "app.actionsBar.unmuteLabel": "ಸ್ಥಬ್ಧದಿಂದ ಹೊರಬನ್ನಿ",
+ "app.actionsBar.camOffLabel": "ಕ್ಯಾಮೆರಾ ಆಫ್ ಆಗಿದೆ",
+ "app.actionsBar.raiseLabel": "ಎತ್ತು",
+ "app.actionsBar.label": "ಕ್ರಿಯೆಗಳ ಪಟ್ಟಿ",
+ "app.actionsBar.actionsDropdown.restorePresentationLabel": "ಪ್ರಸ್ತುತಿಯನ್ನು ಮರುಸ್ಥಾಪಿಸಿ",
+ "app.actionsBar.actionsDropdown.restorePresentationDesc": "ಪ್ರಸ್ತುತಿಯನ್ನು ಮುಚ್ಚಿದ ನಂತರ ಅದನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು ಬಟನ್",
+ "app.screenshare.screenShareLabel" : "ಪರದೆಯ ಪಾಲು",
+ "app.submenu.application.applicationSectionTitle": "ಅಪ್ಲಿಕೇಶನ್",
+ "app.submenu.application.animationsLabel": "ಅನಿಮೇಷನ್",
+ "app.submenu.application.audioAlertLabel": "ಚಾಟ್ಗಾಗಿ ಆಡಿಯೊ ಎಚ್ಚರಿಕೆಗಳು",
+ "app.submenu.application.pushAlertLabel": "ಚಾಟ್ಗಾಗಿ ಪುಟಿಕೆ ಎಚ್ಚರಿಕೆಗಳು",
+ "app.submenu.application.userJoinAudioAlertLabel": "ಬಳಕೆದಾರರ ಸೇರ್ಪಡೆಗಾಗಿ ಆಡಿಯೊ ಎಚ್ಚರಿಕೆಗಳು",
+ "app.submenu.application.userJoinPushAlertLabel": "ಬಳಕೆದಾರ ಸೇರ್ಪಡೆಗಾಗಿ ಪುಟಿವ ಎಚ್ಚರಿಕೆಗಳು",
+ "app.submenu.application.fontSizeControlLabel": "ಅಕ್ಷರ ಗಾತ್ರ",
+ "app.submenu.application.increaseFontBtnLabel": "ಅಪ್ಲಿಕೇಶನ್ ಅಕ್ಷರ ವಿನ್ಯಾಸ ಗಾತ್ರವನ್ನು ಹೆಚ್ಚಿಸಿ",
+ "app.submenu.application.decreaseFontBtnLabel": "ಅಪ್ಲಿಕೇಶನ್ ವಿನ್ಯಾಸ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಿ",
+ "app.submenu.application.currentSize": "ಪ್ರಸ್ತುತ {0}",
+ "app.submenu.application.languageLabel": "ಅಪ್ಲಿಕೇಶನ್ ಭಾಷೆ",
+ "app.submenu.application.languageOptionLabel": "ಭಾಷೆಯನ್ನು ಆರಿಸಿ",
+ "app.submenu.application.noLocaleOptionLabel": "ಸಕ್ರಿಯ ಸ್ಥಳಗಳಿಲ್ಲ",
+ "app.submenu.audio.micSourceLabel": "ಮೈಕ್ರೊಫೋನ್ ಮೂಲ",
+ "app.submenu.audio.speakerSourceLabel": "ಸ್ಪೀಕರ್ ಮೂಲ",
+ "app.submenu.audio.streamVolumeLabel": "ನಿಮ್ಮ ಆಡಿಯೊ ಸ್ಟ್ರೀಮ್ ಪರಿಮಾಣ",
+ "app.submenu.video.title": "ವೀಡಿಯೊ",
+ "app.submenu.video.videoSourceLabel": "ಮೂಲವನ್ನು ವೀಕ್ಷಿಸಿ",
+ "app.submenu.video.videoOptionLabel": "ವೀಕ್ಷಣೆ ಮೂಲವನ್ನು ಆರಿಸಿ",
+ "app.submenu.video.videoQualityLabel": "ವೀಡಿಯೊ ಗುಣಮಟ್ಟ",
+ "app.submenu.video.qualityOptionLabel": "ವೀಡಿಯೊ ಗುಣಮಟ್ಟವನ್ನು ಆರಿಸಿ",
+ "app.submenu.video.participantsCamLabel": "ಭಾಗವಹಿಸುವವರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ವೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ",
+ "app.settings.applicationTab.label": "ಅಪ್ಲಿಕೇಶನ್",
+ "app.settings.audioTab.label": "ಆಡಿಯೋ",
+ "app.settings.videoTab.label": "ವೀಡಿಯೊ",
+ "app.settings.usersTab.label": "ಭಾಗವಹಿಸುವವರು",
+ "app.settings.main.label": "ಸಂಯೋಜನೆಗಳು",
+ "app.settings.main.cancel.label": "ರದ್ದುಮಾಡಿ",
+ "app.settings.main.cancel.label.description": "ಬದಲಾವಣೆಗಳನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೆನುವನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.settings.main.save.label": "ಉಳಿಸಿ",
+ "app.settings.main.save.label.description": "ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೆನುವನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.settings.dataSavingTab.label": "ಡೇಟಾ ಉಳಿತಾಯ",
+ "app.settings.dataSavingTab.webcam": "ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ",
+ "app.settings.dataSavingTab.screenShare": "ಡೆಸ್ಕ್ಟಾಪ್ ಹಂಚಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ",
+ "app.settings.dataSavingTab.description": "ನಿಮ್ಮ ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಉಳಿಸಲು ಪ್ರಸ್ತುತ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತಿರುವದನ್ನು ಹೊಂದಿಸಿ.",
+ "app.settings.save-notification.label": "ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉಳಿಸಲಾಗಿದೆ",
+ "app.switch.onLabel": "ಆನ್ ಆಗಿದೆ",
+ "app.switch.offLabel": "ಆರಿಸಿ",
+ "app.talkingIndicator.ariaMuteDesc" : "ಬಳಕೆದಾರರನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲು ಆಯ್ಕೆಮಾಡಿ",
+ "app.talkingIndicator.isTalking" : "{0} ಮಾತನಾಡುತ್ತಿದೆ",
+ "app.talkingIndicator.wasTalking" : "{0} ಮಾತನಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ",
+ "app.actionsBar.actionsDropdown.actionsLabel": "ಕ್ರಿಯೆಗಳು",
+ "app.actionsBar.actionsDropdown.presentationLabel": "ಪ್ರಸ್ತುತಿಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ",
+ "app.actionsBar.actionsDropdown.initPollLabel": "ಸಮೀಕ್ಷೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.actionsBar.actionsDropdown.desktopShareLabel": "ನಿಮ್ಮ ಪರದೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "ಸ್ಕ್ರೀನ್ಶೇರ್ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ",
+ "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "ನಿಮ್ಮ ಪರದೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ",
+ "app.actionsBar.actionsDropdown.presentationDesc": "ನಿಮ್ಮ ಪ್ರಸ್ತುತಿಯನ್ನು ಅಪ್ಲೋಡ್ ಮಾಡಿ",
+ "app.actionsBar.actionsDropdown.initPollDesc": "ಸಮೀಕ್ಷೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.actionsBar.actionsDropdown.desktopShareDesc": "ನಿಮ್ಮ ಪರದೆಯನ್ನು ಇತರರೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "ನಿಮ್ಮ ಪರದೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ",
+ "app.actionsBar.actionsDropdown.pollBtnLabel": "ಸಮೀಕ್ಷೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.actionsBar.actionsDropdown.pollBtnDesc": "ಮತದಾನ ಫಲಕವನ್ನು ಟಾಗಲ್ ಮಾಡುತ್ತದೆ",
+ "app.actionsBar.actionsDropdown.saveUserNames": "ಬಳಕೆದಾರರ ಹೆಸರುಗಳನ್ನು ಉಳಿಸಿ",
+ "app.actionsBar.actionsDropdown.createBreakoutRoom": "ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿಗಳನ್ನು ರಚಿಸಿ",
+ "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "ಪ್ರಸ್ತುತ ಸಭೆಯನ್ನು ವಿಭಜಿಸಲು ಬ್ರೇಕ್ ಔಟ್ಗಳನ್ನು ರಚಿಸಿ",
+ "app.actionsBar.actionsDropdown.captionsLabel": "ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳನ್ನು ಬರೆಯಿರಿ",
+ "app.actionsBar.actionsDropdown.captionsDesc": "ಶೀರ್ಷಿಕೆಗಳ ಫಲಕವನ್ನು ಟಾಗಲ್ ಮಾಡುತ್ತದೆ",
+ "app.actionsBar.actionsDropdown.takePresenter": "ಪ್ರೆಸೆಂಟರ್ ತೆಗೆದುಕೊಳ್ಳಿ",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "ನಿಮ್ಮನ್ನು ಹೊಸ ನಿರೂಪಕರಾಗಿ ನಿಯೋಜಿಸಿ",
+ "app.actionsBar.emojiMenu.statusTriggerLabel": "ಸ್ಥಿತಿಯನ್ನು ಹೊಂದಿಸಿ",
+ "app.actionsBar.emojiMenu.awayLabel": "ದೂರ",
+ "app.actionsBar.emojiMenu.awayDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ದೂರಕ್ಕೆ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "ಎತ್ತು",
+ "app.actionsBar.emojiMenu.raiseHandDesc": "ಪ್ರಶ್ನೆ ಕೇಳಲು ನಿಮ್ಮ ಕೈ ಎತ್ತಿ",
+ "app.actionsBar.emojiMenu.neutralLabel": "ತೀರ್ಮಾನವಾಗಿಲ್ಲ",
+ "app.actionsBar.emojiMenu.neutralDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ಧರಿಸದ ಸ್ಥಿತಿಗೆ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.confusedLabel": "ಗೊಂದಲ",
+ "app.actionsBar.emojiMenu.confusedDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ಗೊಂದಲಕ್ಕೆ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.sadLabel": "ದುಃಖ",
+ "app.actionsBar.emojiMenu.sadDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ದುಃಖಕ್ಕೆ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.happyLabel": "ಸಂತೋಷ",
+ "app.actionsBar.emojiMenu.happyDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ಸಂತೋಷವಾಗಿ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.noneLabel": "ಸ್ಥಿತಿ ತೆರವುಗೊಳಿಸಿ",
+ "app.actionsBar.emojiMenu.noneDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ತೆರವುಗೊಳಿಸಿ",
+ "app.actionsBar.emojiMenu.applauseLabel": "ಚಪ್ಪಾಳೆ",
+ "app.actionsBar.emojiMenu.applauseDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ಚಪ್ಪಾಳೆಗೆ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.thumbsUpLabel": "ಥಂಬ್ಸ್ ಅಪ್",
+ "app.actionsBar.emojiMenu.thumbsUpDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ಥಂಬ್ಸ್ ಅಪ್ ಆಗಿ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.emojiMenu.thumbsDownLabel": "ಥಂಬ್ಸ್ ಡೌನ್",
+ "app.actionsBar.emojiMenu.thumbsDownDesc": "ನಿಮ್ಮ ಸ್ಥಿತಿಯನ್ನು ಥಂಬ್ಸ್ ಡೌನ್ ಆಗಿ ಬದಲಾಯಿಸಿ",
+ "app.actionsBar.currentStatusDesc": "ಪ್ರಸ್ತುತ ಸ್ಥಿತಿ {0}",
+ "app.actionsBar.captions.start": "ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಪ್ರಾರಂಭಿಸಿ",
+ "app.actionsBar.captions.stop": "ಮುಚ್ಚಿದ ಶೀರ್ಷಿಕೆಗಳನ್ನು ನೋಡುವುದನ್ನು ನಿಲ್ಲಿಸಿ",
+ "app.audioNotification.audioFailedError1001": "ವೆಬ್ಸಾಕೆಟ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡಿದೆ (ದೋಷ 1001)",
+ "app.audioNotification.audioFailedError1002": "ವೆಬ್ಸಾಕೆಟ್ ಸಂಪರ್ಕವನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ (ದೋಷ 1002)",
+ "app.audioNotification.audioFailedError1003": "ಬ್ರೌಸರ್ ಆವೃತ್ತಿಯನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ (ದೋಷ 1003)",
+ "app.audioNotification.audioFailedError1004": "ಕರೆಯಲ್ಲಿ ವಿಫಲತೆ (ಕಾರಣ = {0}) (ದೋಷ 1004)",
+ "app.audioNotification.audioFailedError1005": "ಕರೆ ಅನಿರೀಕ್ಷಿತವಾಗಿ ಕೊನೆಗೊಂಡಿದೆ (ದೋಷ 1005)",
+ "app.audioNotification.audioFailedError1006": "ಕರೆ ಸಮಯ ಮೀರಿದೆ (ದೋಷ 1006)",
+ "app.audioNotification.audioFailedError1007": "ಸಂಪರ್ಕ ವೈಫಲ್ಯ (ICE ದೋಷ 1007)",
+ "app.audioNotification.audioFailedError1008": "ವರ್ಗಾವಣೆ ವಿಫಲವಾಗಿದೆ (ದೋಷ 1008)",
+ "app.audioNotification.audioFailedError1009": "STUN / TURN ಸರ್ವರ್ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ (ದೋಷ 1009)",
+ "app.audioNotification.audioFailedError1010": "ಸಂಪರ್ಕ ಸಮಾಲೋಚನೆ ಕಾಲಾವಧಿ (ICE ದೋಷ 1010)",
+ "app.audioNotification.audioFailedError1011": "ಸಂಪರ್ಕ ಸಮಯ ಮೀರಿದೆ (ICE ದೋಷ 1011)",
+ "app.audioNotification.audioFailedError1012": "ಸಂಪರ್ಕವನ್ನು ಮುಚ್ಚಲಾಗಿದೆ (ICE ದೋಷ 1012)",
+ "app.audioNotification.audioFailedMessage": "ನಿಮ್ಮ ಆಡಿಯೊ ಸಂಪರ್ಕವನ್ನು ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ",
+ "app.audioNotification.mediaFailedMessage": "ಸುರಕ್ಷಿತ ಮೂಲಗಳನ್ನು ಮಾತ್ರ ಅನುಮತಿಸಲಾಗಿರುವುದರಿಂದ getUserMicMedia ವಿಫಲವಾಗಿದೆ",
+ "app.audioNotification.closeLabel": "ಮುಚ್ಚಿ",
+ "app.audioNotificaion.reconnectingAsListenOnly": "ವೀಕ್ಷಕರಿಗೆ ಮೈಕ್ರೊಫೋನ್ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ, ನಿಮ್ಮನ್ನು ಕೇಳಲು ಮಾತ್ರ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ",
+ "app.breakoutJoinConfirmation.title": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಗೆ ಸೇರಿ",
+ "app.breakoutJoinConfirmation.message": "ನೀವು ಸೇರಲು ಬಯಸುವಿರಾ",
+ "app.breakoutJoinConfirmation.confirmDesc": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಗೆ ನಿಮ್ಮೊಂದಿಗೆ ಸೇರಿ",
+ "app.breakoutJoinConfirmation.dismissLabel": "ರದ್ದುಮಾಡಿ",
+ "app.breakoutJoinConfirmation.dismissDesc": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಗೆ ಸೇರುವುದನ್ನು ಮುಚ್ಚುತ್ತದೆ ಮತ್ತು ತಿರಸ್ಕರಿಸುತ್ತದೆ",
+ "app.breakoutJoinConfirmation.freeJoinMessage": "ಸೇರಲು ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯನ್ನು ಆರಿಸಿ",
+ "app.breakoutTimeRemainingMessage": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯ ಸಮಯ ಉಳಿದಿದೆ: {0}",
+ "app.breakoutWillCloseMessage": "ಸಮಯ ಕೊನೆಗೊಂಡಿತು. ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿ ಶೀಘ್ರದಲ್ಲೇ ಮುಚ್ಚಲಿದೆ",
+ "app.calculatingBreakoutTimeRemaining": "ಉಳಿದ ಸಮಯವನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತಿದೆ ...",
+ "app.audioModal.ariaTitle": "ಆಡಿಯೊ ಮೋಡಲ್ಗೆ ಸೇರಿ",
+ "app.audioModal.microphoneLabel": "ಮೈಕ್ರೊಫೋನ್",
+ "app.audioModal.listenOnlyLabel": "ಕೇವಲ ಆಲಿಸಿ",
+ "app.audioModal.audioChoiceLabel": "ಆಡಿಯೊಗೆ ಸೇರಲು ನೀವು ಹೇಗೆ ಬಯಸುತ್ತೀರಿ?",
+ "app.audioModal.iOSBrowser": "ಆಡಿಯೋ / ವಿಡಿಯೋ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ",
+ "app.audioModal.iOSErrorDescription": "ಈ ಸಮಯದಲ್ಲಿ iOS ಕ್ರೋಮ್ನಲ್ಲಿ ಆಡಿಯೋ ಮತ್ತು ವೀಡಿಯೊ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.",
+ "app.audioModal.iOSErrorRecommendation": "ಸಫಾರಿ iOS ಬಳಸಲು ನಾವು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ.",
+ "app.audioModal.audioChoiceDesc": "ಈ ಸಭೆಯಲ್ಲಿ ಆಡಿಯೊವನ್ನು ಹೇಗೆ ಸೇರಬೇಕೆಂದು ಆಯ್ಕೆಮಾಡಿ",
+ "app.audioModal.unsupportedBrowserLabel": "ನೀವು ಸಂಪೂರ್ಣವಾಗಿ ಬೆಂಬಲಿಸದ ಬ್ರೌಸರ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವಂತೆ ತೋರುತ್ತಿದೆ. ಪೂರ್ಣ ಬೆಂಬಲಕ್ಕಾಗಿ ದಯವಿಟ್ಟು {0} ಅಥವಾ {1} ಬಳಸಿ.",
+ "app.audioModal.closeLabel": "ಮುಚ್ಚಿ",
+ "app.audioModal.yes": "ಹೌದು",
+ "app.audioModal.no": "ಇಲ್ಲ",
+ "app.audioModal.yes.arialabel" : "ಪ್ರತಿಧ್ವನಿ ಕೇಳಿಸುತ್ತಿದೆ",
+ "app.audioModal.no.arialabel" : "ಪ್ರತಿಧ್ವನಿ ಕೇಳಿಸುವುದಿಲ್ಲ",
+ "app.audioModal.echoTestTitle": "ಇದು ಖಾಸಗಿ ಪ್ರತಿಧ್ವನಿ ಪರೀಕ್ಷೆ. ಕೆಲವು ಮಾತುಗಳನ್ನು ಮಾತನಾಡಿ. ನೀವು ಆಡಿಯೋ ಕೇಳಿದ್ದೀರಾ?",
+ "app.audioModal.settingsTitle": "ನಿಮ್ಮ ಆಡಿಯೊ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ",
+ "app.audioModal.helpTitle": "ನಿಮ್ಮ ಮಾಧ್ಯಮ ಸಾಧನಗಳಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ",
+ "app.audioModal.helpText": "ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ ಪ್ರವೇಶಿಸಲು ನೀವು ಅನುಮತಿ ನೀಡಿದ್ದೀರಾ? ನೀವು ಆಡಿಯೊಗೆ ಸೇರಲು ಪ್ರಯತ್ನಿಸಿದಾಗ, ನಿಮ್ಮ ಮಾಧ್ಯಮ ಸಾಧನ ಅನುಮತಿಗಳನ್ನು ಕೇಳುವಾಗ ಸಂವಾದವು ಗೋಚರಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ, ಆಡಿಯೊ ಸಮ್ಮೇಳನಕ್ಕೆ ಸೇರಲು ದಯವಿಟ್ಟು ಅದನ್ನು ಸ್ವೀಕರಿಸಿ. ಅದು ನಿಜವಾಗದಿದ್ದರೆ, ನಿಮ್ಮ ಬ್ರೌಸರ್ನ ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ ಅನುಮತಿಗಳನ್ನು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿ.",
+ "app.audioModal.help.noSSL": "ಈ ಪುಟವು ಅಸುರಕ್ಷಿತವಾಗಿದೆ. ಮೈಕ್ರೊಫೋನ್ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಲು ಪುಟವನ್ನು HTTPS ಮೂಲಕ ಒದಗಿಸಬೇಕು. ದಯವಿಟ್ಟು ಸರ್ವರ್ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಿ.",
+ "app.audioModal.help.macNotAllowed": "ನಿಮ್ಮ ಮ್ಯಾಕ್ ಸಿಸ್ಟಮ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತಿರುವಂತೆ ತೋರುತ್ತಿದೆ. ಸಿಸ್ಟಮ್ ಪ್ರಾಶಸ್ತ್ಯಗಳು> ಭದ್ರತೆ ಮತ್ತು ಗೌಪ್ಯತೆ> ಗೌಪ್ಯತೆ> ಮೈಕ್ರೊಫೋನ್ ತೆರೆಯಿರಿ ಮತ್ತು ನೀವು ಬಳಸುತ್ತಿರುವ ಬ್ರೌಸರ್ ಅನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.",
+ "app.audioModal.audioDialTitle": "ನಿಮ್ಮ ಫೋನ್ ಬಳಸಿ ಸೇರಿ",
+ "app.audioDial.audioDialDescription": "ಡಯಲ್ ಮಾಡಿ",
+ "app.audioDial.audioDialConfrenceText": "ಮತ್ತು ಕಾನ್ಫರೆನ್ಸ್ ಪಿನ್ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ:",
+ "app.audioModal.autoplayBlockedDesc": "ಆಡಿಯೋ ಪ್ಲೇ ಮಾಡಲು ನಮಗೆ ನಿಮ್ಮ ಅನುಮತಿ ಬೇಕು.",
+ "app.audioModal.playAudio": "ಆಡಿಯೊ ಪ್ಲೇ ಮಾಡಿ",
+ "app.audioModal.playAudio.arialabel" : "ಆಡಿಯೊ ಪ್ಲೇ ಮಾಡಿ",
+ "app.audioDial.tipIndicator": "ಸಲಹೆ",
+ "app.audioDial.tipMessage": "ನಿಮ್ಮನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲು / ಮ್ಯೂಟ್ ಮಾಡಲು ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿ '0' ಕೀಲಿಯನ್ನು ಒತ್ತಿ.",
+ "app.audioModal.connecting": "ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ",
+ "app.audioModal.connectingEchoTest": "ಪ್ರತಿಧ್ವನಿ ಪರೀಕ್ಷೆಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ",
+ "app.audioManager.joinedAudio": "ನೀವು ಆಡಿಯೋ ಸಮ್ಮೇಳನಕ್ಕೆ ಸೇರಿದ್ದೀರಿ",
+ "app.audioManager.joinedEcho": "ನೀವು ಪ್ರತಿಧ್ವನಿ ಪರೀಕ್ಷೆಗೆ ಸೇರಿದ್ದೀರಿ",
+ "app.audioManager.leftAudio": "ನೀವು ಆಡಿಯೋ ಸಮ್ಮೇಳನವನ್ನು ತೊರೆದಿದ್ದೀರಿ",
+ "app.audioManager.reconnectingAudio": "ಆಡಿಯೊವನ್ನು ಮರುಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ",
+ "app.audioManager.genericError": "ದೋಷ: ದೋಷ ಸಂಭವಿಸಿದೆ, ದಯವಿಟ್ಟು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ",
+ "app.audioManager.connectionError": "ದೋಷ: ಸಂಪರ್ಕ ದೋಷ",
+ "app.audioManager.requestTimeout": "ದೋಷ: ವಿನಂತಿಯಲ್ಲಿ ಸಮಯ ಮೀರಿದೆ",
+ "app.audioManager.invalidTarget": "ದೋಷ: ಅಮಾನ್ಯ ಗುರಿಯತ್ತ ಏನನ್ನಾದರೂ ವಿನಂತಿಸಲು ಪ್ರಯತ್ನಿಸಿದೆ",
+ "app.audioManager.mediaError": "ದೋಷ: ನಿಮ್ಮ ಮಾಧ್ಯಮ ಸಾಧನಗಳನ್ನು ಪಡೆಯುವಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ",
+ "app.audio.joinAudio": "ಆಡಿಯೊಗೆ ಸೇರಿ",
+ "app.audio.leaveAudio": "ಆಡಿಯೊವನ್ನು ಬಿಡಿ",
+ "app.audio.enterSessionLabel": "ನಮೂದಿಸಿ",
+ "app.audio.playSoundLabel": "ಧ್ವನಿ ಪ್ಲೇ ಮಾಡಿ",
+ "app.audio.backLabel": "ಹಿಂದೆ",
+ "app.audio.audioSettings.titleLabel": "ನಿಮ್ಮ ಆಡಿಯೊ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಆರಿಸಿ",
+ "app.audio.audioSettings.descriptionLabel": "ದಯವಿಟ್ಟು ಗಮನಿಸಿ, ನಿಮ್ಮ ಬ್ರೌಸರ್ನಲ್ಲಿ ಸಂವಾದ ಕಾಣಿಸುತ್ತದೆ, ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ ಹಂಚಿಕೆಯನ್ನು ಸ್ವೀಕರಿಸಲು ನಿಮಗೆ ಅಗತ್ಯವಿರುತ್ತದೆ.",
+ "app.audio.audioSettings.microphoneSourceLabel": "ಮೈಕ್ರೊಫೋನ್ ಮೂಲ",
+ "app.audio.audioSettings.speakerSourceLabel": "ಸ್ಪೀಕರ್ ಮೂಲ",
+ "app.audio.audioSettings.microphoneStreamLabel": "ನಿಮ್ಮ ಆಡಿಯೊ ಸ್ಟ್ರೀಮ್ ಪರಿಮಾಣ",
+ "app.audio.audioSettings.retryLabel": "ಮರುಪ್ರಯತ್ನಿಸಿ",
+ "app.audio.listenOnly.backLabel": "ಹಿಂದೆ",
+ "app.audio.listenOnly.closeLabel": "ಮುಚ್ಚಿ",
+ "app.audio.permissionsOverlay.title": "ನಿಮ್ಮ ಮೈಕ್ರೊಫೋನ್ಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ",
+ "app.audio.permissionsOverlay.hint": "ನಿಮ್ಮನ್ನು ಧ್ವನಿ ಸಮ್ಮೇಳನಕ್ಕೆ ಸೇರಲು ನಿಮ್ಮ ಮಾಧ್ಯಮ ಸಾಧನಗಳನ್ನು ಬಳಸಲು ನಮಗೆ ನೀವು ಅನುಮತಿಸಬೇಕಾಗಿದೆ :)",
+ "app.error.removed": "ನಿಮ್ಮನ್ನು ಸಮ್ಮೇಳನದಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
+ "app.error.meeting.ended": "ನೀವು ಸಮ್ಮೇಳನದಿಂದ ಲಾಗ್ ಔಟ್ ಆಗಿದ್ದೀರಿ",
+ "app.meeting.logout.duplicateUserEjectReason": "ಸಭೆಗೆ ಸೇರಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ನಕಲಿ ಬಳಕೆದಾರ",
+ "app.meeting.logout.permissionEjectReason": "ಅನುಮತಿ ಉಲ್ಲಂಘನೆಯಿಂದಾಗಿ ಹೊರಹಾಕಲಾಗಿದೆ",
+ "app.meeting.logout.ejectedFromMeeting": "ನಿಮ್ಮನ್ನು ಸಭೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
+ "app.meeting.logout.validateTokenFailedEjectReason": "ದೃಢೀಕರಣ ಟೋಕನ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಲು ವಿಫಲವಾಗಿದೆ",
+ "app.meeting.logout.userInactivityEjectReason": "ಬಳಕೆದಾರರು ತುಂಬಾ ಸಮಯದವರೆಗೆ ನಿಷ್ಕ್ರಿಯರಾಗಿದ್ದಾರೆ",
+ "app.meeting-ended.rating.legendLabel": "ಪ್ರತಿಕ್ರಿಯೆ ರೇಟಿಂಗ್",
+ "app.meeting-ended.rating.starLabel": "ನಕ್ಷತ್ರ",
+ "app.modal.close": "ಮುಚ್ಚಿ",
+ "app.modal.close.description": "ಬದಲಾವಣೆಗಳನ್ನು ಕಡೆಗಣಿಸುತ್ತದೆ ಮತ್ತು ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.modal.confirm": "ಮುಗಿದಿದೆ",
+ "app.modal.newTab": "(ಹೊಸ ಟ್ಯಾಬ್ ತೆರೆಯುತ್ತದೆ)",
+ "app.modal.confirm.description": "ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.dropdown.close": "ಮುಚ್ಚಿ",
+ "app.error.400": "ಕೆಟ್ಟ ವಿನಂತಿ",
+ "app.error.401": "ಅನಧಿಕೃತ",
+ "app.error.403": "ನಿಮ್ಮನ್ನು ಸಭೆಯಿಂದ ತೆಗೆದುಹಾಕಲಾಗಿದೆ",
+ "app.error.404": "ಸಿಕ್ಕಿಲ್ಲ",
+ "app.error.410": "ಸಭೆ ಮುಗಿದಿದೆ",
+ "app.error.500": "ಅಯ್ಯೊ, ಏನೋ ತಪ್ಪಾಗಿದೆ",
+ "app.error.leaveLabel": "ಮತ್ತೆ ಲಾಗ್ ಇನ್ ಮಾಡಿ",
+ "app.error.fallback.presentation.title": "ಒಂದು ತಪ್ಪು ನಡೆದಿದೆ",
+ "app.error.fallback.presentation.description": "ಇದನ್ನು ಲಾಗ್ ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಪುಟವನ್ನು ಮರುಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.",
+ "app.error.fallback.presentation.reloadButton": "ಮರುಲೋಡ್ ಮಾಡಿ",
+ "app.guest.waiting": "ಸೇರಲು ಅನುಮೋದನೆಗಾಗಿ ಕಾಯಲಾಗುತ್ತಿದೆ",
+ "app.userList.guest.waitingUsers": "ಕಾಯುತ್ತಿರುವ ಬಳಕೆದಾರರು",
+ "app.userList.guest.waitingUsersTitle": "ಬಳಕೆದಾರ ನಿರ್ವಹಣೆ",
+ "app.userList.guest.optionTitle": "ಬಾಕಿ ಉಳಿದಿರುವ ಬಳಕೆದಾರರನ್ನು ಪರಿಶೀಲಿಸಿ",
+ "app.userList.guest.allowAllAuthenticated": "ಎಲ್ಲವನ್ನೂ ದೃಢೀಕರಿಸಲು ಅನುಮತಿಸಿ",
+ "app.userList.guest.allowAllGuests": "ಎಲ್ಲಾ ಅತಿಥಿಗಳನ್ನು ಅನುಮತಿಸಿ",
+ "app.userList.guest.allowEveryone": "ಎಲ್ಲರಿಗೂ ಅನುಮತಿಸಿ",
+ "app.userList.guest.denyEveryone": "ಎಲ್ಲರನ್ನು ನಿರಾಕರಿಸು",
+ "app.userList.guest.pendingUsers": "{0} ಬಾಕಿ ಉಳಿದಿರುವ ಬಳಕೆದಾರರು",
+ "app.userList.guest.pendingGuestUsers": "{0} ಅತಿಥಿ ಬಳಕೆದಾರರು ಬಾಕಿ ಉಳಿದಿದ್ದಾರೆ",
+ "app.userList.guest.pendingGuestAlert": "ಅಧಿವೇಶನಕ್ಕೆ ಸೇರಿದ್ದಾರೆ ಮತ್ತು ನಿಮ್ಮ ಅನುಮೋದನೆಗಾಗಿ ಕಾಯುತ್ತಿದ್ದಾರೆ.",
+ "app.userList.guest.rememberChoice": "ಆಯ್ಕೆಯನ್ನು ನೆನಪಿಡಿ",
+ "app.user-info.title": "ಡೈರೆಕ್ಟರಿ ಲುಕಪ್",
+ "app.toast.breakoutRoomEnded": "ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿ ಕೊನೆಗೊಂಡಿತು. ದಯವಿಟ್ಟು ಆಡಿಯೊದಲ್ಲಿ ಮತ್ತೆ ಸೇರಿ.",
+ "app.toast.chat.public": "ಹೊಸ ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಸಂದೇಶ",
+ "app.toast.chat.private": "ಹೊಸ ಖಾಸಗಿ ಚಾಟ್ ಸಂದೇಶ",
+ "app.toast.chat.system": "ಸಿಸ್ಟಮ್",
+ "app.toast.clearedEmoji.label": "ಎಮೋಜಿ ಸ್ಥಿತಿಯನ್ನು ತೆರವುಗೊಳಿಸಲಾಗಿದೆ",
+ "app.toast.setEmoji.label": "ಎಮೋಜಿ ಸ್ಥಿತಿಯನ್ನು {0} ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ",
+ "app.toast.meetingMuteOn.label": "ಎಲ್ಲಾ ಬಳಕೆದಾರರನ್ನು ಮ್ಯೂಟ್ ಮಾಡಲಾಗಿದೆ",
+ "app.toast.meetingMuteOff.label": "ಮೀಟಿಂಗ್ ಮ್ಯೂಟ್ ಆಫ್ ಮಾಡಲಾಗಿದೆ",
+ "app.notification.recordingStart": "ಈ ಅಧಿವೇಶನವನ್ನು ಈಗ ದಾಖಲಿಸಲಾಗುತ್ತಿದೆ",
+ "app.notification.recordingStop": "ಈ ಅಧಿವೇಶನವನ್ನು ದಾಖಲಿಸಲಾಗುವುದಿಲ್ಲ",
+ "app.notification.recordingPaused": "ಈ ಅಧಿವೇಶನವನ್ನು ಇನ್ನು ಮುಂದೆ ದಾಖಲಿಸಲಾಗುವುದಿಲ್ಲ",
+ "app.notification.recordingAriaLabel": "ರೆಕಾರ್ಡ್ ಮಾಡಿದ ಸಮಯ",
+ "app.notification.userJoinPushAlert": "{0} ಅಧಿವೇಶನಕ್ಕೆ ಸೇರಿದರು",
+ "app.shortcut-help.title": "ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ಗಳು",
+ "app.shortcut-help.accessKeyNotAvailable": "ಪ್ರವೇಶ ಕೀಗಳು ಲಭ್ಯವಿಲ್ಲ",
+ "app.shortcut-help.comboLabel": "ಕಾಂಬೊ",
+ "app.shortcut-help.functionLabel": "ಕಾರ್ಯ",
+ "app.shortcut-help.closeLabel": "ಮುಚ್ಚಿ",
+ "app.shortcut-help.closeDesc": "ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್ಕಟ್ಗಳ ಮೋಡಲ್ ಅನ್ನು ಮುಚ್ಚುತ್ತದೆ",
+ "app.shortcut-help.openOptions": "ಆಯ್ಕೆಗಳನ್ನು ತೆರೆಯಿರಿ",
+ "app.shortcut-help.toggleUserList": "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯನ್ನು ಟಾಗಲ್ ಮಾಡಿ",
+ "app.shortcut-help.toggleMute": "ಸ್ಥಬ್ಧ / ನಿಸ್ಥಬ್ಧ ಮಾಡಿ",
+ "app.shortcut-help.togglePublicChat": "ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಅನ್ನು ಟಾಗಲ್ ಮಾಡಿ (ಬಳಕೆದಾರರ ಪಟ್ಟಿ ತೆರೆದಿರಬೇಕು)",
+ "app.shortcut-help.hidePrivateChat": "ಖಾಸಗಿ ಚಾಟ್ ಅನ್ನು ಮರೆಮಾಡಿ",
+ "app.shortcut-help.closePrivateChat": "ಖಾಸಗಿ ಚಾಟ್ ಮುಚ್ಚಿ",
+ "app.shortcut-help.openActions": "ಕ್ರಿಯೆಗಳ ಮೆನು ತೆರೆಯಿರಿ",
+ "app.shortcut-help.openStatus": "ಸ್ಥಿತಿ ಮೆನು ತೆರೆಯಿರಿ",
+ "app.shortcut-help.togglePan": "ಪ್ಯಾನ್ ಉಪಕರಣವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ (ಪ್ರೆಸೆಂಟರ್)",
+ "app.shortcut-help.nextSlideDesc": "ಮುಂದಿನ ಸ್ಲೈಡ್ (ಪ್ರೆಸೆಂಟರ್)",
+ "app.shortcut-help.previousSlideDesc": "ಹಿಂದಿನ ಸ್ಲೈಡ್ (ಪ್ರೆಸೆಂಟರ್)",
+ "app.lock-viewers.title": "ವೀಕ್ಷಕರನ್ನು ಲಾಕ್ ಮಾಡಿ",
+ "app.lock-viewers.description": "ನಿರ್ದಿಷ್ಟ ಆಯ್ಕೆಗಳನ್ನು ಬಳಸದಂತೆ ವೀಕ್ಷಕರನ್ನು ನಿರ್ಬಂಧಿಸಲು ಈ ಆಯ್ಕೆಗಳು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.",
+ "app.lock-viewers.featuresLable": "ವೈಶಿಷ್ಟ್ಯ",
+ "app.lock-viewers.lockStatusLabel": "ಸ್ಥಿತಿ",
+ "app.lock-viewers.webcamLabel": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.lock-viewers.otherViewersWebcamLabel": "ಇತರ ವೀಕ್ಷಕರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ನೋಡಿ",
+ "app.lock-viewers.microphoneLable": "ಮೈಕ್ರೊಫೋನ್ ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.lock-viewers.PublicChatLabel": "ಸಾರ್ವಜನಿಕ ಚಾಟ್ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಿ",
+ "app.lock-viewers.PrivateChatLable": "ಖಾಸಗಿ ಚಾಟ್ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಿ",
+ "app.lock-viewers.notesLabel": "ಹಂಚಿದ ಟಿಪ್ಪಣಿಗಳನ್ನು ಸಂಪಾದಿಸಿ",
+ "app.lock-viewers.userListLabel": "ಬಳಕೆದಾರರ ಪಟ್ಟಿಯಲ್ಲಿ ಇತರ ವೀಕ್ಷಕರನ್ನು ನೋಡಿ",
+ "app.lock-viewers.ariaTitle": "ವೀಕ್ಷಕರ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಲಾಕ್ ಮಾಡಿ",
+ "app.lock-viewers.button.apply": "ಅನ್ವಯಿಸು",
+ "app.lock-viewers.button.cancel": "ರದ್ದುಮಾಡಿ",
+ "app.lock-viewers.locked": "ಲಾಕ್ ಮಾಡಲಾಗಿದೆ",
+ "app.lock-viewers.unlocked": "ಅನ್ಲಾಕ್ ಮಾಡಲಾಗಿದೆ",
+ "app.recording.startTitle": "ರೆಕಾರ್ಡಿಂಗ್ ಪ್ರಾರಂಭಿಸಿ",
+ "app.recording.stopTitle": "ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಿ",
+ "app.recording.resumeTitle": "ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ಪುನರಾರಂಭಿಸಿ",
+ "app.recording.startDescription": "ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಲು ನೀವು ನಂತರ ಮತ್ತೆ ರೆಕಾರ್ಡ್ ಬಟನ್ ಆಯ್ಕೆ ಮಾಡಬಹುದು.",
+ "app.recording.stopDescription": "ರೆಕಾರ್ಡಿಂಗ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಲು ನೀವು ಖಚಿತವಾಗಿ ಬಯಸುವಿರಾ? ರೆಕಾರ್ಡ್ ಬಟನ್ ಅನ್ನು ಮತ್ತೆ ಆರಿಸುವ ಮೂಲಕ ನೀವು ಪುನರಾರಂಭಿಸಬಹುದು.",
+ "app.videoPreview.cameraLabel": "ಕ್ಯಾಮೆರಾ",
+ "app.videoPreview.profileLabel": "ಗುಣಮಟ್ಟ",
+ "app.videoPreview.cancelLabel": "ರದ್ದುಮಾಡಿ",
+ "app.videoPreview.closeLabel": "ಮುಚ್ಚಿ",
+ "app.videoPreview.findingWebcamsLabel": "ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ಹುಡುಕಲಾಗುತ್ತಿದೆ",
+ "app.videoPreview.startSharingLabel": "ಹಂಚಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ",
+ "app.videoPreview.webcamOptionLabel": "ವೆಬ್ಕ್ಯಾಮ್ ಆಯ್ಕೆಮಾಡಿ",
+ "app.videoPreview.webcamPreviewLabel": "ವೆಬ್ಕ್ಯಾಮ್ ಪೂರ್ವವೀಕ್ಷಣೆ",
+ "app.videoPreview.webcamSettingsTitle": "ವೆಬ್ಕ್ಯಾಮ್ ಸೆಟ್ಟಿಂಗ್ಗಳು",
+ "app.videoPreview.webcamNotFoundLabel": "ವೆಬ್ಕ್ಯಾಮ್ ಕಂಡುಬಂದಿಲ್ಲ",
+ "app.videoPreview.profileNotFoundLabel": "ಬೆಂಬಲಿತ ಕ್ಯಾಮೆರಾ ಪ್ರೊಫೈಲ್ ಇಲ್ಲ",
+ "app.video.joinVideo": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.video.leaveVideo": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ",
+ "app.video.iceCandidateError": "ICE ಅಭ್ಯರ್ಥಿಯನ್ನು ಸೇರಿಸುವಲ್ಲಿ ದೋಷ",
+ "app.video.iceConnectionStateError": "ಸಂಪರ್ಕ ವೈಫಲ್ಯ (ICE ದೋಷ 1107)",
+ "app.video.permissionError": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳುವಲ್ಲಿ ದೋಷ. ದಯವಿಟ್ಟು ಅನುಮತಿಗಳನ್ನು ಪರಿಶೀಲಿಸಿ",
+ "app.video.sharingError": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳುವಲ್ಲಿ ದೋಷ",
+ "app.video.notFoundError": "ವೆಬ್ಕ್ಯಾಮ್ ಸಿಗಲಿಲ್ಲ. ಇದು ಸಂಪರ್ಕಗೊಂಡಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ",
+ "app.video.notAllowed": "ಹಂಚಿಕೆ ವೆಬ್ಕ್ಯಾಮ್ಗೆ ಅನುಮತಿ ಕಾಣೆಯಾಗಿದೆ, ದಯವಿಟ್ಟು ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನುಮತಿಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ",
+ "app.video.notSupportedError": "ವೆಬ್ಕ್ಯಾಮ್ ವೀಡಿಯೊವನ್ನು ಸುರಕ್ಷಿತ ಮೂಲಗಳೊಂದಿಗೆ ಮಾತ್ರ ಹಂಚಿಕೊಳ್ಳಬಹುದು, ನಿಮ್ಮ ಎಸ್ಎಸ್ಎಲ್ ಪ್ರಮಾಣಪತ್ರವು ಮಾನ್ಯವಾಗಿದೆಯೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ",
+ "app.video.notReadableError": "ವೆಬ್ಕ್ಯಾಮ್ ವೀಡಿಯೊ ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಮತ್ತೊಂದು ಪ್ರೋಗ್ರಾಂ ವೆಬ್ಕ್ಯಾಮ್ ಬಳಸುತ್ತಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ",
+ "app.video.mediaFlowTimeout1020": "ಮಾಧ್ಯಮವು ಸರ್ವರ್ ಅನ್ನು ತಲುಪಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ (ದೋಷ 1020)",
+ "app.video.suggestWebcamLock": "ವೀಕ್ಷಕರಿಗೆ ವೆಬ್ಕ್ಯಾಮ್ಗಳಿಗೆ ಲಾಕ್ ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಜಾರಿಗೊಳಿಸುವುದೇ?",
+ "app.video.suggestWebcamLockReason": "(ಇದು ಸಭೆಯ ಸ್ಥಿರತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ)",
+ "app.video.enable": "ಸಕ್ರಿಯಗೊಳಿಸಿ",
+ "app.video.cancel": "ರದ್ದುಮಾಡಿ",
+ "app.video.swapCam": "ಸ್ವಾಪ್ ಮಾಡಿ",
+ "app.video.swapCamDesc": "ವೆಬ್ಕ್ಯಾಮ್ಗಳ ದಿಕ್ಕನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಿ",
+ "app.video.videoLocked": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೆ ಲಾಕ್ ಆಗಿದೆ",
+ "app.video.videoButtonDesc": "ವೆಬ್ಕ್ಯಾಮ್ ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.video.videoMenu": "ವೀಡಿಯೊ ಮೆನು",
+ "app.video.videoMenuDisabled": "ವೀಡಿಯೊ ಮೆನು ಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ವೆಬ್ಕ್ಯಾಮ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.video.videoMenuDesc": "ವೀಡಿಯೊ ಮೆನು ಡ್ರಾಪ್ಡೌನ್ ತೆರೆಯಿರಿ",
+ "app.video.chromeExtensionError": "ನೀವು ಸ್ಥಾಪಿಸಬೇಕು",
+ "app.video.chromeExtensionErrorLink": "ಈ ಕ್ರೋಮ್ ವಿಸ್ತರಣೆ",
+ "app.video.stats.title": "ಸಂಪರ್ಕ ಅಂಕಿಅಂಶಗಳು",
+ "app.video.stats.packetsReceived": "ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ",
+ "app.video.stats.packetsSent": "ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ",
+ "app.video.stats.packetsLost": "ಪ್ಯಾಕೆಟ್ಗಳು ಕಳೆದುಹೋಗಿವೆ",
+ "app.video.stats.bitrate": "ಬಿಟ್ ರೇಟ್ ",
+ "app.video.stats.lostPercentage": "ಒಟ್ಟು ಶೇಕಡಾವಾರು ಕಳೆದುಹೋಗಿದೆ",
+ "app.video.stats.lostRecentPercentage": "ಇತ್ತೀಚಿನ ಶೇಕಡಾವಾರು ನಷ್ಟವಾಗಿದೆ",
+ "app.video.stats.dimensions": "ಆಯಾಮಗಳು",
+ "app.video.stats.codec": "ಕೋಡೆಕ್",
+ "app.video.stats.decodeDelay": "ಡಿಕೋಡ್ ವಿಳಂಬ",
+ "app.video.stats.rtt": "RTT",
+ "app.video.stats.encodeUsagePercent": "ಎನ್ಕೋಡ್ ಬಳಕೆ",
+ "app.video.stats.currentDelay": "ಪ್ರಸ್ತುತ ವಿಳಂಬ",
+ "app.fullscreenButton.label": "{0} ಪೂರ್ಣಪರದೆ ಮಾಡಿ",
+ "app.deskshare.iceConnectionStateError": "ಪರದೆಯನ್ನು ಹಂಚಿಕೊಳ್ಳುವಾಗ ಸಂಪರ್ಕ ವಿಫಲವಾಗಿದೆ (ICE ದೋಷ 1108)",
+ "app.sfu.mediaServerConnectionError2000": "ಮಾಧ್ಯಮ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ (ದೋಷ 2000)",
+ "app.sfu.mediaServerOffline2001": "ಮಾಧ್ಯಮ ಸರ್ವರ್ ಆಫ್ಲೈನ್ನಲ್ಲಿದೆ. ದಯವಿಟ್ಟು ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ (ದೋಷ 2001)",
+ "app.sfu.mediaServerNoResources2002": "ಮಾಧ್ಯಮ ಸರ್ವರ್ಗೆ ಲಭ್ಯವಿರುವ ಸಂಪನ್ಮೂಲಗಳಿಲ್ಲ (ದೋಷ 2002)",
+ "app.sfu.mediaServerRequestTimeout2003": "ಮಾಧ್ಯಮ ಸರ್ವರ್ ವಿನಂತಿಗಳು ಸಮಯ ಮೀರಿದೆ (ದೋಷ 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "ಮಾಧ್ಯಮ ಸರ್ವರ್ ಸಂಪರ್ಕ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ (ICE ದೋಷ 2021)",
+ "app.sfu.serverIceGatheringFailed2022": "ಮಾಧ್ಯಮ ಸರ್ವರ್ ಸಂಪರ್ಕ ವಿಫಲವಾಗಿದೆ (ICE ದೋಷ 2022)",
+ "app.sfu.mediaGenericError2200": "ವಿನಂತಿಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಮಾಧ್ಯಮ ಸರ್ವರ್ ವಿಫಲವಾಗಿದೆ (ದೋಷ 2200)",
+ "app.sfu.invalidSdp2202":"ಕ್ಲೈಂಟ್ ಅಮಾನ್ಯ ಮಾಧ್ಯಮ ವಿನಂತಿಯನ್ನು ರಚಿಸಿದೆ (ಎಸ್ಡಿಪಿ ದೋಷ 2202)",
+ "app.sfu.noAvailableCodec2203": "ಸರ್ವರ್ಗೆ ಸೂಕ್ತವಾದ ಕೊಡೆಕ್ ಸಿಗಲಿಲ್ಲ (ದೋಷ 2203)",
+ "app.meeting.endNotification.ok.label": "ಸರಿ",
+ "app.whiteboard.annotations.poll": "ಸಮೀಕ್ಷೆಯ ಫಲಿತಾಂಶಗಳನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ",
+ "app.whiteboard.toolbar.tools": "ಪರಿಕರಗಳು",
+ "app.whiteboard.toolbar.tools.hand": "ಪ್ಯಾನ್",
+ "app.whiteboard.toolbar.tools.pencil": "ಪೆನ್ಸಿಲ್/ಸೀಸದ ಕಡ್ಡಿ",
+ "app.whiteboard.toolbar.tools.rectangle": "ಆಯಾತ",
+ "app.whiteboard.toolbar.tools.triangle": "ತ್ರಿಕೋನ",
+ "app.whiteboard.toolbar.tools.ellipse": "ದೀರ್ಘವೃತ್ತ",
+ "app.whiteboard.toolbar.tools.line": "ಸಾಲು",
+ "app.whiteboard.toolbar.tools.text": "ಪಠ್ಯ",
+ "app.whiteboard.toolbar.thickness": "ರೇಖಾಚಿತ್ರ ದಪ್ಪ",
+ "app.whiteboard.toolbar.thicknessDisabled": "ಚಿತ್ರಾಕೃತಿ/ರೇಖಾಚಿತ್ರ ದಪ್ಪವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.whiteboard.toolbar.color": "ಬಣ್ಣಗಳು",
+ "app.whiteboard.toolbar.colorDisabled": "ಬಣ್ಣಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ",
+ "app.whiteboard.toolbar.color.black": "ಕಪ್ಪು",
+ "app.whiteboard.toolbar.color.white": "ಬಿಳಿ",
+ "app.whiteboard.toolbar.color.red": "ಕೆಂಪು",
+ "app.whiteboard.toolbar.color.orange": "ಕಿತ್ತಳೆ",
+ "app.whiteboard.toolbar.color.eletricLime": "ವಿದ್ಯುತ್ ಸುಣ್ಣ",
+ "app.whiteboard.toolbar.color.lime": "ಸುಣ್ಣ",
+ "app.whiteboard.toolbar.color.cyan": "ಸಯಾನ್",
+ "app.whiteboard.toolbar.color.dodgerBlue": "ಡಾಡ್ಜರ್ ನೀಲಿ",
+ "app.whiteboard.toolbar.color.blue": "ನೀಲಿ",
+ "app.whiteboard.toolbar.color.violet": "ನೇರಳೆ",
+ "app.whiteboard.toolbar.color.magenta": "ಕೆನ್ನೇರಳೆ",
+ "app.whiteboard.toolbar.color.silver": "ಬೆಳ್ಳಿ",
+ "app.whiteboard.toolbar.undo": "ಟಿಪ್ಪಣಿ ರದ್ದುಗೊಳಿಸಿ",
+ "app.whiteboard.toolbar.clear": "ಎಲ್ಲಾ ಟಿಪ್ಪಣಿಗಳನ್ನು ತೆರವುಗೊಳಿಸಿ",
+ "app.whiteboard.toolbar.multiUserOn": "ಬಹು-ಬಳಕೆದಾರ ವೈಟ್ಬೋರ್ಡ್ ಆನ್ ಮಾಡಿ",
+ "app.whiteboard.toolbar.multiUserOff": "ಬಹು-ಬಳಕೆದಾರ ವೈಟ್ಬೋರ್ಡ್ ಆಫ್ ಮಾಡಿ",
+ "app.whiteboard.toolbar.fontSize": "ಫಾಂಟ್ ಗಾತ್ರದ ಪಟ್ಟಿ",
+ "app.feedback.title": "ನೀವು ಸಮ್ಮೇಳನದಿಂದ ಲಾಗ್ ಔಟ್ ಆಗಿದ್ದೀರಿ",
+ "app.feedback.subtitle": "ಬಿಗ್ಬ್ಲೂಬಟನ್ನೊಂದಿಗಿನ ನಿಮ್ಮ ಅನುಭವದ ಬಗ್ಗೆ ಕೇಳಲು ನಾವು ಇಷ್ಟಪಡುತ್ತೇವೆ (ಐಶ್ಚಿಕ)",
+ "app.feedback.textarea": "ಬಿಗ್ಬ್ಲೂಬಟನ್ ಅನ್ನು ನಾವು ಹೇಗೆ ಉತ್ತಮಗೊಳಿಸಬಹುದು?",
+ "app.feedback.sendFeedback": "ಪ್ರತಿಕ್ರಿಯೆ ಕಳುಹಿಸಿ",
+ "app.feedback.sendFeedbackDesc": "ಪ್ರತಿಕ್ರಿಯೆ ಕಳುಹಿಸಿ ಮತ್ತು ಸಭೆಯನ್ನು ಬಿಡಿ",
+ "app.videoDock.webcamFocusLabel": "ಕೇಂದ್ರೀಕರಿಸಿ",
+ "app.videoDock.webcamFocusDesc": "ಆಯ್ದ ವೆಬ್ಕ್ಯಾಮ್ ಅನ್ನು ಕೇಂದ್ರೀಕರಿಸಿ",
+ "app.videoDock.webcamUnfocusLabel": "ಕೇಂದ್ರೀಕರಿಸಬೇಡಿ",
+ "app.videoDock.webcamUnfocusDesc": "ಆಯ್ದ ವೆಬ್ಕ್ಯಾಮ್ ಅನ್ನು ಕೇಂದ್ರೀಕರಿಸಿ",
+ "app.videoDock.autoplayBlockedDesc": "ಇತರ ಬಳಕೆದಾರರ ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ನಿಮಗೆ ತೋರಿಸಲು ನಮಗೆ ನಿಮ್ಮ ಅನುಮತಿ ಬೇಕು.",
+ "app.videoDock.autoplayAllowLabel": "ವೆಬ್ಕ್ಯಾಮ್ಗಳನ್ನು ವೀಕ್ಷಿಸಿ",
+ "app.invitation.title": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯ ಆಮಂತ್ರಣ",
+ "app.invitation.confirm": "ಆಹ್ವಾನಿಸಿ",
+ "app.createBreakoutRoom.title": "ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿಗಳು",
+ "app.createBreakoutRoom.ariaTitle": "ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿಗಳನ್ನು ಮರೆಮಾಡಿ",
+ "app.createBreakoutRoom.breakoutRoomLabel": "ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿಗಳು {0}",
+ "app.createBreakoutRoom.generatingURL": "URL ಅನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ",
+ "app.createBreakoutRoom.generatedURL": "ರಚಿಸಲಾಗಿದೆ",
+ "app.createBreakoutRoom.duration": "ಅವಧಿ {0}",
+ "app.createBreakoutRoom.room": "ಕೊಠಡಿ {0}",
+ "app.createBreakoutRoom.notAssigned": "ನಿಯೋಜಿಸಲಾಗಿಲ್ಲ ({0})",
+ "app.createBreakoutRoom.join": "ಕೋಣೆಗೆ ಸೇರಿ",
+ "app.createBreakoutRoom.joinAudio": "ಆಡಿಯೊಗೆ ಸೇರಿ",
+ "app.createBreakoutRoom.returnAudio": "ಆಡಿಯೊ ಹಿಂತಿರುಗಿ",
+ "app.createBreakoutRoom.alreadyConnected": "ಈಗಾಗಲೇ ಕೋಣೆಯಲ್ಲಿದೆ",
+ "app.createBreakoutRoom.confirm": "ರಚಿಸಿ",
+ "app.createBreakoutRoom.record": "ರೆಕಾರ್ಡ್ ಮಾಡಿ",
+ "app.createBreakoutRoom.numberOfRooms": "ಕೊಠಡಿಗಳ ಸಂಖ್ಯೆ",
+ "app.createBreakoutRoom.durationInMinutes": "ಅವಧಿ (ನಿಮಿಷಗಳು)",
+ "app.createBreakoutRoom.randomlyAssign": "ಯಾದೃಚ್ಚಕವಾಗಿ ನಿಯೋಜಿಸಿ",
+ "app.createBreakoutRoom.endAllBreakouts": "ಎಲ್ಲಾ ಬ್ರೇಕ್ ಔಟ್ ಕೊಠಡಿಗಳನ್ನು ಕೊನೆಗೊಳಿಸಿ",
+ "app.createBreakoutRoom.roomName": "{0} (ಕೊಠಡಿ - {1})",
+ "app.createBreakoutRoom.doneLabel": "ಮುಗಿದಿದೆ",
+ "app.createBreakoutRoom.nextLabel": "ಮುಂದೆ",
+ "app.createBreakoutRoom.minusRoomTime": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯ ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಿ",
+ "app.createBreakoutRoom.addRoomTime": "ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯ ಸಮಯವನ್ನು ಹೆಚ್ಚಿಸಿ",
+ "app.createBreakoutRoom.addParticipantLabel": "ಭಾಗವಹಿಸುವವರನ್ನು ಸೇರಿಸಿ +",
+ "app.createBreakoutRoom.freeJoin": "ಸೇರಲು ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಬಳಕೆದಾರರನ್ನು ಅನುಮತಿಸಿ",
+ "app.createBreakoutRoom.leastOneWarnBreakout": "ನೀವು ಕನಿಷ್ಠ ಒಬ್ಬ ಬಳಕೆದಾರರನ್ನು ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಯಲ್ಲಿ ಇಡಬೇಕು.",
+ "app.createBreakoutRoom.modalDesc": "ಸುಳಿವು: ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ನಿರ್ದಿಷ್ಟ ಬ್ರೇಕ್ ಔಟ್ ಕೋಣೆಗೆ ನಿಯೋಜಿಸಲು ನೀವು ಅವುಗಳನ್ನು ಎಳೆಯಿರಿ ಮತ್ತು ಬಿಡಬಹುದು.",
+ "app.createBreakoutRoom.roomTime": "{0} ನಿಮಿಷಗಳು",
+ "app.createBreakoutRoom.numberOfRoomsError": "ಕೊಠಡಿಗಳ ಸಂಖ್ಯೆ ಅಮಾನ್ಯವಾಗಿದೆ.",
+ "app.externalVideo.start": "ಹೊಸ ವೀಡಿಯೊವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.externalVideo.title": "ಬಾಹ್ಯ ವೀಡಿಯೊವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.externalVideo.input": "ಬಾಹ್ಯ ವೀಡಿಯೊ URL",
+ "app.externalVideo.urlInput": "ವೀಡಿಯೊ URL ಸೇರಿಸಿ",
+ "app.externalVideo.urlError": "ಈ ವೀಡಿಯೊ URL ಬೆಂಬಲಿಸುವುದಿಲ್ಲ",
+ "app.externalVideo.close": "ಮುಚ್ಚಿ",
+ "app.externalVideo.autoPlayWarning": "ಮಾಧ್ಯಮ ಸಿಂಕ್ರೊನೈಸೇಶನ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ವೀಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡಿ",
+ "app.network.connection.effective.slow": "ಸಂಪರ್ಕ ಸಮಸ್ಯೆಗಳನ್ನು ನಾವು ಗಮನಿಸುತ್ತಿದ್ದೇವೆ.",
+ "app.network.connection.effective.slow.help": "ಹೆಚ್ಚಿನ ಮಾಹಿತಿ",
+ "app.externalVideo.noteLabel": "ಗಮನಿಸಿ: ಹಂಚಿದ ಬಾಹ್ಯ ವೀಡಿಯೊಗಳು ರೆಕಾರ್ಡಿಂಗ್ನಲ್ಲಿ ಗೋಚರಿಸುವುದಿಲ್ಲ. ಯೂಟ್ಯೂಬ್, ವಿಮಿಯೋ, ಇನ್ಸ್ಟ್ರಕ್ಚರ್ ಮೀಡಿಯಾ, ಟ್ವಿಚ್ ಮತ್ತು ಡೈಲಿ ಮೋಷನ್ URL ಗಳನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ.",
+ "app.actionsBar.actionsDropdown.shareExternalVideo": "ಬಾಹ್ಯ ವೀಡಿಯೊವನ್ನು ಹಂಚಿಕೊಳ್ಳಿ",
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "ಬಾಹ್ಯ ವೀಡಿಯೊ ಹಂಚಿಕೊಳ್ಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ",
+ "app.iOSWarning.label": "ದಯವಿಟ್ಟು iOS 12.2 ಅಥವಾ ಹೆಚ್ಚಿನದಕ್ಕೆ ಅಪ್ಗ್ರೇಡ್ ಮಾಡಿ",
+ "app.legacy.unsupportedBrowser": "ನೀವು ಬೆಂಬಲಿಸದ ಬ್ರೌಸರ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವಂತೆ ತೋರುತ್ತಿದೆ. ಪೂರ್ಣ ಬೆಂಬಲಕ್ಕಾಗಿ ದಯವಿಟ್ಟು {0} ಅಥವಾ {1 use ಬಳಸಿ.",
+ "app.legacy.upgradeBrowser": "ನೀವು ಬೆಂಬಲಿತ ಬ್ರೌಸರ್ನ ಹಳೆಯ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತಿರುವಂತೆ ತೋರುತ್ತಿದೆ. ಪೂರ್ಣ ಬೆಂಬಲಕ್ಕಾಗಿ ದಯವಿಟ್ಟು ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನ್ನು ಅಪ್ಗ್ರೇಡ್ ಮಾಡಿ.",
+ "app.legacy.criosBrowser": "iOSನಲ್ಲಿ ದಯವಿಟ್ಟು ಪೂರ್ಣ ಬೆಂಬಲಕ್ಕಾಗಿ ಸಫಾರಿ ಬಳಸಿ."
+
+}
+
diff --git a/bigbluebutton-html5/private/locales/ko_KR.json b/bigbluebutton-html5/private/locales/ko_KR.json
index e8650cb1a2..466902f36c 100644
--- a/bigbluebutton-html5/private/locales/ko_KR.json
+++ b/bigbluebutton-html5/private/locales/ko_KR.json
@@ -1,14 +1,14 @@
{
- "app.home.greeting": "프리젠테이션은 바로 시작될것입니다 ",
+ "app.home.greeting": "프리젠테이션이 곧 시작됩니다 ...",
"app.chat.submitLabel": "메시지 보내기",
"app.chat.errorMaxMessageLength": "메시지가 {0} 글자(들이) 깁니다 ",
- "app.chat.disconnected": "연결이 끊어졌습니다. 메시지는 보내지지 않습니다 ",
- "app.chat.locked": "채팅은 막혔습니다. 메시지는 보내지지 않습니다 ",
- "app.chat.inputLabel": "채팅을 위해 메시지를 {0}입력 하세요 ",
+ "app.chat.disconnected": "연결이 끊어졌습니다. 메시지를 보낼 수 없습니다 ",
+ "app.chat.locked": "채팅이 잠겼습니다. 메시지를 보낼 수 없습니다 ",
+ "app.chat.inputLabel": "채팅을 위해 메시지를 {0} 입력 하세요 ",
"app.chat.inputPlaceholder": "{0} 에게 메시지를 보내세요 ",
"app.chat.titlePublic": "공개 채팅",
- "app.chat.titlePrivate": "{0} 와 개인채팅",
- "app.chat.partnerDisconnected": "{0} 가 미팅을 마쳤습니다 ",
+ "app.chat.titlePrivate": "{0} 와 비공개 채팅",
+ "app.chat.partnerDisconnected": "{0} 가 미팅에서 나갔습니다 ",
"app.chat.closeChatLabel": "{0} 닫기 ",
"app.chat.hideChatLabel": "{0} 숨기기",
"app.chat.moreMessages": "아래쪽에 더많은 메시지",
@@ -19,8 +19,8 @@
"app.chat.label": "채팅",
"app.chat.offline": "오프라인",
"app.chat.emptyLogLabel": "채팅 기록 지우기",
- "app.chat.clearPublicChatMessage": "공개채팅기록이 주관자에 의해 지워졌습니다 ",
- "app.chat.multi.typing": "다수의 사용자가 타이핑중입니다 ",
+ "app.chat.clearPublicChatMessage": "공개 채팅 기록이 주관자에 의해 지워졌습니다 ",
+ "app.chat.multi.typing": "여러 사용자가 타이핑하고 있습니다 ",
"app.chat.one.typing": "{0} 가 타이핑중입니다 ",
"app.chat.two.typing": "{0} 과 {1} 이 타이핑중입니다",
"app.captions.label": "자막",
@@ -28,25 +28,25 @@
"app.captions.menu.start": "시작",
"app.captions.menu.ariaStart": "자막 쓰기 시작",
"app.captions.menu.ariaStartDesc": "캡션 에디터 열고 창 닫기 ",
- "app.captions.menu.select": "가능한 언어 선택",
+ "app.captions.menu.select": "사용 가능한 언어 선택",
"app.captions.menu.ariaSelect": "자막 언어",
- "app.captions.menu.subtitle": "당신의 세션중에 마감된 자막을 위한 언어와 스타일을 선택하세요",
- "app.captions.menu.title": "마감된 자막",
+ "app.captions.menu.subtitle": "세션 내 폐쇄자막에 사용할 언어와 스타일을 선택하세요.",
+ "app.captions.menu.title": "폐쇄자막",
"app.captions.menu.fontSize": "사이즈",
"app.captions.menu.fontColor": "글자색",
"app.captions.menu.fontFamily": "폰트",
"app.captions.menu.backgroundColor": "배경색",
"app.captions.menu.previewLabel": "미리보기",
"app.captions.menu.cancelLabel": "취소",
- "app.captions.pad.hide": "마감된 자막 숨기기",
+ "app.captions.pad.hide": "폐쇄자막 숨기기",
"app.captions.pad.tip": "에디터 툴바에 포커스를 위해 ESC 를 누르세요",
"app.captions.pad.ownership": "인수받기",
"app.captions.pad.ownershipTooltip": "당신은 {0} 자막의 소유자로 지정되셨습니다 ",
"app.captions.pad.interimResult": "중간 결과",
"app.captions.pad.dictationStart": "받아쓰기 시작",
"app.captions.pad.dictationStop": "받아쓰기 중지",
- "app.captions.pad.dictationOnDesc": "발음 인식 켜기 ",
- "app.captions.pad.dictationOffDesc": "발음 인식 끄기",
+ "app.captions.pad.dictationOnDesc": "음성 인식 켜기 ",
+ "app.captions.pad.dictationOffDesc": "음성 인식 끄기",
"app.note.title": "노트 공유",
"app.note.label": "노트",
"app.note.hideNoteLabel": "노트 숨기기",
@@ -69,19 +69,19 @@
"app.userList.menuTitleContext": "가능한 옵션",
"app.userList.chatListItem.unreadSingular": "{0} 개 새로운 메시지",
"app.userList.chatListItem.unreadPlural": "{0} 개 새로운 메시지들",
- "app.userList.menu.chat.label": "개인채팅 시작",
- "app.userList.menu.clearStatus.label": "상태 정리 ",
- "app.userList.menu.removeUser.label": "사용자 지우기",
+ "app.userList.menu.chat.label": "비공개 채팅 시작",
+ "app.userList.menu.clearStatus.label": "상태 지우기",
+ "app.userList.menu.removeUser.label": "사용자 쫓아내기",
"app.userList.menu.muteUserAudio.label": "사용자 음소거",
"app.userList.menu.unmuteUserAudio.label": "사용자 음소거 취소",
"app.userList.userAriaLabel": "{0}{1}{2} 상태 {3}",
"app.userList.menu.promoteUser.label": "주관자로 승격",
"app.userList.menu.demoteUser.label": "관람자로 강등",
- "app.userList.menu.unlockUser.label": "{0} 해제",
- "app.userList.menu.lockUser.label": "{0} 잠금",
+ "app.userList.menu.unlockUser.label": "{0} 잠금 해제",
+ "app.userList.menu.lockUser.label": "{0} 기능 잠금",
"app.userList.menu.directoryLookup.label": "디렉토리 검색",
"app.userList.menu.makePresenter.label": "발표자 만들기",
- "app.userList.userOptions.manageUsersLabel": "사용자 만들기",
+ "app.userList.userOptions.manageUsersLabel": "사용자 관리",
"app.userList.userOptions.muteAllLabel": "모든 사용자 음소거",
"app.userList.userOptions.muteAllDesc": "미팅안의 모든 사용자 음소거",
"app.userList.userOptions.clearAllLabel": "모든 상태 아이콘 지우기",
@@ -89,40 +89,41 @@
"app.userList.userOptions.muteAllExceptPresenterLabel": "발표자를 제외한 모든 사용자 음소거",
"app.userList.userOptions.muteAllExceptPresenterDesc": "미팅안에 발표자를 제외한 모든 사용자 음소거",
"app.userList.userOptions.unmuteAllLabel": "미팅 음소거 끄기",
- "app.userList.userOptions.unmuteAllDesc": "미팅 음소거 제거",
- "app.userList.userOptions.lockViewersLabel": "관람자 잠그기",
+ "app.userList.userOptions.unmuteAllDesc": "미팅 음소거 해제",
+ "app.userList.userOptions.lockViewersLabel": "모든 관람자 잠그기",
"app.userList.userOptions.lockViewersDesc": "미팅의 참석자 기능들을 잠그기",
- "app.userList.userOptions.disableCam": "관람자의 웹캠은 불가능",
- "app.userList.userOptions.disableMic": "관람자의 마이크는 불가능",
- "app.userList.userOptions.disablePrivChat": "개인적 채팅은 금지",
- "app.userList.userOptions.disablePubChat": "공개 채팅은 금지",
+ "app.userList.userOptions.disableCam": "관람자들의 웹캠 사용 중지",
+ "app.userList.userOptions.disableMic": "관람자들의 마이크 사용 중지",
+ "app.userList.userOptions.disablePrivChat": "비공개 채팅 사용 중지",
+ "app.userList.userOptions.disablePubChat": "공개 채팅 사용 중지",
"app.userList.userOptions.disableNote": "공유노트는 잠겼습니다 ",
"app.userList.userOptions.hideUserList": "관람자에게 사용자 리스트는 감춰집니다 ",
- "app.userList.userOptions.webcamsOnlyForModerator": "주관자만 관람자의 웹캠을 볼 수 있습니다 (잠금세팅으로)",
- "app.userList.content.participants.options.clearedStatus": "모든 사용자 상태 비우기",
+ "app.userList.userOptions.webcamsOnlyForModerator": "주관자만 관람자의 웹캠을 볼 수 있습니다 (잠금설정때문)",
+ "app.userList.content.participants.options.clearedStatus": "모든 사용자 상태 지우기",
"app.userList.userOptions.enableCam": "관람자 웹캠사용 가능",
"app.userList.userOptions.enableMic": "관람자 마이크 사용 가능",
- "app.userList.userOptions.enablePrivChat": "개인적 채팅 가능",
+ "app.userList.userOptions.enablePrivChat": "비공개 채팅 가능",
"app.userList.userOptions.enablePubChat": "공개 채팅 가능",
"app.userList.userOptions.enableNote": "공유노트 사용 가능",
"app.userList.userOptions.showUserList": "사용자 리스트가 관람자에게 보여짐",
"app.userList.userOptions.enableOnlyModeratorWebcam": "웹캠 사용이 가능합니다. 모든 사람이 당신을 보게 됩니다 ",
"app.media.label": "미디어",
"app.media.autoplayAlertDesc": "접속 허가",
- "app.media.screenshare.start": "스크린 공유 시작",
+ "app.media.screenshare.start": "스크린공유 시작",
"app.media.screenshare.end": "스크린공유 종료 ",
+ "app.media.screenshare.unavailable": "스크린공유 불가",
"app.media.screenshare.autoplayBlockedDesc": "발표자의 스크린을 보여주기 위해 당신의 허가가 필요합니다 ",
"app.media.screenshare.autoplayAllowLabel": "공유스크린 보기",
- "app.screenshare.notAllowed": "에러: 스크린에 접근하기 위한 권한이 아직 없습니다 ",
+ "app.screenshare.notAllowed": "에러: 스크린에 접근하기 위한 권한이 부여되지 않았습니다.",
"app.screenshare.notSupportedError": "에러: 스크린공유는 안전한 도메인 연결(SSL) 에서만 가능합니다 ",
- "app.screenshare.notReadableError": "에러: 당신의 스크린을 캡쳐 하는데서 에러가 발생했습니다 ",
+ "app.screenshare.notReadableError": "에러: 스크린을 캡쳐 하는 도중에 오류가 발생했습니다 ",
"app.screenshare.genericError": "에러: 스크린 공유에서 에러가 발생했습니다. 다시 시도해 보세요",
"app.meeting.ended": "이 세션은 종료 되었습니다 ",
"app.meeting.meetingTimeRemaining": "미팅시간은 {0} 남았습니다 ",
"app.meeting.meetingTimeHasEnded": "시간종료. 미팅은 조만간 종료 됩니다 ",
"app.meeting.endedMessage": "홈화면으로 돌아갑니다 ",
- "app.meeting.alertMeetingEndsUnderOneMinute": "미팅은 몇분후 마감됩니다 ",
- "app.meeting.alertBreakoutEndsUnderOneMinute": "브레이크아웃이 몇분내로 종료됩니다 ",
+ "app.meeting.alertMeetingEndsUnderOneMinute": "미팅은 1분 후에 종료됩니다. ",
+ "app.meeting.alertBreakoutEndsUnderOneMinute": "브레이크아웃이 1분 후에 종료됩니다 ",
"app.presentation.hide": "프리젠테이션 숨기기",
"app.presentation.notificationLabel": "현재 프리젠테이션",
"app.presentation.slideContent": "슬라이드 컨텐츠",
@@ -142,23 +143,24 @@
"app.presentation.presentationToolbar.fitWidthDesc": "슬라이드의 총 너비 보이기 ",
"app.presentation.presentationToolbar.fitScreenLabel": "스크린 맞추기",
"app.presentation.presentationToolbar.fitScreenDesc": "모든 슬라이드 보이기",
- "app.presentation.presentationToolbar.zoomLabel": "확대",
- "app.presentation.presentationToolbar.zoomDesc": "프리젠테이션의 확대 레벨 조정",
+ "app.presentation.presentationToolbar.zoomLabel": "확대/축소",
+ "app.presentation.presentationToolbar.zoomDesc": "프리젠테이션의 확대/축소 수준 변경",
"app.presentation.presentationToolbar.zoomInLabel": "확대",
"app.presentation.presentationToolbar.zoomInDesc": "프리젠테이션 확대",
"app.presentation.presentationToolbar.zoomOutLabel": "축소",
"app.presentation.presentationToolbar.zoomOutDesc": "프리젠테이션 축소",
- "app.presentation.presentationToolbar.zoomReset": "확대 초기화",
+ "app.presentation.presentationToolbar.zoomReset": "확대/축소 초기화",
"app.presentation.presentationToolbar.zoomIndicator": "현재 확대율",
"app.presentation.presentationToolbar.fitToWidth": "너비 맞추기",
"app.presentation.presentationToolbar.fitToPage": "페이지 맞추기",
"app.presentation.presentationToolbar.goToSlide": "슬라이드 {0}",
"app.presentationUploder.title": "프리젠테이션",
+ "app.presentationUploder.message": "발표자는 Office 문서나 PDF 파일을 업로드할 수 있습니다. PDF 파일의 업로드를 권장합니다. 우측의 원형 체크박스를 클릭해 프리젠테이션 파일을 선택하고 '확인'을 클릭하세요. ",
"app.presentationUploder.uploadLabel": "업로드",
"app.presentationUploder.confirmLabel": "확인",
- "app.presentationUploder.confirmDesc": "변경된것을 저장하고 프리젠테이션을 시작",
+ "app.presentationUploder.confirmDesc": "변경 사항을 저장하고 프리젠테이션 시작",
"app.presentationUploder.dismissLabel": "취소",
- "app.presentationUploder.dismissDesc": "창을 닫고, 변경을 저장하지 않음",
+ "app.presentationUploder.dismissDesc": "변경 사항을 저장하지 않고 창 닫기",
"app.presentationUploder.dropzoneLabel": "업로드를 위해 파일을 이곳에 드래그 하여 넣으세요 ",
"app.presentationUploder.dropzoneImagesLabel": "업로드 하기 위해 이미지파일을 이곳에 드래그 하여 넣으세요 ",
"app.presentationUploder.browseFilesLabel": "혹은 파일탐색기 열기 ",
@@ -168,13 +170,20 @@
"app.presentationUploder.rejectedError": "선택한 파일(들)이 거절 되었습니다. 파일 종류(들)를 살펴 보세요 ",
"app.presentationUploder.upload.progress": "업로드중 ({0}%)",
"app.presentationUploder.upload.413": "파일이 너무 큽니다. 여러파일로 나누세요 ",
+ "app.presentationUploder.upload.408": "요청하신 업로드 토큰이 만료되었습니다.",
+ "app.presentationUploder.upload.404": "404: 잘못된 업로드 토큰",
+ "app.presentationUploder.upload.401": "프리젠테이션 업로드 토큰 요청이 실패했습니다.",
"app.presentationUploder.conversion.conversionProcessingSlides": "{1} 중 {0} 페이지 진행 ",
"app.presentationUploder.conversion.genericConversionStatus": "파일 변환",
"app.presentationUploder.conversion.generatingThumbnail": "썸네일 생성중",
"app.presentationUploder.conversion.generatedSlides": "슬라이드 생성중",
"app.presentationUploder.conversion.generatingSvg": "SVG 이미지 생성중",
+ "app.presentationUploder.conversion.pageCountExceeded": "페이지 제한 초과. 여러파일로 나누세요.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Office 문서 처리 실패. PDF 파일로 업로드 하세요.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Office 문서 처리 실패. PDF 파일로 업로드 하세요.",
"app.presentationUploder.conversion.pdfHasBigPage": "PDF 파일을 변환할 수 없습니다. 최적화를 시도 해 보세요 ",
"app.presentationUploder.conversion.timeout": "어머나! 변환이 너무 오래 걸리네요 ",
+ "app.presentationUploder.conversion.pageCountFailed": "페이지 수를 알 수 없음.",
"app.presentationUploder.isDownloadableLabel": "프리젠테이션 다운로드는 금지됩니다 ",
"app.presentationUploder.isNotDownloadableLabel": "프리젠테이션 다운로드 허가",
"app.presentationUploder.removePresentationLabel": "프리젠테이션 제거 ",
@@ -185,17 +194,17 @@
"app.poll.pollPaneTitle": "설문조사",
"app.poll.quickPollTitle": "빠른설문",
"app.poll.hidePollDesc": "설문메뉴 숨기기",
- "app.poll.customPollInstruction": "맞춤형 설문조사를 생성하기 위해, 선택버튼으로 당신의 옵션을 넣으세요 ",
- "app.poll.quickPollInstruction": "설문조사 시작을 위해 옵션을 선택 하세요 ",
+ "app.poll.customPollInstruction": "다른 형태의 답이 필요하면 아래 '맞춤형 설문조사'를 선택하고 설문조사를 시작하세요.",
+ "app.poll.quickPollInstruction": "예상되는 답의 형태를 고르고 설문조사를 시작하세요.",
"app.poll.customPollLabel": "맞춤형 설문조사",
"app.poll.startCustomLabel": "맞춤형 설문조사 시작",
- "app.poll.activePollInstruction": "설문조사에 대한 실시간 반응을 보려면, 이 패널을 오픈해 놓으세요. 당신이 준비 되면, 설문을 끝내고 결과를 공개 하기 위해 '공개 설문 결과' 를 선택 하세요 ",
- "app.poll.publishLabel": "공개 설문 결과",
+ "app.poll.activePollInstruction": "설문조사에 대한 실시간 반응을 보려면, 이 패널을 열어 놓으세요. 설문이 끝나면, 아래 '설문 결과 공개'를 클릭하고 결과를 알리세요.",
+ "app.poll.publishLabel": "설문 결과 공개",
"app.poll.backLabel": "설문옵션으로 돌아가기",
"app.poll.closeLabel": "닫기",
"app.poll.waitingLabel": "응답대기 ({0}/{1})",
"app.poll.ariaInputCount": "맞춤형 설문 옵션 {1} 중 {0}",
- "app.poll.customPlaceholder": "설문 옵션 추가 ",
+ "app.poll.customPlaceholder": "대답 옵션 추가 ",
"app.poll.noPresentationSelected": "프리젠테이션이 선택되지 않았습니다. 하나를 선택 하세요 ",
"app.poll.clickHereToSelect": "선택하려면 클릭하세요 ",
"app.poll.t": "참",
@@ -226,7 +235,7 @@
"app.downloadPresentationButton.label": "원본 프리젠테이션 다운로드",
"app.connectingMessage": "접속중 ...",
"app.waitingMessage": "접속끊김. 재접속 시도 {0} 초 ...",
- "app.retryNow": "다시 해 보세요 ",
+ "app.retryNow": "다시 시도 해 보세요 ",
"app.navBar.settingsDropdown.optionsLabel": "옵션",
"app.navBar.settingsDropdown.fullscreenLabel": "큰화면으로 ",
"app.navBar.settingsDropdown.settingsLabel": "설정",
@@ -249,9 +258,10 @@
"app.navBar.toggleUserList.newMessages": "새로운 메시지 알림과 함께",
"app.navBar.recording": "이 세션은 녹화중입니다 ",
"app.navBar.recording.on": "녹화",
- "app.navBar.recording.off": "녹화 안됨 ",
+ "app.navBar.recording.off": "녹화하지 않음 ",
+ "app.navBar.emptyAudioBrdige": "활성화된 마이크 없음. 녹음하려면 마이크를 공유하세요.",
"app.leaveConfirmation.confirmLabel": "떠나기",
- "app.leaveConfirmation.confirmDesc": "미팅없이 로그 기록 ",
+ "app.leaveConfirmation.confirmDesc": "미팅에서 로그 아웃",
"app.endMeeting.title": "미팅 끝",
"app.endMeeting.description": "이 세션을 종료 하시겠습니까 ?",
"app.endMeeting.yesLabel": "예",
@@ -267,20 +277,22 @@
"app.actionsBar.muteLabel": "음소거",
"app.actionsBar.unmuteLabel": "음소거 해제",
"app.actionsBar.camOffLabel": "카메라 끄기",
- "app.actionsBar.raiseLabel": "올리기",
+ "app.actionsBar.raiseLabel": "손들기",
"app.actionsBar.label": "액션바",
"app.actionsBar.actionsDropdown.restorePresentationLabel": "프리젠테이션 복구",
"app.actionsBar.actionsDropdown.restorePresentationDesc": "프리젠테이션이 끝나고 복원하는 버튼",
"app.screenshare.screenShareLabel" : "화면 공유",
"app.submenu.application.applicationSectionTitle": "신청",
"app.submenu.application.animationsLabel": "애니메이션",
- "app.submenu.application.audioAlertLabel": "채팅을 위한 오디오 알림",
- "app.submenu.application.pushAlertLabel": "채팅을 위한 팝업 알림",
+ "app.submenu.application.audioAlertLabel": "채팅 음성 알림",
+ "app.submenu.application.pushAlertLabel": "채팅 팝업 알림",
+ "app.submenu.application.userJoinAudioAlertLabel": "사용자 입장 시 음성 알림",
+ "app.submenu.application.userJoinPushAlertLabel": "사용자 입장 시 팝업 알림",
"app.submenu.application.fontSizeControlLabel": "글자 크기",
- "app.submenu.application.increaseFontBtnLabel": "신청 글자크기 확대",
- "app.submenu.application.decreaseFontBtnLabel": "신청 글자 크기 줄임",
+ "app.submenu.application.increaseFontBtnLabel": "응용프로그램 글자크기 확대",
+ "app.submenu.application.decreaseFontBtnLabel": "응용프로그램 글자 크기 줄임",
"app.submenu.application.currentSize": "현재 {0}",
- "app.submenu.application.languageLabel": "신청 언어",
+ "app.submenu.application.languageLabel": "응용프로그램 언어",
"app.submenu.application.languageOptionLabel": "언어 선택",
"app.submenu.application.noLocaleOptionLabel": "활성 로케일 없음",
"app.submenu.audio.micSourceLabel": "마이크 소스 ",
@@ -308,7 +320,10 @@
"app.settings.save-notification.label": "설정이 저장되었습니다 ",
"app.switch.onLabel": "켜기 ",
"app.switch.offLabel": "끄기",
- "app.actionsBar.actionsDropdown.actionsLabel": "활동",
+ "app.talkingIndicator.ariaMuteDesc" : "사용자를 음소거하려면 선택",
+ "app.talkingIndicator.isTalking" : "{0} 가 말하는 중입니다",
+ "app.talkingIndicator.wasTalking" : "{0} 가 말을 멈췄습니다",
+ "app.actionsBar.actionsDropdown.actionsLabel": "부가기능 활용",
"app.actionsBar.actionsDropdown.presentationLabel": "프리젠테이션 업로드",
"app.actionsBar.actionsDropdown.initPollLabel": "설문조사 초기화",
"app.actionsBar.actionsDropdown.desktopShareLabel": "화면 공유",
@@ -320,17 +335,17 @@
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "화면 공유 중지",
"app.actionsBar.actionsDropdown.pollBtnLabel": "설문 시작",
"app.actionsBar.actionsDropdown.pollBtnDesc": "설문조사 창 띄우기",
- "app.actionsBar.actionsDropdown.saveUserNames": "이름 저장",
+ "app.actionsBar.actionsDropdown.saveUserNames": "모든 사용자 이름 저장",
"app.actionsBar.actionsDropdown.createBreakoutRoom": "브레이크아웃 룸 생성",
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "현재의 미팅을 나눠 브레이크아웃 생성",
- "app.actionsBar.actionsDropdown.captionsLabel": "감춰진 자막 쓰기",
+ "app.actionsBar.actionsDropdown.captionsLabel": "폐쇄자막 쓰기",
"app.actionsBar.actionsDropdown.captionsDesc": "자막창 띄우기",
- "app.actionsBar.actionsDropdown.takePresenter": "발표자 수락",
+ "app.actionsBar.actionsDropdown.takePresenter": "발표권한 가져오기",
"app.actionsBar.actionsDropdown.takePresenterDesc": "새로운 발표자로 자신을 임명",
"app.actionsBar.emojiMenu.statusTriggerLabel": "상태 설정",
"app.actionsBar.emojiMenu.awayLabel": "부재중",
- "app.actionsBar.emojiMenu.awayDesc": "부재중으로 전환",
- "app.actionsBar.emojiMenu.raiseHandLabel": "올리기",
+ "app.actionsBar.emojiMenu.awayDesc": "부재중으로 상태 변경",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "손들기",
"app.actionsBar.emojiMenu.raiseHandDesc": "질문을 위해 손 들기",
"app.actionsBar.emojiMenu.neutralLabel": "미결정",
"app.actionsBar.emojiMenu.neutralDesc": "미결정으로 상태 변경",
@@ -340,8 +355,8 @@
"app.actionsBar.emojiMenu.sadDesc": "슬픔으로 상태 변경",
"app.actionsBar.emojiMenu.happyLabel": "행복함",
"app.actionsBar.emojiMenu.happyDesc": "행복함으로 상태 변경",
- "app.actionsBar.emojiMenu.noneLabel": "상태 비우기",
- "app.actionsBar.emojiMenu.noneDesc": "상태 비우기 ",
+ "app.actionsBar.emojiMenu.noneLabel": "상태 지우기",
+ "app.actionsBar.emojiMenu.noneDesc": "상태 지우기 ",
"app.actionsBar.emojiMenu.applauseLabel": "박수",
"app.actionsBar.emojiMenu.applauseDesc": "박수로 상태를 변경",
"app.actionsBar.emojiMenu.thumbsUpLabel": "엄지척",
@@ -349,12 +364,24 @@
"app.actionsBar.emojiMenu.thumbsDownLabel": "비공감",
"app.actionsBar.emojiMenu.thumbsDownDesc": "비공감으로 상태를 변경",
"app.actionsBar.currentStatusDesc": "현재 상태 {0}",
- "app.actionsBar.captions.start": "감춘 자막 보기 시작",
- "app.actionsBar.captions.stop": "감춘 자막 보기 중지 ",
- "app.audioNotification.audioFailedMessage": "오디오 접속이 끊어졌습니다 ",
- "app.audioNotification.mediaFailedMessage": "마이크정보 가져오기가 실패. 보안상태만 허가됨",
+ "app.actionsBar.captions.start": "폐쇄자막 보기 시작",
+ "app.actionsBar.captions.stop": "폐쇄자막 보기 중지 ",
+ "app.audioNotification.audioFailedError1001": "WebSocket 연결 끊김(오류 1001)",
+ "app.audioNotification.audioFailedError1002": "WebSocket 연결 불가(오류 1002)",
+ "app.audioNotification.audioFailedError1003": "지원하지 않는 브라우저 버전(오류 1003)",
+ "app.audioNotification.audioFailedError1004": "호출 실패(이유: {0}) (오류 1004)",
+ "app.audioNotification.audioFailedError1005": "비정상적 호출 종료(오류 1005)",
+ "app.audioNotification.audioFailedError1006": "호출 시간초과(오류 1006)",
+ "app.audioNotification.audioFailedError1007": "연결 실패(ICE 오류 1007)",
+ "app.audioNotification.audioFailedError1008": "전송 실패(오류 1008)",
+ "app.audioNotification.audioFailedError1009": "STUN/TURN 서버정보 가져오기 실패(오류 1009)",
+ "app.audioNotification.audioFailedError1010": "연결 협상 시간초과(ICE 오류 1010)",
+ "app.audioNotification.audioFailedError1011": "연결 시간초과(ICE 오류 1011)",
+ "app.audioNotification.audioFailedError1012": "연결 종료(ICE 오류 1012)",
+ "app.audioNotification.audioFailedMessage": "오디오 연결에 실패했습니다",
+ "app.audioNotification.mediaFailedMessage": "getUserMicMedia 실패. 안전한 소스만 허락됨",
"app.audioNotification.closeLabel": "닫기",
- "app.audioNotificaion.reconnectingAsListenOnly": "관람자의 마이크는 잠깁니다. 듣기만 가능한 상태로 접속 되었습니다 ",
+ "app.audioNotificaion.reconnectingAsListenOnly": "관람자의 마이크는 잠깁니다. 듣기만 가능한 상태로 연결되었습니다 ",
"app.breakoutJoinConfirmation.title": "브레이크아웃 룸 들어가기",
"app.breakoutJoinConfirmation.message": "합류 하시겠습니까 ?",
"app.breakoutJoinConfirmation.confirmDesc": "브레이크아웃 룸에 합류하기",
@@ -362,7 +389,7 @@
"app.breakoutJoinConfirmation.dismissDesc": "닫고 브레이크아웃 룸 합류 거절",
"app.breakoutJoinConfirmation.freeJoinMessage": "합류할 브레이크아웃 룸 선택",
"app.breakoutTimeRemainingMessage": "브레이크아웃 룸 남은 시간 : {0}",
- "app.breakoutWillCloseMessage": "시간 종료. 브레이크아웃 룸은 닫힙니다 ",
+ "app.breakoutWillCloseMessage": "시간 종료. 브레이크아웃 룸은 곧 닫힙니다 ",
"app.calculatingBreakoutTimeRemaining": "남은 시간 계산중 ...",
"app.audioModal.ariaTitle": "오디오 창 합류",
"app.audioModal.microphoneLabel": "마이크",
@@ -378,12 +405,12 @@
"app.audioModal.no": "아니요",
"app.audioModal.yes.arialabel" : "메아리 들리게 ",
"app.audioModal.no.arialabel" : "메아리 들리지 않게 ",
- "app.audioModal.echoTestTitle": "이것은 메아리 테스트 입니다. 몇마디 말을 해 보세요. 들리시나요 ?",
+ "app.audioModal.echoTestTitle": "메아리 테스트입니다. 말씀해 보세요. 들리시나요 ?",
"app.audioModal.settingsTitle": "오디오 설정을 변경하세요 ",
"app.audioModal.helpTitle": "미디어 장치에 문제가 있습니다 ",
"app.audioModal.helpText": "마이크에 접근권한을 주었나요 ? 오디오에 합류하려고 할때 미디어 장치에 대한 권한을 묻는 창이 보일겁니다. 오디오 컨퍼런스에 합류하기 위해서는 권한을 허용하셔야 합니다. 이런 경우가 아니면, 브라우저 설정에서 마이크 권한을 변경하셔야 합니다 ",
- "app.audioModal.help.noSSL": "이 페이지는 보안이 안되어 있습니다. 이 페이지에서 마이크 사용이 가능하려면 서버는 HTTPS 로 서비스 되어야 합니다. 서버관리자에게 도움을 요청 하세요 ",
- "app.audioModal.help.macNotAllowed": "당신의 Mac 시스템 설정이 마이크 권한을 막는것 같아 보입니다. System Preference > Security & Privacy > Privacy > Microphone 으로 가서 사용함으로 체크되어 있는지 확인 해 보세요 ",
+ "app.audioModal.help.noSSL": "이 페이지는 안전하지 않습니다. 이 페이지에서 마이크를 사용하려면 HTTPS가 지원되어야 합니다. 서버관리자에게 도움을 요청 하세요 ",
+ "app.audioModal.help.macNotAllowed": "당신의 Mac 시스템 설정이 마이크 권한을 막는것 같아 보입니다. System Preference > Security & Privacy > Privacy > Microphone에서 사용함이 체크되어 있는지 확인 해 보세요 ",
"app.audioModal.audioDialTitle": "전화로 합류하기",
"app.audioDial.audioDialDescription": "다이얼",
"app.audioDial.audioDialConfrenceText": "컨퍼런스 PIN 번호로 들어가기",
@@ -393,7 +420,7 @@
"app.audioDial.tipIndicator": "팁",
"app.audioDial.tipMessage": "전화기의 '0' 버튼을 누르면, 음소거/취소가 됩니다 ",
"app.audioModal.connecting": "접속중",
- "app.audioModal.connectingEchoTest": "메아리 테스트를 위한 접속 ",
+ "app.audioModal.connectingEchoTest": "메아리 테스트를 위한 연결 ",
"app.audioManager.joinedAudio": "오디오 컨퍼런스에 합류하셨습니다 ",
"app.audioManager.joinedEcho": "메아리 테스트에 합류하셨습니다 ",
"app.audioManager.leftAudio": "오디오 컨퍼런스에서 나오셨습니다 ",
@@ -420,11 +447,11 @@
"app.audio.permissionsOverlay.hint": "음성 컨퍼런스에 참여 하기 위해 미디어 장치에 대한 허가가 필요 합니다 :)",
"app.error.removed": "컨퍼런스에서 퇴장하셨습니다 ",
"app.error.meeting.ended": "컨퍼런스에서 나오셨습니다 ",
- "app.meeting.logout.duplicateUserEjectReason": "미팅에 참여 하기 위해 사용자를 복제 ",
+ "app.meeting.logout.duplicateUserEjectReason": "회의에 참여하려는 사용자 중복",
"app.meeting.logout.permissionEjectReason": "권한 위반으로 퇴거",
"app.meeting.logout.ejectedFromMeeting": "미팅에서 퇴장되셨습니다 ",
"app.meeting.logout.validateTokenFailedEjectReason": "권한 인증 실패 ",
- "app.meeting.logout.userInactivityEjectReason": "사용자 비활성화 ",
+ "app.meeting.logout.userInactivityEjectReason": "사용자가 너무 오래 비활성 ",
"app.meeting-ended.rating.legendLabel": "피드백 평가",
"app.meeting-ended.rating.starLabel": "Star",
"app.modal.close": "닫기",
@@ -446,7 +473,7 @@
"app.guest.waiting": "합류 허가를 기다림",
"app.userList.guest.waitingUsers": "사용자 기다림",
"app.userList.guest.waitingUsersTitle": "사용자 관리",
- "app.userList.guest.optionTitle": "보류자 돌아보기",
+ "app.userList.guest.optionTitle": "보류중인 사용자 검토",
"app.userList.guest.allowAllAuthenticated": "인증된 자를 모두 허용",
"app.userList.guest.allowAllGuests": "모든 게스트 허용",
"app.userList.guest.allowEveryone": "모두 허용",
@@ -457,8 +484,8 @@
"app.userList.guest.rememberChoice": "선택을 기억",
"app.user-info.title": "디렉토리 검색",
"app.toast.breakoutRoomEnded": "브레이크아웃 룸이 종료 되었습니다. 오디오로 다시 합류하세요",
- "app.toast.chat.public": "새로운 공동 채팅 메시지",
- "app.toast.chat.private": "새로운 개인채팅 메시지",
+ "app.toast.chat.public": "새로운 공개 채팅 메시지",
+ "app.toast.chat.private": "새로운 비공개 채팅 메시지",
"app.toast.chat.system": "시스템",
"app.toast.clearedEmoji.label": "이모지 상태 정리 ",
"app.toast.setEmoji.label": "이모지 상태를 {0} 로 설정",
@@ -468,6 +495,7 @@
"app.notification.recordingStop": "이 세션은 녹화되지 않습니다 ",
"app.notification.recordingPaused": "이 세션은 더이상 녹화되지 않습니다 ",
"app.notification.recordingAriaLabel": "녹화 시간",
+ "app.notification.userJoinPushAlert": "{0} 가 세션에 합류했습니다",
"app.shortcut-help.title": "키보드 바로가기",
"app.shortcut-help.accessKeyNotAvailable": "접속 키 불가 ",
"app.shortcut-help.comboLabel": "Combo",
@@ -477,23 +505,23 @@
"app.shortcut-help.openOptions": "옵션 열기",
"app.shortcut-help.toggleUserList": "사용자 리스트 창 ",
"app.shortcut-help.toggleMute": "음소거 / 해제",
- "app.shortcut-help.togglePublicChat": "공동 채팅 창 ( 사용자 리스트가 열려 있어야 함 )",
- "app.shortcut-help.hidePrivateChat": "개인 채팅 숨기기",
- "app.shortcut-help.closePrivateChat": "개인 채팅 닫기 ",
+ "app.shortcut-help.togglePublicChat": "공개 채팅 창 ( 사용자 리스트가 열려 있어야 함 )",
+ "app.shortcut-help.hidePrivateChat": "비공개 채팅 숨기기",
+ "app.shortcut-help.closePrivateChat": "비공개 채팅 닫기 ",
"app.shortcut-help.openActions": "기능 메뉴 열기",
"app.shortcut-help.openStatus": "상태 메뉴 열기",
"app.shortcut-help.togglePan": "Pan 도구 활성화 ( 발표자 )",
"app.shortcut-help.nextSlideDesc": "다음 슬라이드 (발표자)",
"app.shortcut-help.previousSlideDesc": "이전 슬라이드 (발표자)",
"app.lock-viewers.title": "관람자 잠그기",
- "app.lock-viewers.description": "이 옵션을 사용하면 시청자가 특정 기능을 사용하지 못하도록 제한 할 수 있습니다",
+ "app.lock-viewers.description": "이 옵션을 사용하면 관람자가 특정 기능을 사용하지 못하도록 제한 할 수 있습니다",
"app.lock-viewers.featuresLable": "특징",
"app.lock-viewers.lockStatusLabel": "상태",
"app.lock-viewers.webcamLabel": "웹캠 공유",
"app.lock-viewers.otherViewersWebcamLabel": "다른 관람자의 웹캠 보기",
"app.lock-viewers.microphoneLable": "마이크 공유",
- "app.lock-viewers.PublicChatLabel": "공동 채팅 메시지 보내기",
- "app.lock-viewers.PrivateChatLable": "개인 채팅 메시지 보내기",
+ "app.lock-viewers.PublicChatLabel": "공개 채팅 메시지 보내기",
+ "app.lock-viewers.PrivateChatLable": "비공개 채팅 메시지 보내기",
"app.lock-viewers.notesLabel": "공유 노트 쓰기",
"app.lock-viewers.userListLabel": "사용자 리스트에 있는 다른 관람자 보기 ",
"app.lock-viewers.ariaTitle": "관람자 설정창 고정",
@@ -504,10 +532,10 @@
"app.recording.startTitle": "녹화 시작",
"app.recording.stopTitle": "녹화 일시중지",
"app.recording.resumeTitle": "녹화 재시작",
- "app.recording.startDescription": "녹화 중단 버튼을 누른후 녹화 버튼을 다시 누를 수 있습니다 ",
- "app.recording.stopDescription": "녹화를 중단 하시겠습니까 ? 녹화버튼을 눌러서 녹화를 다시 시작하실 수 있습니다 ",
+ "app.recording.startDescription": "녹화 버튼을 눌러 녹화를 일시중지 시킬 수 있습니다",
+ "app.recording.stopDescription": "녹화를 일시중지 하시겠습니까 ? 녹화 재시작 버튼을 누르면 계속 녹화할 수 있습니다 ",
"app.videoPreview.cameraLabel": "카메라",
- "app.videoPreview.profileLabel": "퀄리티",
+ "app.videoPreview.profileLabel": "품질",
"app.videoPreview.cancelLabel": "취소",
"app.videoPreview.closeLabel": "닫기",
"app.videoPreview.findingWebcamsLabel": "웹캠 찾기",
@@ -520,12 +548,14 @@
"app.video.joinVideo": "웹캠 공유",
"app.video.leaveVideo": "웹캠 공유 중지",
"app.video.iceCandidateError": "ICE 추가 에러 ",
+ "app.video.iceConnectionStateError": "연결 실패(ICE 오류 1107)",
"app.video.permissionError": "웹캠 공유중 에러. 장치 권한을 체크 하세요 ",
"app.video.sharingError": "웹캠 공유 에러 ",
"app.video.notFoundError": "웹캠을 찾지 못했습니다. 연결을 확인 해 보세요 ",
"app.video.notAllowed": "웹캠 공유 권한을 찾지 못했습니다. 브라우저 권한을 확인 하세요 ",
"app.video.notSupportedError": "안전한 접속에서만 웹캠공유가 가능합니다. SSL 인증서에 문제가 없는지 확인 하세요 ",
"app.video.notReadableError": "웹캠 비디오를 가져 올 수 없습니다. 다른 프로그램에서 웹캠을 사용하고 있지 않은지 확인 하세요 ",
+ "app.video.mediaFlowTimeout1020": "Media가 서버에 도달할 수 없습니다(오류 1020)",
"app.video.suggestWebcamLock": "관람자의 웹캠을 강제로 잠금설정 하겠습니까 ?",
"app.video.suggestWebcamLockReason": "( 이것은 미팅의 안정성을 높여줄것입니다 )",
"app.video.enable": "가능",
@@ -542,7 +572,7 @@
"app.video.stats.title": "접속 현황",
"app.video.stats.packetsReceived": "패킷 접수 ",
"app.video.stats.packetsSent": "패킷 전송",
- "app.video.stats.packetsLost": "패킷 실종",
+ "app.video.stats.packetsLost": "패킷 손실",
"app.video.stats.bitrate": "비트레이트",
"app.video.stats.lostPercentage": "총 실패율",
"app.video.stats.lostRecentPercentage": "최근 실패율",
@@ -553,6 +583,16 @@
"app.video.stats.encodeUsagePercent": "인코딩 사용율",
"app.video.stats.currentDelay": "현재 지연",
"app.fullscreenButton.label": "{0} 을 꽉찬화면으로 ",
+ "app.deskshare.iceConnectionStateError": "스크린 공유 중 연결 실패(ICE 오류 1108)",
+ "app.sfu.mediaServerConnectionError2000": "미디어 서버에 연결할 수 없음(오류 2000)",
+ "app.sfu.mediaServerOffline2001": "미디어서버가 꺼져있습니다. 다시 시도해 보세요(오류 2001)",
+ "app.sfu.mediaServerNoResources2002": "미디어서버에 가용자원이 없습니다(오류 2002)",
+ "app.sfu.mediaServerRequestTimeout2003": "미디어서버 요청 시간이 초과되었습니다(오류 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "미디어서버가 연결대상을 수집할 수 없습니다(ICE 오류 2021)",
+ "app.sfu.serverIceGatheringFailed2022": "미디어서버 연결 실패(ICE 오류 2022)",
+ "app.sfu.mediaGenericError2200": "미디어서버가 요청을 처리하지 못했습니다(오류 2200)",
+ "app.sfu.invalidSdp2202":"클라이언트가 유효하지 않은 미디어 요청을 생성했습니다(SDP 오류 2202)",
+ "app.sfu.noAvailableCodec2203": "서버에서 적절한 코덱을 찾을 수 없습니다(오류 2203)",
"app.meeting.endNotification.ok.label": "예",
"app.whiteboard.annotations.poll": "설문결과 공개 ",
"app.whiteboard.toolbar.tools": "도구들",
@@ -592,7 +632,7 @@
"app.videoDock.webcamFocusLabel": "촛점",
"app.videoDock.webcamFocusDesc": "선택된 웹캠에 집중",
"app.videoDock.webcamUnfocusLabel": "포커스 해제",
- "app.videoDock.webcamUnfocusDesc": "선택된 웹캡에 포커스 해제",
+ "app.videoDock.webcamUnfocusDesc": "선택된 웹캠에 포커스 해제",
"app.videoDock.autoplayBlockedDesc": "다른 사용자의 웹캠을 보여 주기 위해 당신의 허가가 필요 합니다 ",
"app.videoDock.autoplayAllowLabel": "웹캠 보기",
"app.invitation.title": "브레이크아웃룸 초대",
@@ -618,7 +658,7 @@
"app.createBreakoutRoom.roomName": "{0} ( 룸 - {1} )",
"app.createBreakoutRoom.doneLabel": "완료",
"app.createBreakoutRoom.nextLabel": "다음",
- "app.createBreakoutRoom.minusRoomTime": "브레이크 아웃 룸 시간 줄이기 ",
+ "app.createBreakoutRoom.minusRoomTime": "브레이크 아웃룸 시간 줄이기 ",
"app.createBreakoutRoom.addRoomTime": "브레이크 아웃룸 시간 늘리기",
"app.createBreakoutRoom.addParticipantLabel": "+ 참가자 추가",
"app.createBreakoutRoom.freeJoin": "사용자가 참여할 브레이크 아웃룸을 선택하게 허가 ",
@@ -638,7 +678,7 @@
"app.externalVideo.noteLabel": "알림 : 외부 비디오 공유는 녹화에 나타나지 않습니다. Youtube, Vimeo, Instructure Media, Twitch and Daily Motion URL 은 지원됩니다 ",
"app.actionsBar.actionsDropdown.shareExternalVideo": "외부 비디오 공유",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "외부 비디오 공유 중지 ",
- "app.iOSWarning.label": "iOS 12.2 혹은 그 이상으로 업그레이드 하세요 ",
+ "app.iOSWarning.label": "iOS 12.2 이상으로 업그레이드 하세요 ",
"app.legacy.unsupportedBrowser": "지원되지 않는 브라우저를 사용하시는것 같습니다. 충분한 지원을 위해 {0} 이나 {1} 를 사용하세요 ",
"app.legacy.upgradeBrowser": "오래된 버전의 브라우저를 사용하시는것 같습니다. 충분한 지원을 위해 브라우저를 업그레이드 하세요 ",
"app.legacy.criosBrowser": "iOS 를 사용중이시라면, Safari 브라우저를 사용하세요 "
diff --git a/bigbluebutton-html5/private/locales/nb_NO.json b/bigbluebutton-html5/private/locales/nb_NO.json
index cc3b046240..560b64d9d1 100644
--- a/bigbluebutton-html5/private/locales/nb_NO.json
+++ b/bigbluebutton-html5/private/locales/nb_NO.json
@@ -1,16 +1,16 @@
{
"app.home.greeting": "Presentasjonen din starter snart ...",
"app.chat.submitLabel": "Send melding",
- "app.chat.errorMaxMessageLength": "Meldingen er {0} bokstaver for lang",
+ "app.chat.errorMaxMessageLength": "Meldingen er {0} bokstav(er) for lang",
"app.chat.disconnected": "Du er frakoblet, meldinger kan ikke bli sendt.",
"app.chat.locked": "Chat er for øyeblikket låst, meldinger kan ikke bli sendt",
- "app.chat.inputLabel": "Skrivefelt for chat [0]",
- "app.chat.inputPlaceholder": "Send melding til [0]",
+ "app.chat.inputLabel": "Skrivefelt for chat {0}",
+ "app.chat.inputPlaceholder": "Send melding til {0}",
"app.chat.titlePublic": "Gruppechat",
- "app.chat.titlePrivate": "Privat chat med [0]",
- "app.chat.partnerDisconnected": "[0] har forlatt møtet",
- "app.chat.closeChatLabel": "Lukk [0]",
- "app.chat.hideChatLabel": "Skjul [0]",
+ "app.chat.titlePrivate": "Privat chat med {0}",
+ "app.chat.partnerDisconnected": "{0} har forlatt møtet",
+ "app.chat.closeChatLabel": "Lukk {0}",
+ "app.chat.hideChatLabel": "Skjul {0}",
"app.chat.moreMessages": "Flere meldinger under",
"app.chat.dropdown.options": "Chatinnstillinger",
"app.chat.dropdown.clear": "Tøm",
@@ -21,8 +21,8 @@
"app.chat.emptyLogLabel": "Chatloggen er tom",
"app.chat.clearPublicChatMessage": "Gruppechaten har blitt tømt av en moderator",
"app.chat.multi.typing": "Flere brukere skriver",
- "app.chat.one.typing": "[0] skriver",
- "app.chat.two.typing": "[0] og [1] skriver",
+ "app.chat.one.typing": "{0} skriver",
+ "app.chat.two.typing": "{0} og {1} skriver",
"app.captions.label": "Undertekster",
"app.captions.menu.close": "Lukk",
"app.captions.menu.start": "Start",
@@ -41,7 +41,7 @@
"app.captions.pad.hide": "Skjul undertekster",
"app.captions.pad.tip": "Trykk på Escape for å fokusere på verktøylinjen for redigering",
"app.captions.pad.ownership": "Ta over",
- "app.captions.pad.ownershipTooltip": "Du vil bli satt som eier av [0] undertekster",
+ "app.captions.pad.ownershipTooltip": "Du vil bli satt som eier av {0} undertekster",
"app.captions.pad.interimResult": "Midlertidige resultater",
"app.captions.pad.dictationStart": "Start diktering",
"app.captions.pad.dictationStop": "Stopp diktering",
@@ -63,22 +63,25 @@
"app.userList.presenter": "Presentator",
"app.userList.you": "Deg",
"app.userList.locked": "Låst",
+ "app.userList.byModerator": "av (Moderator)",
"app.userList.label": "Brukerliste",
"app.userList.toggleCompactView.label": "Kompaktmodus",
"app.userList.guest": "Gjest",
"app.userList.menuTitleContext": "Tilgjengelige valg",
- "app.userList.chatListItem.unreadSingular": "[0] Ny melding",
- "app.userList.chatListItem.unreadPlural": "[0] nye meldinger",
+ "app.userList.chatListItem.unreadSingular": "{0} Ny melding",
+ "app.userList.chatListItem.unreadPlural": "{0} nye meldinger",
"app.userList.menu.chat.label": "Start en privat chat",
"app.userList.menu.clearStatus.label": "Tilbakestill status",
"app.userList.menu.removeUser.label": "Fjern bruker",
+ "app.userList.menu.removeConfirmation.label": "Fjern bruker ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Er du sikker på at du vil fjerne brukeren? Brukeren vil ikke kunne bli med i webinaret igjen. ",
"app.userList.menu.muteUserAudio.label": "Mute brukeren",
"app.userList.menu.unmuteUserAudio.label": "Unmute brukeren",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
"app.userList.menu.promoteUser.label": "Oppgrader til moderator",
"app.userList.menu.demoteUser.label": "Nedgrader til deltager",
- "app.userList.menu.unlockUser.label": "Lås opp [0]",
- "app.userList.menu.lockUser.label": "Lås [0]",
+ "app.userList.menu.unlockUser.label": "Lås opp {0}",
+ "app.userList.menu.lockUser.label": "Lås {0}",
"app.userList.menu.directoryLookup.label": "Katalogoppslag",
"app.userList.menu.makePresenter.label": "Gi presentator",
"app.userList.userOptions.manageUsersLabel": "Administrer brukere",
@@ -112,7 +115,6 @@
"app.media.screenshare.start": "Skjermdeling har startet",
"app.media.screenshare.end": "Skjermdeling avsluttet",
"app.media.screenshare.unavailable": "Skjermdeling utilgjengelig",
- "app.media.screenshare.safariNotSupported": "Skjermdeling er for øyeblikket ikke støttet i Safari. Vennligst bruk Firefox eller Google Chrome.",
"app.media.screenshare.autoplayBlockedDesc": "Vi trenger din godkjennelse til å vise deg presentators skjerm.",
"app.media.screenshare.autoplayAllowLabel": "Se delte skjerm",
"app.screenshare.notAllowed": "Feil: Tilgang til skjermdeling ble ikke gitt",
@@ -120,7 +122,7 @@
"app.screenshare.notReadableError": "Feil: Noe gikk galt under skjermdeling",
"app.screenshare.genericError": "Feil: Noe gikk galt under skjermdeling, vennligst prøv igjen",
"app.meeting.ended": "Denne økten er avsluttet",
- "app.meeting.meetingTimeRemaining": "Gjenværende tid: [0]",
+ "app.meeting.meetingTimeRemaining": "Gjenværende tid: {0}",
"app.meeting.meetingTimeHasEnded": "Tiden er ute. Møtet avsluttes straks",
"app.meeting.endedMessage": "Du blir videreført til hjemskjermen",
"app.meeting.alertMeetingEndsUnderOneMinute": "Møtet avsluttes om ett minutt",
@@ -154,7 +156,7 @@
"app.presentation.presentationToolbar.zoomIndicator": "Nåværende størrelsesprosent",
"app.presentation.presentationToolbar.fitToWidth": "Tilpass bredde",
"app.presentation.presentationToolbar.fitToPage": "Tilpass side",
- "app.presentation.presentationToolbar.goToSlide": "Slide [0]",
+ "app.presentation.presentationToolbar.goToSlide": "Slide {0}",
"app.presentationUploder.title": "Presentasjon",
"app.presentationUploder.message": "Som presentator har du muligheten til å laste opp ethvert officedokument eller PDF fil. Vi anbefaler PDF for optimalt resultat. Vennligst se at presentasjonen er valgt ved bruk av den runde avsjekksboksen på høyre side.",
"app.presentationUploder.uploadLabel": "Last opp",
@@ -171,7 +173,10 @@
"app.presentationUploder.rejectedError": "De valgte filen(e) har ikke blitt godtatt. Vennligst sjekk filtypen(e).",
"app.presentationUploder.upload.progress": "Laster opp ({0}%)",
"app.presentationUploder.upload.413": "Filen er for stor, vennligst del den opp i flere filer",
- "app.presentationUploder.conversion.conversionProcessingSlides": "Bearbeider side [0] av [1]",
+ "app.presentationUploder.upload.408": "Forespørsel om oplastingsnøkkel gikk ut på tid",
+ "app.presentationUploder.upload.404": "404: Ikke godkjent opplastingsnøkkel",
+ "app.presentationUploder.upload.401": "Foresøprring av opplastingstoken feilet.",
+ "app.presentationUploder.conversion.conversionProcessingSlides": "Bearbeider side {0} av {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Konverterer fil ...",
"app.presentationUploder.conversion.generatingThumbnail": "Genererer miniatyrbilder",
"app.presentationUploder.conversion.generatedSlides": "Sider generert ...",
@@ -201,7 +206,7 @@
"app.poll.backLabel": "Tilbake til spørsmålsvalg",
"app.poll.closeLabel": "Lukk",
"app.poll.waitingLabel": "Venter på svar ({0}/{1})",
- "app.poll.ariaInputCount": "Tilpasset spørsmålsvalg[0] av [1]",
+ "app.poll.ariaInputCount": "Tilpasset spørsmålsvalg {0} av {1}",
"app.poll.customPlaceholder": "Legg til spørsmålsvalg",
"app.poll.noPresentationSelected": "Ingen presentasjon valgt! Vennligst velg en.",
"app.poll.clickHereToSelect": "Trykk her for å velge",
@@ -227,12 +232,12 @@
"app.poll.liveResult.usersTitle": "Brukere",
"app.poll.liveResult.responsesTitle": "Tilbakemelding",
"app.polling.pollingTitle": "Spørsmålsvalg",
- "app.polling.pollAnswerLabel": "Svar[0]",
- "app.polling.pollAnswerDesc": "Velg dette for å stemme på [0]",
+ "app.polling.pollAnswerLabel": "Svar {0}",
+ "app.polling.pollAnswerDesc": "Velg dette for å stemme på {0}",
"app.failedMessage": "Beklager, vi har problemer med å koble til serveren.",
"app.downloadPresentationButton.label": "Last ned presentasjonen",
"app.connectingMessage": "Kobler til ...",
- "app.waitingMessage": "Frakoblet. Prøver å koble til på nytt om [0] sekunder ...",
+ "app.waitingMessage": "Frakoblet. Prøver å koble til på nytt om {0} sekunder ...",
"app.retryNow": "Prøv igjen nå",
"app.navBar.settingsDropdown.optionsLabel": "Valg",
"app.navBar.settingsDropdown.fullscreenLabel": "Gjør fullskjerm",
@@ -289,7 +294,7 @@
"app.submenu.application.fontSizeControlLabel": "Tekststørrelse",
"app.submenu.application.increaseFontBtnLabel": "Forstørr applikasjonens tekststørrelse",
"app.submenu.application.decreaseFontBtnLabel": "Forminsk applikasjonens fontstørrelse",
- "app.submenu.application.currentSize": "for øyeblikket [0]",
+ "app.submenu.application.currentSize": "for øyeblikket {0}",
"app.submenu.application.languageLabel": "Applikasjonsspråk",
"app.submenu.application.languageOptionLabel": "Velg språk",
"app.submenu.application.noLocaleOptionLabel": "Ingen aktive språk",
@@ -319,8 +324,8 @@
"app.switch.onLabel": "På",
"app.switch.offLabel": "Av",
"app.talkingIndicator.ariaMuteDesc" : "Velg for å gjøre brukeren lydløs",
- "app.talkingIndicator.isTalking" : "[0] snakker",
- "app.talkingIndicator.wasTalking" : "[0] stoppet å snakke",
+ "app.talkingIndicator.isTalking" : "{0} snakker",
+ "app.talkingIndicator.wasTalking" : "{0} stoppet å snakke",
"app.actionsBar.actionsDropdown.actionsLabel": "Handlinger",
"app.actionsBar.actionsDropdown.presentationLabel": "Last opp en presentasjon",
"app.actionsBar.actionsDropdown.initPollLabel": "Start en spørrerunde",
@@ -361,13 +366,13 @@
"app.actionsBar.emojiMenu.thumbsUpDesc": "Endre din status til tommel opp",
"app.actionsBar.emojiMenu.thumbsDownLabel": "Tommel ned",
"app.actionsBar.emojiMenu.thumbsDownDesc": "ndre din status til tommel ned",
- "app.actionsBar.currentStatusDesc": "Nåværende status [0]",
+ "app.actionsBar.currentStatusDesc": "Nåværende status {0}",
"app.actionsBar.captions.start": "Start visning av undertekster",
"app.actionsBar.captions.stop": "Stopp visning av undertekster",
"app.audioNotification.audioFailedError1001": "WebSocket Disconnected (error 1002)",
"app.audioNotification.audioFailedError1002": "Kunne ikke lage en WebSocket tilkobling (error 1002)",
"app.audioNotification.audioFailedError1003": "Nettleserversjonen er ikke støttet (error 1003)",
- "app.audioNotification.audioFailedError1004": "Feil ved oppringning (årsak=[0])) (error 1004)",
+ "app.audioNotification.audioFailedError1004": "Feil ved oppringning (årsak={0}) (error 1004)",
"app.audioNotification.audioFailedError1005": "Oppringningen stoppet uvventet (error 1005)",
"app.audioNotification.audioFailedError1006": "Oppringningen tok for lang tid (error 1006)",
"app.audioNotification.audioFailedError1007": "Tilkoblingsfeil (ICE error 1007)",
@@ -386,7 +391,7 @@
"app.breakoutJoinConfirmation.dismissLabel": "Avbryt",
"app.breakoutJoinConfirmation.dismissDesc": "Lukker og avviser forespørselen om grupperom",
"app.breakoutJoinConfirmation.freeJoinMessage": "Velg et grupperom å bli med i",
- "app.breakoutTimeRemainingMessage": "Gjenværende tid for grupperom: [0]",
+ "app.breakoutTimeRemainingMessage": "Gjenværende tid for grupperom: {0}",
"app.breakoutWillCloseMessage": "Tiden er ute. Grupperom avsluttes snart",
"app.calculatingBreakoutTimeRemaining": "Kalkulerer gjenværende tid ...",
"app.audioModal.ariaTitle": "Audiomodal",
@@ -397,7 +402,7 @@
"app.audioModal.iOSErrorDescription": "På nåværende tidspunkt er ikke audio og video støttet på Chrome for iOS",
"app.audioModal.iOSErrorRecommendation": "Vi anbefaler at du bruker Safari for iOS",
"app.audioModal.audioChoiceDesc": "Velg hvordan du ønsker å bli med i lydmøtet",
- "app.audioModal.unsupportedBrowserLabel": "Det ser ut som du bruker en nettleser som ikke er fullt støttet. Velg enten [0] eller [1] for full støtte.",
+ "app.audioModal.unsupportedBrowserLabel": "Det ser ut som du bruker en nettleser som ikke er fullt støttet. Velg enten {0} eller {1} for full støtte.",
"app.audioModal.closeLabel": "Lukk",
"app.audioModal.yes": "Ja",
"app.audioModal.no": "Nei",
@@ -476,8 +481,8 @@
"app.userList.guest.allowAllGuests": "Godta alle gjester",
"app.userList.guest.allowEveryone": "Godta alle",
"app.userList.guest.denyEveryone": "Blokker alle",
- "app.userList.guest.pendingUsers": "[0] Ventende brukere",
- "app.userList.guest.pendingGuestUsers": "[0] ventende gjestebrukere",
+ "app.userList.guest.pendingUsers": "{0} Ventende brukere",
+ "app.userList.guest.pendingGuestUsers": "{0} ventende gjestebrukere",
"app.userList.guest.pendingGuestAlert": "Har blitt med i møtet og venter på din godkjenning",
"app.userList.guest.rememberChoice": "Husk valg",
"app.user-info.title": "Katalogoppslag",
@@ -486,14 +491,14 @@
"app.toast.chat.private": "Ny privatmelding",
"app.toast.chat.system": "System",
"app.toast.clearedEmoji.label": "Emoji status tilbakesatt",
- "app.toast.setEmoji.label": "Emoji status satt til [0]",
+ "app.toast.setEmoji.label": "Emoji status satt til {0}",
"app.toast.meetingMuteOn.label": "Alle brukere har blitt mutet",
"app.toast.meetingMuteOff.label": "Møtemute er skrudd av",
"app.notification.recordingStart": "Dette møtet blir nå spilt inn",
"app.notification.recordingStop": "Dette møtet blir ikke spilt inn",
"app.notification.recordingPaused": "Dette møtet blir ikke spilt inn lengre",
"app.notification.recordingAriaLabel": "Innspillingstid",
- "app.notification.userJoinPushAlert": "[0] ble med i møtet",
+ "app.notification.userJoinPushAlert": "{0} ble med i møtet",
"app.shortcut-help.title": "Tastatursnarveier",
"app.shortcut-help.accessKeyNotAvailable": "Tilgangsnøkler ikke tilgjengelig",
"app.shortcut-help.comboLabel": "Kombinasjon",
@@ -580,7 +585,7 @@
"app.video.stats.rtt": "RTT",
"app.video.stats.encodeUsagePercent": "Encodeforbruk",
"app.video.stats.currentDelay": "Nåværende forsinkelse",
- "app.fullscreenButton.label": "Gjør [0] fullskjerm",
+ "app.fullscreenButton.label": "Gjør {0} fullskjerm",
"app.deskshare.iceConnectionStateError": "Connection failed when sharing screen (ICE error 1108)",
"app.sfu.mediaServerConnectionError2000": "Unable to connect to media server (error 2000)",
"app.sfu.mediaServerOffline2001": "Media server is offline. Please try again later (error 2001)",
@@ -637,12 +642,12 @@
"app.invitation.confirm": "Inviter",
"app.createBreakoutRoom.title": "Grupperom",
"app.createBreakoutRoom.ariaTitle": "Skjul grupperom",
- "app.createBreakoutRoom.breakoutRoomLabel": "Grupperom [0]",
+ "app.createBreakoutRoom.breakoutRoomLabel": "Grupperom {0}",
"app.createBreakoutRoom.generatingURL": "Genererer URL",
"app.createBreakoutRoom.generatedURL": "Generert",
- "app.createBreakoutRoom.duration": "Varighet [0]",
- "app.createBreakoutRoom.room": "Rom [0]",
- "app.createBreakoutRoom.notAssigned": "Ikke designert ((0))",
+ "app.createBreakoutRoom.duration": "Varighet {0}",
+ "app.createBreakoutRoom.room": "Rom {0}",
+ "app.createBreakoutRoom.notAssigned": "Ikke designert ({0})",
"app.createBreakoutRoom.join": "Bli med i rommet",
"app.createBreakoutRoom.joinAudio": "Bli med i lydkonferansen",
"app.createBreakoutRoom.returnAudio": "Lydsvar",
@@ -653,7 +658,7 @@
"app.createBreakoutRoom.durationInMinutes": "Varighet (minutter)",
"app.createBreakoutRoom.randomlyAssign": "Tilfeldig designert",
"app.createBreakoutRoom.endAllBreakouts": "Avslutt alle grupperom",
- "app.createBreakoutRoom.roomName": "(0) (Room - (1))",
+ "app.createBreakoutRoom.roomName": "{0} (Rom - {1})",
"app.createBreakoutRoom.doneLabel": "Ferdig",
"app.createBreakoutRoom.nextLabel": "Neste",
"app.createBreakoutRoom.minusRoomTime": "Forkort tiden til grupperom",
@@ -662,7 +667,7 @@
"app.createBreakoutRoom.freeJoin": "Tillat brukere å velge grupperom å bli med i",
"app.createBreakoutRoom.leastOneWarnBreakout": "Du må plassere minst en bruker i et grupperom",
"app.createBreakoutRoom.modalDesc": "Tips: Du kan dra-og-slippe en brukers navn for å designere de til et spesifikt grupperom",
- "app.createBreakoutRoom.roomTime": "[0] minutter",
+ "app.createBreakoutRoom.roomTime": "{0} minutter",
"app.createBreakoutRoom.numberOfRoomsError": "Ugyldig antall rom",
"app.externalVideo.start": "Del en ny video",
"app.externalVideo.title": "Del en ekstern video",
@@ -677,7 +682,7 @@
"app.actionsBar.actionsDropdown.shareExternalVideo": "Del en ekstern video",
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Stopp deling av ekstern video",
"app.iOSWarning.label": "Vennligst oppgrader til iOS 12.2 eller høyere",
- "app.legacy.unsupportedBrowser": "Det ser ut som du bruker en nettleser som ikke er støttet. Vennligst bruk [0] eller[1] for full støtte.",
+ "app.legacy.unsupportedBrowser": "Det ser ut som du bruker en nettleser som ikke er støttet. Vennligst bruk {0} eller {1} for full støtte.",
"app.legacy.upgradeBrowser": "Det ser ut som du bruker en eldre utgave av en støttet nettleser. Vennligst oppdater nettleseren for å få full funksjonalitet",
"app.legacy.criosBrowser": "Vennligst bruk Safari på iOS for full funksjonalitet"
diff --git a/bigbluebutton-html5/private/locales/nl.json b/bigbluebutton-html5/private/locales/nl.json
index f5337ac9ce..0fad87b7da 100644
--- a/bigbluebutton-html5/private/locales/nl.json
+++ b/bigbluebutton-html5/private/locales/nl.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Presenter",
"app.userList.you": "U",
"app.userList.locked": "Vergrendeld",
+ "app.userList.byModerator": "door (Moderator)",
"app.userList.label": "Gebruikerslijst",
"app.userList.toggleCompactView.label": "Overschakelen naar de compacte weergavemodus",
"app.userList.guest": "Gast",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Start een privéchat",
"app.userList.menu.clearStatus.label": "Status wissen",
"app.userList.menu.removeUser.label": "Gebruiker verwijderen",
+ "app.userList.menu.removeConfirmation.label": "Verwijder gebruiker ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Bent u zeker dat u deze gebruiker wilt verwijderen? Eenmaal verwijderd, kunnen ze niet meer deelnemen aan deze sessie.",
"app.userList.menu.muteUserAudio.label": "Gebruiker dempen",
"app.userList.menu.unmuteUserAudio.label": "Gebruiker dempen ongedaan maken",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
@@ -112,7 +115,7 @@
"app.media.screenshare.start": "Screenshare is gestart",
"app.media.screenshare.end": "Screenshare is afgelopen",
"app.media.screenshare.unavailable": "Screenshare Onbeschikbaar",
- "app.media.screenshare.safariNotSupported": "Screenshare is momenteel niet ondersteund in Safari. Gelieve Firefox of Google Chrome te gebruiken.",
+ "app.media.screenshare.notSupported": "Screensharing wordt niet ondersteund in deze browser.",
"app.media.screenshare.autoplayBlockedDesc": "We hebben uw toestemming nodig om u het scherm van de presentator te tonen.",
"app.media.screenshare.autoplayAllowLabel": "Bekijk gedeeld scherm",
"app.screenshare.notAllowed": "Fout: toestemming voor toegang tot scherm is niet verleend.",
@@ -171,6 +174,9 @@
"app.presentationUploder.rejectedError": "De geselecteerde bestanden zijn geweigerd. Controleer de bestandstype (s).",
"app.presentationUploder.upload.progress": "Uploaden ({0}%)",
"app.presentationUploder.upload.413": "Bestand is te groot. Splitsen in meerdere bestanden.",
+ "app.presentationUploder.upload.408": "Verzoek time-out voor uploadtoken.",
+ "app.presentationUploder.upload.404": "404: Ongeldig uploadtoken",
+ "app.presentationUploder.upload.401": "Verzoek voor presentatie uploadtoken mislukt.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Verwerkingspagina {0} van {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Bestand converteren ...",
"app.presentationUploder.conversion.generatingThumbnail": "Miniaturen genereren ...",
diff --git a/bigbluebutton-html5/private/locales/pl_PL.json b/bigbluebutton-html5/private/locales/pl_PL.json
index de6e56057f..ce7bd707b2 100644
--- a/bigbluebutton-html5/private/locales/pl_PL.json
+++ b/bigbluebutton-html5/private/locales/pl_PL.json
@@ -111,6 +111,7 @@
"app.media.autoplayAlertDesc": "Zezwól na dostęp",
"app.media.screenshare.start": "Rozpoczęto udostępnianie ekranu",
"app.media.screenshare.end": "Zakończono udostępnianie ekranu",
+ "app.media.screenshare.unavailable": "Udostępnianie ekranu niedostępne",
"app.media.screenshare.autoplayBlockedDesc": "Potrzebujemy Twojej zgody aby wyświetlić ekran prelegenta.",
"app.media.screenshare.autoplayAllowLabel": "Zobacz udostępniony ekran",
"app.screenshare.notAllowed": "Błąd: Nie udzielono uprawnień na dostęp do ekranu.",
@@ -259,7 +260,7 @@
"app.leaveConfirmation.confirmLabel": "Wyjdź",
"app.leaveConfirmation.confirmDesc": "Wylogowuje Cię ze spotkania",
"app.endMeeting.title": "Zakończ spotkanie",
- "app.endMeeting.description": "Czy chcesz zakończyć tą sesję?",
+ "app.endMeeting.description": "Czy chcesz zakończyć tę sesję?",
"app.endMeeting.yesLabel": "Tak",
"app.endMeeting.noLabel": "Nie",
"app.about.title": "O kliencie",
diff --git a/bigbluebutton-html5/private/locales/pt.json b/bigbluebutton-html5/private/locales/pt.json
index 27bec1f258..a071badfa4 100644
--- a/bigbluebutton-html5/private/locales/pt.json
+++ b/bigbluebutton-html5/private/locales/pt.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Apresentador",
"app.userList.you": "Eu",
"app.userList.locked": "Bloqueado",
+ "app.userList.byModerator": "pelo (Moderador)",
"app.userList.label": "Lista de utilizadores",
"app.userList.toggleCompactView.label": "Alternar para o modo de exibição compacto",
"app.userList.guest": "Convidado",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Iniciar um chat privado",
"app.userList.menu.clearStatus.label": "Limpar estado",
"app.userList.menu.removeUser.label": "Remover utilizador",
+ "app.userList.menu.removeConfirmation.label": "Remover utilizador ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Deseja remover este utilizador? Depois de removido, o mesmo não será capaz de entrar novamente nesta sessão.",
"app.userList.menu.muteUserAudio.label": "Silenciar utilizador",
"app.userList.menu.unmuteUserAudio.label": "Ativar microfone do utilizador",
"app.userList.userAriaLabel": "{0} {1} {2} Estado {3}",
@@ -111,6 +114,7 @@
"app.media.autoplayAlertDesc": "Permitir acesso",
"app.media.screenshare.start": "A partilha do ecrã iniciou",
"app.media.screenshare.end": "A partilha do ecrã terminou",
+ "app.media.screenshare.unavailable": "Partilha de ecrã indisponível",
"app.media.screenshare.autoplayBlockedDesc": "Necessitamos da sua permissão para lhe mostrar o ecrã do apresentador",
"app.media.screenshare.autoplayAllowLabel": "Ver ecrã partilhado",
"app.screenshare.notAllowed": "Erro: Permissão para aceder ao ecrã não for fornecida",
@@ -160,8 +164,8 @@
"app.presentationUploder.confirmDesc": "Guardar as alterações e iniciar a apresentação",
"app.presentationUploder.dismissLabel": "Cancelar",
"app.presentationUploder.dismissDesc": "Fechar a janela e não guardar as alterações",
- "app.presentationUploder.dropzoneLabel": "Arraste e ficheiros para aqui para os carregar",
- "app.presentationUploder.dropzoneImagesLabel": "Arraste imagens para aqui para as carregar",
+ "app.presentationUploder.dropzoneLabel": "Arraste ficheiros para aqui, para os carregar",
+ "app.presentationUploder.dropzoneImagesLabel": "Arraste imagens para aqui, para as carregar",
"app.presentationUploder.browseFilesLabel": "ou procure ficheiros",
"app.presentationUploder.browseImagesLabel": "ou procure/capture imagens",
"app.presentationUploder.fileToUpload": "Para carregar ...",
@@ -169,6 +173,9 @@
"app.presentationUploder.rejectedError": "O(s) ficheiro(s) selecionados foram rejeitados.\nVerifique por favor os tipos de ficheiro.",
"app.presentationUploder.upload.progress": "A carregar ({0}%)",
"app.presentationUploder.upload.413": "O ficheiro é demasiado grande. Por favor divida o mesmo em vários ficheiros.",
+ "app.presentationUploder.upload.408": "Timeout no pedido de token de carregamento.",
+ "app.presentationUploder.upload.404": "404: Token de carregamento inválido",
+ "app.presentationUploder.upload.401": "O pedido de um token de carregamento de apresentação, falhou.",
"app.presentationUploder.conversion.conversionProcessingSlides": "A processar a página {0} de {1}",
"app.presentationUploder.conversion.genericConversionStatus": "A converter o ficheiro ...",
"app.presentationUploder.conversion.generatingThumbnail": "A gerar miniaturas ...",
@@ -325,7 +332,7 @@
"app.actionsBar.actionsDropdown.desktopShareLabel": "Partilhar o seu ecrã",
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Partilha de ecrã bloqueada",
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Parar partilha de ecrã",
- "app.actionsBar.actionsDropdown.presentationDesc": "Carregar a apresentação",
+ "app.actionsBar.actionsDropdown.presentationDesc": "Carregar a sua apresentação",
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar uma sondagem",
"app.actionsBar.actionsDropdown.desktopShareDesc": "Partilhar o seu ecrã com os outros",
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Parar a partilha do seu ecrã com",
diff --git a/bigbluebutton-html5/private/locales/pt_BR.json b/bigbluebutton-html5/private/locales/pt_BR.json
index 1b9bf8bf35..4efa51fb7e 100644
--- a/bigbluebutton-html5/private/locales/pt_BR.json
+++ b/bigbluebutton-html5/private/locales/pt_BR.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Apresentador",
"app.userList.you": "Você",
"app.userList.locked": "Bloqueado",
+ "app.userList.byModerator": "Por (Moderador)",
"app.userList.label": "Lista de participantes",
"app.userList.toggleCompactView.label": "Alternar para o modo de exibição compacta",
"app.userList.guest": "Convidado",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Iniciar bate-papo privado",
"app.userList.menu.clearStatus.label": "Limpar status",
"app.userList.menu.removeUser.label": "Remover usuário",
+ "app.userList.menu.removeConfirmation.label": "Remover usuário ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Você tem certeza que deseja remover este usuário? Uma vez removido, o usuário não conseguirá entrar novamente nesta sessão.",
"app.userList.menu.muteUserAudio.label": "Silenciar usuário",
"app.userList.menu.unmuteUserAudio.label": "Desbloquear microfone do usuário",
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
@@ -86,7 +89,7 @@
"app.userList.userOptions.muteAllDesc": "Colocar todos os usuários da sala em mudo",
"app.userList.userOptions.clearAllLabel": "Limpar todos os ícones de status",
"app.userList.userOptions.clearAllDesc": "Limpar o ícone de status de todos os usuários",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Colorar todos em mudo, exceto o apresentador",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Colocar todos em mudo, exceto o apresentador",
"app.userList.userOptions.muteAllExceptPresenterDesc": "Colocar todos os usuários da sala em mudo, exceto o apresentador",
"app.userList.userOptions.unmuteAllLabel": "Tirar a sala do mudo",
"app.userList.userOptions.unmuteAllDesc": "Tirar a sala do mudo",
@@ -111,6 +114,7 @@
"app.media.autoplayAlertDesc": "Permitir acesso",
"app.media.screenshare.start": "O compartilhamento de tela foi iniciado",
"app.media.screenshare.end": "O compartilhamento de tela foi encerrado",
+ "app.media.screenshare.unavailable": "Compartilhamento de tela indisponível",
"app.media.screenshare.autoplayBlockedDesc": "Precisamos da sua permissão para mostrar a tela do apresentador.",
"app.media.screenshare.autoplayAllowLabel": "Ver tela compartilhada",
"app.screenshare.notAllowed": "Erro: Permissão para acessar a tela não foi concedida.",
@@ -169,6 +173,9 @@
"app.presentationUploder.rejectedError": "Os arquivos selecionados foram rejeitados. Por favor, verifique os tipos de arquivos permitidos.",
"app.presentationUploder.upload.progress": "Carregando ({0}%)",
"app.presentationUploder.upload.413": "O arquivo é muito grande. Por favor, divida o conteúdo em múltiplos arquivos.",
+ "app.presentationUploder.upload.408": "Excedido o tempo limite para upload",
+ "app.presentationUploder.upload.404": "404: Upload de token Inválido",
+ "app.presentationUploder.upload.401": "Falha no upload da apresentação.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Processando página {0} de {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Convertendo arquivo...",
"app.presentationUploder.conversion.generatingThumbnail": "Gerando miniaturas...",
diff --git a/bigbluebutton-html5/private/locales/ru.json b/bigbluebutton-html5/private/locales/ru.json
index fe2105c58b..eb4c490192 100644
--- a/bigbluebutton-html5/private/locales/ru.json
+++ b/bigbluebutton-html5/private/locales/ru.json
@@ -677,7 +677,7 @@
"app.iOSWarning.label": "Пожалуйста, обновитесь до iOS 12.2 или более новой версии",
"app.legacy.unsupportedBrowser": "Похоже, вы используете браузер, который не полностью подедрживается. Пожалуйста, используйте {0} или {1} для полной поддержки.",
"app.legacy.upgradeBrowser": "Похоже, вы используете более старую версию подерживаемого браузера. Пожалуйста, установите новую версию для полной поддержки.",
- "app.legacy.criosBrowser": "На iOS, пожалуйста, используйте браузер Safari для полной поддержки"
+ "app.legacy.criosBrowser": "На iOS пожалуйста, используйте браузер Safari для полной поддержки"
}
diff --git a/bigbluebutton-html5/private/locales/sl.json b/bigbluebutton-html5/private/locales/sl.json
index 870a2090aa..87353ead00 100644
--- a/bigbluebutton-html5/private/locales/sl.json
+++ b/bigbluebutton-html5/private/locales/sl.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "Govornik",
"app.userList.you": "Jaz",
"app.userList.locked": "Zaklenjeno",
+ "app.userList.byModerator": "(moderator)",
"app.userList.label": "Seznam udeležencev",
"app.userList.toggleCompactView.label": "Preklopi način skrčenega pogleda",
"app.userList.guest": "Gost",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "Začni zasebni klepet",
"app.userList.menu.clearStatus.label": "Počisti stanje",
"app.userList.menu.removeUser.label": "Odstrani udeleženca",
+ "app.userList.menu.removeConfirmation.label": "Odstrani osebo ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Ali ste prepričani, da želite odstraniti to osebo? Ko je enkrat odstranjena, se to sejo ne more več povezati.",
"app.userList.menu.muteUserAudio.label": "Utišaj udeleženca",
"app.userList.menu.unmuteUserAudio.label": "Povrni zvok udeleženca",
"app.userList.userAriaLabel": "{0} {1} {2} Stanje {3}",
@@ -112,7 +115,6 @@
"app.media.screenshare.start": "Souporaba zaslona je omogočena",
"app.media.screenshare.end": "Souporaba zaslona je onemogočena",
"app.media.screenshare.unavailable": "Souporaba zaslona ni na voljo",
- "app.media.screenshare.safariNotSupported": "Souporaba zaslona trenutno v brskalniku Safari ni na voljo. Uporabite Firefox ali Google Chrome.",
"app.media.screenshare.autoplayBlockedDesc": "Zahtevana je odobritev za prikaz govornikovega zaslona.",
"app.media.screenshare.autoplayAllowLabel": "Pokaži zaslon v souporabi",
"app.screenshare.notAllowed": "Napaka: dovoljenje za dostop do zaslona ni odobreno",
@@ -171,6 +173,9 @@
"app.presentationUploder.rejectedError": "Izbrane datoteke so zavrnjene. Preverite podprtost vrst datotek.",
"app.presentationUploder.upload.progress": "Poteka pošiljanje ({0} %)",
"app.presentationUploder.upload.413": "Datoteka je prevelika. Razdelite jo na več manjših.",
+ "app.presentationUploder.upload.408": "Zahteva pošiljanja je časovno potekla.",
+ "app.presentationUploder.upload.404": "404: neveljaven žeton pošiljanja",
+ "app.presentationUploder.upload.401": "Zahteva po pošiljanju predstavitve je spodletela.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Poteka priprava strani {0} od {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Poteka pretvarjanje datoteke ...",
"app.presentationUploder.conversion.generatingThumbnail": "Poteka ustvarjanje sličic ...",
diff --git a/bigbluebutton-html5/private/locales/tr.json b/bigbluebutton-html5/private/locales/tr.json
index 441c94fc85..5df09d1edd 100644
--- a/bigbluebutton-html5/private/locales/tr.json
+++ b/bigbluebutton-html5/private/locales/tr.json
@@ -1,207 +1,215 @@
{
"app.home.greeting": "Sunumunuz birazdan başlayacak...",
- "app.chat.submitLabel": "Mesaj Gönder",
- "app.chat.errorMaxMessageLength": "Mesaj {0} karakter daha uzun",
- "app.chat.disconnected": "Bağlantınız kesildi, mesaj gönderilemedi",
- "app.chat.locked": "Sohbet kapalı durumda, mesaj gönderilemiyor",
- "app.chat.inputLabel": "{0} sohbeti için mesaj verisi",
- "app.chat.inputPlaceholder": "{0} kullanıcısına mesaj gönder",
+ "app.chat.submitLabel": "İleti Gönder",
+ "app.chat.errorMaxMessageLength": "İleti {0} karakter daha uzun",
+ "app.chat.disconnected": "Bağlantınız kesildi, iletiler gönderilemedi",
+ "app.chat.locked": "Sohbet kilitli, ileti gönderilemez",
+ "app.chat.inputLabel": "{0} sohbeti için ileti girişi",
+ "app.chat.inputPlaceholder": "{0} kullanıcısına ileti gönder",
"app.chat.titlePublic": "Genel Sohbet",
"app.chat.titlePrivate": "{0} ile Özel Sohbet",
- "app.chat.partnerDisconnected": "{0} görüşmeden ayrıldı",
+ "app.chat.partnerDisconnected": "{0} toplantıdan ayrıldı",
"app.chat.closeChatLabel": "Kapat {0}",
"app.chat.hideChatLabel": "Gizle {0}",
- "app.chat.moreMessages": "Mesajların devamı aşağıda",
- "app.chat.dropdown.options": "Sohbet Seçenekleri",
+ "app.chat.moreMessages": "İletilerin devamı aşağıda",
+ "app.chat.dropdown.options": "Sohbet ayarları",
"app.chat.dropdown.clear": "Temizle",
"app.chat.dropdown.copy": "Kopyala",
"app.chat.dropdown.save": "Kaydet",
"app.chat.label": "Sohbet",
"app.chat.offline": "Çevrimdışı",
- "app.chat.emptyLogLabel": "Sohbet sistem kayıtları boş",
- "app.chat.clearPublicChatMessage": "Genel sohbet geçmişi moderatör tarafından temizlendi",
- "app.chat.multi.typing": "Birden çok kullanıcı yazıyor",
+ "app.chat.emptyLogLabel": "Sohbet günlüğü boş",
+ "app.chat.clearPublicChatMessage": "Herkese açık sohbet geçmişi sorumlu tarafından temizlendi",
+ "app.chat.multi.typing": "Birkaç kullanıcı yazıyor",
"app.chat.one.typing": "{0} yazıyor...",
"app.chat.two.typing": "{0} ve {1} yazıyor...",
- "app.captions.label": "Başlıklar",
+ "app.captions.label": "Alt yazılar",
"app.captions.menu.close": "Kapat",
"app.captions.menu.start": "Başlat",
- "app.captions.menu.ariaStart": "Altyazı yazmaya başla",
- "app.captions.menu.ariaStartDesc": "Altyazı düzenleyicisini açar ve kipini kapatır",
- "app.captions.menu.select": "Mevcut dili seç",
- "app.captions.menu.ariaSelect": "Altyazı dili",
- "app.captions.menu.subtitle": " Lütfen oturumunuzdaki kapalı başlıklar için bir dil ve stil seçin.",
- "app.captions.menu.title": "Kapalı başlıklar",
+ "app.captions.menu.ariaStart": "Alt yazı yazmaya başla",
+ "app.captions.menu.ariaStartDesc": "Alt yazı düzenleyicisini açar ve üste açılan pencereyi kapatır",
+ "app.captions.menu.select": "Kullanılacak dili seçin",
+ "app.captions.menu.ariaSelect": "Alt yazı dili",
+ "app.captions.menu.subtitle": " Lütfen oturumunuzdaki alt yazılar için bir dil ve biçem seçin.",
+ "app.captions.menu.title": "Alt yazılar",
"app.captions.menu.fontSize": "Boyut",
"app.captions.menu.fontColor": "Metin rengi",
- "app.captions.menu.fontFamily": "Font",
- "app.captions.menu.backgroundColor": "Arkalan rengi",
- "app.captions.menu.previewLabel": "Önizleme",
+ "app.captions.menu.fontFamily": "Yazı türü",
+ "app.captions.menu.backgroundColor": "Arka plan rengi",
+ "app.captions.menu.previewLabel": "Ön izleme",
"app.captions.menu.cancelLabel": "Vazgeç",
- "app.captions.pad.hide": "Kapalı başlıkları gizle",
- "app.captions.pad.tip": "Editör araç çubuğuna odaklanmak için Esc tuşuna basın",
+ "app.captions.pad.hide": "Alt yazıları gizle",
+ "app.captions.pad.tip": "Düzenleyici araç çubuğuna odaklanmak için Esc tuşuna basın",
"app.captions.pad.ownership": "Devral",
- "app.captions.pad.ownershipTooltip": "{0} başlığın sahibi olarak atanacaksınız",
+ "app.captions.pad.ownershipTooltip": "{0} alt yazının sahibi olarak atanacaksınız",
"app.captions.pad.interimResult": "Geçici sonuçlar",
- "app.captions.pad.dictationStart": "Dikte etmeye başla",
- "app.captions.pad.dictationStop": "Dikte etmeyi durdur",
+ "app.captions.pad.dictationStart": "Dikteyi başlat",
+ "app.captions.pad.dictationStop": "Dikteyi durdur",
"app.captions.pad.dictationOnDesc": " Konuşma tanımayı açar",
"app.captions.pad.dictationOffDesc": " Konuşma tanımayı kapatır",
"app.note.title": "Paylaşılan Notlar",
"app.note.label": "Not",
"app.note.hideNoteLabel": "Notu gizle",
- "app.user.activityCheck": "Kullanıcı etkinliği kontrolü",
- "app.user.activityCheck.label": "Kullanıcının hala toplantıda olup olmadığını kontrol edin ({0})",
- "app.user.activityCheck.check": "Kontrol et",
- "app.note.tipLabel": "Editör araç çubuğuna odaklanmak için Esc tuşuna basın",
+ "app.user.activityCheck": "Kullanıcı etkinliği denetimi",
+ "app.user.activityCheck.label": "Kullanıcının hala toplantıda olup olmadığını denetleyin ({0})",
+ "app.user.activityCheck.check": "Denetle",
+ "app.note.tipLabel": "Düzenleyici araç çubuğuna odaklanmak için Esc tuşuna basın",
"app.userList.usersTitle": "Kullanıcılar",
"app.userList.participantsTitle": "Katılımcılar",
- "app.userList.messagesTitle": "Mesajlar",
+ "app.userList.messagesTitle": "İletiler",
"app.userList.notesTitle": "Notlar",
- "app.userList.notesListItem.unreadContent": " Paylaşılan notlar bölümünde yeni içerik var",
- "app.userList.captionsTitle": "Başlıklar",
+ "app.userList.notesListItem.unreadContent": "Paylaşılan notlar bölümünde yeni içerik var",
+ "app.userList.captionsTitle": "Alt yazılar",
"app.userList.presenter": "Sunucu",
"app.userList.you": "Siz",
"app.userList.locked": "Kilitli",
- "app.userList.label": "Katılımcı listesi",
- "app.userList.toggleCompactView.label": "Sıkıştırılmış görünüm moduna geç",
- "app.userList.guest": "Misafir",
- "app.userList.menuTitleContext": "Mevcut seçenekler",
- "app.userList.chatListItem.unreadSingular": "{0} Yeni Mesaj",
- "app.userList.chatListItem.unreadPlural": "{0} Yeni Mesaj",
- "app.userList.menu.chat.label": "Özel mesaj yaz",
+ "app.userList.byModerator": "(Sorumlu) tarafından",
+ "app.userList.label": "Kullanıcı listesi",
+ "app.userList.toggleCompactView.label": "Basit görünüm kipini aç/kapat",
+ "app.userList.guest": "Konuk",
+ "app.userList.menuTitleContext": "Kullanılabilecek seçenekler",
+ "app.userList.chatListItem.unreadSingular": "{0} Yeni İleti",
+ "app.userList.chatListItem.unreadPlural": "{0} Yeni İleti",
+ "app.userList.menu.chat.label": "Özel sohbet başlat",
"app.userList.menu.clearStatus.label": "Durumu temizle",
- "app.userList.menu.removeUser.label": "Kullanıcı uzaklaştır",
- "app.userList.menu.muteUserAudio.label": "Kullanıcıyı sustur",
- "app.userList.menu.unmuteUserAudio.label": "Kullanıcıyı konuştur",
+ "app.userList.menu.removeUser.label": "Kullanıcıyı sil",
+ "app.userList.menu.removeConfirmation.label": "({0}) kullanıcısını sil",
+ "app.userlist.menu.removeConfirmation.desc": "Bu kullanıcıyı silmek istediğinize emin misiniz? Silinen kullanıcılar görüşmeye yeniden katılamaz.",
+ "app.userList.menu.muteUserAudio.label": "Kullanıcının sesini kapat",
+ "app.userList.menu.unmuteUserAudio.label": "Kullanıcının sesini aç",
"app.userList.userAriaLabel": "{0} {1} {2} Durum {3}",
- "app.userList.menu.promoteUser.label": "Moderatör yap",
+ "app.userList.menu.promoteUser.label": "Sorumlu yap",
"app.userList.menu.demoteUser.label": "İzleyici yap",
- "app.userList.menu.unlockUser.label": "{0} için kilidi kaldır",
+ "app.userList.menu.unlockUser.label": "{0} kullanıcısının kilidini aç",
"app.userList.menu.lockUser.label": "{0} kullanıcısını kilitle",
- "app.userList.menu.directoryLookup.label": "Dizin araması",
- "app.userList.menu.makePresenter.label": "Sunum yetkisi ver",
+ "app.userList.menu.directoryLookup.label": "Dizinde Arama",
+ "app.userList.menu.makePresenter.label": "Sunucu yap",
"app.userList.userOptions.manageUsersLabel": "Kullanıcıları yönet",
- "app.userList.userOptions.muteAllLabel": "Tüm kullanıcıları sustur",
- "app.userList.userOptions.muteAllDesc": "Sınıftaki tüm kullanıcıları susturur",
+ "app.userList.userOptions.muteAllLabel": "Tüm kullanıcıların sesini kapat",
+ "app.userList.userOptions.muteAllDesc": "Toplantıdaki tüm kullanıcıların sesini kapatır",
"app.userList.userOptions.clearAllLabel": "Tüm durum simgelerini temizle",
- "app.userList.userOptions.clearAllDesc": "Tüm durum simgelerini kullanıcılardan temizler",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Sunucu dışındaki tüm kullanıcıları sustur",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "Oturumda sunum yapan kişi dışındaki tüm kullanıcıları susturur",
- "app.userList.userOptions.unmuteAllLabel": "Oturum sesini kapatma",
- "app.userList.userOptions.unmuteAllDesc": "Oturum sesini aç",
- "app.userList.userOptions.lockViewersLabel": "Katılımcıları kilitle",
- "app.userList.userOptions.lockViewersDesc": "Oturumun katılımcıları için bazı işlevleri kilitle",
- "app.userList.userOptions.disableCam": "Katılımcıların web kameraları devre dışı",
- "app.userList.userOptions.disableMic": "Katılımcıların mikrofonları devre dışı",
- "app.userList.userOptions.disablePrivChat": "Özel mesaj devre dışı",
- "app.userList.userOptions.disablePubChat": "Genel sohbet devre dışı",
- "app.userList.userOptions.disableNote": "Paylaşılan notlar şu an kilitli",
- "app.userList.userOptions.hideUserList": "Kullanıcı listesi artık katılımcılar için gizli",
- "app.userList.userOptions.webcamsOnlyForModerator": "Yalnızca yöneticiler katılımcının web kamerasını görebilir (kilit ayarları nedeniyle).",
+ "app.userList.userOptions.clearAllDesc": "Kullanıcıların tüm durum simgelerini temizler",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Sunucu dışındaki tüm kullanıcıların sesini kapat",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Toplantıda sunum yapan kişi dışındaki tüm kullanıcıların sesini kapatır",
+ "app.userList.userOptions.unmuteAllLabel": "Toplantının sesini aç",
+ "app.userList.userOptions.unmuteAllDesc": "Toplantının sesini açar",
+ "app.userList.userOptions.lockViewersLabel": "İzleyicileri kilitle",
+ "app.userList.userOptions.lockViewersDesc": "Bazı özellikleri kilitleyerek toplantı katılımcılarının kullanmasını engelle",
+ "app.userList.userOptions.disableCam": "İzleyicilerin kameraları kapalı",
+ "app.userList.userOptions.disableMic": "İzleyicilerin mikrofonları kapalı",
+ "app.userList.userOptions.disablePrivChat": "Özel sohbet kapalı",
+ "app.userList.userOptions.disablePubChat": "Herkese açık sohbet kapalı",
+ "app.userList.userOptions.disableNote": "Paylaşılan notlar kilitlendi",
+ "app.userList.userOptions.hideUserList": "Kullanıcı listesi izleyicilerden gizlendi",
+ "app.userList.userOptions.webcamsOnlyForModerator": "İzleyicilerin kamerasını yalnız sorumlular görebilir (kilit ayarları nedeniyle).",
"app.userList.content.participants.options.clearedStatus": "Tüm kullanıcı durumları temizlendi",
- "app.userList.userOptions.enableCam": "Katılımcıların web kameraları etkin",
- "app.userList.userOptions.enableMic": "Kullanıcıların mikrofonları etkin",
- "app.userList.userOptions.enablePrivChat": "Özel mesaj etkin",
- "app.userList.userOptions.enablePubChat": "Genel sohbet etkin",
- "app.userList.userOptions.enableNote": "Paylaşılan notlar şu an etkin",
- "app.userList.userOptions.showUserList": "Kullanıcı listesi artık katılımcılara gösteriliyor",
- "app.userList.userOptions.enableOnlyModeratorWebcam": "Web kameranı şimdi etkinleştirebilirsin, herkes seni görecek",
- "app.media.label": "Medya",
- "app.media.autoplayAlertDesc": "Erişime izin ver",
- "app.media.screenshare.start": "Ekran paylaşımı başladı",
- "app.media.screenshare.end": "Ekran paylaşımı sonlandı",
- "app.media.screenshare.autoplayBlockedDesc": "Size sunum yapan kişinin ekranını göstermek için izninize ihtiyacımız var.",
+ "app.userList.userOptions.enableCam": "İzleyicilerin kameraları açık",
+ "app.userList.userOptions.enableMic": "İzleyicilerin mikrofonları açık",
+ "app.userList.userOptions.enablePrivChat": "Özel sohbet açık",
+ "app.userList.userOptions.enablePubChat": "Herkese açık sohbet açık",
+ "app.userList.userOptions.enableNote": "Paylaşılan notlar açıldı",
+ "app.userList.userOptions.showUserList": "Kullanıcı listesi katılımcılara gösteriliyor",
+ "app.userList.userOptions.enableOnlyModeratorWebcam": "Kameranı şimdi açabilirsin, herkes seni görecek",
+ "app.media.label": "Ortam",
+ "app.media.autoplayAlertDesc": "Erişim İzni Ver",
+ "app.media.screenshare.start": "Ekran paylaşımı başlatıldı",
+ "app.media.screenshare.end": "Ekran paylaşımı sonlandırıldı",
+ "app.media.screenshare.unavailable": "Ekran Paylaşımı Kullanılamıyor",
+ "app.media.screenshare.notSupported": "Bu web tarayıcıda ekran paylaşımı desteklenmiyor.",
+ "app.media.screenshare.autoplayBlockedDesc": "Sunucunun ekranını görüntüleyebilmemiz için izin vermeniz gerekiyor.",
"app.media.screenshare.autoplayAllowLabel": "Paylaşılan ekranı görüntüle",
- "app.screenshare.notAllowed": "Hata: Ekrana erişim izni verilmedi.",
- "app.screenshare.notSupportedError": "Hata: Ekran paylaşımına yalnızca güvenli (SSL) alanlarda izin verilir",
- "app.screenshare.notReadableError": "Hata: Ekran görüntüsü almaya çalışırken bir hata oluştu",
- "app.screenshare.genericError": "Hata: Ekran paylaşımında bir hata oluştu, lütfen tekrar deneyin",
- "app.meeting.ended": "Oturum sonlandı",
- "app.meeting.meetingTimeRemaining": "Oturumun bitmesine kalan süre: {0}",
- "app.meeting.meetingTimeHasEnded": "Zaman bitti. Oturum kısa süre sonra kapanacak",
- "app.meeting.endedMessage": "Ana ekrana geri yönlendirileceksiniz",
- "app.meeting.alertMeetingEndsUnderOneMinute": "Oturum bir dakika içinde kapanacak.",
- "app.meeting.alertBreakoutEndsUnderOneMinute": "Çalışma odası bir dakika içinde kapanıyor.",
+ "app.screenshare.notAllowed": "Hata: Ekrana erişim izni verilmemiş.",
+ "app.screenshare.notSupportedError": "Hata: Ekran paylaşımına yalnız güvenli (SSL) etki alanlarında izin verilir",
+ "app.screenshare.notReadableError": "Hata: Ekran görüntünüz alınmaya çalışılırken bir sorun çıktı",
+ "app.screenshare.genericError": "Hata: Ekran paylaşılırken bir sorun çıktı, lütfen yeniden deneyin",
+ "app.meeting.ended": "Bu oturum sonlandı",
+ "app.meeting.meetingTimeRemaining": "Toplantının bitmesine kalan süre: {0}",
+ "app.meeting.meetingTimeHasEnded": "Zaman doldu. Toplantı birazdan bitirilecek",
+ "app.meeting.endedMessage": "Açılış ekranına geri döneceksiniz",
+ "app.meeting.alertMeetingEndsUnderOneMinute": "Toplantı bir dakika içinde bitirilecek.",
+ "app.meeting.alertBreakoutEndsUnderOneMinute": "Ara bir dakika içinde sone erecek.",
"app.presentation.hide": "Sunumu gizle",
"app.presentation.notificationLabel": "Geçerli sunum",
- "app.presentation.slideContent": "Slayt içeriği",
+ "app.presentation.slideContent": "Slayt İçeriği",
"app.presentation.startSlideContent": "Slayt içeriği başlangıcı",
"app.presentation.endSlideContent": "Slayt içeriği bitişi",
- "app.presentation.emptySlideContent": "Mevcut slayt için içerik yok",
+ "app.presentation.emptySlideContent": "Geçerli slayt için içerik yok",
"app.presentation.presentationToolbar.noNextSlideDesc": "Sunum sonu",
"app.presentation.presentationToolbar.noPrevSlideDesc": "Sunum başlangıcı",
- "app.presentation.presentationToolbar.selectLabel": "Slayt seç",
+ "app.presentation.presentationToolbar.selectLabel": "Slayt seçin",
"app.presentation.presentationToolbar.prevSlideLabel": "Önceki slayt",
- "app.presentation.presentationToolbar.prevSlideDesc": "Sunumu önceki slayda değiştir",
+ "app.presentation.presentationToolbar.prevSlideDesc": "Sunumda önceki slayta geçer",
"app.presentation.presentationToolbar.nextSlideLabel": "Sonraki slayt",
- "app.presentation.presentationToolbar.nextSlideDesc": "Sunumu sonraki slayda değiştir",
- "app.presentation.presentationToolbar.skipSlideLabel": "Slayt atla",
- "app.presentation.presentationToolbar.skipSlideDesc": "Sunumu belirli slayda değiştir",
+ "app.presentation.presentationToolbar.nextSlideDesc": "Sunumda sonraki slayta geçer",
+ "app.presentation.presentationToolbar.skipSlideLabel": "Slayta atla",
+ "app.presentation.presentationToolbar.skipSlideDesc": "Sunumda belirli bir slayta geçer",
"app.presentation.presentationToolbar.fitWidthLabel": "Genişliğe sığdır",
- "app.presentation.presentationToolbar.fitWidthDesc": "Slayt genişliğinde göster",
+ "app.presentation.presentationToolbar.fitWidthDesc": "Slaytın tüm genişliğini görüntüler",
"app.presentation.presentationToolbar.fitScreenLabel": "Ekrana sığdır",
- "app.presentation.presentationToolbar.fitScreenDesc": "Tüm slaydı göster",
- "app.presentation.presentationToolbar.zoomLabel": "Odak",
- "app.presentation.presentationToolbar.zoomDesc": "Sunumun odak seviyesini değiştir",
- "app.presentation.presentationToolbar.zoomInLabel": "Büyüt",
- "app.presentation.presentationToolbar.zoomInDesc": "Sunumu yakınlaştır",
- "app.presentation.presentationToolbar.zoomOutLabel": "Küçült",
- "app.presentation.presentationToolbar.zoomOutDesc": "Sunumdan uzaklaştır",
- "app.presentation.presentationToolbar.zoomReset": "Yakınlaştırma Sıfırla",
- "app.presentation.presentationToolbar.zoomIndicator": "Mevcut yakınlaştırma yüzdesi",
+ "app.presentation.presentationToolbar.fitScreenDesc": "Tüm slaytı görüntüler",
+ "app.presentation.presentationToolbar.zoomLabel": "Yakınlaştırma",
+ "app.presentation.presentationToolbar.zoomDesc": "Sunumun yakınlaştırma düzeyini değiştirir",
+ "app.presentation.presentationToolbar.zoomInLabel": "Yakınlaştır",
+ "app.presentation.presentationToolbar.zoomInDesc": "Sunumu yakınlaştırır",
+ "app.presentation.presentationToolbar.zoomOutLabel": "Uzaklaştır",
+ "app.presentation.presentationToolbar.zoomOutDesc": "Sunumu uzaklaştırır",
+ "app.presentation.presentationToolbar.zoomReset": "Yakınlaştırmayı Sıfırla",
+ "app.presentation.presentationToolbar.zoomIndicator": "Geçerli yakınlaştırma yüzdesi",
"app.presentation.presentationToolbar.fitToWidth": "Genişliğe sığdır",
"app.presentation.presentationToolbar.fitToPage": "Sayfaya sığdır",
- "app.presentation.presentationToolbar.goToSlide": "Slayt {0}",
+ "app.presentation.presentationToolbar.goToSlide": "{0}. Slayt",
"app.presentationUploder.title": "Sunum",
- "app.presentationUploder.message": "Sunucu olarak, herhangi bir ofis belgesini veya PDF dosyasını yükleyebilirsiniz. En iyi sonuçları elde etmek için PDF dosyası öneririz. Lütfen sağ taraftaki onay kutusunu kullanarak bir sunumun seçildiğinden emin olun.",
+ "app.presentationUploder.message": "Sunucu olarak, herhangi bir ofis ya da PDF belgesi yükleyebilirsiniz. En iyi sonucu almak için PDF belgesi kullanmanız önerilir. Lütfen sağ taraftaki daire işaret kutusunu kullanarak bir sunum seçildiğinden emin olun.",
"app.presentationUploder.uploadLabel": "Yükle",
"app.presentationUploder.confirmLabel": "Onayla",
- "app.presentationUploder.confirmDesc": "Değişiklikleri kaydet ve sunumu başlat",
+ "app.presentationUploder.confirmDesc": "Değişiklikleri kaydedip sunumu başlat",
"app.presentationUploder.dismissLabel": "Vazgeç",
- "app.presentationUploder.dismissDesc": "Model penceresini kapatın ve değişiklikleri geri alın",
- "app.presentationUploder.dropzoneLabel": "Yüklenecek dosyaları buraya sürükleyin",
- "app.presentationUploder.dropzoneImagesLabel": "Yüklemek istediğiniz belgeleri buraya sürükleyin",
- "app.presentationUploder.browseFilesLabel": "ya da dosyalara göz at",
- "app.presentationUploder.browseImagesLabel": "veya dosyalara göz atın",
+ "app.presentationUploder.dismissDesc": "Üste açılan pencereyi kapatıp değişiklikleri yok sayın",
+ "app.presentationUploder.dropzoneLabel": "Yüklenecek dosyaları sürükleyip buraya bırakın",
+ "app.presentationUploder.dropzoneImagesLabel": "Yüklenecek görselleri sürükleyip buraya bırakın",
+ "app.presentationUploder.browseFilesLabel": "ya da dosyalara göz atın",
+ "app.presentationUploder.browseImagesLabel": "ya da görsellere göz atın veya yakalayın",
"app.presentationUploder.fileToUpload": "Yüklenecek ...",
- "app.presentationUploder.currentBadge": "Şimdiki",
- "app.presentationUploder.rejectedError": "Seçilen dosya(lar) reddedildi. Lütfen dosya tür(ler)ini kontrol edin.",
+ "app.presentationUploder.currentBadge": "Geçerli",
+ "app.presentationUploder.rejectedError": "Seçilmiş dosya(lar) reddedildi. Lütfen dosya türlerini denetleyin.",
"app.presentationUploder.upload.progress": "Yükleniyor ({0}%)",
"app.presentationUploder.upload.413": "Dosya çok büyük. Lütfen daha küçük dosyalara bölün.",
- "app.presentationUploder.conversion.conversionProcessingSlides": "Sayfalar işleniyor: {0} / {1}",
+ "app.presentationUploder.upload.408": "Yükleme isteği kodunun süresi geçmiş.",
+ "app.presentationUploder.upload.404": "404: Yükleme kodu geçersiz",
+ "app.presentationUploder.upload.401": "Sunum yükleme isteği kodu oluşturulamadı.",
+ "app.presentationUploder.conversion.conversionProcessingSlides": "{0} / {1} sayfa işleniyor",
"app.presentationUploder.conversion.genericConversionStatus": "Dosya dönüştürülüyor ...",
- "app.presentationUploder.conversion.generatingThumbnail": "Küçük resimler oluşturuluyor ...",
- "app.presentationUploder.conversion.generatedSlides": "Slaytlar oluşturuluyor ...",
- "app.presentationUploder.conversion.generatingSvg": "SVG görselleri üretiliyor ...",
- "app.presentationUploder.conversion.pageCountExceeded": "Sayfa sayısı sınırı aşıldı. Lütfen dosyayı birden fazla dosya olacak şekilde parçalayın.",
- "app.presentationUploder.conversion.officeDocConversionInvalid": "Ofis belgesi işlenemiyor. Lütfen onun yerine PDF yükleyiniz.",
- "app.presentationUploder.conversion.officeDocConversionFailed": "Ofis belgesi işlenemiyor. Lütfen onun yerine PDF yükleyiniz.",
- "app.presentationUploder.conversion.pdfHasBigPage": "PDF dosyasını dönüştüremedik, lütfen optimize etmeyi deneyin",
- "app.presentationUploder.conversion.timeout": "Hata, dönüşüm çok uzun sürdü",
- "app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemiyor.",
- "app.presentationUploder.isDownloadableLabel": "Sunumun indirilmesine izin verme",
- "app.presentationUploder.isNotDownloadableLabel": "Sunumun indirilmesine izin ver",
+ "app.presentationUploder.conversion.generatingThumbnail": "Küçük görseller oluşturuluyor ...",
+ "app.presentationUploder.conversion.generatedSlides": "Slaytlar oluşturuldu ...",
+ "app.presentationUploder.conversion.generatingSvg": "SVG görselleri oluşturuluyor ...",
+ "app.presentationUploder.conversion.pageCountExceeded": "Sayfa sayısı sınırı aşıldı. Lütfen dosyayı birden fazla parçaya bölün.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Ofis belgesi işlenemedi. Lütfen yerine bir PDF yükleyin.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Ofis belgesi işlenemedi. Lütfen yerine bir PDF yükleyin.",
+ "app.presentationUploder.conversion.pdfHasBigPage": "PDF dosyası dönüştürülemedi, lütfen iyileştirmeyi deneyin",
+ "app.presentationUploder.conversion.timeout": "Sorun var, dönüşüm çok uzun sürdü",
+ "app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemedi.",
+ "app.presentationUploder.isDownloadableLabel": "Sunum indirilemesin",
+ "app.presentationUploder.isNotDownloadableLabel": "Sunum indirilebilsin",
"app.presentationUploder.removePresentationLabel": "Sunumu kaldır",
- "app.presentationUploder.setAsCurrentPresentation": "Sunumu varsayılan olarak ayarla",
+ "app.presentationUploder.setAsCurrentPresentation": "Sunumu geçerli olarak ayarla",
"app.presentationUploder.tableHeading.filename": "Dosya adı",
"app.presentationUploder.tableHeading.options": "Seçenekler",
"app.presentationUploder.tableHeading.status": "Durum",
"app.poll.pollPaneTitle": "Anket",
"app.poll.quickPollTitle": "Hızlı Anket",
- "app.poll.hidePollDesc": "Anket menüsü bölmesini gizler",
- "app.poll.customPollInstruction": "Özel bir anket oluşturmak için aşağıdaki butonu seçin ve seçeneklerinizi girin.",
- "app.poll.quickPollInstruction": "Anketinize başlamak için aşağıdan bir seçenek seçin.",
- "app.poll.customPollLabel": "Özel Anket",
+ "app.poll.hidePollDesc": "Anket menüsü panosunu gizler",
+ "app.poll.customPollInstruction": "Özel bir anket oluşturmak için aşağıdaki düğmeye tıklayıp seçeneklerinizi yazın.",
+ "app.poll.quickPollInstruction": "Anketinize başlamak için aşağıdan bir seçim yapın.",
+ "app.poll.customPollLabel": "Özel anket",
"app.poll.startCustomLabel": "Özel anketi başlat",
- "app.poll.activePollInstruction": "Başkalarının ankete cevap vermesine izin vermek için bu pencereyi açık bırakın. 'Anket sonuçlarını yayınla'yı seçmek veya geriye gitmek, anketi sonlandıracak.",
+ "app.poll.activePollInstruction": "Anketinize verilen yanıtları canlı olarak görüntülemek için bu panoyu açık bırakın. Sonuçları yayınlayıp anketi bitirmek için 'Anket sonuçlarını yayınla' üzerine tıklayın.",
"app.poll.publishLabel": " Anket sonuçlarını yayınla",
- "app.poll.backLabel": "Anket seçeneklerine geri dön",
+ "app.poll.backLabel": "Anket seçeneklerine dön",
"app.poll.closeLabel": "Kapat",
- "app.poll.waitingLabel": "Cevap bekleniyor ({0}/{1})",
+ "app.poll.waitingLabel": "Yanıtlar bekleniyor ({0}/{1})",
"app.poll.ariaInputCount": "Özel anket seçeneği {0} / {1}",
"app.poll.customPlaceholder": "Anket seçeneği ekle",
- "app.poll.noPresentationSelected": "Hiçbir sunum seçilmedi! Lütfen birini seçin.",
+ "app.poll.noPresentationSelected": "Herhangi bir sunum seçilmemiş! Lütfen bir sunum seçin.",
"app.poll.clickHereToSelect": "Seçmek için buraya tıklayın",
"app.poll.t": "Doğru",
"app.poll.f": "Yanlış",
@@ -225,134 +233,134 @@
"app.poll.liveResult.usersTitle": "Kullanıcılar",
"app.poll.liveResult.responsesTitle": "Yanıt",
"app.polling.pollingTitle": "Anket seçenekleri",
- "app.polling.pollAnswerLabel": "{0} Oylamasını cevapla",
- "app.polling.pollAnswerDesc": "{0} Oylaması için bu seçeneği seç",
- "app.failedMessage": "Özür dileriz, sunucuya bağlanma sorunu var.",
- "app.downloadPresentationButton.label": "Orijinal sunumu indirin",
- "app.connectingMessage": "Bağlanıyor ...",
- "app.waitingMessage": "Bağlantı kesildi. {0} saniye içinde yeniden bağlanmaya çalışılıyor ...",
- "app.retryNow": "Şimdi tekrar dene",
+ "app.polling.pollAnswerLabel": "Oylama yanıtı {0}",
+ "app.polling.pollAnswerDesc": "{0} oyu vermek için bu seçeneği seçin",
+ "app.failedMessage": "Özür dileriz, sunucu ile bağlantı kurma sorunu var.",
+ "app.downloadPresentationButton.label": "Özgün sunumu indir",
+ "app.connectingMessage": "Bağlantı kuruluyor ...",
+ "app.waitingMessage": "Bağlantı kesildi. {0} saniye içinde yeniden bağlantı kurulmaya çalışılacak ...",
+ "app.retryNow": "Şimdi yeniden dene",
"app.navBar.settingsDropdown.optionsLabel": "Seçenekler",
- "app.navBar.settingsDropdown.fullscreenLabel": "Tam ekran yap",
- "app.navBar.settingsDropdown.settingsLabel": "Ayarları aç",
+ "app.navBar.settingsDropdown.fullscreenLabel": "Tam ekrana geç",
+ "app.navBar.settingsDropdown.settingsLabel": "Ayarlar",
"app.navBar.settingsDropdown.aboutLabel": "Hakkında",
- "app.navBar.settingsDropdown.leaveSessionLabel": "Çıkış",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "Oturumu kapat",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Tam ekrandan çık",
"app.navBar.settingsDropdown.fullscreenDesc": "Ayarlar menüsünü tam ekran yap",
"app.navBar.settingsDropdown.settingsDesc": "Genel ayarları değiştir",
- "app.navBar.settingsDropdown.aboutDesc": "Kullanıcı bilgilerini göster",
- "app.navBar.settingsDropdown.leaveSessionDesc": "Görüşmeden ayrıl",
- "app.navBar.settingsDropdown.exitFullscreenDesc": "Tam ekran modundan çık",
- "app.navBar.settingsDropdown.hotkeysLabel": "Klavye kısayolları",
- "app.navBar.settingsDropdown.hotkeysDesc": "Kullanılabilir klavye kısayollarının listesi",
+ "app.navBar.settingsDropdown.aboutDesc": "İstemci bilgilerini göster",
+ "app.navBar.settingsDropdown.leaveSessionDesc": "Toplantıdan ayrıl",
+ "app.navBar.settingsDropdown.exitFullscreenDesc": "Tam ekran kipinden çık",
+ "app.navBar.settingsDropdown.hotkeysLabel": "Tuş takımı kısayolları",
+ "app.navBar.settingsDropdown.hotkeysDesc": "Kullanılabilecek tuş takımı kısayollarının listesi",
"app.navBar.settingsDropdown.helpLabel": "Yardım",
- "app.navBar.settingsDropdown.helpDesc": "Kullanıcıyı video derslerine bağlar (yeni sekme açılır)",
- "app.navBar.settingsDropdown.endMeetingDesc": "Mevcut oturumu sonlandırır",
- "app.navBar.settingsDropdown.endMeetingLabel": "Oturumu sonlandır",
- "app.navBar.userListToggleBtnLabel": "Kullanıcı Listesine Geç",
- "app.navBar.toggleUserList.ariaLabel": "Kullanıcılar ve mesajlar arasında geçiş",
- "app.navBar.toggleUserList.newMessages": "yeni mesaj bildirimiyle",
- "app.navBar.recording": "Bu oturum kaydediliyor",
- "app.navBar.recording.on": "Kaydediyor",
- "app.navBar.recording.off": "Kaydetmiyor",
- "app.navBar.emptyAudioBrdige": "Aktif mikrofon yok. Bu kayda ses eklemek için mikrofonunuzu paylaşın.",
+ "app.navBar.settingsDropdown.helpDesc": "Kullanıcıya görüntülü eğitimleri açar (yeni sekmede)",
+ "app.navBar.settingsDropdown.endMeetingDesc": "Geçerli toplantıyı bitirir",
+ "app.navBar.settingsDropdown.endMeetingLabel": "Toplantıyı bitir",
+ "app.navBar.userListToggleBtnLabel": "Kullanıcı listesini aç/kapat",
+ "app.navBar.toggleUserList.ariaLabel": "Kullanıcılar ve iletiler arasında geçiş yapar",
+ "app.navBar.toggleUserList.newMessages": "yeni ileti bildirimiyle",
+ "app.navBar.recording": "Bu oturum kaydedildi",
+ "app.navBar.recording.on": "Kaydediliyor",
+ "app.navBar.recording.off": "Kaydedilmiyor",
+ "app.navBar.emptyAudioBrdige": "Etkin bir mikrofon yok. Bu kayıda ses eklemek için mikrofonunuzu paylaşın.",
"app.leaveConfirmation.confirmLabel": "Ayrıl",
- "app.leaveConfirmation.confirmDesc": "Sizi görüşmeden çıkarır",
- "app.endMeeting.title": "Oturumu sonlandır",
- "app.endMeeting.description": "Bu oturumu sonlandırmak istediğinize emin misiniz?",
+ "app.leaveConfirmation.confirmDesc": "Toplantı oturumunuzu kapatır",
+ "app.endMeeting.title": "Toplantıyı bitir",
+ "app.endMeeting.description": "Bu oturumu bitirmek istediğinize emin misiniz?",
"app.endMeeting.yesLabel": "Evet",
"app.endMeeting.noLabel": "Hayır",
"app.about.title": "Hakkında",
- "app.about.version": "Müşteri yapısı:",
- "app.about.copyright": "Telif Hakkı:",
- "app.about.confirmLabel": "TAMAM",
- "app.about.confirmDesc": "TAMAM",
+ "app.about.version": "İstemci yapımı:",
+ "app.about.copyright": "Telif hakkı:",
+ "app.about.confirmLabel": "Tamam",
+ "app.about.confirmDesc": "Tamam",
"app.about.dismissLabel": "Vazgeç",
- "app.about.dismissDesc": "Kullanıcı bilgilerini kapat",
+ "app.about.dismissDesc": "İstemci bilgilerini kapat",
"app.actionsBar.changeStatusLabel": "Durumu değiştir",
- "app.actionsBar.muteLabel": "Sustur",
- "app.actionsBar.unmuteLabel": "Konuştur",
+ "app.actionsBar.muteLabel": "Sesi kapat",
+ "app.actionsBar.unmuteLabel": "Sesi aç",
"app.actionsBar.camOffLabel": "Kamera kapalı",
- "app.actionsBar.raiseLabel": "El Kaldır",
+ "app.actionsBar.raiseLabel": "El kaldır",
"app.actionsBar.label": "Eylemler çubuğu",
- "app.actionsBar.actionsDropdown.restorePresentationLabel": "Sunumu onar",
- "app.actionsBar.actionsDropdown.restorePresentationDesc": "Sunum kapatıldıktan sonra onarma düğmesi",
+ "app.actionsBar.actionsDropdown.restorePresentationLabel": "Sunumu geri yükle",
+ "app.actionsBar.actionsDropdown.restorePresentationDesc": "Kapatıldıktan sonra sunumu geri yükleyen düğme",
"app.screenshare.screenShareLabel" : "Ekran paylaşımı",
"app.submenu.application.applicationSectionTitle": "Uygulama",
- "app.submenu.application.animationsLabel": "Animasyonlar",
- "app.submenu.application.audioAlertLabel": "Sohbet Sesli Uyarıları",
- "app.submenu.application.pushAlertLabel": "Sohbet Açılır Pencere Uyarıları",
- "app.submenu.application.userJoinAudioAlertLabel": "Kullanıcı katılımı için sesli uyarılar",
- "app.submenu.application.userJoinPushAlertLabel": "Kullanıcı katılımı için açılır pencere uyarıları",
- "app.submenu.application.fontSizeControlLabel": "Yazı büyüklüğü",
- "app.submenu.application.increaseFontBtnLabel": "Uygulama Yazı Büyüklüğünü Artır",
- "app.submenu.application.decreaseFontBtnLabel": "Uygulama Yazı Büyüklüğünü Azalt",
- "app.submenu.application.currentSize": "mevcut {0}",
+ "app.submenu.application.animationsLabel": "Canlandırmalar",
+ "app.submenu.application.audioAlertLabel": "Sesli Sohbet Uyarıları",
+ "app.submenu.application.pushAlertLabel": "Açılır Pencere Sohbet Uyarıları",
+ "app.submenu.application.userJoinAudioAlertLabel": "Sesli Kullanıcı Katılımı Uyarıları",
+ "app.submenu.application.userJoinPushAlertLabel": "Açılır Pencere Kullanıcı Katılımı Uyarıları",
+ "app.submenu.application.fontSizeControlLabel": "Yazı boyutu",
+ "app.submenu.application.increaseFontBtnLabel": "Uygulamanın yazı boyutunu büyüt",
+ "app.submenu.application.decreaseFontBtnLabel": "Uygulamanın yazı boyutunu küçült",
+ "app.submenu.application.currentSize": "şu anda {0}",
"app.submenu.application.languageLabel": "Uygulama Dili",
"app.submenu.application.languageOptionLabel": "Dil seçin",
- "app.submenu.application.noLocaleOptionLabel": "Aktif yerel ayar bulunamadı",
+ "app.submenu.application.noLocaleOptionLabel": "Etkin bir dil bulunamadı",
"app.submenu.audio.micSourceLabel": "Mikrofon kaynağı",
"app.submenu.audio.speakerSourceLabel": "Hoparlör kaynağı",
- "app.submenu.audio.streamVolumeLabel": "Sesinizin seviyesi",
- "app.submenu.video.title": "Video",
+ "app.submenu.audio.streamVolumeLabel": "Sesinizin düzeyi",
+ "app.submenu.video.title": "Görüntü",
"app.submenu.video.videoSourceLabel": "Görüntü kaynağı",
"app.submenu.video.videoOptionLabel": "Görüntü kaynağını seç",
- "app.submenu.video.videoQualityLabel": "Video kalitesi",
- "app.submenu.video.qualityOptionLabel": "Video kalitesini seç",
- "app.submenu.video.participantsCamLabel": "Katılımcıların web kameraları görüntüleniyor",
+ "app.submenu.video.videoQualityLabel": "Görüntü kalitesi",
+ "app.submenu.video.qualityOptionLabel": "Görüntü kalitesini seçin",
+ "app.submenu.video.participantsCamLabel": "İzleyicilerin kameraları görüntüleniyor",
"app.settings.applicationTab.label": "Uygulama ",
"app.settings.audioTab.label": "Ses",
- "app.settings.videoTab.label": "Video",
+ "app.settings.videoTab.label": "Görüntü",
"app.settings.usersTab.label": "Katılımcılar",
"app.settings.main.label": "Ayarlar",
"app.settings.main.cancel.label": "Vazgeç",
- "app.settings.main.cancel.label.description": "Değişiklikleri geri alır ve ayarlar menüsünü kapatır",
+ "app.settings.main.cancel.label.description": "Değişiklikleri yok sayar ve ayarlar menüsünü kapatır",
"app.settings.main.save.label": "Kaydet",
"app.settings.main.save.label.description": "Değişiklikleri kaydeder ve ayarlar menüsünü kapatır",
"app.settings.dataSavingTab.label": "Veri tasarrufu",
- "app.settings.dataSavingTab.webcam": "Web kameralarını etkinleştir",
- "app.settings.dataSavingTab.screenShare": "Masaüstü paylaşımını etkinleştir",
+ "app.settings.dataSavingTab.webcam": "Kameraları aç",
+ "app.settings.dataSavingTab.screenShare": "Masaüstü paylaşılabilsin",
"app.settings.dataSavingTab.description": "Bant genişliğinden tasarruf etmek için mevcut gösterimi ayarlayın.",
"app.settings.save-notification.label": "Ayarlar kaydedildi",
"app.switch.onLabel": "AÇIK",
"app.switch.offLabel": "KAPALI",
- "app.talkingIndicator.ariaMuteDesc" : "Susturmak için kullanıcı seçin",
+ "app.talkingIndicator.ariaMuteDesc" : "Sesini kapatacağınız kullanıcıyı seçin",
"app.talkingIndicator.isTalking" : "{0} konuşuyor",
- "app.talkingIndicator.wasTalking" : "{0} konuşmayı durdurdu",
+ "app.talkingIndicator.wasTalking" : "{0} sustu",
"app.actionsBar.actionsDropdown.actionsLabel": "Eylemler",
- "app.actionsBar.actionsDropdown.presentationLabel": "Bir sunum yükle",
+ "app.actionsBar.actionsDropdown.presentationLabel": "Sunum yükle",
"app.actionsBar.actionsDropdown.initPollLabel": "Oylama başlat",
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ekranını paylaş",
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Ekran paylaşımı kilitli",
- "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ekran paylaşımını sonlandır",
+ "app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ekran paylaşımını bitir",
"app.actionsBar.actionsDropdown.presentationDesc": "Sunumunuzu yükleyin",
- "app.actionsBar.actionsDropdown.initPollDesc": "Oylama başlat",
- "app.actionsBar.actionsDropdown.desktopShareDesc": "Ekranını diğerleriyle paylaş",
- "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Ekran genişliği paylaşımını sonlandır",
- "app.actionsBar.actionsDropdown.pollBtnLabel": "Bir anket başlat",
- "app.actionsBar.actionsDropdown.pollBtnDesc": "Anket bölmesini değiştirir",
+ "app.actionsBar.actionsDropdown.initPollDesc": "Bir oylama başlatın",
+ "app.actionsBar.actionsDropdown.desktopShareDesc": "Ekranınızı diğer katılımcılarla paylaşın",
+ "app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Ekran paylaşımını şununla bitir",
+ "app.actionsBar.actionsDropdown.pollBtnLabel": "Oylama başlat",
+ "app.actionsBar.actionsDropdown.pollBtnDesc": "Anket bölmesini açar ya da kapatır",
"app.actionsBar.actionsDropdown.saveUserNames": "Kullanıcı adlarını kaydet",
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Çalışma odaları oluştur",
- "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "mevcut oturumu bölmek için çalışma odaları oluştur",
- "app.actionsBar.actionsDropdown.captionsLabel": "Kapalı altyazıları yaz",
- "app.actionsBar.actionsDropdown.captionsDesc": "Başlıklar bölmesini değiştirir",
- "app.actionsBar.actionsDropdown.takePresenter": "Eğitimci rolünü al",
- "app.actionsBar.actionsDropdown.takePresenterDesc": "Kendinizi yeni eğitimci olarak atayın",
+ "app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "geçerli toplantıyı bölmek için aralar oluştur",
+ "app.actionsBar.actionsDropdown.captionsLabel": "Alt yazıları yaz",
+ "app.actionsBar.actionsDropdown.captionsDesc": "Alt yazı bölmesini açar ya da kapatır",
+ "app.actionsBar.actionsDropdown.takePresenter": "Sunucu ol",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "Kendinizi yeni sunucu olarak atayın",
"app.actionsBar.emojiMenu.statusTriggerLabel": "Durumu ayarla",
- "app.actionsBar.emojiMenu.awayLabel": "Dışarıda",
- "app.actionsBar.emojiMenu.awayDesc": "Durumunu dışarıda yap",
- "app.actionsBar.emojiMenu.raiseHandLabel": "El Kaldır",
- "app.actionsBar.emojiMenu.raiseHandDesc": "Soru sormak için el kaldırın",
+ "app.actionsBar.emojiMenu.awayLabel": "Uzakta",
+ "app.actionsBar.emojiMenu.awayDesc": "Durumunuzu uzakta yapar",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "El kaldır",
+ "app.actionsBar.emojiMenu.raiseHandDesc": "Soru sormak için el kaldırır",
"app.actionsBar.emojiMenu.neutralLabel": "Kararsız",
- "app.actionsBar.emojiMenu.neutralDesc": "Durumunu kararsız yap",
- "app.actionsBar.emojiMenu.confusedLabel": "Şaşırmış",
- "app.actionsBar.emojiMenu.confusedDesc": "Durumunu şaşırmış yap",
+ "app.actionsBar.emojiMenu.neutralDesc": "Durumunuzu kararsız yapar",
+ "app.actionsBar.emojiMenu.confusedLabel": "Şaşkın",
+ "app.actionsBar.emojiMenu.confusedDesc": "Durumunuzu şaşırmış yapar",
"app.actionsBar.emojiMenu.sadLabel": "Üzgün",
- "app.actionsBar.emojiMenu.sadDesc": "Durumunu üzgün yap",
+ "app.actionsBar.emojiMenu.sadDesc": "Durumunuzu üzgün yapar",
"app.actionsBar.emojiMenu.happyLabel": "Mutlu",
- "app.actionsBar.emojiMenu.happyDesc": "Durumunu mutlu yap",
- "app.actionsBar.emojiMenu.noneLabel": "Durum Temizle",
- "app.actionsBar.emojiMenu.noneDesc": "Durumunu temizle",
+ "app.actionsBar.emojiMenu.happyDesc": "Durumunuzu mutlu yapar",
+ "app.actionsBar.emojiMenu.noneLabel": "Durumu Temizle",
+ "app.actionsBar.emojiMenu.noneDesc": "Durumunuzu temizler",
"app.actionsBar.emojiMenu.applauseLabel": "Alkış",
"app.actionsBar.emojiMenu.applauseDesc": "Durumunu alkış yap",
"app.actionsBar.emojiMenu.thumbsUpLabel": "Beğendim",
@@ -394,7 +402,7 @@
"app.audioModal.iOSBrowser": "Ses / Video desteklenmiyor",
"app.audioModal.iOSErrorDescription": "Şu anda iOS için Chrome'da ses ve video desteklenmemektedir.",
"app.audioModal.iOSErrorRecommendation": "Safari iOS kullanmanızı tavsiye ederiz.",
- "app.audioModal.audioChoiceDesc": "Bu görüşmede sesli katılımınızı nasıl yapmak istediğinizi seçin",
+ "app.audioModal.audioChoiceDesc": "Bu toplantıya katılacağınız ses ayarını seçin",
"app.audioModal.unsupportedBrowserLabel": "Tam olarak desteklenmeyen bir tarayıcı kullanıyorsunuz. Lütfen tam destek için {0} veya {1} kullanın.",
"app.audioModal.closeLabel": "Kapat",
"app.audioModal.yes": "Evet",
@@ -443,9 +451,9 @@
"app.audio.permissionsOverlay.hint": "Sesli oturuma katılmak için medya cihazlarınızı kullanmamıza izin vermeniz gerekiyor :)",
"app.error.removed": "Konferanstan uzaklaştırıldınız",
"app.error.meeting.ended": "Konferanstan ayrıldınız",
- "app.meeting.logout.duplicateUserEjectReason": "Toplantıya katılmaya çalışan mükerrer kullanıcı",
+ "app.meeting.logout.duplicateUserEjectReason": "Aynı kullanıcı toplantıya ikinci kez katılmaya çalışıyor",
"app.meeting.logout.permissionEjectReason": "İzin ihlali nedeniyle çıkarıldı",
- "app.meeting.logout.ejectedFromMeeting": "Oturumdan çıkarıldınız",
+ "app.meeting.logout.ejectedFromMeeting": "Toplantıdan çıkarıldınız",
"app.meeting.logout.validateTokenFailedEjectReason": "Yetkilendirme belirteci/token doğrulanamadı",
"app.meeting.logout.userInactivityEjectReason": "Kullanıcı uzun süredir aktif değil",
"app.meeting-ended.rating.legendLabel": "Geribildirim oylaması",
@@ -458,9 +466,9 @@
"app.dropdown.close": "Kapat",
"app.error.400": "Geçersiz istek",
"app.error.401": "Yetkisiz",
- "app.error.403": "Oturumdan çıkarıldınız",
+ "app.error.403": "Toplantıdan çıkarıldınız",
"app.error.404": "Bulunamadı",
- "app.error.410": "Oturum sona erdi",
+ "app.error.410": "Toplantı bitti",
"app.error.500": "Hops, birşeyler ters gitti",
"app.error.leaveLabel": "Tekrar giriş yap",
"app.error.fallback.presentation.title": "Bir hata oluştu",
@@ -478,7 +486,7 @@
"app.userList.guest.pendingGuestUsers": "{0} Bekleyen Misafir Kullanıcı",
"app.userList.guest.pendingGuestAlert": "Oturuma katıldı ve onayınızı bekliyor.",
"app.userList.guest.rememberChoice": "Seçimi hatırla",
- "app.user-info.title": "Dizin araması",
+ "app.user-info.title": "Dizinde Arama",
"app.toast.breakoutRoomEnded": "Çalışma odası sonlandı. Lütfen sesli görüşmeye yeniden katılın.",
"app.toast.chat.public": "Yeni Genel Sohbet mesajı",
"app.toast.chat.private": "Yeni Özel Sohbet mesajı",
@@ -486,7 +494,7 @@
"app.toast.clearedEmoji.label": "Emoji durumu temizlendi",
"app.toast.setEmoji.label": "Emoji durumu {0} olarak ayarlandı",
"app.toast.meetingMuteOn.label": "Tüm kullanıcılar için ses kapatıldı",
- "app.toast.meetingMuteOff.label": "Sessiz toplantı kapatıldı",
+ "app.toast.meetingMuteOff.label": "Toplantının sesi açıldı",
"app.notification.recordingStart": "Bu oturum şu anda kaydediliyor",
"app.notification.recordingStop": "Bu oturum şu anda kaydediliyor",
"app.notification.recordingPaused": "Bu oturum artık kaydedilmiyor",
@@ -513,8 +521,8 @@
"app.lock-viewers.description": "Bu seçenekler, izleyicilerin belirli özellikleri kullanmasını kısıtlamanıza olanak tanır.",
"app.lock-viewers.featuresLable": "Özellik",
"app.lock-viewers.lockStatusLabel": "Durum",
- "app.lock-viewers.webcamLabel": "Web kamerası paylaş",
- "app.lock-viewers.otherViewersWebcamLabel": "Diğer izleyici web kameralarına bakın",
+ "app.lock-viewers.webcamLabel": "Kamerayı paylaş",
+ "app.lock-viewers.otherViewersWebcamLabel": "Diğer izleyicilerin kameralarına bakın",
"app.lock-viewers.microphoneLable": "Mikrofon paylaş",
"app.lock-viewers.PublicChatLabel": "Genel Sohbet mesajı gönder",
"app.lock-viewers.PrivateChatLable": "Özel mesaj gönder",
@@ -534,32 +542,32 @@
"app.videoPreview.profileLabel": "Kalite",
"app.videoPreview.cancelLabel": "Vazgeç",
"app.videoPreview.closeLabel": "Kapat",
- "app.videoPreview.findingWebcamsLabel": "Web kamerası bulunuyor",
+ "app.videoPreview.findingWebcamsLabel": "Kameralar bulunuyor",
"app.videoPreview.startSharingLabel": "Paylaşımı başlat",
- "app.videoPreview.webcamOptionLabel": "Web kamerası seçin",
- "app.videoPreview.webcamPreviewLabel": "Web kamerası ön izlemesi",
- "app.videoPreview.webcamSettingsTitle": "Web kamerası ayarları",
- "app.videoPreview.webcamNotFoundLabel": "Web kamerası bulunamadı",
- "app.videoPreview.profileNotFoundLabel": "Desteklenen kamera profili yok",
- "app.video.joinVideo": "Web kamerası paylaş",
- "app.video.leaveVideo": "Web kamerası paylaşımını durdur",
+ "app.videoPreview.webcamOptionLabel": "Kamera seçin",
+ "app.videoPreview.webcamPreviewLabel": "Kamera ön izlemesi",
+ "app.videoPreview.webcamSettingsTitle": "Kamera ayarları",
+ "app.videoPreview.webcamNotFoundLabel": "Kamera bulunamadı",
+ "app.videoPreview.profileNotFoundLabel": "Desteklenen bir kamera profili yok",
+ "app.video.joinVideo": "Kamerayı paylaş",
+ "app.video.leaveVideo": "Kamerası paylaşımını durdur",
"app.video.iceCandidateError": "ICE adayı ekleme hatası",
"app.video.iceConnectionStateError": "Bağlantı başarısız (ICE 1107 hatası)",
- "app.video.permissionError": "Web kamerası paylaşılırken hata oluştu. Lütfen izinleri kontrol et",
- "app.video.sharingError": "Kamera paylaşımı hatası",
- "app.video.notFoundError": "Web kamerası bulunamadı. Lütfen bağlı olduğunu kontrol edin.",
- "app.video.notAllowed": "Web kamerasını paylaşma izni eksik, lütfen tarayıcı izinlerinizden emin olun",
- "app.video.notSupportedError": "Web kamerası videosunu yalnızca güvenli kaynaklarla paylaşabilir, SSL sertifikanızın geçerli olduğundan emin olun",
- "app.video.notReadableError": "Web kamerası videosu alınamadı. Lütfen başka bir programın web kamerasını kullanmadığından emin olun",
+ "app.video.permissionError": "Kamera paylaşılırken sorun çıktı. Lütfen izinleri denetleyin",
+ "app.video.sharingError": "Kamera paylaşılırken sorun çıktı",
+ "app.video.notFoundError": "Kamera bulunamadı. Lütfen bağlı olduğunu denetleyin",
+ "app.video.notAllowed": "Kamera paylaşma izni verilmemiş, lütfen web tarayıcı izinlerini verdiğinizden emin olun",
+ "app.video.notSupportedError": "Kamera görüntüsü yalnız güvenli kaynaklar ile paylaşabilir, SSL sertifikanızın geçerli olduğundan emin olun",
+ "app.video.notReadableError": "Kamera görüntüsü alınamadı. Lütfen kamerayı başka bir uygulamanın kullanmadığından emin olun",
"app.video.mediaFlowTimeout1020": "Medya, sunucuya ulaşamıyor (hata 1020)",
- "app.video.suggestWebcamLock": "İzleyicilerin web kamera ayarlarını kilitlemeye zorla",
- "app.video.suggestWebcamLockReason": "(bu, toplantının istikrarını artıracak)",
+ "app.video.suggestWebcamLock": "İzleyicilerin kameraları kilitlenmeye zorlansın mı?",
+ "app.video.suggestWebcamLockReason": "(bu, toplantının kararlılığını artıracak)",
"app.video.enable": "Etkinleştir",
"app.video.cancel": "Vazgeç",
"app.video.swapCam": "Değiştir",
- "app.video.swapCamDesc": "Kameraların yönünü değiştir",
- "app.video.videoLocked": "Web kamerası paylaşımı kapalı",
- "app.video.videoButtonDesc": "Web kamerası paylaş",
+ "app.video.swapCamDesc": "kameraların yönünü değiştir",
+ "app.video.videoLocked": "Kamera paylaşımı kilitli",
+ "app.video.videoButtonDesc": "Kamerayı paylaş",
"app.video.videoMenu": "Video menüsü",
"app.video.videoMenuDisabled": "Video menüsü Web kamerası ayarlarında devre dışı",
"app.video.videoMenuDesc": "Video menüsünü liste olarak aç",
@@ -589,7 +597,7 @@
"app.sfu.mediaGenericError2200": "Medya sunucusu isteği işleyemiyor (ICE hatası 2200)",
"app.sfu.invalidSdp2202":"İstemci geçersiz medya isteği talebi oluşturdu (SDP hatası 2202)",
"app.sfu.noAvailableCodec2203": "Sunucu uygun medya kodlaması bulamadı (hata 2203)",
- "app.meeting.endNotification.ok.label": "TAMAM",
+ "app.meeting.endNotification.ok.label": "Tamam",
"app.whiteboard.annotations.poll": "Anket sonuçları yayınlandı",
"app.whiteboard.toolbar.tools": "Araçlar",
"app.whiteboard.toolbar.tools.hand": "Sunum araçları",
@@ -624,13 +632,13 @@
"app.feedback.subtitle": "BigBlueButton deneyiminizi bizimle paylaşın (zorunlu değil)",
"app.feedback.textarea": "BigBlueButton'ı nasıl daha iyi yapabiliriz?",
"app.feedback.sendFeedback": "Geri bildirim yap",
- "app.feedback.sendFeedbackDesc": "Bir geri bildirim gönderin ve oturumdan çıkın",
+ "app.feedback.sendFeedbackDesc": "Bir geri bildirim gönderip toplantıdan çıkın",
"app.videoDock.webcamFocusLabel": "Odakla",
- "app.videoDock.webcamFocusDesc": "Seçili kamerayı odakla",
+ "app.videoDock.webcamFocusDesc": "Seçilmiş kameraya odaklan",
"app.videoDock.webcamUnfocusLabel": "Uzaklaş",
- "app.videoDock.webcamUnfocusDesc": "Seçili kameradan uzaklaş",
+ "app.videoDock.webcamUnfocusDesc": "Seçilmiş kameradan uzaklaş",
"app.videoDock.autoplayBlockedDesc": "Size diğer kullanıcıların web kameralarını göstermek için izninize ihtiyacımız var.",
- "app.videoDock.autoplayAllowLabel": "Web kameraları görüntüle",
+ "app.videoDock.autoplayAllowLabel": "Kameraları görüntüle",
"app.invitation.title": "Çalışma odası davetiyesi",
"app.invitation.confirm": "Davet et",
"app.createBreakoutRoom.title": "Çalışma Odaları",
diff --git a/bigbluebutton-html5/private/locales/tr_TR.json b/bigbluebutton-html5/private/locales/tr_TR.json
index 2fce64e7fb..be089638c9 100644
--- a/bigbluebutton-html5/private/locales/tr_TR.json
+++ b/bigbluebutton-html5/private/locales/tr_TR.json
@@ -34,7 +34,7 @@
"app.captions.menu.title": "Kapalı başlıklar",
"app.captions.menu.fontSize": "Boyut",
"app.captions.menu.fontColor": "Metin rengi",
- "app.captions.menu.fontFamily": "Font",
+ "app.captions.menu.fontFamily": "Yazıtipi",
"app.captions.menu.backgroundColor": "Arkalan rengi",
"app.captions.menu.previewLabel": "Önizleme",
"app.captions.menu.cancelLabel": "Vazgeç",
@@ -58,7 +58,7 @@
"app.userList.participantsTitle": "Katılımcılar",
"app.userList.messagesTitle": "Mesajlar",
"app.userList.notesTitle": "Notlar",
- "app.userList.notesListItem.unreadContent": " Paylaşılan notlar bölümünde yeni içerik var",
+ "app.userList.notesListItem.unreadContent": "Paylaşılan notlar bölümünde yeni içerik var",
"app.userList.captionsTitle": "Başlıklar",
"app.userList.presenter": "Sunucu",
"app.userList.you": "Siz",
@@ -72,6 +72,7 @@
"app.userList.menu.chat.label": "Özel mesaj yaz",
"app.userList.menu.clearStatus.label": "Durumu temizle",
"app.userList.menu.removeUser.label": "Kullanıcı uzaklaştır",
+ "app.userList.menu.removeConfirmation.label": "({0}) kullanıcısını kaldır",
"app.userList.menu.muteUserAudio.label": "Kullanıcıyı sustur",
"app.userList.menu.unmuteUserAudio.label": "Kullanıcıyı konuştur",
"app.userList.userAriaLabel": "{0} {1} {2} Durum {3}",
@@ -111,6 +112,7 @@
"app.media.autoplayAlertDesc": "Erişime izin ver",
"app.media.screenshare.start": "Ekran paylaşımı başladı",
"app.media.screenshare.end": "Ekran paylaşımı sonlandı",
+ "app.media.screenshare.unavailable": "Ekran Paylaşımı Mevcut Değil",
"app.media.screenshare.autoplayBlockedDesc": "Size sunum yapan kişinin ekranını göstermek için izninize ihtiyacımız var.",
"app.media.screenshare.autoplayAllowLabel": "Paylaşılan ekranı görüntüle",
"app.screenshare.notAllowed": "Hata: Ekrana erişim izni verilmedi.",
@@ -255,7 +257,7 @@
"app.navBar.recording": "Bu oturum kaydediliyor",
"app.navBar.recording.on": "Kaydediyor",
"app.navBar.recording.off": "Kaydetmiyor",
- "app.navBar.emptyAudioBrdige": "Aktif mikrofon yok. Bu kayda ses eklemek için mikrofonunuzu paylaşın.",
+ "app.navBar.emptyAudioBrdige": "Etkinleştirilmiş mikrofon yok. Bu kayda ses eklemek için mikrofonunuzu paylaşın.",
"app.leaveConfirmation.confirmLabel": "Ayrıl",
"app.leaveConfirmation.confirmDesc": "Sizi görüşmeden çıkarır",
"app.endMeeting.title": "Oturumu sonlandır",
diff --git a/bigbluebutton-html5/private/locales/uk_UA.json b/bigbluebutton-html5/private/locales/uk_UA.json
index 59448707fc..68823dd42b 100644
--- a/bigbluebutton-html5/private/locales/uk_UA.json
+++ b/bigbluebutton-html5/private/locales/uk_UA.json
@@ -1,18 +1,18 @@
{
- "app.home.greeting": "Ласкаво просимо! Ваша презентація почнеться найближчим часом... ",
+ "app.home.greeting": "Вітаємо! Ваша презентація почнеться найближчим часом... ",
"app.chat.submitLabel": "Надіслати повідомлення",
- "app.chat.errorMaxMessageLength": "Повідомлення із {0} символа(-ів) занадто довге",
+ "app.chat.errorMaxMessageLength": "Повідомлення з {0} символів є занадто довгим",
"app.chat.disconnected": "Ви від'єднались, повідомлення не можуть бути надіслані",
- "app.chat.locked": "Чат заблокований, повідомлення неможливо надіслати",
- "app.chat.inputLabel": "Введення повідомлення для чату {0}",
- "app.chat.inputPlaceholder": "Надіслати повідомлення для {0}",
+ "app.chat.locked": "Чат заблоковано, неможливо надіслати повідомлення",
+ "app.chat.inputLabel": "Текст повідомлення у чаті з {0}",
+ "app.chat.inputPlaceholder": "Надіслати повідомлення до {0}",
"app.chat.titlePublic": "Загальний чат",
"app.chat.titlePrivate": "Приватний чат з {0}",
- "app.chat.partnerDisconnected": "{0} покинув конференцію",
+ "app.chat.partnerDisconnected": "{0} вийшов з конференції",
"app.chat.closeChatLabel": "Закрити {0}",
"app.chat.hideChatLabel": "Приховати {0}",
"app.chat.moreMessages": "Більше повідомлень нижче",
- "app.chat.dropdown.options": "Параметри чату",
+ "app.chat.dropdown.options": "Налаштування чату",
"app.chat.dropdown.clear": "Очистити",
"app.chat.dropdown.copy": "Скопіювати",
"app.chat.dropdown.save": "Зберегти",
@@ -37,7 +37,7 @@
"app.captions.menu.fontFamily": "Шрифт",
"app.captions.menu.backgroundColor": "Колір фону",
"app.captions.menu.previewLabel": "Попередній перегляд",
- "app.captions.menu.cancelLabel": "Відмінити",
+ "app.captions.menu.cancelLabel": "Скасувати",
"app.captions.pad.hide": "Приховати субтитри",
"app.captions.pad.tip": "Натисніть Esc, щоб сфокусувати панель інструментів редактора",
"app.captions.pad.ownership": "Стати ведучим",
@@ -46,10 +46,10 @@
"app.captions.pad.dictationStart": "Почати диктування",
"app.captions.pad.dictationStop": "Зупинити диктування",
"app.captions.pad.dictationOnDesc": "Включити розпізнавання мови",
- "app.captions.pad.dictationOffDesc": "Виключити розпізнавання мови",
- "app.note.title": "Спільні примітки",
- "app.note.label": "Примітки",
- "app.note.hideNoteLabel": "Сховати примітки",
+ "app.captions.pad.dictationOffDesc": "Вимкнути розпізнавання мови",
+ "app.note.title": "Спільні нотатки",
+ "app.note.label": "Нотатки",
+ "app.note.hideNoteLabel": "Сховати нотатки",
"app.user.activityCheck": "Перевірка активності користувача",
"app.user.activityCheck.label": "Перевірте, чи знаходиться користувач у зустрiчi ({0})",
"app.user.activityCheck.check": "Перевірка",
@@ -57,12 +57,13 @@
"app.userList.usersTitle": "Користувачі",
"app.userList.participantsTitle": "Учасники",
"app.userList.messagesTitle": "Повідомлення",
- "app.userList.notesTitle": "Примітки",
- "app.userList.notesListItem.unreadContent": "В розділі \"Спільні примітки\" появилась нова інформація",
+ "app.userList.notesTitle": "Нотатки",
+ "app.userList.notesListItem.unreadContent": "Оновлення у розділі \"Спільні нотатки\"",
"app.userList.captionsTitle": "Субтитри",
"app.userList.presenter": "Ведучий",
"app.userList.you": "Ви",
- "app.userList.locked": "Обмеження",
+ "app.userList.locked": "Обмежено",
+ "app.userList.byModerator": "(модератор)",
"app.userList.label": "Список користувачів",
"app.userList.toggleCompactView.label": "Увімкнути/вимкнути компактний вид",
"app.userList.guest": "Гість",
@@ -70,8 +71,10 @@
"app.userList.chatListItem.unreadSingular": "{0} нове повідомлення",
"app.userList.chatListItem.unreadPlural": "{0} нових повідомлень",
"app.userList.menu.chat.label": "Почати приватний чат",
- "app.userList.menu.clearStatus.label": "Очистити статус",
+ "app.userList.menu.clearStatus.label": "Зняти статус",
"app.userList.menu.removeUser.label": "Виключити користувача",
+ "app.userList.menu.removeConfirmation.label": "Вилучити користувача ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "Дійсно вилучити цього користувача? Після цього цей користувач не зможе повторно приєднатися до цього сеансу.",
"app.userList.menu.muteUserAudio.label": "Вимкнути мікрофон користувача",
"app.userList.menu.unmuteUserAudio.label": "Увімкнути мікрофон користувача",
"app.userList.userAriaLabel": "{0} {1} {2} Статус {3}",
@@ -79,51 +82,52 @@
"app.userList.menu.demoteUser.label": "Понизити до глядача",
"app.userList.menu.unlockUser.label": "Зняти обмеження для {0}",
"app.userList.menu.lockUser.label": "Обмежити можливості для {0}",
- "app.userList.menu.directoryLookup.label": "Пошук в каталозі",
+ "app.userList.menu.directoryLookup.label": "Пошук у каталозі",
"app.userList.menu.makePresenter.label": "Зробити ведучим",
"app.userList.userOptions.manageUsersLabel": "Керувати користувачами",
- "app.userList.userOptions.muteAllLabel": "Вимкнути мікрофон всім",
- "app.userList.userOptions.muteAllDesc": "Вимкнути всім учасникам мікрофон",
- "app.userList.userOptions.clearAllLabel": "Очистити всі статуси",
- "app.userList.userOptions.clearAllDesc": "Очистить статуси всіх учасників",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Вимкнути усім мікрофон, окрім модератора",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "Вимикає усім учасникам мікрофон, окрім модератора",
- "app.userList.userOptions.unmuteAllLabel": "Скасувати вимкнений мікрофон",
+ "app.userList.userOptions.muteAllLabel": "Вимкнути мікрофони всім",
+ "app.userList.userOptions.muteAllDesc": "Вимкнути всім учасникам мікрофони",
+ "app.userList.userOptions.clearAllLabel": "Зняти всі статуси",
+ "app.userList.userOptions.clearAllDesc": "Зняти статуси усіх учасників",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Вимкнути усім мікрофони, окрім модератора",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Вимикає усім учасникам мікрофони, окрім модератора",
+ "app.userList.userOptions.unmuteAllLabel": "Увімкнути мікрофон",
"app.userList.userOptions.unmuteAllDesc": "Скасовує вимкнення мікрофону",
- "app.userList.userOptions.lockViewersLabel": "Обмеження можливостей користувачів",
- "app.userList.userOptions.lockViewersDesc": "Обмежити веб-камеру, мікрофон, можливість писати в чат...",
- "app.userList.userOptions.disableCam": "Веб-камери глядачів відключені",
- "app.userList.userOptions.disableMic": "Мікрофони глядачів відключені",
+ "app.userList.userOptions.lockViewersLabel": "Обмеження функцій учасникам",
+ "app.userList.userOptions.lockViewersDesc": "Обмежити вебкамеру, мікрофон, можливість писати в чат...",
+ "app.userList.userOptions.disableCam": "Вебкамери учасників вимкнено",
+ "app.userList.userOptions.disableMic": "Мікрофони учасників вимкнено",
"app.userList.userOptions.disablePrivChat": "Приватний чат вимкнено",
"app.userList.userOptions.disablePubChat": "Загальний чат вимкнено",
- "app.userList.userOptions.disableNote": "Спільні нотатки тепер заблоковані",
- "app.userList.userOptions.hideUserList": "Список користувачів тепер прихований від учасників",
- "app.userList.userOptions.webcamsOnlyForModerator": "Веб-камери глядачів можуть бачити лише модератори (через налаштування блокування)",
- "app.userList.content.participants.options.clearedStatus": "Статус очищено",
- "app.userList.userOptions.enableCam": "Веб-камери глядачів увімкнено",
- "app.userList.userOptions.enableMic": "Мікрофони глядачів увімкнено",
+ "app.userList.userOptions.disableNote": "Спільні нотатки тепер заблоковано",
+ "app.userList.userOptions.hideUserList": "Список користувачів тепер приховано від учасників",
+ "app.userList.userOptions.webcamsOnlyForModerator": "Вебкамери учасників можуть бачити лише модератори (через налаштування блокування)",
+ "app.userList.content.participants.options.clearedStatus": "Статуси користувачів знято",
+ "app.userList.userOptions.enableCam": "Вебкамери учасників увімкнено",
+ "app.userList.userOptions.enableMic": "Мікрофони учасників увімкнено",
"app.userList.userOptions.enablePrivChat": "Приватний чат увімкнено",
"app.userList.userOptions.enablePubChat": "Загальний чат увімкнено",
"app.userList.userOptions.enableNote": "Спільні нотатки тепер увімкнено",
"app.userList.userOptions.showUserList": "Список користувачів тепер видимий для учасників",
- "app.userList.userOptions.enableOnlyModeratorWebcam": "Тепер можна активувати веб-камеру, всі бачитимуть вас",
- "app.media.label": "Медіа",
+ "app.userList.userOptions.enableOnlyModeratorWebcam": "Тепер можна активувати вебкамеру, всі бачитимуть вас",
+ "app.media.label": "Мультимедії",
"app.media.autoplayAlertDesc": "Дозволити доступ",
"app.media.screenshare.start": "Демонстрація екрану розпочалася",
"app.media.screenshare.end": "Демонстрацію екрану закінчено",
- "app.media.screenshare.autoplayBlockedDesc": "Нам потрібен Ваш дозвіл, щоб показати Вам екран ведучого.",
+ "app.media.screenshare.unavailable": "Демонстрація екрану недоступна",
+ "app.media.screenshare.autoplayBlockedDesc": "Нам потрібен дозвіл, щоб показати вам екран ведучого.",
"app.media.screenshare.autoplayAllowLabel": "Показати екран, який демонструється",
"app.screenshare.notAllowed": "Помилка: Дозвіл на доступ до екрану не було надано.",
"app.screenshare.notSupportedError": "Помилка: Демонстрація екрану можлива тільки на безпечних (SSL) доменах",
- "app.screenshare.notReadableError": "Помилка: При спробі захопити екран сталась помилка",
+ "app.screenshare.notReadableError": "Помилка: При спробі захопити екран сталася помилка",
"app.screenshare.genericError": "Помилка: Відбулась помилка при демонстрації екрану. Будь ласка, спробуйте пізніше",
- "app.meeting.ended": "Ця сесія завершилася",
+ "app.meeting.ended": "Цей сеанс завершився",
"app.meeting.meetingTimeRemaining": "Залишилось часу зустрічі: {0}",
"app.meeting.meetingTimeHasEnded": "Час закінчився. Зустріч буде закрито незабаром",
- "app.meeting.endedMessage": "Ви будете перенаправлені на головний екран",
+ "app.meeting.endedMessage": "Переспрямування на головний екран",
"app.meeting.alertMeetingEndsUnderOneMinute": "Зустріч закінчується через хвилину.",
"app.meeting.alertBreakoutEndsUnderOneMinute": "Зустріч закінчується через хвилину.",
- "app.presentation.hide": "Приховати презентацію",
+ "app.presentation.hide": "Згорнути презентацію",
"app.presentation.notificationLabel": "Поточна презентація",
"app.presentation.slideContent": "Вміст слайду",
"app.presentation.startSlideContent": "Початок вмісту слайду",
@@ -154,35 +158,38 @@
"app.presentation.presentationToolbar.fitToPage": "Підігнати під розмір сторінки",
"app.presentation.presentationToolbar.goToSlide": "Слайд {0}",
"app.presentationUploder.title": "Презентація",
- "app.presentationUploder.message": "Як ведучий ви маєте можливість завантажувати будь-який офісний документ або PDF-файл. Для найкращих результатів ми рекомендуємо PDF-файл. Переконайтеся, що вибрано презентацію за допомогою прапорця праворуч.",
+ "app.presentationUploder.message": "Як ведучий ви маєте можливість завантажувати будь-який документ або PDF-файл. Для найкращих результатів ми рекомендуємо PDF-файл. Переконайтеся, що вибрано презентацію - скористайтеся прапорцем, який розташовано праворуч.",
"app.presentationUploder.uploadLabel": "Завантажити",
"app.presentationUploder.confirmLabel": "Підтвердити",
"app.presentationUploder.confirmDesc": "Зберегти зміни та розпочати презентацію",
- "app.presentationUploder.dismissLabel": "Відмінити",
- "app.presentationUploder.dismissDesc": "Закрити вікно зображення та скасувати зміни",
- "app.presentationUploder.dropzoneLabel": "Перетягніть файли сюди, щоб завантажити",
- "app.presentationUploder.dropzoneImagesLabel": "Перетягніть зображення сюди, щоб завантажити",
+ "app.presentationUploder.dismissLabel": "Скасувати",
+ "app.presentationUploder.dismissDesc": "Закрити вікно зображення та скасувати ваші зміни",
+ "app.presentationUploder.dropzoneLabel": "Для завантаження перетягніть файли сюди",
+ "app.presentationUploder.dropzoneImagesLabel": "Для завантаження перетягніть зображення сюди",
"app.presentationUploder.browseFilesLabel": "або виберіть файл",
"app.presentationUploder.browseImagesLabel": "або виберіть/захопіть зображення",
"app.presentationUploder.fileToUpload": "Буде завантажено ...",
"app.presentationUploder.currentBadge": "Поточний",
- "app.presentationUploder.rejectedError": "Вибрані файл(и) відхилено. Перевірте тип файлу(iв).",
+ "app.presentationUploder.rejectedError": "Неможливо завантажити вибрані файл(и). Перевірте тип файлу(iв).",
"app.presentationUploder.upload.progress": "Завантаження ({0}%)",
"app.presentationUploder.upload.413": "Файл занадто великий. Будь ласка, розділіть його на декілька файлів меншого розміру.",
+ "app.presentationUploder.upload.408": "Вичерпано час запиту дії токену для завантаження.",
+ "app.presentationUploder.upload.404": "404: Неправильний токен для завантаження",
+ "app.presentationUploder.upload.401": "Не вдалося здійснити запит токену для завантаження презентації.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Обробка сторінки {0} з {1}",
"app.presentationUploder.conversion.genericConversionStatus": "Файл конвертується...",
- "app.presentationUploder.conversion.generatingThumbnail": "Генерування мініатюр...",
- "app.presentationUploder.conversion.generatedSlides": "Слайди генеруються...",
- "app.presentationUploder.conversion.generatingSvg": "Генерування слайдів SVG...",
- "app.presentationUploder.conversion.pageCountExceeded": "Перевищено кількість сторінок.Будь ласка, розділіть файл на декілька.",
- "app.presentationUploder.conversion.officeDocConversionInvalid": "Не вийшло опрацювати документ Office. Будь ласка завантажте PDF натомість.",
- "app.presentationUploder.conversion.officeDocConversionFailed": "Не вийшло опрацювати документ Office. Будь ласка завантажте PDF натомість.",
- "app.presentationUploder.conversion.pdfHasBigPage": "Ми не змогли конвертувати PDF файл, будь ласка, спробуйте оптимізувати його",
+ "app.presentationUploder.conversion.generatingThumbnail": "Створення мініатюр...",
+ "app.presentationUploder.conversion.generatedSlides": "Слайди створюються...",
+ "app.presentationUploder.conversion.generatingSvg": "Створення слайдів SVG...",
+ "app.presentationUploder.conversion.pageCountExceeded": "Перевищено кількість сторінок. Будь ласка, розділіть файл на декілька.",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Не вийшло опрацювати документ. Будь ласка, завантажте файл у форматі PDF.",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Не вийшло опрацювати документ. Будь ласка, завантажте файл у форматі PDF.",
+ "app.presentationUploder.conversion.pdfHasBigPage": "Ми не змогли конвертувати PDF-файл. Будь ласка, спробуйте оптимізувати його",
"app.presentationUploder.conversion.timeout": "Ой, перетворення займає надто багато часу",
"app.presentationUploder.conversion.pageCountFailed": "Не вийшло визначити кількість сторінок.",
- "app.presentationUploder.isDownloadableLabel": "Не дозволяти скачувати презентацію",
- "app.presentationUploder.isNotDownloadableLabel": "Дозволити скачувати презентацію",
- "app.presentationUploder.removePresentationLabel": "Видалити презентацію",
+ "app.presentationUploder.isDownloadableLabel": "Заборонити звантаження презентації",
+ "app.presentationUploder.isNotDownloadableLabel": "Дозволити звантажувати презентацію",
+ "app.presentationUploder.removePresentationLabel": "Вилучити презентацію",
"app.presentationUploder.setAsCurrentPresentation": "Встановити презентацію поточною",
"app.presentationUploder.tableHeading.filename": "Ім'я файлу",
"app.presentationUploder.tableHeading.options": "Опції",
@@ -190,10 +197,10 @@
"app.poll.pollPaneTitle": "Опитування",
"app.poll.quickPollTitle": "Швидке опитування",
"app.poll.hidePollDesc": "Ховає панель меню опитувань",
- "app.poll.customPollInstruction": "Щоб створити своє опитування, оберіть кнопку нижче і введіть свої опції.",
- "app.poll.quickPollInstruction": "Оберіть опцію нижче, щоб почати опитування.",
- "app.poll.customPollLabel": "Своє опитування",
- "app.poll.startCustomLabel": "Розпочати своє опитування",
+ "app.poll.customPollInstruction": "Для створення опитування, натисніть відповідну кнопку та зазначте ваші питання.",
+ "app.poll.quickPollInstruction": "Виберіть типовий шаблон опитування.",
+ "app.poll.customPollLabel": "Власне опитування",
+ "app.poll.startCustomLabel": "Розпочати власне опитування",
"app.poll.activePollInstruction": "Залиште цю панель відкритою, щоб бачити відповіді на опитування в реальному часі. Коли будете готові, оберіть \"Опублікувати результати голосування\", щоб опублікувати результати і завершити опитування.",
"app.poll.publishLabel": "Опублікувати результати опитування",
"app.poll.backLabel": "Назад до параметрів опитування",
@@ -201,11 +208,11 @@
"app.poll.waitingLabel": "Очікування на відповіді ({0} / {1})",
"app.poll.ariaInputCount": "Опція спеціального опитування {0} з {1}",
"app.poll.customPlaceholder": "Додати варіант опитування",
- "app.poll.noPresentationSelected": "Не вибрано жодної презентації! Виберіть одну.",
+ "app.poll.noPresentationSelected": "Не вибрано жодної презентації! Виберіть щонайменше одну.",
"app.poll.clickHereToSelect": "Натисніть тут, щоб вибрати",
- "app.poll.t": "Вірно",
+ "app.poll.t": "Правильно",
"app.poll.f": "Хибно",
- "app.poll.tf": "Правда / Неправда",
+ "app.poll.tf": "Правильно / хибно",
"app.poll.y": "Так",
"app.poll.n": "Ні",
"app.poll.yn": "Так / Ні",
@@ -213,7 +220,7 @@
"app.poll.a3": "A / B / C",
"app.poll.a4": "A / B / C / D",
"app.poll.a5": "A / B / C / D / E",
- "app.poll.answer.true": "Вірно",
+ "app.poll.answer.true": "Правильно",
"app.poll.answer.false": "Хибно",
"app.poll.answer.yes": "Так",
"app.poll.answer.no": "Ні",
@@ -230,29 +237,29 @@
"app.failedMessage": "Вибачте, проблеми з підключенням до сервера.",
"app.downloadPresentationButton.label": "Скачати оригінал презентації",
"app.connectingMessage": "З'єднання...",
- "app.waitingMessage": "Втрачено з'еднання. Спроба повторного підключення через {0} секунд...",
+ "app.waitingMessage": "Втрачено з'єднання. Спроба повторного з'єднання через {0} секунд...",
"app.retryNow": "Повторити",
"app.navBar.settingsDropdown.optionsLabel": "Опції",
- "app.navBar.settingsDropdown.fullscreenLabel": "Розгорнути на весь екран",
- "app.navBar.settingsDropdown.settingsLabel": "Відкрити параметри",
+ "app.navBar.settingsDropdown.fullscreenLabel": "На весь екран",
+ "app.navBar.settingsDropdown.settingsLabel": "Налаштування",
"app.navBar.settingsDropdown.aboutLabel": "Про програму",
- "app.navBar.settingsDropdown.leaveSessionLabel": "Вихід",
+ "app.navBar.settingsDropdown.leaveSessionLabel": "Вийти",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Вийти з повноекранного режиму",
"app.navBar.settingsDropdown.fullscreenDesc": "Розгорнути меню параметрів на весь екран",
- "app.navBar.settingsDropdown.settingsDesc": "Змінити загальні параметри",
+ "app.navBar.settingsDropdown.settingsDesc": "Змінити загальні налаштування",
"app.navBar.settingsDropdown.aboutDesc": "Показати інформацію про клієнта",
- "app.navBar.settingsDropdown.leaveSessionDesc": "Залишити конференцію",
+ "app.navBar.settingsDropdown.leaveSessionDesc": "Вийти",
"app.navBar.settingsDropdown.exitFullscreenDesc": "Вийти з повноекранного режиму",
"app.navBar.settingsDropdown.hotkeysLabel": "Гарячі клавіші",
- "app.navBar.settingsDropdown.hotkeysDesc": "Перепис доступних гарячих клавiш",
+ "app.navBar.settingsDropdown.hotkeysDesc": "Перелік гарячих клавiш",
"app.navBar.settingsDropdown.helpLabel": "Допомога",
- "app.navBar.settingsDropdown.helpDesc": "Перенаправляє користувача з відеоуроками (відкривається нова вкладка)",
+ "app.navBar.settingsDropdown.helpDesc": "Переспрямовує користувача до відео з інструкціями (нова вкладка)",
"app.navBar.settingsDropdown.endMeetingDesc": "Завершити зустріч",
"app.navBar.settingsDropdown.endMeetingLabel": "Завершити зустріч",
"app.navBar.userListToggleBtnLabel": "Увімкнути/вимкнути список користувачів",
- "app.navBar.toggleUserList.ariaLabel": "Увімкнути/вимкнути користувачів та повідомлення",
+ "app.navBar.toggleUserList.ariaLabel": "Перемкнути користувачів та повідомлення",
"app.navBar.toggleUserList.newMessages": "зі сповіщенням про нове повідомлення",
- "app.navBar.recording": "Ця сесія записується",
+ "app.navBar.recording": "Цей сеанс записується",
"app.navBar.recording.on": "Записується",
"app.navBar.recording.off": "Не записується",
"app.navBar.emptyAudioBrdige": "Немає активного мікрофону. Активуйте Ваш мікрофон, щоб додати звук в даний запис.",
@@ -265,9 +272,9 @@
"app.about.title": "Про програму",
"app.about.version": "Збірка клієнта:",
"app.about.copyright": "Авторське право:",
- "app.about.confirmLabel": "OK",
- "app.about.confirmDesc": "OK",
- "app.about.dismissLabel": "Відміна",
+ "app.about.confirmLabel": "Гаразд",
+ "app.about.confirmDesc": "Гаразд",
+ "app.about.dismissLabel": "Скасувати",
"app.about.dismissDesc": "Закрити інформацію про клієнта",
"app.actionsBar.changeStatusLabel": "Змінити статус",
"app.actionsBar.muteLabel": "Вимкнути мікрофон",
@@ -275,44 +282,44 @@
"app.actionsBar.camOffLabel": "Вимкнути камеру",
"app.actionsBar.raiseLabel": "Підняти",
"app.actionsBar.label": "Панель дій",
- "app.actionsBar.actionsDropdown.restorePresentationLabel": "Повернути презентацію",
+ "app.actionsBar.actionsDropdown.restorePresentationLabel": "Розгорнути презентацію",
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Кнопка для повернення презентації, яку було закрито",
"app.screenshare.screenShareLabel" : "Демонстрація екрану",
"app.submenu.application.applicationSectionTitle": "Застосунок",
- "app.submenu.application.animationsLabel": "Анімації",
- "app.submenu.application.audioAlertLabel": "Аудіо сповіщення для чату",
- "app.submenu.application.pushAlertLabel": "Спливаючі сповіщення для чату",
- "app.submenu.application.userJoinAudioAlertLabel": "Аудіо сповіщення приєднання користувача",
- "app.submenu.application.userJoinPushAlertLabel": "Спливаючі сповіщення приєднання користувача",
+ "app.submenu.application.animationsLabel": "Ефекти",
+ "app.submenu.application.audioAlertLabel": "Звукове сповіщення чату",
+ "app.submenu.application.pushAlertLabel": "Виринаючі сповіщення чату",
+ "app.submenu.application.userJoinAudioAlertLabel": "Звукове сповіщення приєднання користувача",
+ "app.submenu.application.userJoinPushAlertLabel": "Виринаючі сповіщення про приєднання користувача",
"app.submenu.application.fontSizeControlLabel": "Розмір шрифту",
"app.submenu.application.increaseFontBtnLabel": "Збільшити шрифт застосунку",
"app.submenu.application.decreaseFontBtnLabel": "Зменшити шрифт застосунку",
"app.submenu.application.currentSize": "зараз {0}",
"app.submenu.application.languageLabel": "Мова застосунку",
"app.submenu.application.languageOptionLabel": "Вибрати мову",
- "app.submenu.application.noLocaleOptionLabel": "Відсутні доступні переклади",
+ "app.submenu.application.noLocaleOptionLabel": "Відсутні переклади",
"app.submenu.audio.micSourceLabel": "Джерело мікрофона",
"app.submenu.audio.speakerSourceLabel": "Джерело динаміків",
- "app.submenu.audio.streamVolumeLabel": "Гучність аудіо потоку",
+ "app.submenu.audio.streamVolumeLabel": "Гучність звукового потоку",
"app.submenu.video.title": "Відео",
"app.submenu.video.videoSourceLabel": "Джерело відео",
"app.submenu.video.videoOptionLabel": "Виберіть джерело відео",
"app.submenu.video.videoQualityLabel": "Якість відео",
"app.submenu.video.qualityOptionLabel": "Виберіть якість відео",
- "app.submenu.video.participantsCamLabel": "Перегляд веб-камер учасників",
+ "app.submenu.video.participantsCamLabel": "Перегляд вебкамер учасників",
"app.settings.applicationTab.label": "Застосунок",
- "app.settings.audioTab.label": "Аудіо",
+ "app.settings.audioTab.label": "Звук",
"app.settings.videoTab.label": "Відео",
"app.settings.usersTab.label": "Учасники",
"app.settings.main.label": "Налаштування",
- "app.settings.main.cancel.label": "Відмінити",
- "app.settings.main.cancel.label.description": "Відміняє зміни та закриває меню налаштувань",
+ "app.settings.main.cancel.label": "Скасувати",
+ "app.settings.main.cancel.label.description": "Скасовує зміни та закриває меню налаштувань",
"app.settings.main.save.label": "Зберегти",
"app.settings.main.save.label.description": "Зберігає зміни та закриває меню налаштувань",
- "app.settings.dataSavingTab.label": "Збереження даних",
- "app.settings.dataSavingTab.webcam": "Увімкнути веб-камери",
- "app.settings.dataSavingTab.screenShare": "Увімкнути демонстрацію робочого столу",
- "app.settings.dataSavingTab.description": "Щоб зберегти пропускну здатність, виберіть що зараз буде відображатись.",
+ "app.settings.dataSavingTab.label": "Заощадження трафіку",
+ "app.settings.dataSavingTab.webcam": "Увімкнути вебкамери",
+ "app.settings.dataSavingTab.screenShare": "Увімкнути демонстрацію стільниці",
+ "app.settings.dataSavingTab.description": "Для заощадження даних, будь ласка, виберіть функції, які потрібно відображати на екрані:",
"app.settings.save-notification.label": "Налаштування збережено",
"app.switch.onLabel": "УВІМК.",
"app.switch.offLabel": "ВИМК.",
@@ -320,49 +327,49 @@
"app.talkingIndicator.isTalking" : "{0} говорить",
"app.talkingIndicator.wasTalking" : "{0} закінчив говорити",
"app.actionsBar.actionsDropdown.actionsLabel": "Дії",
- "app.actionsBar.actionsDropdown.presentationLabel": "Завантажити презентацію",
- "app.actionsBar.actionsDropdown.initPollLabel": "Розпочати опитування",
+ "app.actionsBar.actionsDropdown.presentationLabel": "Презентація",
+ "app.actionsBar.actionsDropdown.initPollLabel": "Опитування",
"app.actionsBar.actionsDropdown.desktopShareLabel": "Демонструвати ваш екран",
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Демонстрація екрану заблокована",
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Зупинити демонстрацію екрану",
"app.actionsBar.actionsDropdown.presentationDesc": "Завантажити вашу презентацію",
- "app.actionsBar.actionsDropdown.initPollDesc": "Розпочати опитування",
+ "app.actionsBar.actionsDropdown.initPollDesc": "Опитування",
"app.actionsBar.actionsDropdown.desktopShareDesc": "Демонструвати ваш екран іншим учасникам",
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Зупинити демонстрацію екрану",
- "app.actionsBar.actionsDropdown.pollBtnLabel": "Розпочати опитування",
- "app.actionsBar.actionsDropdown.pollBtnDesc": "Вкл/Викл панель опитування",
+ "app.actionsBar.actionsDropdown.pollBtnLabel": "Опитування",
+ "app.actionsBar.actionsDropdown.pollBtnDesc": "Перемкнути панель опитування",
"app.actionsBar.actionsDropdown.saveUserNames": "Зберегти імена користувачів",
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Створити кімнати для учасників",
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "створити кімнати і розділити учасників між ними ",
- "app.actionsBar.actionsDropdown.captionsLabel": "Написати приховані субтитри",
- "app.actionsBar.actionsDropdown.captionsDesc": "Включає панель субтитрів",
+ "app.actionsBar.actionsDropdown.captionsLabel": "Створити приховані субтитри",
+ "app.actionsBar.actionsDropdown.captionsDesc": "Вмикає панель субтитрів",
"app.actionsBar.actionsDropdown.takePresenter": "Стати презентатором",
- "app.actionsBar.actionsDropdown.takePresenterDesc": "Встановити себе ведучим/презентером",
- "app.actionsBar.emojiMenu.statusTriggerLabel": "Задати статус",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "Встановити себе ведучим/презентатором",
+ "app.actionsBar.emojiMenu.statusTriggerLabel": "Встановити статус",
"app.actionsBar.emojiMenu.awayLabel": "Відійшов",
- "app.actionsBar.emojiMenu.awayDesc": "Змінює ваш статус на \\\"Відійшов\\\"",
- "app.actionsBar.emojiMenu.raiseHandLabel": "Підняти руку",
- "app.actionsBar.emojiMenu.raiseHandDesc": "Підняти руку щоб поставити питання",
+ "app.actionsBar.emojiMenu.awayDesc": "Змінює ваш статус на \"Відійшов\"",
+ "app.actionsBar.emojiMenu.raiseHandLabel": "Піднято руку",
+ "app.actionsBar.emojiMenu.raiseHandDesc": "Підняти руку, щоб поставити питання",
"app.actionsBar.emojiMenu.neutralLabel": "Не визначився",
- "app.actionsBar.emojiMenu.neutralDesc": "Змінює ваш статус на \\\"Не визначився\\\"",
+ "app.actionsBar.emojiMenu.neutralDesc": "Змінює ваш статус на \"Не визначився\"",
"app.actionsBar.emojiMenu.confusedLabel": "Збентежений",
- "app.actionsBar.emojiMenu.confusedDesc": "Змінює ваш статус на \\\"Збентежений\\\"",
+ "app.actionsBar.emojiMenu.confusedDesc": "Змінює ваш статус на \"Збентежений\"",
"app.actionsBar.emojiMenu.sadLabel": "Сумний",
- "app.actionsBar.emojiMenu.sadDesc": "Змінює ваш статус на \\\"Сумний\\\"",
+ "app.actionsBar.emojiMenu.sadDesc": "Змінює ваш статус на \"Сумний\"",
"app.actionsBar.emojiMenu.happyLabel": "Щасливий",
- "app.actionsBar.emojiMenu.happyDesc": "Змінює ваш статус на \\\"Щасливий\\\"",
- "app.actionsBar.emojiMenu.noneLabel": "Очистити статус",
- "app.actionsBar.emojiMenu.noneDesc": "Очищує ваш статус",
+ "app.actionsBar.emojiMenu.happyDesc": "Змінює ваш статус на \"Щасливий\"",
+ "app.actionsBar.emojiMenu.noneLabel": "Зняти статус",
+ "app.actionsBar.emojiMenu.noneDesc": "Знімає ваш статус",
"app.actionsBar.emojiMenu.applauseLabel": "Оплески",
- "app.actionsBar.emojiMenu.applauseDesc": "Змінює ваш статус на \\\"Оплески\\\"",
+ "app.actionsBar.emojiMenu.applauseDesc": "Змінює ваш статус на \"Оплески\"",
"app.actionsBar.emojiMenu.thumbsUpLabel": "Подобається",
- "app.actionsBar.emojiMenu.thumbsUpDesc": "Змінює ваш статус на \\\"Подобається\\\"",
+ "app.actionsBar.emojiMenu.thumbsUpDesc": "Змінює ваш статус на \"Подобається\"",
"app.actionsBar.emojiMenu.thumbsDownLabel": "Не подобається",
- "app.actionsBar.emojiMenu.thumbsDownDesc": "Змінює ваш статус на \\\"Не подобається\\\"",
- "app.actionsBar.currentStatusDesc": "нинішній статус {0}",
+ "app.actionsBar.emojiMenu.thumbsDownDesc": "Змінює ваш статус на \"Не подобається\"",
+ "app.actionsBar.currentStatusDesc": "поточний статус {0}",
"app.actionsBar.captions.start": "Почати перегляд субтитрів",
"app.actionsBar.captions.stop": "Зупинити перегляд субтитрів",
- "app.audioNotification.audioFailedError1001": "WebSocket відключено (Помилка 1001)",
+ "app.audioNotification.audioFailedError1001": "WebSocket від'єднано (Помилка 1001)",
"app.audioNotification.audioFailedError1002": "Не можу створити WebSocket з'єднання (Помилка 1002)",
"app.audioNotification.audioFailedError1003": "Версія браузера не підтримується (Помилка 1003)",
"app.audioNotification.audioFailedError1004": "Помилка у виклилику (reason={0}) (Помилка 1004)",
@@ -374,78 +381,78 @@
"app.audioNotification.audioFailedError1010": "Час на узгодження з'єднання вичерпано ( ICE помилка 1010)",
"app.audioNotification.audioFailedError1011": "Час з'єднання вийшов (ICE помилка 1011)",
"app.audioNotification.audioFailedError1012": "З'єднання закрите (ICE помилка 1012)",
- "app.audioNotification.audioFailedMessage": "Не вдалося встановити аудіо з'єднання",
+ "app.audioNotification.audioFailedMessage": "Не вдалося встановити голосове з'єднання",
"app.audioNotification.mediaFailedMessage": "Помилка getUserMicMedia, дозволені тільки безпечні джерела",
"app.audioNotification.closeLabel": "Закрити",
- "app.audioNotificaion.reconnectingAsListenOnly": "Аудіо було заблоковано модератором, ви підключилися лише як слухач",
- "app.breakoutJoinConfirmation.title": "Приєднатись до зустрічі",
+ "app.audioNotificaion.reconnectingAsListenOnly": "Звук було заблоковано модератором, вас приєднано лише як слухача",
+ "app.breakoutJoinConfirmation.title": "Приєднатися до зустрічі",
"app.breakoutJoinConfirmation.message": "Чи хочете ви приєднатися до",
"app.breakoutJoinConfirmation.confirmDesc": "Приєднує вас до зустрічі",
"app.breakoutJoinConfirmation.dismissLabel": "Скасувати",
"app.breakoutJoinConfirmation.dismissDesc": "Закриває та відмовляє в приєднанні до зустрічі",
- "app.breakoutJoinConfirmation.freeJoinMessage": "Виберіть конференцію до якої бажаєте під’єднатися",
+ "app.breakoutJoinConfirmation.freeJoinMessage": "Виберіть конференцію, до якої бажаєте під’єднатися",
"app.breakoutTimeRemainingMessage": "Час до закінчення конференції: {0}",
"app.breakoutWillCloseMessage": "Час вичерпано. Конференцію невдовзі буде закрито",
- "app.calculatingBreakoutTimeRemaining": "Підрахунок часу що залишився...",
- "app.audioModal.ariaTitle": "Вікно підключення до аудіо-конференції",
+ "app.calculatingBreakoutTimeRemaining": "Підрахунок часу, що залишився...",
+ "app.audioModal.ariaTitle": "Вікно підключення до голосової конференції",
"app.audioModal.microphoneLabel": "Мікрофон",
"app.audioModal.listenOnlyLabel": "Тільки слухати",
- "app.audioModal.audioChoiceLabel": "Як ви хочете увійти в аудіо-конференцію?",
- "app.audioModal.iOSBrowser": "Аудіо/Відео не підтримується",
- "app.audioModal.iOSErrorDescription": "Наразі аудіо та відео в Chrome для iOS не підтримуються.",
+ "app.audioModal.audioChoiceLabel": "Як ви хочете приєднатися до голосової конференції?",
+ "app.audioModal.iOSBrowser": "Звук/відео не підтримується",
+ "app.audioModal.iOSErrorDescription": "Наразі звук та відео у Chrome для iOS не підтримуються.",
"app.audioModal.iOSErrorRecommendation": "Ми рекомендуємо використовувати Safari для iOS.",
- "app.audioModal.audioChoiceDesc": "Виберіть як брати участь в аудіоконференції",
+ "app.audioModal.audioChoiceDesc": "Виберіть спосіб участі у голосовій конференції",
"app.audioModal.unsupportedBrowserLabel": "Схоже, ви використовуєте браузер, який повністю не підтримується. Для повної підтримки використовуйте {0} або {1}.",
"app.audioModal.closeLabel": "Закрити",
"app.audioModal.yes": "Так",
"app.audioModal.no": "Ні",
- "app.audioModal.yes.arialabel" : "Звучить ехо",
- "app.audioModal.no.arialabel" : "Ехо не звучить",
- "app.audioModal.echoTestTitle": "Це приватний ехо-тест. Промовте кілька слів. Чи чуєте ви себе в динаміках?",
- "app.audioModal.settingsTitle": "Змінити налаштування аудіо",
- "app.audioModal.helpTitle": "З'явилися проблеми з вашими аудіоприладами",
- "app.audioModal.helpText": "Чи надали ви BigBlueButton дозвіл на доступ до мікрофона? Зверніть увагу, що коли ви намагаєтеся приєднатися до аудіо-конференції, має з'явитися діалогове вікно, в якому Вас запитають дозвіл на підключення медіа-пристрою, будь ласка, надайте його, щоб приєднатися до аудіо-конференції. Якщо цього не відбулося, спробуйте змінити дозволи мікрофона у налаштуваннях вашого веб-переглядача.",
+ "app.audioModal.yes.arialabel" : "Чутно луну",
+ "app.audioModal.no.arialabel" : "Луну не чутно",
+ "app.audioModal.echoTestTitle": "Перевірка на відлуння голосу. Промовте кілька слів. Чи чуєте ви себе в динаміках?",
+ "app.audioModal.settingsTitle": "Змінити налаштування звуку",
+ "app.audioModal.helpTitle": "З'явилися проблеми з пристроями відтворення звуку",
+ "app.audioModal.helpText": "Чи ви надали BigBlueButton дозвіл на доступ до мікрофона? Зверніть увагу, що коли ви намагаєтеся приєднатися до голосової конференції, має з'явитися діалогове вікно, в якому вас запитають про дозвіл на під'єднання мультимедійних пристроїв. Будь ласка, прийміть це, щоб встановити голосовий зв'язок. Якщо цього не відбулося спробуйте змінити дозволи мікрофона у налаштуваннях вашого переглядача.",
"app.audioModal.help.noSSL": "Сторінка незахищена. Щоб дозволити доступ до мікрофона, сторінка повинна обслуговуватися через HTTPS. Будь ласка, зв'яжіться з адміністратором сервера.",
- "app.audioModal.help.macNotAllowed": "Схоже, системні настройки Mac блокують доступ до Вашого мікрофону. Відкрийте System Preferences> Security & Privacy> Privacy> Microphone, і переконайтеся, що використовуваний Вами браузер відзначений.",
+ "app.audioModal.help.macNotAllowed": "Схоже, системні налаштування Mac блокують доступ до вашого мікрофону. Відкрийте System Preferences > Security & Privacy > Privacy > Microphone та переконайтеся, що вибрано переглядач, яким ви користуєтеся.",
"app.audioModal.audioDialTitle": "Приєднатися за допомогою телефону",
"app.audioDial.audioDialDescription": "Наберіть номер",
- "app.audioDial.audioDialConfrenceText": "і введіть PIN-код конференції:",
- "app.audioModal.autoplayBlockedDesc": "Нам необхідний Ваш дозвіл на відтворення аудіо",
+ "app.audioDial.audioDialConfrenceText": "та введіть PIN-код конференції:",
+ "app.audioModal.autoplayBlockedDesc": "Нам необхідний дозвіл на відтворення звуку",
"app.audioModal.playAudio": "Відтворювати звук",
"app.audioModal.playAudio.arialabel" : "Відтворювати звук",
"app.audioDial.tipIndicator": "Підказка",
- "app.audioDial.tipMessage": "Натисніть кнопку '0' на телефоні, щоб відключити / включити свій мікрофон",
- "app.audioModal.connecting": "Підключення",
- "app.audioModal.connectingEchoTest": "Підключення до ехо тесту",
- "app.audioManager.joinedAudio": "Ви приєдналися до аудіоконференції",
- "app.audioManager.joinedEcho": "Ви приєдналися до ехо тесту",
- "app.audioManager.leftAudio": "Ви покинули аудіо конференцію",
- "app.audioManager.reconnectingAudio": "Спроба повторно підключити аудіо",
+ "app.audioDial.tipMessage": "Натисніть кнопку '0' на телефоні, щоб вимкнути чи увімкнути мікрофон",
+ "app.audioModal.connecting": "Приєднання",
+ "app.audioModal.connectingEchoTest": "Підготовка до перевірки на відлуння голосу",
+ "app.audioManager.joinedAudio": "Ви приєдналися до голосової конференції",
+ "app.audioManager.joinedEcho": "Ви приєдналися до перевірки на відлуння голосу",
+ "app.audioManager.leftAudio": "Ви вийшли з голосової конференції",
+ "app.audioManager.reconnectingAudio": "Спроба повторно приєднати голос",
"app.audioManager.genericError": "Помилка: Щось пішло не так, будь ласка, спробуйте ще раз",
"app.audioManager.connectionError": "Помилка: Підключення не вдалося",
"app.audioManager.requestTimeout": "Помилка: Час очікування підключення вичерпано",
- "app.audioManager.invalidTarget": "Помилка: Спроба запросити що-небудь від невірної цілі",
- "app.audioManager.mediaError": "Помилка: Виникли проблеми з вашими аудіопристроями",
- "app.audio.joinAudio": "Приєднатися до аудіоконференції",
- "app.audio.leaveAudio": "Залишити аудіоконференцію",
- "app.audio.enterSessionLabel": "Підключитися до сеансу",
+ "app.audioManager.invalidTarget": "Помилка: Спроба запросити до неправильного призначення",
+ "app.audioManager.mediaError": "Помилка: Виникли проблеми з пристроями відтворення звуку",
+ "app.audio.joinAudio": "Приєднатися до голосової конференції ",
+ "app.audio.leaveAudio": "Вийти",
+ "app.audio.enterSessionLabel": "Приєднатися до сеансу",
"app.audio.playSoundLabel": "Програти звук",
"app.audio.backLabel": "Назад",
"app.audio.audioSettings.titleLabel": "Виберіть налаштування звуку",
- "app.audio.audioSettings.descriptionLabel": "Зверніть увагу, що в вашому браузері з'явиться діалогове вікно, що вимагає дозволу вашого мікрофона.",
+ "app.audio.audioSettings.descriptionLabel": "Зверніть увагу, що у вашому переглядачі з'явиться діалогове вікно для надання дозволу на доступ до мікрофона.",
"app.audio.audioSettings.microphoneSourceLabel": "Джерело мікрофона",
"app.audio.audioSettings.speakerSourceLabel": "Джерело динаміків",
- "app.audio.audioSettings.microphoneStreamLabel": "Гучність вашого аудіопотоку",
+ "app.audio.audioSettings.microphoneStreamLabel": "Гучність вашого звукового потоку",
"app.audio.audioSettings.retryLabel": "Повторити",
- "app.audio.listenOnly.backLabel": "Незад",
+ "app.audio.listenOnly.backLabel": "Назад",
"app.audio.listenOnly.closeLabel": "Закрити",
- "app.audio.permissionsOverlay.title": "Дозволити BigBlueButton використовувати ваші медіа-пристрої",
- "app.audio.permissionsOverlay.hint": "Нам потрібно, щоб ви дозволили нам використовувати свої медіа-пристрої, щоб приєднатись до голосової конференції :)",
- "app.error.removed": "Ви були вилучені з конференції",
+ "app.audio.permissionsOverlay.title": "Дозволити BigBlueButton використовувати ваші мультимедійні пристрої",
+ "app.audio.permissionsOverlay.hint": "Нам потрібно, щоб ви дозволили використовувати мультимедійні пристрої, щоб приєднатись до голосової конференції :)",
+ "app.error.removed": "Вас було вилучено з конференції",
"app.error.meeting.ended": "Ви вийшли з конференції",
- "app.meeting.logout.duplicateUserEjectReason": "Дубльований користувач намагається приєднатися до зустрічі",
+ "app.meeting.logout.duplicateUserEjectReason": "Користувач з таким же ім'ям намагається приєднатися до зустрічі",
"app.meeting.logout.permissionEjectReason": "Вилучено через порушення дозволу",
- "app.meeting.logout.ejectedFromMeeting": "Ви були вилучені з зустрiчi",
+ "app.meeting.logout.ejectedFromMeeting": "Вас було вилучено із зустрічі",
"app.meeting.logout.validateTokenFailedEjectReason": "Не вдалося перевірити токен авторизації",
"app.meeting.logout.userInactivityEjectReason": "Користувач неактивний занадто довго",
"app.meeting-ended.rating.legendLabel": "Рейтинг відгуків",
@@ -464,29 +471,29 @@
"app.error.500": "Ой, щось пішло не так",
"app.error.leaveLabel": "Увійдіть знову",
"app.error.fallback.presentation.title": "Виникла помилка",
- "app.error.fallback.presentation.description": "Він зареєстрований. Спробуйте перезавантажити сторінку.",
+ "app.error.fallback.presentation.description": "Уже увійшли. Спробуйте перезавантажити сторінку.",
"app.error.fallback.presentation.reloadButton": "Перезавантажити",
- "app.guest.waiting": "Очікування схвалення для приєднання",
+ "app.guest.waiting": "Очікування схвалення приєднання",
"app.userList.guest.waitingUsers": "Очікування користувачів",
"app.userList.guest.waitingUsersTitle": "Керування користувачами",
"app.userList.guest.optionTitle": "Перегляньте очікуваних користувачів",
- "app.userList.guest.allowAllAuthenticated": "Дозволити всім аутентифікованим",
+ "app.userList.guest.allowAllAuthenticated": "Дозволити всім авторизованим",
"app.userList.guest.allowAllGuests": "Дозволити всім гостям",
"app.userList.guest.allowEveryone": "Дозволити всім",
"app.userList.guest.denyEveryone": "Заборонити всім",
- "app.userList.guest.pendingUsers": "{0} Користувачів в очікуванні",
- "app.userList.guest.pendingGuestUsers": "{0} Гостей в очікуванні",
- "app.userList.guest.pendingGuestAlert": "Приєднався до сесії та очікує Вашого дозволу",
+ "app.userList.guest.pendingUsers": "{0} користувачів в очікуванні",
+ "app.userList.guest.pendingGuestUsers": "{0} гостей в очікуванні",
+ "app.userList.guest.pendingGuestAlert": "Приєднався до сеансу та очікує вашого схвалення",
"app.userList.guest.rememberChoice": "Запам'ятати вибір",
- "app.user-info.title": "Пошук в каталозі",
+ "app.user-info.title": "Пошук у каталозі",
"app.toast.breakoutRoomEnded": "Конференція закінчилася. Будь ласка, приєднайтесь знову до аудіо конференції.",
- "app.toast.chat.public": "Нове повідомлення у публічному чаті",
+ "app.toast.chat.public": "Нове повідомлення у загальному чаті",
"app.toast.chat.private": "Нове повідомлення у приватному чаті",
"app.toast.chat.system": "Система",
- "app.toast.clearedEmoji.label": "Статус емодзі очищено",
- "app.toast.setEmoji.label": "Статус емодзі встановлено: {0}",
- "app.toast.meetingMuteOn.label": "Всім користувачам виключено мікрофони",
- "app.toast.meetingMuteOff.label": "Блокування мікрофону виключено",
+ "app.toast.clearedEmoji.label": "Статус знято",
+ "app.toast.setEmoji.label": "{0}",
+ "app.toast.meetingMuteOn.label": "Всім користувачам вимкнено мікрофони",
+ "app.toast.meetingMuteOff.label": "Блокування мікрофону вимкнено",
"app.notification.recordingStart": "Цей сеанс наразі записується",
"app.notification.recordingStop": "Цей сеанс не записується",
"app.notification.recordingPaused": "Цей сеанс більше не записується",
@@ -498,9 +505,9 @@
"app.shortcut-help.functionLabel": "Функція",
"app.shortcut-help.closeLabel": "Закрити",
"app.shortcut-help.closeDesc": "Закриває вікно клавіш швидкого доступу",
- "app.shortcut-help.openOptions": "Відкриває параметри",
- "app.shortcut-help.toggleUserList": "Вмикає список користувачів",
- "app.shortcut-help.toggleMute": "Вмикає / Вимикає мікрофон",
+ "app.shortcut-help.openOptions": "Відкриває налаштування",
+ "app.shortcut-help.toggleUserList": "Перемикає список користувачів",
+ "app.shortcut-help.toggleMute": "Перемикає стан мікрофону",
"app.shortcut-help.togglePublicChat": "Вмикає загальний чат (Список користувачів має бути відкритим)",
"app.shortcut-help.hidePrivateChat": "Приховує приватний чат",
"app.shortcut-help.closePrivateChat": "Закриває приватний чат",
@@ -509,66 +516,66 @@
"app.shortcut-help.togglePan": "Активувати інструмент панорамування (Ведучий)",
"app.shortcut-help.nextSlideDesc": "Наступний слайд (Ведучий)",
"app.shortcut-help.previousSlideDesc": "Попередній слайд (Ведучий)",
- "app.lock-viewers.title": "Обмеження можливостей користувачів",
- "app.lock-viewers.description": "Ці налаштування дозволяють заборонити учасникам використовувати певні функції",
+ "app.lock-viewers.title": "Обмеження функцій учасникам",
+ "app.lock-viewers.description": "Ці налаштування дозволяють обмежити учасників у доступі до певних функцій",
"app.lock-viewers.featuresLable": "Функція",
- "app.lock-viewers.lockStatusLabel": "Статус",
- "app.lock-viewers.webcamLabel": "Транслювати веб-камеру",
- "app.lock-viewers.otherViewersWebcamLabel": "Бачити веб-камери інших глядачів",
- "app.lock-viewers.microphoneLable": "Увімкнути мікрофон",
- "app.lock-viewers.PublicChatLabel": "Надіслати повідомлення у загальному чаті",
- "app.lock-viewers.PrivateChatLable": "Надіслати повідомлення у приватному чаті",
- "app.lock-viewers.notesLabel": "Редагувати спільні примітки",
- "app.lock-viewers.userListLabel": "Подивитися інших учасників в списку користувачів",
+ "app.lock-viewers.lockStatusLabel": "Стан",
+ "app.lock-viewers.webcamLabel": "Увімкнути вебкамеру",
+ "app.lock-viewers.otherViewersWebcamLabel": "Бачити вебкамери інших учасників",
+ "app.lock-viewers.microphoneLable": "Вмикати свій мікрофон",
+ "app.lock-viewers.PublicChatLabel": "Надсилати повідомлення у загальному чаті",
+ "app.lock-viewers.PrivateChatLable": "Надсилати повідомлення у приватному чаті",
+ "app.lock-viewers.notesLabel": "Редагувати спільні нотатки",
+ "app.lock-viewers.userListLabel": "Переглядати учасників у списку користувачів",
"app.lock-viewers.ariaTitle": "Вікно налаштування блокування користувачів",
"app.lock-viewers.button.apply": "Застосувати",
- "app.lock-viewers.button.cancel": "Відхилити",
- "app.lock-viewers.locked": "Обмеження",
+ "app.lock-viewers.button.cancel": "Скасувати",
+ "app.lock-viewers.locked": "Обмежено",
"app.lock-viewers.unlocked": "Розблокований",
"app.recording.startTitle": "Почати запис",
"app.recording.stopTitle": "Поставити запис на паузу",
"app.recording.resumeTitle": "Відновити запис",
- "app.recording.startDescription": "Ви зможете натиснути пізніше ще раз кнопку запису, щоб призупинити запис.",
- "app.recording.stopDescription": "Ви впевнені, що хочете призупинити запис? Ви зможете відновити запис, повторно натиснувши кнопку запису.",
+ "app.recording.startDescription": "Для паузи запису, будь ласка, натисніть повторно кнопку запису.",
+ "app.recording.stopDescription": "Ви впевнені, що хочете призупинити запис? Ви зможете відновити запис - для цього ще раз натисніть на кнопку запису.",
"app.videoPreview.cameraLabel": "Камера",
"app.videoPreview.profileLabel": "Якість",
"app.videoPreview.cancelLabel": "Відмінити",
"app.videoPreview.closeLabel": "Закрити",
- "app.videoPreview.findingWebcamsLabel": "Пошук веб-камер",
+ "app.videoPreview.findingWebcamsLabel": "Пошук вебкамер",
"app.videoPreview.startSharingLabel": "Почати трансляцію",
- "app.videoPreview.webcamOptionLabel": "Виберіть веб-камеру",
- "app.videoPreview.webcamPreviewLabel": "Попередній перегляд веб-камери",
- "app.videoPreview.webcamSettingsTitle": "Налаштування веб-камери",
- "app.videoPreview.webcamNotFoundLabel": "Веб-камеру не знайдено",
- "app.videoPreview.profileNotFoundLabel": "Не знайдено підтримуваних веб-камер",
- "app.video.joinVideo": "Транслювати веб-камеру",
- "app.video.leaveVideo": "Припинити транслювати веб-камеру",
+ "app.videoPreview.webcamOptionLabel": "Виберіть вебкамеру",
+ "app.videoPreview.webcamPreviewLabel": "Попередній перегляд вебкамери",
+ "app.videoPreview.webcamSettingsTitle": "Налаштування вебкамери",
+ "app.videoPreview.webcamNotFoundLabel": "Вебкамеру не знайдено",
+ "app.videoPreview.profileNotFoundLabel": "Не знайдено підтримувану вебкамеру",
+ "app.video.joinVideo": "Увімкнути вебкамеру",
+ "app.video.leaveVideo": "Вимкнути вебкамеру",
"app.video.iceCandidateError": "Помилка додавання ICE кандидату",
"app.video.iceConnectionStateError": "Не вдалося з'єднатися (ICE помилка 1107)",
- "app.video.permissionError": "Помилка при трансляції веб-камери. Будь ласка перевірте дозволи",
- "app.video.sharingError": "Помилка при трансляції веб-камери",
- "app.video.notFoundError": "Не вдалося знайти веб-камеру. Переконайтеся, що вона під'єднана",
- "app.video.notAllowed": "Відсутній дозвіл на трансляцію веб-камери, будь ласка, переконайтеся, що ваш браузер має необхідні дозволи",
- "app.video.notSupportedError": "Можна транслювати веб-камеру лише з безпечних джерел, переконайтеся, що сертифікат SSL дійсний",
- "app.video.notReadableError": "Не вдалося отримати відео з веб-камери. Будь ласка, переконайтеся, що інша програма не використовує веб-камеру",
- "app.video.mediaFlowTimeout1020": "Медіа не досягає сервера (помилка 1020)",
- "app.video.suggestWebcamLock": "Примусово заблокувати веб-камери учасникам?",
+ "app.video.permissionError": "Помилка при трансляції вебкамери. Будь ласка перевірте дозволи",
+ "app.video.sharingError": "Помилка при трансляції вебкамери",
+ "app.video.notFoundError": "Не вдалося знайти вебкамеру. Переконайтеся, що її під'єднано",
+ "app.video.notAllowed": "Відсутній дозвіл на трансляцію вебкамери, будь ласка, переконайтеся, що ваш переглядач має необхідні дозволи",
+ "app.video.notSupportedError": "Дозволяється транслювати потік з вебкамери лише з безпечних джерел, переконайтеся, що сертифікат SSL дійсний",
+ "app.video.notReadableError": "Не вдалося отримати відео з вебкамери. Будь ласка, переконайтеся, що інша програма не використовує її",
+ "app.video.mediaFlowTimeout1020": "Мультимедії не досягають сервера (помилка 1020)",
+ "app.video.suggestWebcamLock": "Примусово заблокувати вебкамери учасникам?",
"app.video.suggestWebcamLockReason": "(це підвищить стабільність конференції)",
- "app.video.enable": "Включити",
- "app.video.cancel": "Відмінити",
+ "app.video.enable": "Увімкнути",
+ "app.video.cancel": "Скасувати",
"app.video.swapCam": "Змінити",
- "app.video.swapCamDesc": "поміняти напрямок веб-камер",
- "app.video.videoLocked": "Транслювати веб-камеру заблоковано",
- "app.video.videoButtonDesc": "Транслювати веб-камеру",
+ "app.video.swapCamDesc": "поміняти фокус вебкамери",
+ "app.video.videoLocked": "Трансляцію вебкамери заблоковано",
+ "app.video.videoButtonDesc": "Увімкнути вебкамеру",
"app.video.videoMenu": "Меню відео",
- "app.video.videoMenuDisabled": "Меню відео веб-камера відключено в налаштуваннях",
+ "app.video.videoMenuDisabled": "Меню відео: вебкамеру вимкнено у налаштуваннях",
"app.video.videoMenuDesc": "Відкрити контекстне меню відео",
"app.video.chromeExtensionError": "Ви маєте встановити",
"app.video.chromeExtensionErrorLink": "це розширення Chrome",
"app.video.stats.title": "Статистика з'єднань",
- "app.video.stats.packetsReceived": "Пакети отримані",
- "app.video.stats.packetsSent": "Пакети відправлені",
- "app.video.stats.packetsLost": "Пакети втрачені",
+ "app.video.stats.packetsReceived": "Отримані пакети",
+ "app.video.stats.packetsSent": "Надіслані пакети",
+ "app.video.stats.packetsLost": "Втрачені пакети",
"app.video.stats.bitrate": "Бітрейт",
"app.video.stats.lostPercentage": "Загальний відсоток втрачених",
"app.video.stats.lostRecentPercentage": "Нинішній відсоток втрачених",
@@ -576,33 +583,33 @@
"app.video.stats.codec": "Кодек",
"app.video.stats.decodeDelay": "Затримка декодування",
"app.video.stats.rtt": "Час RTT",
- "app.video.stats.encodeUsagePercent": "Використання кодуванням",
+ "app.video.stats.encodeUsagePercent": "Використання кодування",
"app.video.stats.currentDelay": "Поточна затримка",
"app.fullscreenButton.label": "{0} на весь екран",
- "app.deskshare.iceConnectionStateError": "Не вдале з'єднання після демонстрації екрана (ICE помилка 1108)",
- "app.sfu.mediaServerConnectionError2000": "Не можливо з'єднатися з медіа сервером (помилка 2000)",
- "app.sfu.mediaServerOffline2001": "Медіа сервер офлайн. Будь ласка спробуйте пізніше (помилка 2001)",
- "app.sfu.mediaServerNoResources2002": "На медіа сервері немає доступних ресурсів (помилка 2002)",
- "app.sfu.mediaServerRequestTimeout2003": "Час запитів медіа сервера вичерпується (помилка 2003)",
- "app.sfu.serverIceGatheringFailed2021": "Медіа сервер не може зібрати кандидатів на з'єднання (ICE помилка 2021)",
- "app.sfu.serverIceGatheringFailed2022": "З'єднання медіа сервера не вдалося (ICE помилка 2022)",
- "app.sfu.mediaGenericError2200": "Медіа сервер не зміг обробити запит (помилка 2200)",
+ "app.deskshare.iceConnectionStateError": "Не вдалося встановити з'єднання під час демонстрації екрану (ICE помилка 1108)",
+ "app.sfu.mediaServerConnectionError2000": "Не можливо з'єднатися з мультимедійним сервером (помилка 2000)",
+ "app.sfu.mediaServerOffline2001": "Мультимедійний сервер недоступний. Будь ласка спробуйте пізніше (помилка 2001)",
+ "app.sfu.mediaServerNoResources2002": "На мультимедійному сервері немає доступних ресурсів (помилка 2002)",
+ "app.sfu.mediaServerRequestTimeout2003": "Час запитів мультимедійного сервера закінчується (помилка 2003)",
+ "app.sfu.serverIceGatheringFailed2021": "Мультимедійний сервер не може зібрати кандидатів на з'єднання (ICE помилка 2021)",
+ "app.sfu.serverIceGatheringFailed2022": "Не вдалося встановити з'єднання з мультимедійним сервером (ICE помилка 2022)",
+ "app.sfu.mediaGenericError2200": "Мультимедійний сервер не зміг обробити запит (помилка 2200)",
"app.sfu.invalidSdp2202":"Клієнт сформував пошкоджений медіа запит (SDP помилка 2202)",
- "app.sfu.noAvailableCodec2203": "Сервер не може знайти підходящий кодек (помилка 2203)",
- "app.meeting.endNotification.ok.label": "OK",
- "app.whiteboard.annotations.poll": "Результати опитування були опубліковані",
+ "app.sfu.noAvailableCodec2203": "Сервер не може визначити відповідний кодек (помилка 2203)",
+ "app.meeting.endNotification.ok.label": "Гаразд",
+ "app.whiteboard.annotations.poll": "Результати опитування опубліковано",
"app.whiteboard.toolbar.tools": "Інструменти",
"app.whiteboard.toolbar.tools.hand": "Переміщення",
"app.whiteboard.toolbar.tools.pencil": "Олівець",
"app.whiteboard.toolbar.tools.rectangle": "Чотирикутник",
"app.whiteboard.toolbar.tools.triangle": "Трикутник",
- "app.whiteboard.toolbar.tools.ellipse": "Окружність",
+ "app.whiteboard.toolbar.tools.ellipse": "Коло",
"app.whiteboard.toolbar.tools.line": "Лінія",
"app.whiteboard.toolbar.tools.text": "Текст",
- "app.whiteboard.toolbar.thickness": "Товщина малювання",
- "app.whiteboard.toolbar.thicknessDisabled": "Товщину малювання вимкнуто",
- "app.whiteboard.toolbar.color": "Кольори",
- "app.whiteboard.toolbar.colorDisabled": "Кольори відключено",
+ "app.whiteboard.toolbar.thickness": "Товщина",
+ "app.whiteboard.toolbar.thicknessDisabled": "Товщина малювання неактивна",
+ "app.whiteboard.toolbar.color": "Колір",
+ "app.whiteboard.toolbar.colorDisabled": "Кольори неактивні",
"app.whiteboard.toolbar.color.black": "Чорний",
"app.whiteboard.toolbar.color.white": "Білий",
"app.whiteboard.toolbar.color.red": "Червоний",
@@ -615,42 +622,42 @@
"app.whiteboard.toolbar.color.violet": "Фіолетовий",
"app.whiteboard.toolbar.color.magenta": "Пурпурний",
"app.whiteboard.toolbar.color.silver": "Сірий",
- "app.whiteboard.toolbar.undo": "Скасувати останній надпис",
- "app.whiteboard.toolbar.clear": "Очистити всі надписи",
- "app.whiteboard.toolbar.multiUserOn": "Увімкніть багатокористувацький режим",
- "app.whiteboard.toolbar.multiUserOff": "Вимкніть режим багаторазового використання",
+ "app.whiteboard.toolbar.undo": "Скасувати",
+ "app.whiteboard.toolbar.clear": "Стерти все",
+ "app.whiteboard.toolbar.multiUserOn": "Увімкнути спільний доступ",
+ "app.whiteboard.toolbar.multiUserOff": "Вимкнути спільний доступ",
"app.whiteboard.toolbar.fontSize": "Вибір розміру шрифту",
"app.feedback.title": "Ви вийшли з конференції",
- "app.feedback.subtitle": "Ми хотіли б почути про ваш досвід роботи з BigBlueButton (необов'язково)",
- "app.feedback.textarea": "Як ми можемо зробити BigBlueButton краще?",
+ "app.feedback.subtitle": "Будь ласка, поділіться вашим досвідом користування BigBlueButton (необов'язково)",
+ "app.feedback.textarea": "Як можна покращити BigBlueButton?",
"app.feedback.sendFeedback": "Надіслати відгук",
- "app.feedback.sendFeedbackDesc": "Надіслати відгук і залишити зустріч",
+ "app.feedback.sendFeedbackDesc": "Надіслати відгук та вийти",
"app.videoDock.webcamFocusLabel": "Фокус",
- "app.videoDock.webcamFocusDesc": "Сфокусувати вибрану веб-камеру",
- "app.videoDock.webcamUnfocusLabel": "Розфокусувати",
- "app.videoDock.webcamUnfocusDesc": "Розфокусувати вибрану веб-камеру",
- "app.videoDock.autoplayBlockedDesc": "Нам потрібен Ваш дозвіл, щоб показати Вам веб-камери інших.",
- "app.videoDock.autoplayAllowLabel": "Подивитися веб-камери",
- "app.invitation.title": "Запрошення в кімнату для учасників",
+ "app.videoDock.webcamFocusDesc": "Сфокусувати вибрану вебкамеру",
+ "app.videoDock.webcamUnfocusLabel": "Змінити фокус",
+ "app.videoDock.webcamUnfocusDesc": "Змінити фокус вебкамери",
+ "app.videoDock.autoplayBlockedDesc": "Нам потрібен дозвіл, щоб показати вам вебкамери інших учасників.",
+ "app.videoDock.autoplayAllowLabel": "Подивитися вебкамери",
+ "app.invitation.title": "Запрошення учасників до окремих кімнат",
"app.invitation.confirm": "Запросити",
- "app.createBreakoutRoom.title": "Кімнати для учасників",
- "app.createBreakoutRoom.ariaTitle": "Приховати кімнати для учасників",
- "app.createBreakoutRoom.breakoutRoomLabel": "Кімнати для учасників {0}",
- "app.createBreakoutRoom.generatingURL": "Генерування URL",
- "app.createBreakoutRoom.generatedURL": "Згенеровано",
+ "app.createBreakoutRoom.title": "Розділити учасників на кімнати",
+ "app.createBreakoutRoom.ariaTitle": "Приховати кімнати учасників",
+ "app.createBreakoutRoom.breakoutRoomLabel": "Кімнати учасників {0}",
+ "app.createBreakoutRoom.generatingURL": "Створення URL",
+ "app.createBreakoutRoom.generatedURL": "Створено",
"app.createBreakoutRoom.duration": "Тривалість {0}",
"app.createBreakoutRoom.room": "Кімната {0}",
- "app.createBreakoutRoom.notAssigned": "Не присвоєно ({0})",
- "app.createBreakoutRoom.join": "Приєднатись до кімнати",
- "app.createBreakoutRoom.joinAudio": "Приєднатися до аудіоконференції",
- "app.createBreakoutRoom.returnAudio": "Повернути аудіо",
- "app.createBreakoutRoom.alreadyConnected": "Вже в кімнаті",
+ "app.createBreakoutRoom.notAssigned": "Не призначено ({0})",
+ "app.createBreakoutRoom.join": "Приєднатися до кімнати",
+ "app.createBreakoutRoom.joinAudio": "Приєднатися до голосової конференції",
+ "app.createBreakoutRoom.returnAudio": "Повернути звук",
+ "app.createBreakoutRoom.alreadyConnected": "Вже у кімнаті",
"app.createBreakoutRoom.confirm": "Створити",
"app.createBreakoutRoom.record": "Записати",
"app.createBreakoutRoom.numberOfRooms": "Кількість кімнат",
"app.createBreakoutRoom.durationInMinutes": "Тривалість (хвилини)",
- "app.createBreakoutRoom.randomlyAssign": "Випадково присвоїти",
- "app.createBreakoutRoom.endAllBreakouts": "Завершити всі кімнати учасників",
+ "app.createBreakoutRoom.randomlyAssign": "Випадково призначити",
+ "app.createBreakoutRoom.endAllBreakouts": "Закрити усі кімнати учасників",
"app.createBreakoutRoom.roomName": "{0} (Кімната - {1})",
"app.createBreakoutRoom.doneLabel": "Готово",
"app.createBreakoutRoom.nextLabel": "Далі",
@@ -658,26 +665,26 @@
"app.createBreakoutRoom.addRoomTime": "Збільшити тривалість до",
"app.createBreakoutRoom.addParticipantLabel": "+ Додати учасника",
"app.createBreakoutRoom.freeJoin": "Дозволити користувачам обирати кімнату самостійно",
- "app.createBreakoutRoom.leastOneWarnBreakout": "Щонайменш один користувач повинен бути в кімнаті.",
- "app.createBreakoutRoom.modalDesc": "Замітка: Ви можете перетягувати імена користувачів, щоб призначити їх у певні групові кімнати.",
+ "app.createBreakoutRoom.leastOneWarnBreakout": "Щонайменше один користувач має бути присутнім у кімнаті.",
+ "app.createBreakoutRoom.modalDesc": "Примітка: Щоб призначити користувачів до певної кімнати, будь ласка, перетягніть їхні імена до комірок кімнат.",
"app.createBreakoutRoom.roomTime": "{0} хвилин",
- "app.createBreakoutRoom.numberOfRoomsError": "Кількість кімнат неправильна.",
+ "app.createBreakoutRoom.numberOfRoomsError": "Кількість кімнат є неправильною.",
"app.externalVideo.start": "Поділитися новим відео",
- "app.externalVideo.title": "Поділитися відео із зовнішніх ресурсів",
- "app.externalVideo.input": "Зовнішня URL-адреса відео",
- "app.externalVideo.urlInput": "Додати URL-адресу відео",
- "app.externalVideo.urlError": "Ця URL-адреса відео не підтримується",
+ "app.externalVideo.title": "Демонстрація відео",
+ "app.externalVideo.input": "Посилання на адресу відеопотоку",
+ "app.externalVideo.urlInput": "Додати адресу відеопотоку",
+ "app.externalVideo.urlError": "Ця адреса відеопотоку не підтримується",
"app.externalVideo.close": "Закрити",
- "app.externalVideo.autoPlayWarning": "Запустіть відео, щоб активувати синхронізацію медіа",
+ "app.externalVideo.autoPlayWarning": "Відтворити відео для синхронізації мультимедії",
"app.network.connection.effective.slow": "Спостерігаються проблеми зі з'єднанням",
"app.network.connection.effective.slow.help": "Детальна інформація",
- "app.externalVideo.noteLabel": "Замітка: відео із зовнішніх ресурсів не буде відображатися в записі. Підтримуються посилання YouTube, Vimeo, Instructure Media, Twitch і Daily Motion.",
- "app.actionsBar.actionsDropdown.shareExternalVideo": "Поділитися відео із зовнішніх ресурсів",
- "app.actionsBar.actionsDropdown.stopShareExternalVideo": "Припинити показ відео із зовнішніх ресурсів",
- "app.iOSWarning.label": "Будь ласка, оновіться до iOS 12.2 або більш нової версії",
- "app.legacy.unsupportedBrowser": "Схоже, ви використовуєте браузер, який в повному обсязі не підтримується. Будь ласка, використовуйте {0} або {1} для повної підтримки.",
- "app.legacy.upgradeBrowser": "Схоже, ви використовуєте старшу версію підтримуваного браузера. Будь ласка, встановіть нову версію для повної підтримки.",
- "app.legacy.criosBrowser": "На iOS, будь ласка, використовуйте браузер Safari для повної підтримки."
+ "app.externalVideo.noteLabel": "Примітка: Відеопотік зовнішніх ресурсів не буде показуватися у записі. Підтримуються посилання YouTube, Vimeo, Instructure Media, Twitch та Daily Motion.",
+ "app.actionsBar.actionsDropdown.shareExternalVideo": "Демонстрація відео",
+ "app.actionsBar.actionsDropdown.stopShareExternalVideo": "Припинити показ зовнішнього відеопотоку",
+ "app.iOSWarning.label": "Будь ласка, оновіть пристрій з iOS до версії 12.2 або новішої версії",
+ "app.legacy.unsupportedBrowser": "Схоже, ви використовуєте переглядач, який в повному обсязі не підтримується. Будь ласка, використовуйте {0} або {1} для повної підтримки.",
+ "app.legacy.upgradeBrowser": "Схоже, ви використовуєте старішу версію переглядача, який підтримується. Будь ласка, оновіть його для повної підтримки.",
+ "app.legacy.criosBrowser": "Будь ласка, використовуйте переглядач Safari на пристрої з iOS для повної підтримки."
}
diff --git a/bigbluebutton-html5/private/locales/vi_VN.json b/bigbluebutton-html5/private/locales/vi_VN.json
index efc0d805ad..b83a24302c 100644
--- a/bigbluebutton-html5/private/locales/vi_VN.json
+++ b/bigbluebutton-html5/private/locales/vi_VN.json
@@ -1,5 +1,5 @@
{
- "app.home.greeting": "Phần trình bày của bạn sẽ bắt đầu trong trong ít phút ...",
+ "app.home.greeting": "Phần trình bày của bạn sẽ bắt đầu trong trong giây lát ...",
"app.chat.submitLabel": "Gửi tin nhắn",
"app.chat.errorMaxMessageLength": "Thông báo {0} kí tự(s) quá dài",
"app.chat.disconnected": "Bạn đã mất kết nối, tin nhắn không gửi được",
@@ -7,7 +7,7 @@
"app.chat.inputLabel": "Tin nhắn nhập vào cuộc trò chuyện {0}",
"app.chat.inputPlaceholder": "Gửi tin nhắn tới {0}",
"app.chat.titlePublic": "Thảo luận chung",
- "app.chat.titlePrivate": "Chat riêng tư với {0}",
+ "app.chat.titlePrivate": "Chat riêng với {0}",
"app.chat.partnerDisconnected": "{0} đã rời cuộc họp",
"app.chat.closeChatLabel": "Đóng {0}",
"app.chat.hideChatLabel": "Ẩn {0}",
@@ -18,7 +18,7 @@
"app.chat.dropdown.save": "Lưu",
"app.chat.label": "Chat",
"app.chat.offline": "Ngoại tuyến",
- "app.chat.emptyLogLabel": "Nhật kí chat trống",
+ "app.chat.emptyLogLabel": "Không có nhật ký trò truyện",
"app.chat.clearPublicChatMessage": "Lịch sử trò chuyện công khai được xóa bởi người quản lí",
"app.chat.multi.typing": "Nhiều người đang gõ",
"app.chat.one.typing": "{0} đang gõ",
@@ -30,7 +30,7 @@
"app.captions.menu.ariaStartDesc": "Mở tùy chỉnh phụ đề và đóng cửa sổ",
"app.captions.menu.select": "Chọn các ngôn ngữ sẵn có",
"app.captions.menu.ariaSelect": "Ngôn ngữ phụ đề",
- "app.captions.menu.subtitle": "Chọn một ngôn ngữ và kiểu cách cho phụ đề cho lần này",
+ "app.captions.menu.subtitle": "Chọn một ngôn ngữ và tùy chỉnh phụ đề",
"app.captions.menu.title": "Đóng chú thích",
"app.captions.menu.fontSize": "Kích cỡ",
"app.captions.menu.fontColor": "Màu chữ",
@@ -40,23 +40,23 @@
"app.captions.menu.cancelLabel": "Hủy",
"app.captions.pad.hide": "Đóng chú thích",
"app.captions.pad.tip": "Nhấn ESC dể chuyển ra thanh công cụ",
- "app.captions.pad.ownership": "Làm tiếp",
+ "app.captions.pad.ownership": " Lấy lại",
"app.captions.pad.ownershipTooltip": "Bạn sẽ được chỉ định là người sở hữu của {0} phụ đề",
"app.captions.pad.interimResult": "Kết quả tạm thời",
"app.captions.pad.dictationStart": "Bắt đầu đọc chính tả",
"app.captions.pad.dictationStop": "Kết thúc viết chính tả",
"app.captions.pad.dictationOnDesc": "Bật nhận diện lời nói",
"app.captions.pad.dictationOffDesc": "Tắt nhận diện lời nói",
- "app.note.title": "Shared Notes",
+ "app.note.title": "Ghi chú chung",
"app.note.label": "Ghi chú",
"app.note.hideNoteLabel": "Ẩn ghi chú",
"app.user.activityCheck": "Kiểm tra hoạt động người dùng",
- "app.user.activityCheck.label": "Kiểm tra nếu người dùng đang ở trong cuộc thảo luận ({0})",
+ "app.user.activityCheck.label": "Kiểm tra nếu người dùng vẫn đang trong cuộc họp ({0})",
"app.user.activityCheck.check": "Kiểm tra",
- "app.note.tipLabel": "Nhấn ESC dể chuyển ra thanh công cụ",
+ "app.note.tipLabel": "Nhấn ESC để chuyển ra thanh công cụ",
"app.userList.usersTitle": "Người dùng",
- "app.userList.participantsTitle": "Người tham gia",
- "app.userList.messagesTitle": "Thông báo",
+ "app.userList.participantsTitle": "Người tham dự",
+ "app.userList.messagesTitle": "Tin nhắn",
"app.userList.notesTitle": "Ghi chú",
"app.userList.notesListItem.unreadContent": "Có thông tin mới trong phần chia sẻ ghi chú",
"app.userList.captionsTitle": "Phụ đề",
@@ -66,16 +66,16 @@
"app.userList.label": "Danh sách người dùng",
"app.userList.toggleCompactView.label": "Chuyển sang chế độ thu nhỏ",
"app.userList.guest": "Khách ",
- "app.userList.menuTitleContext": "Tùy chọn khả dụng",
+ "app.userList.menuTitleContext": "Tùy chọn sẵn có",
"app.userList.chatListItem.unreadSingular": "{0} Thông báo mới",
"app.userList.chatListItem.unreadPlural": "{0} Thông báo mới",
- "app.userList.menu.chat.label": "Nói chuyện riêng tư",
+ "app.userList.menu.chat.label": " Chat riêng",
"app.userList.menu.clearStatus.label": "Xóa trạng thái",
"app.userList.menu.removeUser.label": "Xóa người dùng",
- "app.userList.menu.muteUserAudio.label": "Tắt tiếng người dùng",
- "app.userList.menu.unmuteUserAudio.label": "Bỏ tắt tiếng người dùng",
+ "app.userList.menu.muteUserAudio.label": "Tắt tiếng",
+ "app.userList.menu.unmuteUserAudio.label": "Mở tiếng",
"app.userList.userAriaLabel": "{0}{1}{2} Trạng thái {3}",
- "app.userList.menu.promoteUser.label": "Cấp quyền làm quản lý",
+ "app.userList.menu.promoteUser.label": "Cấp quyền quản lý",
"app.userList.menu.demoteUser.label": "Bỏ quyền quản lý",
"app.userList.menu.unlockUser.label": "Mở khóa {0}",
"app.userList.menu.lockUser.label": "Khóa {0}",
@@ -83,26 +83,26 @@
"app.userList.menu.makePresenter.label": "Trao quyền thuyết trình ",
"app.userList.userOptions.manageUsersLabel": "Quản lý người dùng",
"app.userList.userOptions.muteAllLabel": "Tắt tiếng tất cả",
- "app.userList.userOptions.muteAllDesc": "Tắt tiếng tất cả người dùng trong cuộc hội thoại",
+ "app.userList.userOptions.muteAllDesc": "Tắt tiếng tất cả",
"app.userList.userOptions.clearAllLabel": "Xóa tất cả các biểu tượng trạng thái",
"app.userList.userOptions.clearAllDesc": "Xóa các biểu tượng trạng thái từ người dùng",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "Tắt tiếng tất cả ngoại trừ người trình bày",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "Tắt tiếng tất cả trong cuộc hội thoại ngoại trừ người trình bày",
- "app.userList.userOptions.unmuteAllLabel": "Turn off meeting mute",
- "app.userList.userOptions.unmuteAllDesc": "Unmutes the meeting",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "Tắt tiếng tất cả trừ người trình bày",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "Tắt tiếng tất cả trừ người trình bày",
+ "app.userList.userOptions.unmuteAllLabel": "Tắt tiếng cuộc họp",
+ "app.userList.userOptions.unmuteAllDesc": "Mở tiếng cuộc họp",
"app.userList.userOptions.lockViewersLabel": "Khóa người xem",
"app.userList.userOptions.lockViewersDesc": "Khóa một số chức năng nhất định cho người tham dự cuộc hội thoại",
"app.userList.userOptions.disableCam": "Webcam người dùng không khả dụng",
"app.userList.userOptions.disableMic": "Mic người dùng không khả dụng",
- "app.userList.userOptions.disablePrivChat": "Trò chuyện riêng tư không khả dụng",
- "app.userList.userOptions.disablePubChat": "Trò chuyện công khai không khả dụng",
+ "app.userList.userOptions.disablePrivChat": " Chát riêng đã bị tắt",
+ "app.userList.userOptions.disablePubChat": " Tắt chat công khai",
"app.userList.userOptions.disableNote": "Shared notes đã khóa ",
"app.userList.userOptions.hideUserList": "Người xem không thể xem được danh sách người dùng",
"app.userList.userOptions.webcamsOnlyForModerator": "Chỉ người quản trị mới thấy được lượng người xem (Do khóa cài đặt)",
"app.userList.content.participants.options.clearedStatus": "Xóa tất cả trạng thái người dùng",
- "app.userList.userOptions.enableCam": "Webcam của người xem có thể dùng được",
- "app.userList.userOptions.enableMic": "Mic của người xem có thể dùng được",
- "app.userList.userOptions.enablePrivChat": "Nói chuyện riêng tư có thể dùng được",
+ "app.userList.userOptions.enableCam": "Webcam đã được kích hoạt",
+ "app.userList.userOptions.enableMic": "Mic của người xem đã được kích hoạt",
+ "app.userList.userOptions.enablePrivChat": "Được phép chat riêng",
"app.userList.userOptions.enablePubChat": "Có thể sử dụng trò chuyện công khai",
"app.userList.userOptions.enableNote": "Có thể sử dụng shared notes",
"app.userList.userOptions.showUserList": "Người xem có thể xem được danh sách người dùng",
@@ -111,19 +111,20 @@
"app.media.autoplayAlertDesc": "Cho phép truy cập",
"app.media.screenshare.start": "Chia sẻ màn hình bắt đầu",
"app.media.screenshare.end": "Chia sẻ màn hình đã tắt",
+ "app.media.screenshare.unavailable": "Không thể chia sẻ màn hình",
"app.media.screenshare.autoplayBlockedDesc": "Bạn cần phải cho phép để có thể xem được màn hình của người đang trình bày",
"app.media.screenshare.autoplayAllowLabel": "Xem màn hình chung",
"app.screenshare.notAllowed": "Lỗi: Chưa cho phép xem màn hình",
"app.screenshare.notSupportedError": "Lỗi: Chia sẻ màn hình chỉ được phép trên domains (SSL) an toàn",
"app.screenshare.notReadableError": "Lỗi: Không thể chụp màn hình được",
"app.screenshare.genericError": "Lỗi: không thể chia sẻ màn hình, xin hãy thử lại",
- "app.meeting.ended": "Phiên hoạt động đã kết thúc",
+ "app.meeting.ended": "Phiên họp này đã kết thúc",
"app.meeting.meetingTimeRemaining": "Thời gian còn lại của cuộc họp: {0}",
"app.meeting.meetingTimeHasEnded": "Hết giờ. Cuộc họp sẽ đóng lại",
"app.meeting.endedMessage": "Bạn sẽ được chuyển hướng về lại trang chủ màn hình",
"app.meeting.alertMeetingEndsUnderOneMinute": "Cuộc họp sẽ kết thúc trong một phút nữa",
"app.meeting.alertBreakoutEndsUnderOneMinute": "Giải lao sẽ kết thúc trong một phúc nữa ",
- "app.presentation.hide": "Ẩn phần trình bày",
+ "app.presentation.hide": "Ẩn Trình bày",
"app.presentation.notificationLabel": "Phần trình bày hiện tại",
"app.presentation.slideContent": "Nội dung slide",
"app.presentation.startSlideContent": "Nội dung slide bắt đầu",
@@ -155,7 +156,7 @@
"app.presentation.presentationToolbar.goToSlide": "Slide {0}",
"app.presentationUploder.title": "Phần trình bày",
"app.presentationUploder.message": "Với bài thuyết trình bạn có thể tải lên nhiều file office hoặc PDF. Chúng tôi khuyên nên dùng file PDF để được kết quả hiển thị tốt nhất. Vui lòng đảm bảo rằng có 1 file trình bày được chọn bằng cách chọn vào ô checkbox phía bên phải.",
- "app.presentationUploder.uploadLabel": "Đưa lên",
+ "app.presentationUploder.uploadLabel": "Tải lên",
"app.presentationUploder.confirmLabel": "Xác nhận",
"app.presentationUploder.confirmDesc": "Lưu lại những thay dổi và bắt đầu bài trình bày",
"app.presentationUploder.dismissLabel": "Hủy",
@@ -164,21 +165,24 @@
"app.presentationUploder.dropzoneImagesLabel": "Kéo và thả hình ảnh vào đây để đưa lên.",
"app.presentationUploder.browseFilesLabel": "Hoặc chọn đường dẫn cho file",
"app.presentationUploder.browseImagesLabel": "Hoặc chọn đường dẫn/chụp ảnh cho các hình ảnh.",
- "app.presentationUploder.fileToUpload": "Chuẩn bị dưa lên...",
+ "app.presentationUploder.fileToUpload": "Chuẩn bị tải lên...",
"app.presentationUploder.currentBadge": "Hiện tại",
"app.presentationUploder.rejectedError": "(Các) Tài liệu không hợp lệ, xin hãy kiểm tra lại định dạng (các) tài liệu",
- "app.presentationUploder.upload.progress": "Đang đưa lên ({0}%)",
+ "app.presentationUploder.upload.progress": "Đang tải lên ({0}%)",
"app.presentationUploder.upload.413": "File quá dung lượng. Vui lòng cắt nhỏ thành nhiều file để giảm dung lượng.",
"app.presentationUploder.conversion.conversionProcessingSlides": "Đang xử lý {0} trên {1} trang",
"app.presentationUploder.conversion.genericConversionStatus": "Đang chuyển đổi file...",
"app.presentationUploder.conversion.generatingThumbnail": "Tạo thumbnails",
"app.presentationUploder.conversion.generatedSlides": "Các slide được tạo...",
"app.presentationUploder.conversion.generatingSvg": "Tạo hình ảnh SVG ...",
+ "app.presentationUploder.conversion.officeDocConversionInvalid": "Lỗi tải file, Vui lòng tải file PDF/PPT",
+ "app.presentationUploder.conversion.officeDocConversionFailed": "Lỗi tải file, Vui lòng tải file PDF/PPT",
"app.presentationUploder.conversion.pdfHasBigPage": "Chúng tôi không thể chuyển thành PDF, vui lòng tối ưu hóa nó",
"app.presentationUploder.conversion.timeout": "Ops, sự thay đổi mất một khoảng thời gian",
+ "app.presentationUploder.conversion.pageCountFailed": "Lỗi không xác định được số trang",
"app.presentationUploder.isDownloadableLabel": "Không cho phép tải xuống phần trình bày",
"app.presentationUploder.isNotDownloadableLabel": "Cho phép tải xuống phần trình bày",
- "app.presentationUploder.removePresentationLabel": "Bỏ phần trình bày",
+ "app.presentationUploder.removePresentationLabel": "Xóa phần trình bày",
"app.presentationUploder.setAsCurrentPresentation": "Thiết lập phần trình bày hiện tại",
"app.presentationUploder.tableHeading.filename": "Tên file",
"app.presentationUploder.tableHeading.options": "Tùy chọn",
@@ -235,7 +239,7 @@
"app.navBar.settingsDropdown.leaveSessionLabel": "Đăng xuất ",
"app.navBar.settingsDropdown.exitFullscreenLabel": "Tắt chế độ toàn màn hình",
"app.navBar.settingsDropdown.fullscreenDesc": "Tạo menu cài đặt màn hình ",
- "app.navBar.settingsDropdown.settingsDesc": "Thay dổi cài đặt chung",
+ "app.navBar.settingsDropdown.settingsDesc": "Thay đổi cài đặt chung",
"app.navBar.settingsDropdown.aboutDesc": "Hiển thị thông tin về khách hàng",
"app.navBar.settingsDropdown.leaveSessionDesc": "Rời cuộc họp",
"app.navBar.settingsDropdown.exitFullscreenDesc": "Tắt chế độ xem toàn màn hình",
@@ -244,17 +248,17 @@
"app.navBar.settingsDropdown.helpLabel": "Hỗ trợ",
"app.navBar.settingsDropdown.helpDesc": "Liên kết người dùng với các video khóa học (mở tab mới)",
"app.navBar.settingsDropdown.endMeetingDesc": "Kết thúc cuộc họp hiện tại",
- "app.navBar.settingsDropdown.endMeetingLabel": "Cuộc họp kết thúc",
+ "app.navBar.settingsDropdown.endMeetingLabel": "Kết thúc cuộp họp",
"app.navBar.userListToggleBtnLabel": "Danh sách người dùng chuyển đổi",
"app.navBar.toggleUserList.ariaLabel": "Chuyển đổi người dùng và tin nhắn",
- "app.navBar.toggleUserList.newMessages": "Với thông báo tin nhắn mới",
+ "app.navBar.toggleUserList.newMessages": "với thông báo tin nhắn mới",
"app.navBar.recording": "Phiên hoạt động đang dược ghi lại",
"app.navBar.recording.on": "Ghi hình",
"app.navBar.recording.off": "Không được ghi hình",
"app.navBar.emptyAudioBrdige": "Không có micro đang kích hoạt. Chia sẻ micro của bạn để thêm âm thanh vào file recording này.",
"app.leaveConfirmation.confirmLabel": "Rời khỏi",
"app.leaveConfirmation.confirmDesc": "Đăng xuất khỏi cuộc họp",
- "app.endMeeting.title": "Cuộc họp kết thúc",
+ "app.endMeeting.title": "Kết thúc cuộc họp",
"app.endMeeting.description": "Bạn thực sự muốn kết thúc phiên hoạt động ?",
"app.endMeeting.yesLabel": "Có",
"app.endMeeting.noLabel": "Không",
@@ -269,7 +273,7 @@
"app.actionsBar.muteLabel": "Tắt tiếng",
"app.actionsBar.unmuteLabel": "Bật tiếng",
"app.actionsBar.camOffLabel": "Camera tắt",
- "app.actionsBar.raiseLabel": "Kéo lên",
+ "app.actionsBar.raiseLabel": " Giơ tay",
"app.actionsBar.label": "Thanh hành động",
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Khôi phục phần trình bày",
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Nhấn nút để khôi phục phần trình bày sau khi nó tắt",
@@ -290,7 +294,7 @@
"app.submenu.audio.micSourceLabel": "Nguồn micro",
"app.submenu.audio.speakerSourceLabel": "Nguồn loa",
"app.submenu.audio.streamVolumeLabel": "Âm lượng âm thanh của bạn",
- "app.submenu.video.title": "video",
+ "app.submenu.video.title": "Video",
"app.submenu.video.videoSourceLabel": "Nguồn video",
"app.submenu.video.videoOptionLabel": "Chọn nguồn video",
"app.submenu.video.videoQualityLabel": "Chất lượng video",
@@ -298,7 +302,7 @@
"app.submenu.video.participantsCamLabel": "Xem webcam của các thành viên",
"app.settings.applicationTab.label": "Ứng dụng",
"app.settings.audioTab.label": "Âm thanh",
- "app.settings.videoTab.label": "video",
+ "app.settings.videoTab.label": "Video",
"app.settings.usersTab.label": "Người tham gia",
"app.settings.main.label": "Cài đặt",
"app.settings.main.cancel.label": "Hủy",
@@ -317,9 +321,9 @@
"app.talkingIndicator.wasTalking" : "{0} dừng nói",
"app.actionsBar.actionsDropdown.actionsLabel": "Các hành động",
"app.actionsBar.actionsDropdown.presentationLabel": "Tải lên phần trình bày",
- "app.actionsBar.actionsDropdown.initPollLabel": "Khởi tạo cuộc thăm dò ý kiến",
- "app.actionsBar.actionsDropdown.desktopShareLabel": "Chia sẻ màn hình của bạn",
- "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Chia sẻ màn hình đã khóa",
+ "app.actionsBar.actionsDropdown.initPollLabel": "Tạo cuộc thăm dò ý kiến",
+ "app.actionsBar.actionsDropdown.desktopShareLabel": "Chia sẻ màn hình",
+ "app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Chia sẻ màn hình đã bị khóa",
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Dừng chia sẻ màn hình của bạn",
"app.actionsBar.actionsDropdown.presentationDesc": "Tải lên phần trình bày của bạn",
"app.actionsBar.actionsDropdown.initPollDesc": "Khởi tạo cuộc thăm dò ý kiến",
@@ -367,7 +371,7 @@
"app.breakoutJoinConfirmation.confirmDesc": "Mời bạn tham gia vào phòng được chia nhóm",
"app.breakoutJoinConfirmation.dismissLabel": "Hủy",
"app.breakoutJoinConfirmation.dismissDesc": "Đóng và từ chối lời mời tham gia phòng chia nhóm",
- "app.breakoutJoinConfirmation.freeJoinMessage": "Chọn một phòng đã dược chia nhóm để tham gia",
+ "app.breakoutJoinConfirmation.freeJoinMessage": "Chọn một phòng đã được chia nhóm để tham gia",
"app.breakoutTimeRemainingMessage": "Thời gian còn lại của phòng: {0}",
"app.breakoutWillCloseMessage": "Hết giờ. Phòng chia nhóm sẽ đóng",
"app.calculatingBreakoutTimeRemaining": "Tính thời gian còn lại ...",
@@ -428,7 +432,7 @@
"app.error.removed": "Bạn vừa bị xóa khỏi cuộc hội nghị",
"app.error.meeting.ended": "Bạn vừa đăng xuất khỏi cuộc hội nghị",
"app.meeting.logout.duplicateUserEjectReason": "Một người dùng khác đang cố dùng tài khoản của bạn để tham gia vào cuộc họp",
- "app.meeting.logout.permissionEjectReason": "Bị từ chối cho vi phạm quyền",
+ "app.meeting.logout.permissionEjectReason": "Bị từ chối do vi phạm quyền",
"app.meeting.logout.ejectedFromMeeting": "Bạn vừa bị xóa khỏi phòng họp ",
"app.meeting.logout.validateTokenFailedEjectReason": "Không thể xác thực mã thông báo ủy quyền",
"app.meeting.logout.userInactivityEjectReason": "Người dùng đã quá lâu không hoạt động",
@@ -486,14 +490,14 @@
"app.shortcut-help.toggleUserList": "Chuyển đổi danh sách người dùng",
"app.shortcut-help.toggleMute": "Tắt tiếng/ Bật tiếng",
"app.shortcut-help.togglePublicChat": "Chuyển đổi trò chuyện công khai (Danh sách người dùng phải được mở)",
- "app.shortcut-help.hidePrivateChat": "Ẩn cuộc trò chuyện riêng tư",
- "app.shortcut-help.closePrivateChat": "Đóng cuộc trò chuyện riêng tư",
+ "app.shortcut-help.hidePrivateChat": "Ẩn chat riêng",
+ "app.shortcut-help.closePrivateChat": "Đóng chat riêng tư",
"app.shortcut-help.openActions": "Mở menu hoạt động",
"app.shortcut-help.openStatus": "Mở menu trạng thái",
"app.shortcut-help.togglePan": "Kich hoạt công cụ Pan (Người trình bày)",
"app.shortcut-help.nextSlideDesc": "Slide tiếp theo (Người trình bày)",
- "app.shortcut-help.previousSlideDesc": "Slide phía trước (Người trình bày)",
- "app.lock-viewers.title": "Khóa người xem",
+ "app.shortcut-help.previousSlideDesc": "Slide trước (Người trình bày)",
+ "app.lock-viewers.title": "Khóa camera",
"app.lock-viewers.description": "Các tùy chọn này cho phép bạn hạn chế người xem từ việc sử dụng các tính năng cụ thể.",
"app.lock-viewers.featuresLable": "Nổi bật",
"app.lock-viewers.lockStatusLabel": "Trạng thái",
@@ -501,19 +505,19 @@
"app.lock-viewers.otherViewersWebcamLabel": "Xem các webcam người dùng khác",
"app.lock-viewers.microphoneLable": "Chia sẻ micro",
"app.lock-viewers.PublicChatLabel": "Gửi tin nhắn trò chuyện công khai",
- "app.lock-viewers.PrivateChatLable": "Gửi tin nhắn trò chuyện riêng tư",
- "app.lock-viewers.notesLabel": "Chỉnh sửa Shared Notes",
+ "app.lock-viewers.PrivateChatLable": "Gửi tin nhắn riêng",
+ "app.lock-viewers.notesLabel": "Sửa Ghi chú chung",
"app.lock-viewers.userListLabel": "Xem những người xem khác trong danh sách Người dùng",
"app.lock-viewers.ariaTitle": "Khóa phương thức tùy chỉnh người xem",
"app.lock-viewers.button.apply": "Xác nhận",
"app.lock-viewers.button.cancel": "Hủy",
"app.lock-viewers.locked": "Bị khóa",
"app.lock-viewers.unlocked": "Mở khóa",
- "app.recording.startTitle": "Bắt đầu ghi âm",
- "app.recording.stopTitle": "Tạm dừng ghi âm",
- "app.recording.resumeTitle": "Tiếp tục ghi âm",
- "app.recording.startDescription": "Bạn có thể ấn nút ghi âm lại để tạm dừng việc ghi âm",
- "app.recording.stopDescription": "Bạn có chắc là muốn tạm dừng ghi âm? Bạn có thể tiếp tục ghi âm lại bằng cách ấn nút ghi âm lại lần nữa",
+ "app.recording.startTitle": "Bắt đầu ghi hình",
+ "app.recording.stopTitle": "Tạm dừng ghi hình",
+ "app.recording.resumeTitle": "Tiếp tục ghi hình",
+ "app.recording.startDescription": "Bạn có thể ấn nút Ghi hình lại để tạm dừng",
+ "app.recording.stopDescription": "Bạn có chắc là muốn tạm dừng ghi hình? Bạn có thể tiếp tục ghi hình lại bằng cách ấn nút ghi hình lần nữa",
"app.videoPreview.cameraLabel": "Camera",
"app.videoPreview.profileLabel": "Chất lượng",
"app.videoPreview.cancelLabel": "Hủy",
@@ -526,15 +530,15 @@
"app.videoPreview.webcamNotFoundLabel": "Không tìm thấy webcam",
"app.videoPreview.profileNotFoundLabel": "Không hỗ trợ camera",
"app.video.joinVideo": "Chia sẻ webcam",
- "app.video.leaveVideo": "Dừng việc chia sẻ webcam",
+ "app.video.leaveVideo": "Dừng chia sẻ webcam",
"app.video.iceCandidateError": "Error on adding ICE candidate",
- "app.video.permissionError": "Error on sharing webcam. Please check permissions",
- "app.video.sharingError": "Error on sharing webcam",
- "app.video.notFoundError": "Không thể tìm thấy webcam. Đảm bảo rằng thiết bị đã kết nối",
- "app.video.notAllowed": "Thiếu quyền chia sẻ webcam, vui lòng đảm bảo quyền truy cập trình duyệt của bạn",
+ "app.video.permissionError": "Lỗi chia sẻ camera, vui lòng kiểm tra quyền chia sẻ",
+ "app.video.sharingError": "\bLỗi chia sẻ camera",
+ "app.video.notFoundError": "Không thể tìm thấy webcam. Kiểm tra lại thiết bị",
+ "app.video.notAllowed": "Thiếu quyền chia sẻ webcam, kiểm tra lại quyền truy cập camera của Trình duyệt",
"app.video.notSupportedError": "Chỉ có thể chia sẻ video webcam với các nguồn an toàn, dảm bảo rằng chứng chỉ SSL của bạn hợp lệ",
"app.video.notReadableError": "Không thể nhận video webcam. Đảm bảo rằng các chương trình khác đang không sử dụng webcam",
- "app.video.suggestWebcamLock": "Bắt buộc khóa tùy chỉnh webcam của người xem",
+ "app.video.suggestWebcamLock": "Buộc khóa tùy chỉnh webcam của người xem",
"app.video.suggestWebcamLockReason": "(việc này sẽ giúp buổi họp được ổn định hơn)",
"app.video.enable": "Cho phép",
"app.video.cancel": "Hủy",
@@ -542,7 +546,7 @@
"app.video.swapCamDesc": "Đổi vị trí các webcam",
"app.video.videoLocked": "Chia sẻ webcam đã khóa",
"app.video.videoButtonDesc": "Chia sẻ webcam",
- "app.video.videoMenu": "menu video",
+ "app.video.videoMenu": "Menu video",
"app.video.videoMenuDisabled": "menu video webcam không khả đụng trong mục cài đặt",
"app.video.videoMenuDesc": "Mở thanh menu video trượt xuống",
"app.video.chromeExtensionError": "Bạn phải cài đặt",
@@ -556,13 +560,13 @@
"app.video.stats.lostRecentPercentage": "Phần trăm bị mất gần đây",
"app.video.stats.dimensions": "Kích thước",
"app.video.stats.codec": "Tiền mã hóa",
- "app.video.stats.decodeDelay": "Đỗ trệ giải mã",
+ "app.video.stats.decodeDelay": "Đỗ trễ giải mã",
"app.video.stats.rtt": "RTT",
"app.video.stats.encodeUsagePercent": "Sử dụng mã hóa",
- "app.video.stats.currentDelay": "Sự chậm trễ hiện tại",
+ "app.video.stats.currentDelay": "Độ trễ hiện tại",
"app.fullscreenButton.label": "Tạo {0} toàn màn hình",
"app.meeting.endNotification.ok.label": "Đồng ý",
- "app.whiteboard.annotations.poll": "Kết quả cuộc thăm dò ý kiến đã được công bố",
+ "app.whiteboard.annotations.poll": "Đã công bố kết quả thăm dò ý kiến",
"app.whiteboard.toolbar.tools": "Công cụ",
"app.whiteboard.toolbar.tools.hand": "Pan",
"app.whiteboard.toolbar.tools.pencil": "Bút chì",
@@ -589,10 +593,10 @@
"app.whiteboard.toolbar.color.silver": "Màu bạc",
"app.whiteboard.toolbar.undo": "Hoàn tác chú thích",
"app.whiteboard.toolbar.clear": "Xóa tất cả các chú thích",
- "app.whiteboard.toolbar.multiUserOn": "Bật bảng trắng cho nhiều người dùng",
- "app.whiteboard.toolbar.multiUserOff": "Tắt bảng trắng cho nhiều người dùng",
+ "app.whiteboard.toolbar.multiUserOn": "Chia sẻ bảng trắng",
+ "app.whiteboard.toolbar.multiUserOff": " Tắt chia sẻ bảng trắng",
"app.whiteboard.toolbar.fontSize": "Danh sách kích thước phông chữ",
- "app.feedback.title": "Bạn vừa đăng xuất khỏi cuộc hội nghị",
+ "app.feedback.title": "Bạn vừa đăng xuất khỏi cuộc họp",
"app.feedback.subtitle": "Chúng tôi muốn nghe trải nghiệm của bạn về hệ thống này (tùy chọn)",
"app.feedback.textarea": "Làm thế nào để hệ thống tốt hơn?",
"app.feedback.sendFeedback": "Gửi phản hồi",
@@ -603,11 +607,11 @@
"app.videoDock.webcamUnfocusDesc": "Không tập trung vào các webcam đã chọn",
"app.videoDock.autoplayBlockedDesc": "Bạn cần phải cho phép để có thể xem được webcam của người khác",
"app.videoDock.autoplayAllowLabel": "Xem webcam",
- "app.invitation.title": "Lời mời vào phòng chia nhóm",
+ "app.invitation.title": "Mời vào phòng chia nhóm thảo luận",
"app.invitation.confirm": "Mời",
- "app.createBreakoutRoom.title": "Chia nhóm",
+ "app.createBreakoutRoom.title": "Chia nhóm thảo luận",
"app.createBreakoutRoom.ariaTitle": "Ẩn các phòng chia nhóm",
- "app.createBreakoutRoom.breakoutRoomLabel": "Phong chia nhóm {0}",
+ "app.createBreakoutRoom.breakoutRoomLabel": "Phòng thảo luận {0}",
"app.createBreakoutRoom.generatingURL": "Tạo URL",
"app.createBreakoutRoom.generatedURL": "Tạo",
"app.createBreakoutRoom.duration": "Thời lượng {0}",
@@ -635,13 +639,13 @@
"app.createBreakoutRoom.roomTime": "{0} phút",
"app.createBreakoutRoom.numberOfRoomsError": "Số phòng không hợp lí",
"app.externalVideo.start": "Chia sẻ video mới",
- "app.externalVideo.title": "Chia sẻ 1 video ở ngoài",
+ "app.externalVideo.title": "Chia sẻ 1 video bên ngoài",
"app.externalVideo.input": "URL của video ở ngoài",
"app.externalVideo.urlInput": "Thêm video URL",
"app.externalVideo.urlError": "URL này không được hỗ trợ",
"app.externalVideo.close": "Đóng",
"app.externalVideo.autoPlayWarning": "Phát video để bật đồng bộ hóa phương tiện",
- "app.network.connection.effective.slow": "Chúng tôi nhận thấy các vấn đề kết nối",
+ "app.network.connection.effective.slow": "Có vấn đề về kết nối",
"app.network.connection.effective.slow.help": "Thông tin thêm",
"app.externalVideo.noteLabel": "Lưu ý: Các video được chia sẻ sẽ không xuất hiện trong bản recording. Cho phép: YouTube, Vimeo, Instructure Media, Twitch, Daily Motion.",
"app.actionsBar.actionsDropdown.shareExternalVideo": "Chia sẻ 1 video ở ngoài",
diff --git a/bigbluebutton-html5/private/locales/zh_CN.json b/bigbluebutton-html5/private/locales/zh_CN.json
index d7817b95ea..0aff691d3d 100644
--- a/bigbluebutton-html5/private/locales/zh_CN.json
+++ b/bigbluebutton-html5/private/locales/zh_CN.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "演示者",
"app.userList.you": "您",
"app.userList.locked": "已锁定",
+ "app.userList.byModerator": "经由 (主持人)",
"app.userList.label": "用户列表",
"app.userList.toggleCompactView.label": "打开/关闭紧凑视图模式",
"app.userList.guest": "游客",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "开始私人聊天",
"app.userList.menu.clearStatus.label": "清除状态",
"app.userList.menu.removeUser.label": "踢出去",
+ "app.userList.menu.removeConfirmation.label": "删除用户 ({0})",
+ "app.userlist.menu.removeConfirmation.desc": "确实要删除此用户吗?一旦删除,他们将无法重新加入此会话。",
"app.userList.menu.muteUserAudio.label": "静音",
"app.userList.menu.unmuteUserAudio.label": "取消静音",
"app.userList.userAriaLabel": "{0}{1}{2}状态{3}",
@@ -112,7 +115,6 @@
"app.media.screenshare.start": "屏幕分享已开始",
"app.media.screenshare.end": "屏幕分享已结束",
"app.media.screenshare.unavailable": "屏幕分享不可用",
- "app.media.screenshare.safariNotSupported": "Safari当前还不支持屏幕分享,请换用Firefox或Chrome浏览器。",
"app.media.screenshare.autoplayBlockedDesc": "我们需要您的许可才能显示演示者的屏幕。",
"app.media.screenshare.autoplayAllowLabel": "查看分享屏幕",
"app.screenshare.notAllowed": "错误:未授予访问屏幕的权限。",
@@ -171,6 +173,9 @@
"app.presentationUploder.rejectedError": "选定的文件(s)已被拒绝。请检查文件类型(s)。",
"app.presentationUploder.upload.progress": "上传中({0}%)",
"app.presentationUploder.upload.413": "文件太大,请分成多个文件。",
+ "app.presentationUploder.upload.408": "请求上载令牌超时。",
+ "app.presentationUploder.upload.404": "404:上传令牌无效",
+ "app.presentationUploder.upload.401": "请求演示文稿上载令牌失败。",
"app.presentationUploder.conversion.conversionProcessingSlides": "处理中,第{0}页/共{1}页",
"app.presentationUploder.conversion.genericConversionStatus": "文件转换中...",
"app.presentationUploder.conversion.generatingThumbnail": "正在生成缩略图...",
diff --git a/bigbluebutton-html5/private/locales/zh_TW.json b/bigbluebutton-html5/private/locales/zh_TW.json
index 9903129ccf..b4b82bd88b 100644
--- a/bigbluebutton-html5/private/locales/zh_TW.json
+++ b/bigbluebutton-html5/private/locales/zh_TW.json
@@ -63,6 +63,7 @@
"app.userList.presenter": "簡報者",
"app.userList.you": "您",
"app.userList.locked": "已鎖定",
+ "app.userList.byModerator": "由(演說者)",
"app.userList.label": "用戶列表",
"app.userList.toggleCompactView.label": "打開/關閉緊湊視圖模式",
"app.userList.guest": "訪客",
@@ -72,6 +73,8 @@
"app.userList.menu.chat.label": "開始私人聊天",
"app.userList.menu.clearStatus.label": "清除狀態",
"app.userList.menu.removeUser.label": "移除用戶",
+ "app.userList.menu.removeConfirmation.label": "刪除使用者({0})",
+ "app.userlist.menu.removeConfirmation.desc": "您確定要刪除這個參與者嗎?刪除後他將再也不能加入此會談。",
"app.userList.menu.muteUserAudio.label": "用戶靜音",
"app.userList.menu.unmuteUserAudio.label": "取消用戶靜音",
"app.userList.userAriaLabel": "{0}{1}{2}狀態{3}",
@@ -82,12 +85,12 @@
"app.userList.menu.directoryLookup.label": "目錄查找",
"app.userList.menu.makePresenter.label": "設為簡報者",
"app.userList.userOptions.manageUsersLabel": "管理使用者",
- "app.userList.userOptions.muteAllLabel": "靜音所有參考者",
+ "app.userList.userOptions.muteAllLabel": "將所有使用者設為靜音",
"app.userList.userOptions.muteAllDesc": "靜音會議中所有使用者",
"app.userList.userOptions.clearAllLabel": "清除所有狀態圖示",
"app.userList.userOptions.clearAllDesc": "清除所有與會者狀態圖示",
- "app.userList.userOptions.muteAllExceptPresenterLabel": "除了主持人外,使用者全部靜音",
- "app.userList.userOptions.muteAllExceptPresenterDesc": "除了主持人外,靜音會議中所有使用者",
+ "app.userList.userOptions.muteAllExceptPresenterLabel": "除了簡報者外,使用者全部靜音",
+ "app.userList.userOptions.muteAllExceptPresenterDesc": "除了簡報者外,靜音會議中所有使用者",
"app.userList.userOptions.unmuteAllLabel": "關閉會議室靜音",
"app.userList.userOptions.unmuteAllDesc": "解除會議室靜音",
"app.userList.userOptions.lockViewersLabel": "鎖定聽眾",
@@ -111,7 +114,8 @@
"app.media.autoplayAlertDesc": "允許存取",
"app.media.screenshare.start": "畫面分享已開始",
"app.media.screenshare.end": "畫面分享已結束",
- "app.media.screenshare.autoplayBlockedDesc": "我們需要您的許可才能向您顯示主持人畫面。",
+ "app.media.screenshare.unavailable": "畫面分享不能用",
+ "app.media.screenshare.autoplayBlockedDesc": "我們需要您的許可才能向您顯示簡報者畫面。",
"app.media.screenshare.autoplayAllowLabel": "查看分享畫面",
"app.screenshare.notAllowed": "錯誤: 未授與畫面存取權限",
"app.screenshare.notSupportedError": "錯誤: 螢幕分享只允許在安全的(SSL)域名",
@@ -154,7 +158,7 @@
"app.presentation.presentationToolbar.fitToPage": "適合頁面",
"app.presentation.presentationToolbar.goToSlide": "投影片 {0}",
"app.presentationUploder.title": "投影片",
- "app.presentationUploder.message": "作為主持人,您可以上傳任何Office文檔或PDF文件。 我們建議您使用PDF文件以獲得最佳效果。 請確保使用右側的圓形圈選框,選取了要演說的文件。",
+ "app.presentationUploder.message": "作為簡報者,您可以上傳任何Office文檔或PDF文件。 我們建議您使用PDF文件以獲得最佳效果。 請確保使用右側的圓形圈選框,選取了要演說的文件。",
"app.presentationUploder.uploadLabel": "上傳",
"app.presentationUploder.confirmLabel": "確認",
"app.presentationUploder.confirmDesc": "保存變更並且啟用簡報",
@@ -169,6 +173,9 @@
"app.presentationUploder.rejectedError": "所選檔案(複數檔)已被退回,請檢查(其它)檔案格式。",
"app.presentationUploder.upload.progress": "上傳中 ({0}%)",
"app.presentationUploder.upload.413": "檔案太大了,請分成多個檔案。",
+ "app.presentationUploder.upload.408": "要求上傳token逾時。",
+ "app.presentationUploder.upload.404": "404: 無效的上傳Token",
+ "app.presentationUploder.upload.401": "要由演講稿上傳Token失敗。",
"app.presentationUploder.conversion.conversionProcessingSlides": "處理中,第 {0}/{1} 頁",
"app.presentationUploder.conversion.genericConversionStatus": "檔案轉換中 ...",
"app.presentationUploder.conversion.generatingThumbnail": "正在產生縮圖 ...",
@@ -230,7 +237,7 @@
"app.failedMessage": "抱歉,伺服器連線異常。",
"app.downloadPresentationButton.label": "下載簡報",
"app.connectingMessage": "連線中 ...",
- "app.waitingMessage": "已斷線了。嚐試重新建立連線 {0} 秒",
+ "app.waitingMessage": "連線終斷了。嚐試重新建立連線 {0} 秒",
"app.retryNow": "立即重試",
"app.navBar.settingsDropdown.optionsLabel": "選項",
"app.navBar.settingsDropdown.fullscreenLabel": "進入全螢幕",
@@ -336,8 +343,8 @@
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "目前的會議創建分組會議室",
"app.actionsBar.actionsDropdown.captionsLabel": "寫入隱藏式字幕",
"app.actionsBar.actionsDropdown.captionsDesc": "開/關字幕面版",
- "app.actionsBar.actionsDropdown.takePresenter": "當主持人",
- "app.actionsBar.actionsDropdown.takePresenterDesc": "設定自己為主持人",
+ "app.actionsBar.actionsDropdown.takePresenter": "當簡報者",
+ "app.actionsBar.actionsDropdown.takePresenterDesc": "設定自己為簡報者",
"app.actionsBar.emojiMenu.statusTriggerLabel": "設定狀態",
"app.actionsBar.emojiMenu.awayLabel": "離開",
"app.actionsBar.emojiMenu.awayDesc": "變更您的狀態為離開",
@@ -506,9 +513,9 @@
"app.shortcut-help.closePrivateChat": "關閉私人聊天",
"app.shortcut-help.openActions": "打開動作選單",
"app.shortcut-help.openStatus": "打開狀態選單",
- "app.shortcut-help.togglePan": "啟用Pan工具(主持人)",
- "app.shortcut-help.nextSlideDesc": "下一張投影片(主持人)",
- "app.shortcut-help.previousSlideDesc": "上一張投影片(主持人)",
+ "app.shortcut-help.togglePan": "啟用Pan工具(簡報者)",
+ "app.shortcut-help.nextSlideDesc": "下一張投影片(簡報者)",
+ "app.shortcut-help.previousSlideDesc": "上一張投影片(簡報者)",
"app.lock-viewers.title": "鎖定聽眾",
"app.lock-viewers.description": "這些選項讓你禁止聽眾使用特定功能. ",
"app.lock-viewers.featuresLable": "功能",
diff --git a/bigbluebutton-html5/public/compatibility/kurento-extension.js b/bigbluebutton-html5/public/compatibility/kurento-extension.js
index 49c0154887..22e8807156 100755
--- a/bigbluebutton-html5/public/compatibility/kurento-extension.js
+++ b/bigbluebutton-html5/public/compatibility/kurento-extension.js
@@ -27,7 +27,7 @@ Kurento = function (
this.internalMeetingId = internalMeetingId;
// Optional parameters are: userName, caleeName, chromeExtension, wsUrl, iceServers,
- // chromeScreenshareSources, firefoxScreenshareSource, logger
+ // chromeScreenshareSources, firefoxScreenshareSource, logger, stream
Object.assign(this, options);
@@ -449,6 +449,7 @@ Kurento.prototype.startScreensharing = function () {
this.onIceCandidate(candidate, this.SEND_ROLE);
},
sendSource: 'desktop',
+ videoStream: this.stream || undefined,
};
let resolution;
@@ -877,11 +878,6 @@ window.getScreenConstraints = function (sendSource, callback) {
if (hasDisplayMedia) {
return callback(null, getDisplayMediaConstraints());
}
-
- if (isSafari) {
- // At this time (version 11.1), Safari doesn't support screenshare.
- return document.dispatchEvent(new Event('safariScreenshareNotSupported'));
- }
};
window.kurentoInitialize = function () {
diff --git a/bigbluebutton-html5/public/compatibility/kurento-utils.js b/bigbluebutton-html5/public/compatibility/kurento-utils.js
index bc5d67b139..047e68afcd 100755
--- a/bigbluebutton-html5/public/compatibility/kurento-utils.js
+++ b/bigbluebutton-html5/public/compatibility/kurento-utils.js
@@ -440,10 +440,20 @@ function WebRtcPeer(mode, options, callback) {
self.showLocalVideo();
}
if (videoStream) {
- videoStream.getTracks().forEach(track => pc.addTrack(track, videoStream));
+ if (typeof videoStream.getTracks === 'function'
+ && typeof pc.addTrack === 'function') {
+ videoStream.getTracks().forEach(track => pc.addTrack(track, videoStream));
+ } else {
+ pc.addStream(videoStream);
+ }
}
if (audioStream) {
- audioStream.getTracks().forEach(track => pc.addTrack(track, audioStream));
+ if (typeof audioStream.getTracks === 'function'
+ && typeof pc.addTrack === 'function') {
+ audioStream.getTracks().forEach(track => pc.addTrack(track, audioStream));
+ } else {
+ pc.addStream(audioStream);
+ }
}
var browser = parser.getBrowser();
if (mode === 'sendonly' && (browser.name === 'Chrome' || browser.name === 'Chromium') && browser.major === 39) {
@@ -1073,20 +1083,6 @@ var freeice = module.exports = function(opts) {
},{"./stun.json":6,"./turn.json":7,"normalice":12}],6:[function(require,module,exports){
module.exports=[
- "stun.l.google.com:19302",
- "stun1.l.google.com:19302",
- "stun2.l.google.com:19302",
- "stun3.l.google.com:19302",
- "stun4.l.google.com:19302",
- "stun.ekiga.net",
- "stun.ideasip.com",
- "stun.schlund.de",
- "stun.stunprotocol.org:3478",
- "stun.voiparound.com",
- "stun.voipbuster.com",
- "stun.voipstunt.com",
- "stun.voxgratia.org",
- "stun.services.mozilla.com"
]
},{}],7:[function(require,module,exports){
diff --git a/bigbluebutton-html5/public/compatibility/sip.js b/bigbluebutton-html5/public/compatibility/sip.js
index a2c8b5b384..ed3584b453 100755
--- a/bigbluebutton-html5/public/compatibility/sip.js
+++ b/bigbluebutton-html5/public/compatibility/sip.js
@@ -9552,7 +9552,7 @@ UA.prototype.loadConfig = function(configuration) {
// Session parameters
iceCheckingTimeout: 1000,
noAnswerTimeout: 60,
- stunServers: ['stun:stun.l.google.com:19302'],
+ stunServers: [],
turnServers: [],
// Logging parameters
diff --git a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
index 5060ebc6d6..6cec8cc2f2 100755
--- a/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
+++ b/bigbluebutton-web/grails-app/controllers/org/bigbluebutton/web/controllers/ApiController.groovy
@@ -1506,7 +1506,7 @@ class ApiController {
logoutTimer meeting.getLogoutTimer()
allowStartStopRecording meeting.getAllowStartStopRecording()
welcome us.welcome
- if (!StringUtils.isEmpty(meeting.moderatorOnlyMessage)) {
+ if (!StringUtils.isEmpty(meeting.moderatorOnlyMessage) && us.role.equals(ROLE_MODERATOR)) {
modOnlyMessage meeting.moderatorOnlyMessage
}
if (!StringUtils.isEmpty(meeting.bannerText)) {
diff --git a/labs/webminer/src/main/java/org/bigbluebutton/webminer/util/Log4jDirectConfigurer.java b/labs/webminer/src/main/java/org/bigbluebutton/webminer/util/Log4jDirectConfigurer.java
deleted file mode 100755
index cf515a7a92..0000000000
--- a/labs/webminer/src/main/java/org/bigbluebutton/webminer/util/Log4jDirectConfigurer.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- @(#)Log4jDirectConfigurer.java $Revision: 1.1 $ $Date: 2008/11/13 13:50:20EST $
- *
- * Copyright (c) 2008 N-III Project - Royal Canadian Mounted Police
- * All rights reserved.
- *
- * This software is the confidential and proprietary information of Royal
- * Canadian Mounted Police ("Confidential Information"). You shall not
- * disclose such Confidential Information and contained herein are considered
- * to be Protected and Internal use ONLY by N-III Project, RCMP.
- */
-package org.bigbluebutton.webminer.util;
-
-import org.apache.log4j.LogManager;
-import org.apache.log4j.PropertyConfigurator;
-import org.springframework.beans.factory.DisposableBean;
-import org.springframework.beans.factory.InitializingBean;
-
-/**
- * TODO: Brief summary here - one or two sentence overview.
- *
- * TODO: Detailed explanation of how this works, what it subclasses or what
- * should subclass it, etc. This should be as good as the Sun Javadocs. Consider
- * embedding some simple examples of using this class. See the Sun Thread class
- * for an example.
- *
- * @version $Revision: 1.1 $
- * @see [Class name#method name] TODO
- */
-
-public class Log4jDirectConfigurer implements InitializingBean, DisposableBean {
- private static final long DEFAULT_REFRESH_INTERVAL = 6000L;
-
- private String location;
- private String fileName;
- private String interval;
-
- /**
- * @return the location
- */
- public String getLocation() {
- return location;
- }
-
- /**
- * @param location
- * the location to set
- */
- public void setLocation(String location) {
- this.location = location;
- }
-
- /**
- * @return the fileName
- */
- public String getFileName() {
- return fileName;
- }
-
- /**
- * @param fileName
- * the fileName to set
- */
- public void setFileName(String fileName) {
- this.fileName = fileName;
- }
-
- /**
- * @return the interval
- */
- public String getInterval() {
- return interval;
- }
-
- /**
- * @param interval
- * the interval to set
- */
- public void setInterval(String interval) {
- this.interval = interval;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
- */
- public void afterPropertiesSet() throws Exception {
-
- if (getLocation() != null && getFileName() != null) {
-
- String fqName = System.getProperty(getLocation()) + "/" + getFileName();
-
- // use default refresh interval if not specified
- long refreshInterval = DEFAULT_REFRESH_INTERVAL;
- String intervalString = getInterval();
- if (intervalString != null) {
- refreshInterval = Long.parseLong(intervalString);
- }
-
- // perform actual Log4J initialization
- PropertyConfigurator.configureAndWatch(fqName, refreshInterval);
- } else {
- throw new IllegalArgumentException(
- "Missing log4jConfigLocation or log4jConfigName parameter.");
- }
- }
-
- /* (non-Javadoc)
- * @see org.springframework.beans.factory.DisposableBean#destroy()
- */
- public void destroy() throws Exception {
- LogManager.shutdown();
- }
-}
diff --git a/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js b/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
index b4d12b201d..147156f6cf 100755
--- a/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
+++ b/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
@@ -103,11 +103,33 @@ function getFullURL() {
return url;
};
+// https://stackoverflow.com/a/60553965
+function detectLyingiOS13iPad() {
+ var userAgent = navigator.userAgent || navigator.vendor || window.opera;
+ // Lying iOS13 iPad
+ if (userAgent.match(/Macintosh/i) !== null) {
+ // need to distinguish between Macbook and iPad
+ var canvas = document.createElement("canvas");
+ if (canvas !== null) {
+ var context = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
+ if (context) {
+ var info = context.getExtension("WEBGL_debug_renderer_info");
+ if (info) {
+ var renderer = context.getParameter(info.UNMASKED_RENDERER_WEBGL);
+ if (renderer.indexOf("Apple") !== -1)
+ return true;
+ }
+ }
+ }
+ }
+ return false;
+}
+
// http://stackoverflow.com/a/11381730
function mobileAndTabletCheck() {
let check = false;
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);
- return check;
+ return check || detectLyingiOS13iPad();;
}
// Draw the cursor at a specific point