Merge remote-tracking branch 'upstream/v2.4.x-release' into remove-user-persistent
This commit is contained in:
commit
1ddb15eb8a
@ -39,15 +39,7 @@ trait SendGroupChatMessageMsgHdlr {
|
||||
}
|
||||
}
|
||||
|
||||
// Check if this message was sent while the lock settings was being changed.
|
||||
val isDelayedMessage = System.currentTimeMillis() - MeetingStatus2x.getPermissionsChangedOn(liveMeeting.status) < 5000
|
||||
|
||||
if (applyPermissionCheck && chatLocked && !isDelayedMessage) {
|
||||
val meetingId = liveMeeting.props.meetingProp.intId
|
||||
val reason = "No permission to send a message to this group chat."
|
||||
PermissionCheck.ejectUserForFailedPermission(meetingId, msg.header.userId, reason, bus.outGW, liveMeeting)
|
||||
state
|
||||
} else {
|
||||
if (!(applyPermissionCheck && chatLocked)) {
|
||||
def makeHeader(name: String, meetingId: String, userId: String): BbbClientMsgHeader = {
|
||||
BbbClientMsgHeader(name, meetingId, userId)
|
||||
}
|
||||
@ -90,7 +82,7 @@ trait SendGroupChatMessageMsgHdlr {
|
||||
case Some(ns) => ns
|
||||
case None => state
|
||||
}
|
||||
}
|
||||
} else { state }
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,57 @@
|
||||
package org.bigbluebutton.core.apps.users
|
||||
|
||||
import org.bigbluebutton.common2.msgs._
|
||||
import org.bigbluebutton.core.models.{ UserState, Users2x }
|
||||
import org.bigbluebutton.core.running.{ LiveMeeting, OutMsgRouter }
|
||||
import org.bigbluebutton.core.apps.{ PermissionCheck, RightsManagementTrait }
|
||||
import org.bigbluebutton.core.domain.MeetingState2x
|
||||
|
||||
trait ChangeUserPinStateReqMsgHdlr extends RightsManagementTrait {
|
||||
this: UsersApp =>
|
||||
|
||||
val liveMeeting: LiveMeeting
|
||||
val outGW: OutMsgRouter
|
||||
|
||||
def handleChangeUserPinStateReqMsg(msg: ChangeUserPinStateReqMsg): Unit = {
|
||||
log.info("handleAssignPinReqMsg: changedBy={} pin={} userId={}", msg.body.changedBy, msg.body.pin, msg.body.userId)
|
||||
|
||||
def broadcastUserPinChange(user: UserState, pin: Boolean): Unit = {
|
||||
val routingChange = Routing.addMsgToClientRouting(
|
||||
MessageTypes.BROADCAST_TO_MEETING,
|
||||
liveMeeting.props.meetingProp.intId, user.intId
|
||||
)
|
||||
val envelopeChange = BbbCoreEnvelope(UserPinStateChangedEvtMsg.NAME, routingChange)
|
||||
val headerChange = BbbClientMsgHeader(UserPinStateChangedEvtMsg.NAME, liveMeeting.props.meetingProp.intId,
|
||||
user.intId)
|
||||
|
||||
val bodyChange = UserPinStateChangedEvtMsgBody(user.intId, pin, msg.body.changedBy)
|
||||
val eventChange = UserPinStateChangedEvtMsg(headerChange, bodyChange)
|
||||
val msgEventChange = BbbCommonEnvCoreMsg(envelopeChange, eventChange)
|
||||
outGW.send(msgEventChange)
|
||||
}
|
||||
|
||||
if (permissionFailed(PermissionCheck.MOD_LEVEL, PermissionCheck.VIEWER_LEVEL, liveMeeting.users2x, msg.body.changedBy)
|
||||
|| liveMeeting.props.meetingProp.isBreakout) {
|
||||
val meetingId = liveMeeting.props.meetingProp.intId
|
||||
val reason = "No permission to change pin in meeting."
|
||||
PermissionCheck.ejectUserForFailedPermission(meetingId, msg.body.changedBy, reason, outGW, liveMeeting)
|
||||
} else {
|
||||
for {
|
||||
oldPin <- Users2x.findPin(liveMeeting.users2x)
|
||||
} yield {
|
||||
if (oldPin.intId != msg.body.userId) {
|
||||
Users2x.changePin(liveMeeting.users2x, oldPin.intId, false)
|
||||
broadcastUserPinChange(oldPin, false)
|
||||
}
|
||||
}
|
||||
for {
|
||||
newPin <- Users2x.findWithIntId(liveMeeting.users2x, msg.body.userId)
|
||||
} yield {
|
||||
if (newPin.pin != msg.body.pin) {
|
||||
Users2x.changePin(liveMeeting.users2x, newPin.intId, msg.body.pin)
|
||||
broadcastUserPinChange(newPin, msg.body.pin)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -166,6 +166,7 @@ class UsersApp(
|
||||
with SelectRandomViewerReqMsgHdlr
|
||||
with GetWebcamsOnlyForModeratorReqMsgHdlr
|
||||
with AssignPresenterReqMsgHdlr
|
||||
with ChangeUserPinStateReqMsgHdlr
|
||||
with EjectDuplicateUserReqMsgHdlr
|
||||
with EjectUserFromMeetingCmdMsgHdlr
|
||||
with EjectUserFromMeetingSysMsgHdlr
|
||||
|
@ -21,7 +21,7 @@ trait ModifyWhiteboardAccessPubMsgHdlr extends RightsManagementTrait {
|
||||
bus.outGW.send(msgEvent)
|
||||
}
|
||||
|
||||
if (filterWhiteboardMessage(msg.body.whiteboardId, msg.header.userId, liveMeeting) && permissionFailed(PermissionCheck.GUEST_LEVEL, PermissionCheck.PRESENTER_LEVEL, liveMeeting.users2x, msg.header.userId)) {
|
||||
if (permissionFailed(PermissionCheck.GUEST_LEVEL, PermissionCheck.PRESENTER_LEVEL, liveMeeting.users2x, msg.header.userId)) {
|
||||
val meetingId = liveMeeting.props.meetingProp.intId
|
||||
val reason = "No permission to modify access to the whiteboard."
|
||||
PermissionCheck.ejectUserForFailedPermission(meetingId, msg.header.userId, reason, bus.outGW, liveMeeting)
|
||||
|
@ -135,6 +135,16 @@ object Users2x {
|
||||
}
|
||||
}
|
||||
|
||||
def changePin(users: Users2x, intId: String, pin: Boolean): Option[UserState] = {
|
||||
for {
|
||||
u <- findWithIntId(users, intId)
|
||||
} yield {
|
||||
val newUser = u.modify(_.pin).setTo(pin)
|
||||
users.save(newUser)
|
||||
newUser
|
||||
}
|
||||
}
|
||||
|
||||
def setEmojiStatus(users: Users2x, intId: String, emoji: String): Option[UserState] = {
|
||||
for {
|
||||
u <- findWithIntId(users, intId)
|
||||
@ -183,6 +193,24 @@ object Users2x {
|
||||
users.toVector.find(u => u.presenter)
|
||||
}
|
||||
|
||||
def hasPin(users: Users2x): Boolean = {
|
||||
findPin(users) match {
|
||||
case Some(p) => true
|
||||
case None => false
|
||||
}
|
||||
}
|
||||
|
||||
def isPin(intId: String, users: Users2x): Boolean = {
|
||||
findWithIntId(users, intId) match {
|
||||
case Some(u) => u.pin
|
||||
case None => false
|
||||
}
|
||||
}
|
||||
|
||||
def findPin(users: Users2x): Option[UserState] = {
|
||||
users.toVector.find(u => u.pin)
|
||||
}
|
||||
|
||||
def findModerator(users: Users2x): Option[UserState] = {
|
||||
users.toVector.find(u => u.role == Roles.MODERATOR_ROLE)
|
||||
}
|
||||
@ -299,6 +327,7 @@ case class UserState(
|
||||
name: String,
|
||||
role: String,
|
||||
guest: Boolean,
|
||||
pin: Boolean,
|
||||
authed: Boolean,
|
||||
guestStatus: String,
|
||||
emoji: String,
|
||||
|
@ -109,6 +109,8 @@ class ReceivedJsonMsgHandlerActor(
|
||||
routeGenericMsg[GetPresenterGroupReqMsg](envelope, jsonNode)
|
||||
case UserActivitySignCmdMsg.NAME =>
|
||||
routeGenericMsg[UserActivitySignCmdMsg](envelope, jsonNode)
|
||||
case ChangeUserPinStateReqMsg.NAME =>
|
||||
routeGenericMsg[ChangeUserPinStateReqMsg](envelope, jsonNode)
|
||||
case SelectRandomViewerReqMsg.NAME =>
|
||||
routeGenericMsg[SelectRandomViewerReqMsg](envelope, jsonNode)
|
||||
|
||||
|
@ -60,6 +60,7 @@ trait HandlerHelpers extends SystemConfiguration {
|
||||
authed = regUser.authed,
|
||||
guestStatus = regUser.guestStatus,
|
||||
emoji = "none",
|
||||
pin = false,
|
||||
presenter = false,
|
||||
locked = MeetingStatus2x.getPermissions(liveMeeting.status).lockOnJoin,
|
||||
avatar = regUser.avatarURL,
|
||||
|
@ -404,6 +404,7 @@ class MeetingActor(
|
||||
case m: GetRecordingStatusReqMsg => usersApp.handleGetRecordingStatusReqMsg(m)
|
||||
case m: ChangeUserEmojiCmdMsg => handleChangeUserEmojiCmdMsg(m)
|
||||
case m: SelectRandomViewerReqMsg => usersApp.handleSelectRandomViewerReqMsg(m)
|
||||
case m: ChangeUserPinStateReqMsg => usersApp.handleChangeUserPinStateReqMsg(m)
|
||||
|
||||
// Client requested to eject user
|
||||
case m: EjectUserFromMeetingCmdMsg =>
|
||||
|
@ -73,6 +73,7 @@ class AnalyticsActor(val includeChat: Boolean) extends Actor with ActorLogging {
|
||||
case m: UserJoinedVoiceConfToClientEvtMsg => logMessage(msg)
|
||||
case m: UserDisconnectedFromGlobalAudioMsg => logMessage(msg)
|
||||
case m: AssignPresenterReqMsg => logMessage(msg)
|
||||
case m: ChangeUserPinStateReqMsg => logMessage(msg)
|
||||
case m: ScreenshareStartedVoiceConfEvtMsg => logMessage(msg)
|
||||
case m: ScreenshareStoppedVoiceConfEvtMsg => logMessage(msg)
|
||||
case m: ScreenshareRtmpBroadcastStartedVoiceConfEvtMsg => logMessage(msg)
|
||||
|
@ -12,6 +12,7 @@ object UserJoinedMeetingEvtMsgBuilder {
|
||||
role = userState.role, guest = userState.guest, authed = userState.authed,
|
||||
guestStatus = userState.guestStatus,
|
||||
emoji = userState.emoji,
|
||||
pin = userState.pin,
|
||||
presenter = userState.presenter, locked = userState.locked, avatar = userState.avatar,
|
||||
clientType = userState.clientType)
|
||||
|
||||
|
@ -66,7 +66,7 @@ trait FakeTestData {
|
||||
}
|
||||
|
||||
def createFakeUser(liveMeeting: LiveMeeting, regUser: RegisteredUser): UserState = {
|
||||
UserState(intId = regUser.id, extId = regUser.externId, name = regUser.name, role = regUser.role,
|
||||
UserState(intId = regUser.id, extId = regUser.externId, name = regUser.name, role = regUser.role, pin = false,
|
||||
guest = regUser.guest, authed = regUser.authed, guestStatus = regUser.guestStatus,
|
||||
emoji = "none", locked = false, presenter = false, avatar = regUser.avatarURL, clientType = "unknown",
|
||||
pickExempted = false, userLeftFlag = UserLeftFlag(false, 0))
|
||||
|
@ -92,6 +92,7 @@ case class UserJoinedMeetingEvtMsg(
|
||||
case class UserJoinedMeetingEvtMsgBody(intId: String, extId: String, name: String, role: String,
|
||||
guest: Boolean, authed: Boolean, guestStatus: String,
|
||||
emoji: String,
|
||||
pin: Boolean,
|
||||
presenter: Boolean, locked: Boolean, avatar: String, clientType: String)
|
||||
|
||||
/**
|
||||
@ -200,6 +201,16 @@ object AssignPresenterReqMsg { val NAME = "AssignPresenterReqMsg" }
|
||||
case class AssignPresenterReqMsg(header: BbbClientMsgHeader, body: AssignPresenterReqMsgBody) extends StandardMsg
|
||||
case class AssignPresenterReqMsgBody(requesterId: String, newPresenterId: String, newPresenterName: String, assignedBy: String)
|
||||
|
||||
/**
|
||||
* Sent from client to change the video pin of the user in the meeting.
|
||||
*/
|
||||
object ChangeUserPinStateReqMsg { val NAME = "ChangeUserPinStateReqMsg" }
|
||||
case class ChangeUserPinStateReqMsg(header: BbbClientMsgHeader, body: ChangeUserPinStateReqMsgBody) extends StandardMsg
|
||||
case class ChangeUserPinStateReqMsgBody(userId: String, pin: Boolean, changedBy: String)
|
||||
|
||||
object UserPinStateChangedEvtMsg { val NAME = "UserPinStateChangedEvtMsg" }
|
||||
case class UserPinStateChangedEvtMsg(header: BbbClientMsgHeader, body: UserPinStateChangedEvtMsgBody) extends BbbCoreMsg
|
||||
case class UserPinStateChangedEvtMsgBody(userId: String, pin: Boolean, changedBy: String)
|
||||
/**
|
||||
* Sent from client to change the role of the user in the meeting.
|
||||
*/
|
||||
|
@ -1,12 +1,16 @@
|
||||
package org.bigbluebutton.api.model.validator;
|
||||
|
||||
import org.bigbluebutton.api.model.constraint.PasswordConstraint;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.validation.ConstraintValidator;
|
||||
import javax.validation.ConstraintValidatorContext;
|
||||
|
||||
public class PasswordValidator implements ConstraintValidator<PasswordConstraint, String> {
|
||||
|
||||
private static Logger log = LoggerFactory.getLogger(PasswordValidator.class);
|
||||
|
||||
@Override
|
||||
public void initialize(PasswordConstraint constraintAnnotation) {
|
||||
ConstraintValidator.super.initialize(constraintAnnotation);
|
||||
@ -14,8 +18,18 @@ public class PasswordValidator implements ConstraintValidator<PasswordConstraint
|
||||
|
||||
@Override
|
||||
public boolean isValid(String password, ConstraintValidatorContext context) {
|
||||
if(password == null || password.equals("")) return true;
|
||||
if(password.length() < 2 || password.length() > 64) return false;
|
||||
log.info("Validating password [{}]", password);
|
||||
|
||||
if(password == null || password.equals("")) {
|
||||
log.info("Provided password is either null or an empty string");
|
||||
return true;
|
||||
}
|
||||
|
||||
if(password.length() < 2 || password.length() > 64) {
|
||||
log.info("Passwords must be between 2 and 64 characters in length");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,2 +1,2 @@
|
||||
git clone --branch 1.8.13 --depth 1 https://github.com/ether/etherpad-lite bbb-etherpad
|
||||
git clone --branch 1.8.16 --depth 1 https://github.com/ether/etherpad-lite bbb-etherpad
|
||||
|
||||
|
@ -31,7 +31,9 @@ class PollsTable extends React.Component {
|
||||
</svg>
|
||||
</th>
|
||||
{typeof polls === 'object' && Object.values(polls || {}).length > 0 ? (
|
||||
Object.values(polls || {}).map((poll, index) => <th className="px-3.5 2xl:px-4 py-3 text-center">{poll.question || `Poll ${index + 1}`}</th>)
|
||||
Object.values(polls || {})
|
||||
.sort((a, b) => ((a.createdOn > b.createdOn) ? 1 : -1))
|
||||
.map((poll, index) => <th className="px-3.5 2xl:px-4 py-3 text-center">{poll.question || `Poll ${index + 1}`}</th>)
|
||||
) : null }
|
||||
</tr>
|
||||
</thead>
|
||||
@ -61,35 +63,37 @@ class PollsTable extends React.Component {
|
||||
</td>
|
||||
|
||||
{typeof polls === 'object' && Object.values(polls || {}).length > 0 ? (
|
||||
Object.values(polls || {}).map((poll) => (
|
||||
<td className="px-3.5 2xl:px-4 py-3 text-sm text-center">
|
||||
{ getUserAnswer(user, poll) }
|
||||
{ poll.anonymous
|
||||
? (
|
||||
<span title={intl.formatMessage({
|
||||
id: 'app.learningDashboard.pollsTable.anonymousAnswer',
|
||||
defaultMessage: 'Anonymous Poll (answers in the last row)',
|
||||
})}
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className="h-4 w-4 inline"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
Object.values(polls || {})
|
||||
.sort((a, b) => ((a.createdOn > b.createdOn) ? 1 : -1))
|
||||
.map((poll) => (
|
||||
<td className="px-3.5 2xl:px-4 py-3 text-sm text-center">
|
||||
{ getUserAnswer(user, poll) }
|
||||
{ poll.anonymous
|
||||
? (
|
||||
<span title={intl.formatMessage({
|
||||
id: 'app.learningDashboard.pollsTable.anonymousAnswer',
|
||||
defaultMessage: 'Anonymous Poll (answers in the last row)',
|
||||
})}
|
||||
>
|
||||
<path
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
strokeWidth="2"
|
||||
d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
)
|
||||
: null }
|
||||
</td>
|
||||
))
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
className="h-4 w-4 inline"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
>
|
||||
<path
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
strokeWidth="2"
|
||||
d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
/>
|
||||
</svg>
|
||||
</span>
|
||||
)
|
||||
: null }
|
||||
</td>
|
||||
))
|
||||
) : null }
|
||||
</tr>
|
||||
))) : null }
|
||||
@ -132,11 +136,13 @@ class PollsTable extends React.Component {
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
{Object.values(polls || {}).map((poll) => (
|
||||
<td className="px-3.5 2xl:px-4 py-3 text-sm text-center">
|
||||
{ poll.anonymousAnswers.map((answer) => <p>{answer}</p>) }
|
||||
</td>
|
||||
))}
|
||||
{Object.values(polls || {})
|
||||
.sort((a, b) => ((a.createdOn > b.createdOn) ? 1 : -1))
|
||||
.map((poll) => (
|
||||
<td className="px-3.5 2xl:px-4 py-3 text-sm text-center">
|
||||
{ poll.anonymousAnswers.map((answer) => <p>{answer}</p>) }
|
||||
</td>
|
||||
))}
|
||||
</tr>
|
||||
) : null}
|
||||
</tbody>
|
||||
|
@ -1 +1 @@
|
||||
BIGBLUEBUTTON_RELEASE=2.4-rc-7
|
||||
BIGBLUEBUTTON_RELEASE=2.4.1
|
||||
|
@ -1,20 +0,0 @@
|
||||
These instructions help for determine which localization strings are used in the bigbluebutton-client
|
||||
|
||||
1) Get the keys from the properties file, execute:
|
||||
|
||||
awk 'match($0,"="){ print substr($0,1,RSTART-1) }' /home/firstuser/dev/bigbluebutton/bigbluebutton-client/locale/en_US/bbbResources.properties &> keys.properties
|
||||
|
||||
2) Copy the following text to a file called routine.sh:
|
||||
|
||||
for i in $(cat keys.properties)
|
||||
do
|
||||
if grep -nr --exclude-dir="locale" $i /home/firstuser/dev/bigbluebutton/bigbluebutton-client/
|
||||
then
|
||||
echo "$i" >> keys-used.properties
|
||||
else
|
||||
echo "$i" >> keys-not-used.properties
|
||||
fi
|
||||
done
|
||||
|
||||
Then run: sh routine.sh
|
||||
|
@ -31,7 +31,7 @@ log_history=28
|
||||
#
|
||||
# Delete presentations older than N days
|
||||
#
|
||||
find /var/bigbluebutton/ -maxdepth 1 -type d -name "*-*" -mtime +$history -exec rm -rf '{}' +
|
||||
find /var/bigbluebutton/ -maxdepth 1 -type d -name "*-[0-9]*" -mtime +$history -exec rm -rf '{}' +
|
||||
|
||||
#
|
||||
# Delete streams from Kurento and mediasoup older than N days
|
||||
|
@ -52,7 +52,7 @@
|
||||
<div class='span six html5clientOnly input-center'>
|
||||
<div class='join-meeting '>
|
||||
<h4>Try BigBlueButton</h4>
|
||||
<p>(requires <a href="http://docs.bigbluebutton.org/2.2/install.html#5-install-api-demos-optional">API demos</a> to be installed)</p>
|
||||
<p>(requires <a href="https://docs.bigbluebutton.org/2.4/install.html#install">API demos</a> to be installed)</p>
|
||||
|
||||
|
||||
<form name="form1" method="GET" onsubmit="return checkform(this);" action="/demo/demoHTML5.jsp">
|
||||
@ -257,16 +257,16 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="span six first">
|
||||
<p>BigBlueButton and the BigBlueButton logo are trademarks of <a href="http://bigbluebutton.org/">BigBlueButton Inc.</a></p>
|
||||
<p>BigBlueButton and the BigBlueButton logo are trademarks of <a href="https://bigbluebutton.org/">BigBlueButton Inc.</a></p>
|
||||
</div>
|
||||
<div class="span six last">
|
||||
<ul>
|
||||
<li>
|
||||
Follow Us:
|
||||
</li>
|
||||
<li><a class="twitter" href="http://www.twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_blank"><i class="fa fa-twitter"></i></a></li>
|
||||
<li><a class="facebook" href="http://www.facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
||||
<li><a class="youtube" href="http://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_blank"><i class="fa fa-youtube"></i> </a></li>
|
||||
<li><a class="twitter" href="https://www.twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_blank"><i class="fa fa-twitter"></i></a></li>
|
||||
<li><a class="facebook" href="https://www.facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
||||
<li><a class="youtube" href="https://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_blank"><i class="fa fa-youtube"></i> </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -275,7 +275,7 @@
|
||||
<div class="row">
|
||||
<div class="span twelve center">
|
||||
<p>Copyright © 2021 BigBlueButton Inc.<br>
|
||||
<small>Version <a href="http://docs.bigbluebutton.org/">2.3</a></small>
|
||||
<small>Version <a href="https://docs.bigbluebutton.org/">2.4</a></small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -84,13 +84,13 @@
|
||||
<div class='row'>
|
||||
<div >
|
||||
<h2>BigBlueButton HTML5 client test server</h2>
|
||||
<p> <a href="http://bigbluebutton.org/" target="_blank">BigBlueButton</a> is an open source web conferencing system for on-line learning. This is a public test server for the BigBlueButton <a href="http://docs.bigbluebutton.org/html/html5-overview.html">HTML5 client</a> currently under development.</p>
|
||||
<p> <a href="https://bigbluebutton.org/" target="_blank">BigBlueButton</a> is an open source web conferencing system for on-line learning. This is a public test server for the BigBlueButton <a href="http://docs.bigbluebutton.org/html/html5-overview.html">HTML5 client</a> currently under development.</p>
|
||||
<p> Our goal for the upcoming release of the HTML5 client is to implement all the <a href="https://youtu.be/oh0bEk3YSwI">viewer capabilities</a> of the Flash client. Students join online classes as a viewer. The HTML5 client will give remote students the ability to join from their Android and Apple (iOS 11+) devices. Users using the Flash and HTML5 clients can join the same meeting (hence the two choices above). We built the HTML5 client using web real-time communication (WebRTC), <a href="https://facebook.github.io/react/">React</a>, and <a href="https://www.mongodb.com/">MongoDB</a>.</p>
|
||||
<p> What can this developer build of the HTML5 client do right now? Pretty much everything the Flash client can do for viewers except (a) view a desktop sharing stream from the presenter and (b) send/receive webcam streams. We're working on (a) and (b). For now, we are really happy to share with you our progress and get <a href="https://docs.google.com/forms/d/1gFz5JdN3vD6jxhlVskFYgtEKEcexdDnUzpkwUXwQ4OY/viewform?usp=send_for">your feedback</a> on what has been implemeted so far. Enjoy!</p>
|
||||
|
||||
<h4>For Developers</h4>
|
||||
<p> The BigBlueButton project is <a href="http://bigbluebutton.org/support">supported</a> by a community of developers that care about good design and a streamlined user experience. </p>
|
||||
<p>See <a href="http://docs.bigbluebutton.org" target="_blank">Documentation</a> for more information on how you can integrate BigBlueButton with your project.</p>
|
||||
<p> The BigBlueButton project is <a href="https://bigbluebutton.org/support">supported</a> by a community of developers that care about good design and a streamlined user experience. </p>
|
||||
<p>See <a href="https://docs.bigbluebutton.org" target="_blank">Documentation</a> for more information on how you can integrate BigBlueButton with your project.</p>
|
||||
</div>
|
||||
<div class="span one"></div>
|
||||
|
||||
@ -269,17 +269,17 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="span six first">
|
||||
<p>BigBlueButton and the BigBlueButton logo are trademarks of <a href="http://bigbluebutton.org/">BigBlueButton Inc.</a></p>
|
||||
<p>BigBlueButton and the BigBlueButton logo are trademarks of <a href="https://bigbluebutton.org/">BigBlueButton Inc.</a></p>
|
||||
</div>
|
||||
<div class="span six last">
|
||||
<ul>
|
||||
<li>
|
||||
Follow Us:
|
||||
</li>
|
||||
<li><a class="twitter" href="http://www.twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_blank"><i class="fa fa-twitter"></i></a></li>
|
||||
<li><a class="facebook" href="http://www.facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
||||
<li><a class="youtube" href="http://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_blank"><i class="fa fa-youtube"></i> </a></li>
|
||||
<li><a class="google" href="http://google.com/+bigbluebutton" title="BigBlueButton Google Plus" target="_blank"><i class="fa fa-google-plus"></i></a></li>
|
||||
<li><a class="twitter" href="https://www.twitter.com/bigbluebutton" title="BigBlueButton Twitter Page" target="_blank"><i class="fa fa-twitter"></i></a></li>
|
||||
<li><a class="facebook" href="https://www.facebook.com/bigbluebutton" title="BigBlueButton Facebook Page" target="_blank"><i class="fa fa-facebook"></i></a></li>
|
||||
<li><a class="youtube" href="https://www.youtube.com/bigbluebuttonshare" title="BigBlueButton YouTube Page" target="_blank"><i class="fa fa-youtube"></i> </a></li>
|
||||
<li><a class="google" href="https://google.com/+bigbluebutton" title="BigBlueButton Google Plus" target="_blank"><i class="fa fa-google-plus"></i></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -287,8 +287,8 @@
|
||||
|
||||
<div class="row">
|
||||
<div class="span twelve center">
|
||||
<p>Copyright © 2018 BigBlueButton Inc.<br>
|
||||
<small>Version <a href="http://docs.bigbluebutton.org/">2.0-RC1</a></small>
|
||||
<p>Copyright © 2021 BigBlueButton Inc.<br>
|
||||
<small>Version <a href="https://docs.bigbluebutton.org/">2.4</a></small>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -346,3 +346,9 @@
|
||||
.icon-bbb-external-video_off:before {
|
||||
content: "\e95e";
|
||||
}
|
||||
.icon-bbb-pin-video_on:before {
|
||||
content: "\e964";
|
||||
}
|
||||
.icon-bbb-pin-video_off:before {
|
||||
content: "\e965";
|
||||
}
|
||||
|
@ -32,11 +32,12 @@ function currentPoll(secretPoll) {
|
||||
|
||||
const User = Users.findOne({ userId, meetingId }, { fields: { role: 1, presenter: 1 } });
|
||||
|
||||
if (!!User && (User.role === ROLE_MODERATOR || User.presenter)) {
|
||||
if (!!User && User.presenter) {
|
||||
Logger.debug('Publishing Polls', { meetingId, userId });
|
||||
|
||||
const selector = {
|
||||
meetingId,
|
||||
requester: userId,
|
||||
};
|
||||
|
||||
const options = { fields: {} };
|
||||
@ -45,13 +46,16 @@ function currentPoll(secretPoll) {
|
||||
|
||||
if ((hasPoll && hasPoll.secretPoll) || secretPoll) {
|
||||
options.fields.responses = 0;
|
||||
selector.secretPoll = true;
|
||||
} else {
|
||||
selector.secretPoll = false;
|
||||
}
|
||||
|
||||
return Polls.find(selector, options);
|
||||
}
|
||||
|
||||
Logger.warn(
|
||||
'Publishing current-poll was requested by non-moderator connection',
|
||||
'Publishing current-poll was requested by non-presenter connection',
|
||||
{ meetingId, userId, connectionId: this.connection.id },
|
||||
);
|
||||
return Polls.find({ meetingId: '' });
|
||||
|
@ -15,6 +15,7 @@ export default function addUserPersistentData(user) {
|
||||
intId: String,
|
||||
extId: String,
|
||||
name: String,
|
||||
pin: Boolean,
|
||||
role: String,
|
||||
guest: Boolean,
|
||||
authed: Boolean,
|
||||
@ -39,6 +40,7 @@ export default function addUserPersistentData(user) {
|
||||
avatar,
|
||||
guest,
|
||||
color,
|
||||
pin,
|
||||
} = user;
|
||||
|
||||
const userData = {
|
||||
@ -51,6 +53,7 @@ export default function addUserPersistentData(user) {
|
||||
avatar,
|
||||
guest,
|
||||
color,
|
||||
pin,
|
||||
loggedOut: false,
|
||||
};
|
||||
|
||||
|
@ -6,6 +6,7 @@ import handlePresenterAssigned from './handlers/presenterAssigned';
|
||||
import handleEmojiStatus from './handlers/emojiStatus';
|
||||
import handleUserEjected from './handlers/userEjected';
|
||||
import handleChangeRole from './handlers/changeRole';
|
||||
import handleUserPinChanged from './handlers/userPinChanged';
|
||||
import handleUserInactivityInspect from './handlers/userInactivityInspect';
|
||||
|
||||
RedisPubSub.on('PresenterAssignedEvtMsg', handlePresenterAssigned);
|
||||
@ -15,4 +16,5 @@ RedisPubSub.on('ValidateAuthTokenRespMsg', handleValidateAuthToken);
|
||||
RedisPubSub.on('UserEmojiChangedEvtMsg', handleEmojiStatus);
|
||||
RedisPubSub.on('UserEjectedFromMeetingEvtMsg', handleUserEjected);
|
||||
RedisPubSub.on('UserRoleChangedEvtMsg', handleChangeRole);
|
||||
RedisPubSub.on('UserPinStateChangedEvtMsg', handleUserPinChanged);
|
||||
RedisPubSub.on('UserInactivityInspectMsg', handleUserInactivityInspect);
|
||||
|
@ -0,0 +1,13 @@
|
||||
import { check } from 'meteor/check';
|
||||
import changePin from '../modifiers/changePin';
|
||||
|
||||
export default function handlePinAssigned({ body }, meetingId) {
|
||||
const { userId, pin, changedBy } = body;
|
||||
|
||||
check(meetingId, String);
|
||||
check(userId, String);
|
||||
check(pin, Boolean);
|
||||
check(changedBy, String);
|
||||
|
||||
return changePin(meetingId, userId, pin, changedBy);
|
||||
}
|
@ -9,6 +9,7 @@ import toggleUserLock from './methods/toggleUserLock';
|
||||
import setUserEffectiveConnectionType from './methods/setUserEffectiveConnectionType';
|
||||
import userActivitySign from './methods/userActivitySign';
|
||||
import userLeftMeeting from './methods/userLeftMeeting';
|
||||
import changePin from './methods/changePin';
|
||||
import setRandomUser from './methods/setRandomUser';
|
||||
|
||||
Meteor.methods({
|
||||
@ -22,5 +23,6 @@ Meteor.methods({
|
||||
setUserEffectiveConnectionType,
|
||||
userActivitySign,
|
||||
userLeftMeeting,
|
||||
changePin,
|
||||
setRandomUser,
|
||||
});
|
||||
|
@ -0,0 +1,34 @@
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import { check } from 'meteor/check';
|
||||
import RedisPubSub from '/imports/startup/server/redis';
|
||||
import Logger from '/imports/startup/server/logger';
|
||||
import Users from '/imports/api/users';
|
||||
import { extractCredentials } from '/imports/api/common/server/helpers';
|
||||
|
||||
export default function changePin(userId, pin) {
|
||||
try {
|
||||
const REDIS_CONFIG = Meteor.settings.private.redis;
|
||||
const CHANNEL = REDIS_CONFIG.channels.toAkkaApps;
|
||||
const EVENT_NAME = 'ChangeUserPinStateReqMsg';
|
||||
const { meetingId, requesterUserId } = extractCredentials(this.userId);
|
||||
|
||||
check(meetingId, String);
|
||||
check(requesterUserId, String);
|
||||
check(userId, String);
|
||||
check(pin, Boolean);
|
||||
|
||||
const payload = {
|
||||
pin,
|
||||
changedBy: requesterUserId,
|
||||
userId,
|
||||
};
|
||||
|
||||
Logger.verbose('User pin requested', {
|
||||
userId, meetingId, changedBy: requesterUserId, pin,
|
||||
});
|
||||
|
||||
RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
|
||||
} catch (err) {
|
||||
Logger.error(`Exception while invoking method changePin ${err.stack}`);
|
||||
}
|
||||
}
|
@ -24,6 +24,7 @@ export default function addDialInUser(meetingId, voiceUser) {
|
||||
presenter: false,
|
||||
locked: false, // TODO
|
||||
avatar: '',
|
||||
pin: false,
|
||||
clientType: 'dial-in-user',
|
||||
};
|
||||
|
||||
|
@ -33,6 +33,7 @@ export default function addUser(meetingId, userData) {
|
||||
presenter: Boolean,
|
||||
locked: Boolean,
|
||||
avatar: String,
|
||||
pin: Boolean,
|
||||
clientType: String,
|
||||
});
|
||||
|
||||
|
@ -0,0 +1,25 @@
|
||||
import Logger from '/imports/startup/server/logger';
|
||||
import Users from '/imports/api/users';
|
||||
|
||||
export default function changePin(meetingId, userId, pin, changedBy) {
|
||||
const selector = {
|
||||
meetingId,
|
||||
userId,
|
||||
};
|
||||
|
||||
const modifier = {
|
||||
$set: {
|
||||
pin,
|
||||
},
|
||||
};
|
||||
|
||||
try {
|
||||
const numberAffected = Users.update(selector, modifier);
|
||||
|
||||
if (numberAffected) {
|
||||
Logger.info(`Change pin=${pin} id=${userId} meeting=${meetingId} changedBy=${changedBy}`);
|
||||
}
|
||||
} catch (err) {
|
||||
Logger.error(`Change pin error: ${err}`);
|
||||
}
|
||||
}
|
@ -2,7 +2,9 @@ import RedisPubSub from '/imports/startup/server/redis';
|
||||
import handleUserSharedHtml5Webcam from './handlers/userSharedHtml5Webcam';
|
||||
import handleUserUnsharedHtml5Webcam from './handlers/userUnsharedHtml5Webcam';
|
||||
import handleFloorChanged from './handlers/floorChanged';
|
||||
import handlePinnedChanged from './handlers/userPinChanged';
|
||||
|
||||
RedisPubSub.on('UserBroadcastCamStartedEvtMsg', handleUserSharedHtml5Webcam);
|
||||
RedisPubSub.on('UserBroadcastCamStoppedEvtMsg', handleUserUnsharedHtml5Webcam);
|
||||
RedisPubSub.on('AudioFloorChangedEvtMsg', handleFloorChanged);
|
||||
RedisPubSub.on('UserPinStateChangedEvtMsg', handlePinnedChanged);
|
||||
|
@ -0,0 +1,13 @@
|
||||
import { check } from 'meteor/check';
|
||||
import changePin from '../modifiers/changePin';
|
||||
|
||||
export default function userPinChanged({ body }, meetingId) {
|
||||
const { userId, pin, changedBy } = body;
|
||||
|
||||
check(meetingId, String);
|
||||
check(userId, String);
|
||||
check(pin, Boolean);
|
||||
check(changedBy, String);
|
||||
|
||||
return changePin(meetingId, userId, pin, changedBy);
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
import Logger from '/imports/startup/server/logger';
|
||||
import VideoStreams from '/imports/api/video-streams';
|
||||
|
||||
export default function changePin(meetingId, userId, pin) {
|
||||
const selector = {
|
||||
meetingId,
|
||||
userId,
|
||||
};
|
||||
|
||||
const modifier = {
|
||||
$set: {
|
||||
pin,
|
||||
},
|
||||
};
|
||||
|
||||
try {
|
||||
const numberAffected = VideoStreams.update(selector, modifier, { multi: true });
|
||||
|
||||
if (numberAffected) {
|
||||
Logger.info(`Updated user streams pinned userId=${userId} pinned=${pin}`);
|
||||
}
|
||||
} catch (error) {
|
||||
return Logger.error(`Error updating stream pinned status: ${error}`);
|
||||
}
|
||||
return null;
|
||||
}
|
@ -6,6 +6,7 @@ import {
|
||||
getUserName,
|
||||
} from '/imports/api/video-streams/server/helpers';
|
||||
import VoiceUsers from '/imports/api/voice-users/';
|
||||
import Users from '/imports/api/users/';
|
||||
|
||||
const BASE_FLOOR_TIME = "0";
|
||||
|
||||
@ -20,7 +21,13 @@ export default function sharedWebcam(meetingId, userId, stream) {
|
||||
{ meetingId, intId: userId },
|
||||
{ fields: { floor: 1, lastFloorTime: 1 }}
|
||||
) || {};
|
||||
const u = Users.findOne(
|
||||
{ meetingId, intId: userId },
|
||||
{ fields: { pin: 1 } },
|
||||
) || {};
|
||||
const floor = vu.floor || false;
|
||||
const pin = u.pin || false;
|
||||
|
||||
const lastFloorTime = vu.lastFloorTime || BASE_FLOOR_TIME;
|
||||
|
||||
const selector = {
|
||||
@ -35,6 +42,7 @@ export default function sharedWebcam(meetingId, userId, stream) {
|
||||
name,
|
||||
lastFloorTime,
|
||||
floor,
|
||||
pin,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -214,7 +214,7 @@ class App extends Component {
|
||||
window.ondragover = (e) => { e.preventDefault(); };
|
||||
window.ondrop = (e) => { e.preventDefault(); };
|
||||
|
||||
if (isMobile()) makeCall('setMobileUser');
|
||||
if (deviceInfo.isMobile) makeCall('setMobileUser');
|
||||
|
||||
ConnectionStatusService.startRoundTripTime();
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
position: relative;
|
||||
bottom: 3.5em;
|
||||
left: 1em;
|
||||
|
||||
padding: 0.25rem 0.5rem;
|
||||
min-width: 200px;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
border-radius: 32px;
|
||||
|
@ -6,15 +6,15 @@ import { styles } from './styles';
|
||||
|
||||
const intlMessages = defineMessages({
|
||||
title: {
|
||||
id: 'app.error.fallback.view.title',
|
||||
id: 'app.error.fallback.presentation.title',
|
||||
description: 'title for presentation when fallback is showed',
|
||||
},
|
||||
description: {
|
||||
id: 'app.error.fallback.view.description',
|
||||
id: 'app.error.fallback.presentation.description',
|
||||
description: 'description for presentation when fallback is showed',
|
||||
},
|
||||
reloadButton: {
|
||||
id: 'app.error.fallback.view.reloadButton',
|
||||
id: 'app.error.fallback.presentation.reloadButton',
|
||||
description: 'Button label when fallback is showed',
|
||||
},
|
||||
});
|
||||
|
@ -400,14 +400,17 @@ const reducer = (state, action) => {
|
||||
|
||||
// SIDEBAR CONTENT
|
||||
case ACTIONS.SET_SIDEBAR_CONTENT_IS_OPEN: {
|
||||
const { sidebarContent } = state.input;
|
||||
const { sidebarContent, sidebarNavigation } = state.input;
|
||||
if (sidebarContent.isOpen === action.value) {
|
||||
return state;
|
||||
}
|
||||
// When opening content sidebar, the navigation sidebar should be opened as well
|
||||
if (action.value === true) sidebarNavigation.isOpen = true;
|
||||
return {
|
||||
...state,
|
||||
input: {
|
||||
...state.input,
|
||||
sidebarNavigation,
|
||||
sidebarContent: {
|
||||
...sidebarContent,
|
||||
isOpen: action.value,
|
||||
|
@ -165,7 +165,7 @@ class CustomLayout extends Component {
|
||||
type: ACTIONS.SET_LAYOUT_INPUT,
|
||||
value: _.defaultsDeep({
|
||||
sidebarNavigation: {
|
||||
isOpen: input.sidebarNavigation.isOpen || false,
|
||||
isOpen: input.sidebarNavigation.isOpen || sidebarContentPanel !== PANELS.NONE || false,
|
||||
},
|
||||
sidebarContent: {
|
||||
isOpen: sidebarContentPanel !== PANELS.NONE,
|
||||
|
@ -99,7 +99,7 @@ class PresentationFocusLayout extends Component {
|
||||
type: ACTIONS.SET_LAYOUT_INPUT,
|
||||
value: defaultsDeep({
|
||||
sidebarNavigation: {
|
||||
isOpen: input.sidebarNavigation.isOpen || false,
|
||||
isOpen: input.sidebarNavigation.isOpen || sidebarContentPanel !== PANELS.NONE || false,
|
||||
},
|
||||
sidebarContent: {
|
||||
isOpen: sidebarContentPanel !== PANELS.NONE,
|
||||
|
@ -101,7 +101,7 @@ class SmartLayout extends Component {
|
||||
type: ACTIONS.SET_LAYOUT_INPUT,
|
||||
value: _.defaultsDeep({
|
||||
sidebarNavigation: {
|
||||
isOpen: input.sidebarNavigation.isOpen || false,
|
||||
isOpen: input.sidebarNavigation.isOpen || sidebarContentPanel !== PANELS.NONE || false,
|
||||
},
|
||||
sidebarContent: {
|
||||
isOpen: sidebarContentPanel !== PANELS.NONE,
|
||||
|
@ -104,7 +104,7 @@ class VideoFocusLayout extends Component {
|
||||
value: defaultsDeep(
|
||||
{
|
||||
sidebarNavigation: {
|
||||
isOpen: input.sidebarNavigation.isOpen || false,
|
||||
isOpen: input.sidebarNavigation.isOpen || sidebarContentPanel !== PANELS.NONE || false,
|
||||
},
|
||||
sidebarContent: {
|
||||
isOpen: sidebarContentPanel !== PANELS.NONE,
|
||||
|
@ -287,6 +287,7 @@ class SettingsDropdown extends PureComponent {
|
||||
<Button
|
||||
label={intl.formatMessage(intlMessages.optionsLabel)}
|
||||
icon="more"
|
||||
data-test="optionsButton"
|
||||
ghost
|
||||
circle
|
||||
hideLabel
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
.screenshareContainer {
|
||||
position: relative;
|
||||
background-color: var(--color-content-background);
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ import Icon from '/imports/ui/components/icon/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 VideoService from '/imports/ui/components/video-provider/service';
|
||||
import BBBMenu from '/imports/ui/components/menu/component';
|
||||
import { styles } from './styles';
|
||||
import UserName from '../user-name/component';
|
||||
@ -49,6 +50,14 @@ const messages = defineMessages({
|
||||
id: 'app.userList.menu.chat.label',
|
||||
description: 'label for option to start a new private chat',
|
||||
},
|
||||
PinUserWebcam: {
|
||||
id: 'app.userList.menu.webcamPin.label',
|
||||
description: 'label for pin user webcam',
|
||||
},
|
||||
UnpinUserWebcam: {
|
||||
id: 'app.userList.menu.webcamUnpin.label',
|
||||
description: 'label for pin user webcam',
|
||||
},
|
||||
ClearStatusLabel: {
|
||||
id: 'app.userList.menu.clearStatus.label',
|
||||
description: 'Clear the emoji status of this user',
|
||||
@ -125,7 +134,9 @@ const messages = defineMessages({
|
||||
|
||||
const propTypes = {
|
||||
compact: PropTypes.bool.isRequired,
|
||||
user: PropTypes.shape({}).isRequired,
|
||||
user: PropTypes.shape({
|
||||
userId: PropTypes.string.isRequired,
|
||||
}).isRequired,
|
||||
intl: PropTypes.shape({
|
||||
formatMessage: PropTypes.func.isRequired,
|
||||
}).isRequired,
|
||||
@ -249,7 +260,7 @@ class UserDropdown extends PureComponent {
|
||||
layoutContextDispatch,
|
||||
} = this.props;
|
||||
const { showNestedOptions } = this.state;
|
||||
const { clientType } = user;
|
||||
const { clientType, isSharingWebcam, pin: userIsPinned } = user;
|
||||
const isDialInUser = clientType === 'dial-in-user';
|
||||
|
||||
const amIPresenter = currentUser.presenter;
|
||||
@ -323,6 +334,21 @@ class UserDropdown extends PureComponent {
|
||||
});
|
||||
}
|
||||
|
||||
if (isSharingWebcam
|
||||
&& isMeteorConnected
|
||||
&& VideoService.isVideoPinEnabledForCurrentUser()) {
|
||||
actions.push({
|
||||
key: 'pinVideo',
|
||||
label: userIsPinned
|
||||
? intl.formatMessage(messages.UnpinUserWebcam)
|
||||
: intl.formatMessage(messages.PinUserWebcam),
|
||||
onClick: () => {
|
||||
VideoService.toggleVideoPin(user.userId, userIsPinned);
|
||||
},
|
||||
icon: userIsPinned ? 'pin-video_off' : 'pin-video_on',
|
||||
});
|
||||
}
|
||||
|
||||
const showChatOption = CHAT_ENABLED
|
||||
&& enablePrivateChat
|
||||
&& !isDialInUser
|
||||
|
@ -46,7 +46,22 @@ const intlMessages = defineMessages({
|
||||
camBgAriaDesc: {
|
||||
id: 'app.video.virtualBackground.camBgAriaDesc',
|
||||
description: 'Label for virtual background button aria',
|
||||
}
|
||||
},
|
||||
background: {
|
||||
id: 'app.video.virtualBackground.background',
|
||||
description: 'Label for the background word',
|
||||
},
|
||||
...IMAGE_NAMES.reduce((prev, imageName) => {
|
||||
const id = imageName.split('.').shift();
|
||||
return {
|
||||
...prev,
|
||||
[id]: {
|
||||
id: `app.video.virtualBackground.${id}`,
|
||||
description: `Label for the ${id} camera option`,
|
||||
defaultMessage: '{background} {index}',
|
||||
},
|
||||
};
|
||||
}, {})
|
||||
});
|
||||
|
||||
const VirtualBgSelector = ({
|
||||
@ -168,15 +183,20 @@ const VirtualBgSelector = ({
|
||||
</>
|
||||
|
||||
{IMAGE_NAMES.map((imageName, index) => {
|
||||
const label = intl.formatMessage(intlMessages[imageName.split('.').shift()], {
|
||||
index: index + 2,
|
||||
background: intl.formatMessage(intlMessages.background),
|
||||
});
|
||||
|
||||
return (
|
||||
<div key={`${imageName}-${index}`} style={{ position: 'relative' }}>
|
||||
<Button
|
||||
id={`${imageName}-${index}`}
|
||||
label={capitalizeFirstLetter(imageName.split('.').shift())}
|
||||
label={label}
|
||||
tabIndex={disabled ? -1 : 0}
|
||||
role="button"
|
||||
className={thumbnailStyles.join(' ')}
|
||||
aria-label={capitalizeFirstLetter(imageName.split('.').shift())}
|
||||
aria-label={label}
|
||||
aria-describedby={`vr-cam-btn-${index}`}
|
||||
aria-pressed={currentVirtualBg?.name?.includes(imageName.split('.').shift())}
|
||||
hideLabel
|
||||
@ -190,7 +210,7 @@ const VirtualBgSelector = ({
|
||||
node.click();
|
||||
}} aria-hidden className={styles.thumbnail} src={getVirtualBackgroundThumbnail(imageName)} />
|
||||
<div aria-hidden className="sr-only" id={`vr-cam-btn-${index}`}>
|
||||
{intl.formatMessage(intlMessages.camBgAriaDesc, { 0: capitalizeFirstLetter(imageName.split('.').shift()) })}
|
||||
{intl.formatMessage(intlMessages.camBgAriaDesc, { 0: label })}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
|
@ -129,7 +129,7 @@ class VideoProvider extends Component {
|
||||
this.wsQueue = [];
|
||||
this.restartTimeout = {};
|
||||
this.restartTimer = {};
|
||||
this.webRtcPeers = VideoService.getWebRtcPeers();
|
||||
this.webRtcPeers = {};
|
||||
this.outboundIceQueues = {};
|
||||
this.videoTags = {};
|
||||
|
||||
@ -148,9 +148,10 @@ class VideoProvider extends Component {
|
||||
|
||||
componentDidMount() {
|
||||
this._isMounted = true;
|
||||
VideoService.updatePeerDictionaryReference(this.webRtcPeers);
|
||||
|
||||
this.ws.onopen = this.onWsOpen;
|
||||
this.ws.onclose = this.onWsClose;
|
||||
|
||||
window.addEventListener('online', this.openWs);
|
||||
window.addEventListener('offline', this.onWsClose);
|
||||
|
||||
@ -172,6 +173,8 @@ class VideoProvider extends Component {
|
||||
}
|
||||
|
||||
componentWillUnmount() {
|
||||
VideoService.updatePeerDictionaryReference({});
|
||||
|
||||
this.ws.onmessage = null;
|
||||
this.ws.onopen = null;
|
||||
this.ws.onclose = null;
|
||||
@ -251,14 +254,23 @@ class VideoProvider extends Component {
|
||||
this.setState({ socketOpen: true });
|
||||
}
|
||||
|
||||
updateThreshold(numberOfPublishers) {
|
||||
findAllPrivilegedStreams () {
|
||||
const { streams } = this.props;
|
||||
// Privileged streams are: floor holders
|
||||
return streams.filter(stream => stream.floor || stream.pin);
|
||||
}
|
||||
|
||||
updateQualityThresholds(numberOfPublishers) {
|
||||
const { threshold, profile } = VideoService.getThreshold(numberOfPublishers);
|
||||
if (profile) {
|
||||
const publishers = Object.values(this.webRtcPeers)
|
||||
const privilegedStreams = this.findAllPrivilegedStreams();
|
||||
Object.values(this.webRtcPeers)
|
||||
.filter(peer => peer.isPublisher)
|
||||
.forEach((peer) => {
|
||||
// 0 means no threshold in place. Reapply original one if needed
|
||||
const profileToApply = (threshold === 0) ? peer.originalProfileId : profile;
|
||||
// 1) Threshold 0 means original profile/inactive constraint
|
||||
// 2) Privileged streams are: floor holders
|
||||
const exempt = threshold === 0 || privilegedStreams.some(vs => vs.stream === peer.stream)
|
||||
const profileToApply = exempt ? peer.originalProfileId : profile;
|
||||
VideoService.applyCameraProfile(peer, profileToApply);
|
||||
});
|
||||
}
|
||||
@ -302,7 +314,7 @@ class VideoProvider extends Component {
|
||||
this.disconnectStreams(streamsToDisconnect);
|
||||
|
||||
if (CAMERA_QUALITY_THRESHOLDS_ENABLED) {
|
||||
this.updateThreshold(this.props.totalNumberOfStreams);
|
||||
this.updateQualityThresholds(this.props.totalNumberOfStreams);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import Meetings from '/imports/api/meetings';
|
||||
import Users from '/imports/api/users';
|
||||
import VideoStreams from '/imports/api/video-streams';
|
||||
import UserListService from '/imports/ui/components/user-list/service';
|
||||
import { meetingIsBreakout } from '/imports/ui/components/app/service';
|
||||
import { makeCall } from '/imports/ui/services/api';
|
||||
import { notify } from '/imports/ui/services/notification';
|
||||
import deviceInfo from '/imports/utils/deviceInfo';
|
||||
@ -28,6 +29,7 @@ const SFU_URL = Meteor.settings.public.kurento.wsUrl;
|
||||
const ROLE_MODERATOR = Meteor.settings.public.user.role_moderator;
|
||||
const ROLE_VIEWER = Meteor.settings.public.user.role_viewer;
|
||||
const MIRROR_WEBCAM = Meteor.settings.public.app.mirrorOwnWebcam;
|
||||
const PIN_WEBCAM = Meteor.settings.public.kurento.enableVideoPin;
|
||||
const CAMERA_QUALITY_THRESHOLDS = Meteor.settings.public.kurento.cameraQualityThresholds.thresholds || [];
|
||||
const {
|
||||
paginationToggleEnabled: PAGINATION_TOGGLE_ENABLED,
|
||||
@ -78,7 +80,11 @@ class VideoService {
|
||||
}
|
||||
this.updateNumberOfDevices();
|
||||
}
|
||||
this.webRtcPeers = {};
|
||||
|
||||
// FIXME this is abhorrent. Remove when peer lifecycle is properly decoupled
|
||||
// from the React component's lifecycle. Any attempt at a half-baked
|
||||
// decoupling will most probably generate problems - prlanzarin Dec 16 2021
|
||||
this.webRtcPeersRef = {};
|
||||
}
|
||||
|
||||
defineProperties(obj) {
|
||||
@ -242,13 +248,15 @@ class VideoService {
|
||||
|
||||
// Page size refers only to the number of subscribers. Publishers are always
|
||||
// shown, hence not accounted for
|
||||
const nofPages = Math.ceil((numberOfSubscribers || numberOfPublishers) / pageSize);
|
||||
const nofPages = Math.ceil(numberOfSubscribers / pageSize);
|
||||
|
||||
if (nofPages !== this.numberOfPages) {
|
||||
this.numberOfPages = nofPages;
|
||||
// Check if we have to page back on the current video page index due to a
|
||||
// page ceasing to exist
|
||||
if ((this.currentVideoPageIndex + 1) > this.numberOfPages) {
|
||||
if (nofPages === 0) {
|
||||
this.currentVideoPageIndex = 0;
|
||||
} else if ((this.currentVideoPageIndex + 1) > this.numberOfPages) {
|
||||
this.getPreviousVideoPage();
|
||||
}
|
||||
}
|
||||
@ -364,11 +372,14 @@ class VideoService {
|
||||
|
||||
getVideoPage (streams, pageSize) {
|
||||
// Publishers are taken into account for the page size calculations. They
|
||||
// also appear on every page.
|
||||
const [mine, others] = _.partition(streams, (vs => { return Auth.userID === vs.userId; }));
|
||||
// also appear on every page. Same for pinned user.
|
||||
const [filtered, others] = _.partition(streams, (vs) => Auth.userID === vs.userId || vs.pin);
|
||||
|
||||
// Separate pin from local cameras
|
||||
const [pin, mine] = _.partition(filtered, (vs) => vs.pin);
|
||||
|
||||
// Recalculate total number of pages
|
||||
this.setNumberOfPages(mine.length, others.length, pageSize);
|
||||
this.setNumberOfPages(filtered.length, others.length, pageSize);
|
||||
const chunkIndex = this.currentVideoPageIndex * pageSize;
|
||||
|
||||
// This is an extra check because pagination is globally in effect (hard
|
||||
@ -379,10 +390,9 @@ class VideoService {
|
||||
.slice(chunkIndex, (chunkIndex + pageSize)) || [];
|
||||
|
||||
if (getSortingMethod(sortingMethod).localFirst) {
|
||||
return [...mine, ...paginatedStreams];
|
||||
return [...pin, ...mine, ...paginatedStreams];
|
||||
}
|
||||
|
||||
return [...paginatedStreams, ...mine];
|
||||
return [...pin, ...paginatedStreams, ...mine];
|
||||
}
|
||||
|
||||
getUsersIdFromVideoStreams() {
|
||||
@ -394,6 +404,16 @@ class VideoService {
|
||||
return usersId;
|
||||
}
|
||||
|
||||
getVideoPinByUser(userId) {
|
||||
const user = Users.findOne({ userId }, { fields: { pin: 1 } });
|
||||
|
||||
return user.pin;
|
||||
}
|
||||
|
||||
toggleVideoPin(userId, userIsPinned) {
|
||||
makeCall('changePin', userId, !userIsPinned);
|
||||
}
|
||||
|
||||
getVideoStreams() {
|
||||
const pageSize = this.getMyPageSize();
|
||||
const isPaginationDisabled = !this.isPaginationEnabled() || pageSize === 0;
|
||||
@ -571,6 +591,24 @@ class VideoService {
|
||||
return isOwnWebcam && isEnabledMirroring;
|
||||
}
|
||||
|
||||
isPinEnabled() {
|
||||
return PIN_WEBCAM;
|
||||
}
|
||||
|
||||
// In user-list it is necessary to check if the user is sharing his webcam
|
||||
isVideoPinEnabledForCurrentUser() {
|
||||
const currentUser = Users.findOne({ userId: Auth.userID },
|
||||
{ fields: { role: 1 } });
|
||||
|
||||
const isModerator = currentUser.role === 'MODERATOR';
|
||||
const isBreakout = meetingIsBreakout();
|
||||
const isPinEnabled = this.isPinEnabled();
|
||||
|
||||
return !!(isModerator
|
||||
&& isPinEnabled
|
||||
&& !isBreakout);
|
||||
}
|
||||
|
||||
getMyStreamId(deviceId) {
|
||||
const videoStream = VideoStreams.findOne(
|
||||
{
|
||||
@ -830,14 +868,6 @@ class VideoService {
|
||||
return VideoPreviewService.getStream(this.deviceId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for webRtcPeers hash, which stores a reference for all
|
||||
* RTCPeerConnection objects.
|
||||
*/
|
||||
getWebRtcPeers() {
|
||||
return this.webRtcPeers;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all active video peers.
|
||||
* @returns An Object containing the reference for all active peers peers
|
||||
@ -851,13 +881,11 @@ class VideoService {
|
||||
|
||||
if (!activeVideoStreams) return null;
|
||||
|
||||
const peers = this.getWebRtcPeers();
|
||||
|
||||
const activePeers = {};
|
||||
|
||||
activeVideoStreams.forEach((stream) => {
|
||||
if (peers[stream.stream]) {
|
||||
activePeers[stream.stream] = peers[stream.stream].peerConnection;
|
||||
if (this.webRtcPeersRef[stream.stream]) {
|
||||
activePeers[stream.stream] = this.webRtcPeersRef[stream.stream].peerConnection;
|
||||
}
|
||||
});
|
||||
|
||||
@ -902,6 +930,10 @@ class VideoService {
|
||||
|
||||
return stats;
|
||||
}
|
||||
|
||||
updatePeerDictionaryReference(newRef) {
|
||||
this.webRtcPeersRef = newRef;
|
||||
}
|
||||
}
|
||||
|
||||
const videoService = new VideoService();
|
||||
@ -944,7 +976,11 @@ export default {
|
||||
getPageChangeDebounceTime: () => { return PAGE_CHANGE_DEBOUNCE_TIME },
|
||||
getUsersIdFromVideoStreams: () => videoService.getUsersIdFromVideoStreams(),
|
||||
shouldRenderPaginationToggle: () => videoService.shouldRenderPaginationToggle(),
|
||||
toggleVideoPin: (userId, pin) => videoService.toggleVideoPin(userId, pin),
|
||||
getVideoPinByUser: (userId) => videoService.getVideoPinByUser(userId),
|
||||
isVideoPinEnabledForCurrentUser: () => videoService.isVideoPinEnabledForCurrentUser(),
|
||||
isPinEnabled: () => videoService.isPinEnabled(),
|
||||
getPreloadedStream: () => videoService.getPreloadedStream(),
|
||||
getWebRtcPeers: () => videoService.getWebRtcPeers(),
|
||||
getStats: () => videoService.getStats(),
|
||||
updatePeerDictionaryReference: (newRef) => videoService.updatePeerDictionaryReference(newRef),
|
||||
};
|
||||
|
@ -3,6 +3,18 @@ import Auth from '/imports/ui/services/auth';
|
||||
|
||||
const DEFAULT_SORTING_MODE = 'LOCAL_ALPHABETICAL';
|
||||
|
||||
// pin first
|
||||
export const sortPin = (s1, s2) => {
|
||||
if (s1.pin) {
|
||||
return -1;
|
||||
} if (s2.pin) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
};
|
||||
|
||||
export const mandatorySorting = (s1, s2) => sortPin(s1, s2);
|
||||
|
||||
// lastFloorTime, descending
|
||||
export const sortVoiceActivity = (s1, s2) => {
|
||||
if (s2.lastFloorTime < s1.lastFloorTime) {
|
||||
@ -12,7 +24,7 @@ export const sortVoiceActivity = (s1, s2) => {
|
||||
} else return 0;
|
||||
};
|
||||
|
||||
// lastFloorTime (descending) -> alphabetical -> local
|
||||
// pin -> lastFloorTime (descending) -> alphabetical -> local
|
||||
export const sortVoiceActivityLocal = (s1, s2) => {
|
||||
if (s1.userId === Auth.userID) {
|
||||
return 1;
|
||||
@ -20,23 +32,22 @@ export const sortVoiceActivityLocal = (s1, s2) => {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return sortVoiceActivity(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
}
|
||||
|
||||
// local -> lastFloorTime (descending) -> alphabetical
|
||||
export const sortLocalVoiceActivity = (s1, s2) => {
|
||||
return UserListService.sortUsersByCurrent(s1, s2)
|
||||
return mandatorySorting(s1, s2)
|
||||
|| sortVoiceActivity(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
}
|
||||
|
||||
// local -> alphabetic
|
||||
export const sortLocalAlphabetical = (s1, s2) => {
|
||||
return UserListService.sortUsersByCurrent(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
};
|
||||
|
||||
// pin -> local -> lastFloorTime (descending) -> alphabetical
|
||||
export const sortLocalVoiceActivity = (s1, s2) => mandatorySorting(s1, s2)
|
||||
|| UserListService.sortUsersByCurrent(s1, s2)
|
||||
|| sortVoiceActivity(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
|
||||
// pin -> local -> alphabetic
|
||||
export const sortLocalAlphabetical = (s1, s2) => mandatorySorting(s1, s2)
|
||||
|| UserListService.sortUsersByCurrent(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
|
||||
export const sortPresenter = (s1, s2) => {
|
||||
if (UserListService.isUserPresenter(s1.userId)) {
|
||||
return -1;
|
||||
@ -45,12 +56,11 @@ export const sortPresenter = (s1, s2) => {
|
||||
} else return 0;
|
||||
};
|
||||
|
||||
// local -> presenter -> alphabetical
|
||||
export const sortLocalPresenterAlphabetical = (s1, s2) => {
|
||||
return UserListService.sortUsersByCurrent(s1, s2)
|
||||
// pin -> local -> presenter -> alphabetical
|
||||
export const sortLocalPresenterAlphabetical = (s1, s2) => mandatorySorting(s1, s2)
|
||||
|| UserListService.sortUsersByCurrent(s1, s2)
|
||||
|| sortPresenter(s1, s2)
|
||||
|| UserListService.sortUsersByName(s1, s2);
|
||||
};
|
||||
|
||||
// SORTING_METHODS: registrar of configurable video stream sorting modes
|
||||
// Keys are the method name (String) which are to be configured in settings.yml
|
||||
@ -75,7 +85,9 @@ export const sortLocalPresenterAlphabetical = (s1, s2) => {
|
||||
// 1.1.: the sorting function has the same behaviour as a regular .sort callback
|
||||
// 2 - add an entry to SORTING_METHODS, the key being the name to be used
|
||||
// in settings.yml and the value object like the aforementioned
|
||||
const MANDATORY_DATA_TYPES = { userId: 1, stream: 1, name: 1, deviceId: 1, };
|
||||
const MANDATORY_DATA_TYPES = {
|
||||
userId: 1, stream: 1, name: 1, deviceId: 1, floor: 1, pin: 1,
|
||||
};
|
||||
const SORTING_METHODS = Object.freeze({
|
||||
// Default
|
||||
LOCAL_ALPHABETICAL: {
|
||||
@ -120,5 +132,7 @@ export const sortVideoStreams = (streams, mode) => {
|
||||
stream: videoStream.stream,
|
||||
userId: videoStream.userId,
|
||||
name: videoStream.name,
|
||||
floor: videoStream.floor,
|
||||
pin: videoStream.pin,
|
||||
}));
|
||||
};
|
||||
|
@ -23,24 +23,6 @@ const propTypes = {
|
||||
};
|
||||
|
||||
const intlMessages = defineMessages({
|
||||
focusLabel: {
|
||||
id: 'app.videoDock.webcamFocusLabel',
|
||||
},
|
||||
focusDesc: {
|
||||
id: 'app.videoDock.webcamFocusDesc',
|
||||
},
|
||||
unfocusLabel: {
|
||||
id: 'app.videoDock.webcamUnfocusLabel',
|
||||
},
|
||||
unfocusDesc: {
|
||||
id: 'app.videoDock.webcamUnfocusDesc',
|
||||
},
|
||||
mirrorLabel: {
|
||||
id: 'app.videoDock.webcamMirrorLabel',
|
||||
},
|
||||
mirrorDesc: {
|
||||
id: 'app.videoDock.webcamMirrorDesc',
|
||||
},
|
||||
autoplayBlockedDesc: {
|
||||
id: 'app.videoDock.autoplayBlockedDesc',
|
||||
},
|
||||
@ -77,8 +59,6 @@ const findOptimalGrid = (canvasWidth, canvasHeight, gutter, aspectRatio, numItem
|
||||
};
|
||||
|
||||
const ASPECT_RATIO = 4 / 3;
|
||||
const ACTION_NAME_FOCUS = 'focus';
|
||||
const ACTION_NAME_MIRROR = 'mirror';
|
||||
// const ACTION_NAME_BACKGROUND = 'blurBackground';
|
||||
|
||||
class VideoList extends Component {
|
||||
@ -93,7 +73,6 @@ class VideoList extends Component {
|
||||
filledArea: 0,
|
||||
},
|
||||
autoplayBlocked: false,
|
||||
mirroredCameras: [],
|
||||
};
|
||||
|
||||
this.ticking = false;
|
||||
@ -108,6 +87,7 @@ class VideoList extends Component {
|
||||
this.setOptimalGrid = this.setOptimalGrid.bind(this);
|
||||
this.handleAllowAutoplay = this.handleAllowAutoplay.bind(this);
|
||||
this.handlePlayElementFailed = this.handlePlayElementFailed.bind(this);
|
||||
this.handleVideoFocus = this.handleVideoFocus.bind(this);
|
||||
this.autoplayWasHandled = false;
|
||||
}
|
||||
|
||||
@ -249,24 +229,6 @@ class VideoList extends Component {
|
||||
});
|
||||
}
|
||||
|
||||
mirrorCamera(stream) {
|
||||
const { mirroredCameras } = this.state;
|
||||
if (this.cameraIsMirrored(stream)) {
|
||||
this.setState({
|
||||
mirroredCameras: mirroredCameras.filter((x) => x !== stream),
|
||||
});
|
||||
} else {
|
||||
this.setState({
|
||||
mirroredCameras: mirroredCameras.concat([stream]),
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
cameraIsMirrored(stream) {
|
||||
const { mirroredCameras } = this.state;
|
||||
return mirroredCameras.indexOf(stream) >= 0;
|
||||
}
|
||||
|
||||
displayPageButtons() {
|
||||
const { numberOfPages, cameraDock } = this.props;
|
||||
const { width: cameraDockWidth } = cameraDock;
|
||||
@ -350,7 +312,6 @@ class VideoList extends Component {
|
||||
|
||||
renderVideoList() {
|
||||
const {
|
||||
intl,
|
||||
streams,
|
||||
onVideoItemMount,
|
||||
onVideoItemUnmount,
|
||||
@ -361,24 +322,7 @@ class VideoList extends Component {
|
||||
|
||||
return streams.map((vs) => {
|
||||
const { stream, userId, name } = vs;
|
||||
const isFocused = focusedId === stream;
|
||||
const isFocusedIntlKey = !isFocused ? 'focus' : 'unfocus';
|
||||
const isMirrored = this.cameraIsMirrored(stream);
|
||||
const actions = [{
|
||||
actionName: ACTION_NAME_MIRROR,
|
||||
label: intl.formatMessage(intlMessages.mirrorLabel),
|
||||
description: intl.formatMessage(intlMessages.mirrorDesc),
|
||||
onClick: () => this.mirrorCamera(stream),
|
||||
}];
|
||||
|
||||
if (numOfStreams > 2) {
|
||||
actions.push({
|
||||
actionName: ACTION_NAME_FOCUS,
|
||||
label: intl.formatMessage(intlMessages[`${isFocusedIntlKey}Label`]),
|
||||
description: intl.formatMessage(intlMessages[`${isFocusedIntlKey}Desc`]),
|
||||
onClick: () => this.handleVideoFocus(stream),
|
||||
});
|
||||
}
|
||||
const isFocused = focusedId === stream && numOfStreams > 2;
|
||||
|
||||
return (
|
||||
<div
|
||||
@ -393,8 +337,8 @@ class VideoList extends Component {
|
||||
cameraId={stream}
|
||||
userId={userId}
|
||||
name={name}
|
||||
mirrored={isMirrored}
|
||||
actions={actions}
|
||||
focused={isFocused}
|
||||
onHandleVideoFocus={this.handleVideoFocus}
|
||||
onVideoItemMount={(videoRef) => {
|
||||
this.handleCanvasResize();
|
||||
onVideoItemMount(stream, videoRef);
|
||||
|
@ -305,4 +305,53 @@
|
||||
order: 1;
|
||||
flex-basis: 100%;
|
||||
height: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: auto;
|
||||
background-color: var(--color-transparent);
|
||||
cursor: pointer;
|
||||
border: 0;
|
||||
z-index: 2;
|
||||
margin: 2px;
|
||||
|
||||
[dir="rtl"] & {
|
||||
right: auto;
|
||||
left :0;
|
||||
}
|
||||
|
||||
[class*="presentationZoomControls"] & {
|
||||
position: relative !important;
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 5px;
|
||||
&,
|
||||
&:active,
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: var(--color-transparent) !important;
|
||||
border: none !important;
|
||||
|
||||
i {
|
||||
border: none !important;
|
||||
color: var(--color-white);
|
||||
font-size: 1rem;
|
||||
background-color: var(--color-transparent) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dark {
|
||||
background-color: rgba(0,0,0,.3);
|
||||
}
|
||||
|
||||
.pinIcon {
|
||||
position: absolute;
|
||||
left: 2px;
|
||||
font-size: 2rem;
|
||||
top: 2px;
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
import React, { Component } from 'react';
|
||||
import { defineMessages, injectIntl } from 'react-intl';
|
||||
import browserInfo from '/imports/utils/browserInfo';
|
||||
import { Meteor } from 'meteor/meteor';
|
||||
import PropTypes from 'prop-types';
|
||||
import cx from 'classnames';
|
||||
import BBBMenu from '/imports/ui/components/menu/component';
|
||||
import Icon from '/imports/ui/components/icon/component';
|
||||
import Button from '/imports/ui/components/button/component';
|
||||
import FullscreenService from '/imports/ui/components/fullscreen-button/service';
|
||||
import FullscreenButtonContainer from '/imports/ui/components/fullscreen-button/container';
|
||||
import { styles } from '../styles';
|
||||
@ -20,6 +22,42 @@ const ALLOW_FULLSCREEN = Meteor.settings.public.app.allowFullscreen;
|
||||
const { isSafari } = browserInfo;
|
||||
const FULLSCREEN_CHANGE_EVENT = isSafari ? 'webkitfullscreenchange' : 'fullscreenchange';
|
||||
|
||||
const intlMessages = defineMessages({
|
||||
focusLabel: {
|
||||
id: 'app.videoDock.webcamFocusLabel',
|
||||
},
|
||||
focusDesc: {
|
||||
id: 'app.videoDock.webcamFocusDesc',
|
||||
},
|
||||
unfocusLabel: {
|
||||
id: 'app.videoDock.webcamUnfocusLabel',
|
||||
},
|
||||
unfocusDesc: {
|
||||
id: 'app.videoDock.webcamUnfocusDesc',
|
||||
},
|
||||
pinLabel: {
|
||||
id: 'app.videoDock.webcamPinLabel',
|
||||
},
|
||||
pinDesc: {
|
||||
id: 'app.videoDock.webcamPinDesc',
|
||||
},
|
||||
unpinLabel: {
|
||||
id: 'app.videoDock.webcamUnpinLabel',
|
||||
},
|
||||
unpinLabelDisabled: {
|
||||
id: 'app.videoDock.webcamUnpinLabelDisabled',
|
||||
},
|
||||
unpinDesc: {
|
||||
id: 'app.videoDock.webcamUnpinDesc',
|
||||
},
|
||||
mirrorLabel: {
|
||||
id: 'app.videoDock.webcamMirrorLabel',
|
||||
},
|
||||
mirrorDesc: {
|
||||
id: 'app.videoDock.webcamMirrorDesc',
|
||||
},
|
||||
});
|
||||
|
||||
class VideoListItem extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
@ -29,6 +67,7 @@ class VideoListItem extends Component {
|
||||
videoIsReady: false,
|
||||
isFullscreen: false,
|
||||
isStreamHealthy: false,
|
||||
isMirrored: false,
|
||||
};
|
||||
|
||||
this.mirrorOwnWebcam = VideoService.mirrorOwnWebcam(props.userId);
|
||||
@ -127,31 +166,51 @@ class VideoListItem extends Component {
|
||||
|
||||
getAvailableActions() {
|
||||
const {
|
||||
actions,
|
||||
intl,
|
||||
cameraId,
|
||||
name,
|
||||
numOfStreams,
|
||||
onHandleVideoFocus,
|
||||
user,
|
||||
focused,
|
||||
} = this.props;
|
||||
const MAX_WIDTH = 640;
|
||||
const fullWidthMenu = window.innerWidth < MAX_WIDTH;
|
||||
const menuItems = [];
|
||||
if (fullWidthMenu) menuItems.push({
|
||||
key: `${cameraId}-${name}`,
|
||||
label: name,
|
||||
onClick: () => {},
|
||||
disabled: true,
|
||||
})
|
||||
actions?.map((a, i) => {
|
||||
let topDivider = false;
|
||||
if (i === 0 && fullWidthMenu) topDivider = true;
|
||||
menuItems.push({
|
||||
key: `${cameraId}-${a?.actionName}`,
|
||||
label: a?.label,
|
||||
description: a?.description,
|
||||
onClick: a?.onClick,
|
||||
dividerTop: topDivider,
|
||||
});
|
||||
});
|
||||
return menuItems
|
||||
|
||||
const pinned = user?.pin;
|
||||
const userId = user?.userId;
|
||||
|
||||
const isPinnedIntlKey = !pinned ? 'pin' : 'unpin';
|
||||
const isFocusedIntlKey = !focused ? 'focus' : 'unfocus';
|
||||
|
||||
const menuItems = [{
|
||||
key: `${cameraId}-mirror`,
|
||||
label: intl.formatMessage(intlMessages.mirrorLabel),
|
||||
description: intl.formatMessage(intlMessages.mirrorDesc),
|
||||
onClick: () => this.mirrorCamera(cameraId),
|
||||
}];
|
||||
|
||||
if (numOfStreams > 2) {
|
||||
menuItems.push({
|
||||
key: `${cameraId}-focus`,
|
||||
label: intl.formatMessage(intlMessages[`${isFocusedIntlKey}Label`]),
|
||||
description: intl.formatMessage(intlMessages[`${isFocusedIntlKey}Desc`]),
|
||||
onClick: () => onHandleVideoFocus(cameraId),
|
||||
});
|
||||
}
|
||||
|
||||
if (VideoService.isVideoPinEnabledForCurrentUser()) {
|
||||
menuItems.push({
|
||||
key: `${cameraId}-pin`,
|
||||
label: intl.formatMessage(intlMessages[`${isPinnedIntlKey}Label`]),
|
||||
description: intl.formatMessage(intlMessages[`${isPinnedIntlKey}Desc`]),
|
||||
onClick: () => VideoService.toggleVideoPin(userId, pinned),
|
||||
});
|
||||
}
|
||||
|
||||
return menuItems;
|
||||
}
|
||||
|
||||
mirrorCamera() {
|
||||
const { isMirrored } = this.state;
|
||||
this.setState({ isMirrored: !isMirrored });
|
||||
}
|
||||
|
||||
renderFullscreenButton() {
|
||||
@ -173,16 +232,50 @@ class VideoListItem extends Component {
|
||||
);
|
||||
}
|
||||
|
||||
renderPinButton() {
|
||||
const { user, intl } = this.props;
|
||||
const pinned = user?.pin;
|
||||
const userId = user?.userId;
|
||||
const shouldRenderPinButton = pinned && userId;
|
||||
const videoPinActionAvailable = VideoService.isVideoPinEnabledForCurrentUser();
|
||||
|
||||
if (!shouldRenderPinButton) return null;
|
||||
|
||||
const wrapperClassName = cx({
|
||||
[styles.wrapper]: true,
|
||||
[styles.dark]: true,
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={wrapperClassName}>
|
||||
<Button
|
||||
color="default"
|
||||
icon={!pinned ? 'pin-video_on' : 'pin-video_off'}
|
||||
size="sm"
|
||||
onClick={() => VideoService.toggleVideoPin(userId, true)}
|
||||
label={videoPinActionAvailable
|
||||
? intl.formatMessage(intlMessages.unpinLabel)
|
||||
: intl.formatMessage(intlMessages.unpinLabelDisabled)}
|
||||
hideLabel
|
||||
disabled={!videoPinActionAvailable}
|
||||
className={styles.button}
|
||||
data-test="pinVideoButton"
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
videoIsReady,
|
||||
isStreamHealthy,
|
||||
isMirrored,
|
||||
} = this.state;
|
||||
const {
|
||||
name,
|
||||
user,
|
||||
voiceUser,
|
||||
numOfStreams,
|
||||
mirrored,
|
||||
isFullscreenContext,
|
||||
} = this.props;
|
||||
const availableActions = this.getAvailableActions();
|
||||
@ -190,13 +283,17 @@ class VideoListItem extends Component {
|
||||
const shouldRenderReconnect = !isStreamHealthy && videoIsReady;
|
||||
|
||||
const { isFirefox } = browserInfo;
|
||||
const talking = voiceUser?.talking;
|
||||
const listenOnly = voiceUser?.listenOnly;
|
||||
const muted = voiceUser?.muted;
|
||||
const voiceUserJoined = voiceUser?.joined;
|
||||
|
||||
return (
|
||||
<div
|
||||
data-test={voiceUser?.talking ? 'webcamItemTalkingUser' : 'webcamItem'}
|
||||
data-test={talking ? 'webcamItemTalkingUser' : 'webcamItem'}
|
||||
className={cx({
|
||||
[styles.content]: true,
|
||||
[styles.talking]: voiceUser?.talking,
|
||||
[styles.talking]: talking,
|
||||
[styles.fullscreen]: isFullscreenContext,
|
||||
})}
|
||||
>
|
||||
@ -208,7 +305,7 @@ class VideoListItem extends Component {
|
||||
className={cx({
|
||||
[styles.connecting]: true,
|
||||
[styles.content]: true,
|
||||
[styles.talking]: voiceUser?.talking,
|
||||
[styles.talking]: talking,
|
||||
})}
|
||||
>
|
||||
<span className={styles.loadingText}>{name}</span>
|
||||
@ -231,8 +328,7 @@ class VideoListItem extends Component {
|
||||
data-test={this.mirrorOwnWebcam ? 'mirroredVideoContainer' : 'videoContainer'}
|
||||
className={cx({
|
||||
[styles.media]: true,
|
||||
[styles.mirroredVideo]: (this.mirrorOwnWebcam && !mirrored)
|
||||
|| (!this.mirrorOwnWebcam && mirrored),
|
||||
[styles.mirroredVideo]: isMirrored,
|
||||
[styles.unhealthyStream]: shouldRenderReconnect,
|
||||
})}
|
||||
ref={(ref) => { this.videoTag = ref; }}
|
||||
@ -240,6 +336,7 @@ class VideoListItem extends Component {
|
||||
playsInline
|
||||
/>
|
||||
{videoIsReady && this.renderFullscreenButton()}
|
||||
{videoIsReady && this.renderPinButton()}
|
||||
</div>
|
||||
{videoIsReady
|
||||
&& (
|
||||
@ -259,7 +356,7 @@ class VideoListItem extends Component {
|
||||
anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
|
||||
transformorigin: { vertical: 'bottom', horizontal: 'left' },
|
||||
}}
|
||||
/>
|
||||
/>
|
||||
)
|
||||
: (
|
||||
<div className={isFirefox ? styles.dropdownFireFox
|
||||
@ -274,9 +371,9 @@ class VideoListItem extends Component {
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
{voiceUser?.muted && !voiceUser?.listenOnly ? <Icon className={styles.muted} iconName="unmute_filled" /> : null}
|
||||
{voiceUser?.listenOnly ? <Icon className={styles.voice} iconName="listen" /> : null}
|
||||
{voiceUser?.joined && !voiceUser?.muted ? <Icon className={styles.voice} iconName="unmute" /> : null}
|
||||
{muted && !listenOnly ? <Icon className={styles.muted} iconName="unmute_filled" /> : null}
|
||||
{listenOnly ? <Icon className={styles.voice} iconName="listen" /> : null}
|
||||
{voiceUserJoined && !muted ? <Icon className={styles.voice} iconName="unmute" /> : null}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@ -284,15 +381,29 @@ class VideoListItem extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default VideoListItem;
|
||||
export default injectIntl(VideoListItem);
|
||||
|
||||
VideoListItem.defaultProps = {
|
||||
numOfStreams: 0,
|
||||
user: null,
|
||||
};
|
||||
|
||||
VideoListItem.propTypes = {
|
||||
actions: PropTypes.arrayOf(PropTypes.object).isRequired,
|
||||
cameraId: PropTypes.string.isRequired,
|
||||
name: PropTypes.string.isRequired,
|
||||
numOfStreams: PropTypes.number,
|
||||
intl: PropTypes.shape({
|
||||
formatMessage: PropTypes.func.isRequired,
|
||||
}).isRequired,
|
||||
onHandleVideoFocus: PropTypes.func.isRequired,
|
||||
user: PropTypes.shape({
|
||||
pin: PropTypes.bool.isRequired,
|
||||
userId: PropTypes.string.isRequired,
|
||||
}).isRequired,
|
||||
voiceUser: PropTypes.shape({
|
||||
muted: PropTypes.bool.isRequired,
|
||||
listenOnly: PropTypes.bool.isRequired,
|
||||
talking: PropTypes.bool.isRequired,
|
||||
}).isRequired,
|
||||
focused: PropTypes.bool.isRequired,
|
||||
};
|
||||
|
@ -2,6 +2,7 @@ import React, { useContext } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { withTracker } from 'meteor/react-meteor-data';
|
||||
import VoiceUsers from '/imports/api/voice-users/';
|
||||
import Users from '/imports/api/users/';
|
||||
import VideoListItem from './component';
|
||||
import LayoutContext from '/imports/ui/components/layout/context';
|
||||
|
||||
@ -32,6 +33,8 @@ export default withTracker((props) => {
|
||||
return {
|
||||
voiceUser: VoiceUsers.findOne({ intId: userId },
|
||||
{ fields: { muted: 1, listenOnly: 1, talking: 1 } }),
|
||||
user: Users.findOne({ intId: userId },
|
||||
{ fields: { pin: 1, userId: 1 } }),
|
||||
};
|
||||
})(VideoListItemContainer);
|
||||
|
||||
|
@ -18,6 +18,52 @@ import {
|
||||
|
||||
const blurValue = '25px';
|
||||
|
||||
function drawImageProp(ctx, img, x, y, w, h, offsetX, offsetY) {
|
||||
if (arguments.length === 2) {
|
||||
x = y = 0;
|
||||
w = ctx.canvas.width;
|
||||
h = ctx.canvas.height;
|
||||
}
|
||||
|
||||
// Default offset is center
|
||||
offsetX = typeof offsetX === 'number' ? offsetX : 0.5;
|
||||
offsetY = typeof offsetY === 'number' ? offsetY : 0.5;
|
||||
|
||||
// Keep bounds [0.0, 1.0]
|
||||
if (offsetX < 0) offsetX = 0;
|
||||
if (offsetY < 0) offsetY = 0;
|
||||
if (offsetX > 1) offsetX = 1;
|
||||
if (offsetY > 1) offsetY = 1;
|
||||
|
||||
const iw = img.width,
|
||||
ih = img.height,
|
||||
r = Math.min(w / iw, h / ih);
|
||||
|
||||
let nw = iw * r,
|
||||
nh = ih * r,
|
||||
cx, cy, cw, ch, ar = 1;
|
||||
|
||||
// Decide which gap to fill
|
||||
if (nw < w) ar = w / nw;
|
||||
if (Math.abs(ar - 1) < 1e-14 && nh < h) ar = h / nh;
|
||||
nw *= ar;
|
||||
nh *= ar;
|
||||
|
||||
// Calc source rectangle
|
||||
cw = iw / (nw / w);
|
||||
ch = ih / (nh / h);
|
||||
cx = (iw - cw) * offsetX;
|
||||
cy = (ih - ch) * offsetY;
|
||||
|
||||
// Make sure source rectangle is valid
|
||||
if (cx < 0) cx = 0;
|
||||
if (cy < 0) cy = 0;
|
||||
if (cw > iw) cw = iw;
|
||||
if (ch > ih) ch = ih;
|
||||
|
||||
ctx.drawImage(img, cx, cy, cw, ch, x, y, w, h);
|
||||
}
|
||||
|
||||
class VirtualBackgroundService {
|
||||
|
||||
_model;
|
||||
@ -104,12 +150,15 @@ class VirtualBackgroundService {
|
||||
|
||||
this._outputCanvasCtx.globalCompositeOperation = 'destination-over';
|
||||
if (this._options.virtualBackground.isVirtualBackground) {
|
||||
this._outputCanvasCtx.drawImage(
|
||||
drawImageProp(
|
||||
this._outputCanvasCtx,
|
||||
this._virtualImage,
|
||||
0,
|
||||
0,
|
||||
this._inputVideoElement.width,
|
||||
this._inputVideoElement.height
|
||||
this._inputVideoElement.height,
|
||||
0.5,
|
||||
0.5,
|
||||
);
|
||||
} else {
|
||||
this._outputCanvasCtx.filter = `blur(${blurValue})`;
|
||||
|
@ -332,6 +332,7 @@ public:
|
||||
enableScreensharing: true
|
||||
enableVideo: true
|
||||
enableVideoMenu: true
|
||||
enableVideoPin: false
|
||||
enableListenOnly: true
|
||||
# Experimental. Server wide configuration to choose which bbb-webrtc-sfu
|
||||
# media server adapter should be used for listen only.
|
||||
|
Binary file not shown.
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "إلغاء كتم صوت المستخدم",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "امنح الوصول إلى السبورة",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "إزالة الوصول إلى السبورة",
|
||||
"app.userList.menu.ejectUserCameras.label": "أغلق الكاميرات",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} حالات {3}",
|
||||
"app.userList.menu.promoteUser.label": "الترقية إلى مشرف",
|
||||
"app.userList.menu.demoteUser.label": "تخفيض الى المشاهد",
|
||||
@ -587,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "خطأ: مزيد من التفاصيل في وحدة التحكم.",
|
||||
"app.guest.noModeratorResponse": "لا يوجد رد من المشرف.",
|
||||
"app.guest.noSessionToken": "لم يتم استلام رمز جلسة.",
|
||||
"app.guest.windowTitle": "ردهة الضيوف",
|
||||
"app.guest.windowTitle": "BigBlueButton - ردهة الضيوف",
|
||||
"app.guest.missingToken": "الضيف يفتقد رمز الجلسة.",
|
||||
"app.guest.missingSession": "الضيف فقد الجلسة.",
|
||||
"app.guest.missingMeeting": "الاجتماع غير موجود.",
|
||||
@ -718,6 +719,7 @@
|
||||
"app.video.joinVideo": "مشاركة كاميرا",
|
||||
"app.video.connecting": "جارٍ بدء مشاركة كاميرا الويب ...",
|
||||
"app.video.leaveVideo": "إلغاء مشاركة الكاميرا",
|
||||
"app.video.advancedVideo": "افتح الإعدادات المتقدمة",
|
||||
"app.video.iceCandidateError": "خطأ في إضافة مرشح ICE",
|
||||
"app.video.iceConnectionStateError": "فشل الاتصال (خطأ ICE 1107)",
|
||||
"app.video.permissionError": "خطأ في مشاركة الكاميرا . يرجى التحقق من الأذونات",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "لا يمكن مشاركة كاميرا الويب بسبب مشاكل الاتصال",
|
||||
"app.video.virtualBackground.none": "لا أحد",
|
||||
"app.video.virtualBackground.blur": "خلفية ضبابية",
|
||||
"app.video.virtualBackground.home": "الرئيسية",
|
||||
"app.video.virtualBackground.board": "اللوح",
|
||||
"app.video.virtualBackground.coffeeshop": "مقهى",
|
||||
"app.video.virtualBackground.background": "خلفية",
|
||||
"app.video.virtualBackground.genericError": "فشل في تطبيق تأثير الكاميرا. حاول مجددا.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "تعيين الخلفية الافتراضية لكاميرا الويب على {0}",
|
||||
"app.video.dropZoneLabel": "أفلت هنا",
|
||||
@ -917,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "مساحة الفيديو",
|
||||
"app.learningDashboard.dashboardTitle": "لوحة التعلم",
|
||||
"app.learningDashboard.user": "مستخدم",
|
||||
"app.learningDashboard.shareButton": "شارك مع الآخرين",
|
||||
"app.learningDashboard.shareLinkCopied": "تم نسخ الرابط بنجاح!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "انتهت",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "فعًال",
|
||||
"app.learningDashboard.indicators.usersOnline": "المستخدمين النشطين",
|
||||
|
@ -7,7 +7,7 @@
|
||||
"app.chat.inputLabel": "Çata daxil edilmiş mesaj {0}",
|
||||
"app.chat.inputPlaceholder": "{0} mesaj göndər",
|
||||
"app.chat.titlePublic": "Ortaq Çat",
|
||||
"app.chat.titlePrivate": "{0} Şəxşi Çat",
|
||||
"app.chat.titlePrivate": "{0} ilə şəxsi çat",
|
||||
"app.chat.partnerDisconnected": "{0} görüşü tərk etdi",
|
||||
"app.chat.closeChatLabel": "Bağla {0}",
|
||||
"app.chat.hideChatLabel": "Gizlət {0}",
|
||||
@ -18,7 +18,7 @@
|
||||
"app.chat.dropdown.save": "Saxla",
|
||||
"app.chat.label": "Çat",
|
||||
"app.chat.offline": "Oflayn",
|
||||
"app.chat.pollResult": "Anket nəticələri",
|
||||
"app.chat.pollResult": "Sorğu nəticələri",
|
||||
"app.chat.emptyLogLabel": "Çat jurnalı boşdur",
|
||||
"app.chat.clearPublicChatMessage": "Çat tarixçəsi moderator tərəfindən təmizləndi.",
|
||||
"app.chat.multi.typing": "Bir neçə istifadəçi yazır",
|
||||
@ -31,15 +31,15 @@
|
||||
"app.captions.menu.ariaStartDesc": "Mövzu redaktoru açılır və modallar bağlanır",
|
||||
"app.captions.menu.select": "Dil seçimi et",
|
||||
"app.captions.menu.ariaSelect": "Dillər",
|
||||
"app.captions.menu.subtitle": "Zəhmət olmasa sessiyanızda qapalı başlıqlar üçün bir dil və üslub seçin.",
|
||||
"app.captions.menu.title": "Başlığı bağla",
|
||||
"app.captions.menu.subtitle": "Zəhmət olmasa sessiyanızda alt yazılar üçün bir dil və üslub seçin.",
|
||||
"app.captions.menu.title": "Alt yazılar",
|
||||
"app.captions.menu.fontSize": "Ölçü",
|
||||
"app.captions.menu.fontColor": "Yazı rəngi",
|
||||
"app.captions.menu.fontFamily": "Şrift",
|
||||
"app.captions.menu.backgroundColor": "Fon rəngi",
|
||||
"app.captions.menu.previewLabel": "Özizləmə",
|
||||
"app.captions.menu.cancelLabel": "Ləğv et",
|
||||
"app.captions.pad.hide": "Bağlı başlıqları gizlət",
|
||||
"app.captions.pad.hide": "Alt yazını gizlət",
|
||||
"app.captions.pad.tip": "Alətlər paneli üçün Esc düyməsini sıxın",
|
||||
"app.captions.pad.ownership": "Öhdənə götür",
|
||||
"app.captions.pad.ownershipTooltip": "{0} başlıqlarının admini təyin edin.",
|
||||
@ -48,10 +48,12 @@
|
||||
"app.captions.pad.dictationStop": "Nitqin tanınmasını bitir",
|
||||
"app.captions.pad.dictationOnDesc": "Yazı səhvlərini yoxla",
|
||||
"app.captions.pad.dictationOffDesc": "Nitq tanınmasını söndür",
|
||||
"app.textInput.sendLabel": "Göndər",
|
||||
"app.note.title": "Qeydləri bölüş",
|
||||
"app.note.label": "Qeyd",
|
||||
"app.note.hideNoteLabel": "Qeydləri gözlət",
|
||||
"app.note.tipLabel": "Diqqəti redaktora yönləndirmək üçün ESC düyməsini sıxın.",
|
||||
"app.note.locked": "Kilidlənib",
|
||||
"app.user.activityCheck": "İstifadəçi fəaliyyətini yoxla",
|
||||
"app.user.activityCheck.label": "({0}) istifadəçilərin sessiyada olduğunu yoxlayın",
|
||||
"app.user.activityCheck.check": "Yoxla",
|
||||
@ -67,8 +69,13 @@
|
||||
"app.userList.byModerator": "by (Moderator)",
|
||||
"app.userList.label": "İstifadəçi siyahısı",
|
||||
"app.userList.toggleCompactView.label": "Kompakt modu aktivləşdir",
|
||||
"app.userList.moderator": "Moderator",
|
||||
"app.userList.mobile": "Mobil",
|
||||
"app.userList.guest": "Qonaq",
|
||||
"app.userList.sharingWebcam": "Veb kamera",
|
||||
"app.userList.menuTitleContext": "Mümkün variantlar",
|
||||
"app.userList.chatListItem.unreadSingular": "Bir yeni mesaj",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} yeni mesaj",
|
||||
"app.userList.menu.chat.label": "Xüsusi çatı başlat",
|
||||
"app.userList.menu.clearStatus.label": "Statusu təmizlə",
|
||||
"app.userList.menu.removeUser.label": "İstifadəçini sil",
|
||||
@ -76,11 +83,12 @@
|
||||
"app.userlist.menu.removeConfirmation.desc": "Bu istifadəçinin iclasa yenidən qoşulmasının qarşısını alın.",
|
||||
"app.userList.menu.muteUserAudio.label": "İstifadəçini susdur",
|
||||
"app.userList.menu.unmuteUserAudio.label": "İstifadəçini danışdır",
|
||||
"app.userList.menu.ejectUserCameras.label": "Kameraları bağla",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
|
||||
"app.userList.menu.promoteUser.label": "Moderatora yüksəldin",
|
||||
"app.userList.menu.demoteUser.label": "İzləyici et",
|
||||
"app.userList.menu.unlockUser.label": "Açıq {0}",
|
||||
"app.userList.menu.lockUser.label": "Kilidli {0}",
|
||||
"app.userList.menu.unlockUser.label": "Kilidi aç: {0}",
|
||||
"app.userList.menu.lockUser.label": "Kilidlə: {0}",
|
||||
"app.userList.menu.directoryLookup.label": "Qovluq axtarışı",
|
||||
"app.userList.menu.makePresenter.label": "Təqdimatçı et",
|
||||
"app.userList.userOptions.manageUsersLabel": "İstifadəçiləri düzəlt",
|
||||
@ -174,6 +182,7 @@
|
||||
"app.presentationUploder.currentBadge": "Mövcud",
|
||||
"app.presentationUploder.rejectedError": "Fayl yükləmək mümkün olmadı. Zəhmət olmasa yoxlayın.",
|
||||
"app.presentationUploder.upload.progress": "Yüklənir ({0}%)",
|
||||
"app.presentationUploder.upload.413": "Fayl çox böyükdür, {0} MB limitini aşır.",
|
||||
"app.presentationUploder.genericError": "Ups, bir şey səhv oldu ...",
|
||||
"app.presentationUploder.upload.408": "Nişan yükləmə vaxtı keçməsini tələb edin.",
|
||||
"app.presentationUploder.upload.404": "404: Yanlış yükləmə işarəsi",
|
||||
@ -187,6 +196,7 @@
|
||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Office sənədini yükləmək mümkün olmadı. Zəhmət olmasa bunun əvəzinə bir PDF yükləyin.",
|
||||
"app.presentationUploder.conversion.timeout": "Bağışlayın, konvertasiya həddindən çox vaxt apardı",
|
||||
"app.presentationUploder.conversion.pageCountFailed": "Səhifə sayını müəyyən etmək mümkün olmadı",
|
||||
"app.presentationUploder.conversion.unsupportedDocument": "Fayl dəstəklənmir",
|
||||
"app.presentationUploder.isDownloadableLabel": "Təqdimatın yüklənməsinə icazə verilmir - təqdimatın yüklənməsinə icazə vermək üçün vurun",
|
||||
"app.presentationUploder.isNotDownloadableLabel": "Təqdimatın endirilməsinə icazə verilir - təqdimatın yüklənməsinə icazə verməmək üçün vurun",
|
||||
"app.presentationUploder.removePresentationLabel": "Təqdimatı sil",
|
||||
@ -201,15 +211,17 @@
|
||||
"app.presentationUploder.itemPlural" : "bəndlər",
|
||||
"app.presentationUploder.clearErrors": "Səhvləri silin",
|
||||
"app.presentationUploder.clearErrorsDesc": "Uğursuz təqdimat yükləmələrini təmizləyir",
|
||||
"app.poll.pollPaneTitle": "Anket",
|
||||
"app.poll.quickPollTitle": "Tez Anket",
|
||||
"app.poll.hidePollDesc": "Anket menyu bölməsini gizlədir",
|
||||
"app.poll.quickPollInstruction": "Anketə başlamaq üçün aşağıda bir seçim seçin.",
|
||||
"app.presentationUploder.uploadViewTitle": "Təqdimat yüklə",
|
||||
"app.poll.pollPaneTitle": "Sorğu",
|
||||
"app.poll.quickPollTitle": "Cəld sorğu",
|
||||
"app.poll.hidePollDesc": "Sorğu bölməsini gizlədir",
|
||||
"app.poll.quickPollInstruction": "Sorğuya başlamaq üçün aşağıdan bir seçim seçin.",
|
||||
"app.poll.activePollInstruction": "Anketinizə canlı cavabları görmək üçün bu paneli açıq buraxın. Hazır olduğunuzda, nəticələri dərc etmək və anketi bitirmək üçün 'Anket nəticələrini dərc et' seçin.",
|
||||
"app.poll.cancelPollLabel": "İmtina",
|
||||
"app.poll.closeLabel": "Bağla",
|
||||
"app.poll.waitingLabel": "Cavab gözlənilir ({0}/{1})",
|
||||
"app.poll.ariaInputCount": "Xüsusi anket seçimi {0} / {1}",
|
||||
"app.poll.customPlaceholder": "Anket seçimi əlavə edin",
|
||||
"app.poll.ariaInputCount": "Xüsusi sorğu seçimi {0} / {1}",
|
||||
"app.poll.customPlaceholder": "Sorğu variantı əlavə et",
|
||||
"app.poll.noPresentationSelected": "Təqdimat seçilməyib! Zəhmət olmasa birini seçin.",
|
||||
"app.poll.clickHereToSelect": "Seçmək üçün buraya bas",
|
||||
"app.poll.t": "Doğru",
|
||||
@ -232,8 +244,9 @@
|
||||
"app.poll.answer.e": "E",
|
||||
"app.poll.liveResult.usersTitle": "İstifadəçilər",
|
||||
"app.poll.liveResult.responsesTitle": "Cavab",
|
||||
"app.polling.pollingTitle": "Anket variantları",
|
||||
"app.polling.pollAnswerLabel": "Anket cavabı {0}",
|
||||
"app.poll.emptyPollOpt": "Boş",
|
||||
"app.polling.pollingTitle": "Sorğu variantları",
|
||||
"app.polling.pollAnswerLabel": "Sorğu cavabı {0}",
|
||||
"app.polling.pollAnswerDesc": "{0} səs vermək üçün bu seçimi seç",
|
||||
"app.failedMessage": "Bağışlayın, serverə qoşulmaqda problem var.",
|
||||
"app.downloadPresentationButton.label": "Original təqdimatı yüklə",
|
||||
@ -321,25 +334,29 @@
|
||||
"app.settings.dataSavingTab.screenShare": "Desktop paylaşımı aktiv et",
|
||||
"app.settings.dataSavingTab.description": "Internet sərfiyyatına qənaet etmək üçün nəyin hal-hazırda göstərildiyini müəyyən et.",
|
||||
"app.settings.save-notification.label": "Tənzimləmələr yadda saxlanıldır",
|
||||
"app.statusNotifier.lowerHands": "Aşağı əllər",
|
||||
"app.statusNotifier.raisedHandsTitle": "Qaldırılmış Əllər",
|
||||
"app.statusNotifier.lowerHands": "Əlləri aşağı sal",
|
||||
"app.statusNotifier.raisedHandsTitle": "Qaldırılmış əllər",
|
||||
"app.statusNotifier.raisedHandDesc": "{0} əl qaldırdılar",
|
||||
"app.statusNotifier.raisedHandDescOneUser": "{0} əl qaldırdı",
|
||||
"app.statusNotifier.and": "və",
|
||||
"app.switch.onLabel": "Açıq",
|
||||
"app.switch.offLabel": "Bağlı",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "İstifadəçini səsini kəsmək üçün seç",
|
||||
"app.talkingIndicator.isTalking" : "{0} danışır",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ danışır",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ danışırdı",
|
||||
"app.talkingIndicator.wasTalking" : "{0} danışmağı dayandırdı",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Əməliyyatlar",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Sorğunu başla",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Sorğu başlat",
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ekranı paylaş",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Ekranı paylaşımı kilidlənib",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ekran paylaşımını dayandır",
|
||||
"app.actionsBar.actionsDropdown.presentationDesc": "Təqdimatı yüklə",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "Təqdimatı yüklə",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "Sorğu başlat",
|
||||
"app.actionsBar.actionsDropdown.desktopShareDesc": "Ekranı başqaları ilə paylaş",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Ekranı {0} ilə paylaşmağı dayandır ",
|
||||
"app.actionsBar.actionsDropdown.pollBtnLabel": "Sorğunu başla",
|
||||
"app.actionsBar.actionsDropdown.pollBtnDesc": "Sorğunu panelini dəyiş",
|
||||
"app.actionsBar.actionsDropdown.pollBtnLabel": "Sorğu başlat",
|
||||
"app.actionsBar.actionsDropdown.pollBtnDesc": "Sorğu panelini göstərir/gizlədir",
|
||||
"app.actionsBar.actionsDropdown.saveUserNames": "İstifadəçi adını yadda saxla",
|
||||
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Fasilə otağı yarat.",
|
||||
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "Mövcud sessiya üçün fasilələr yarat.",
|
||||
@ -351,6 +368,7 @@
|
||||
"app.actionsBar.emojiMenu.awayLabel": "Uzaqda",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "Statusu uzaqda olaraq dəyiş",
|
||||
"app.actionsBar.emojiMenu.raiseHandLabel": "Əl qaldırın",
|
||||
"app.actionsBar.emojiMenu.lowerHandLabel": "Əlini aşağı sal",
|
||||
"app.actionsBar.emojiMenu.raiseHandDesc": "Sual vermək üçün əlini qaldır",
|
||||
"app.actionsBar.emojiMenu.neutralLabel": "Qeyri-müəyyən",
|
||||
"app.actionsBar.emojiMenu.neutralDesc": "Statusu qeyri-müəyyənə dəyiş",
|
||||
@ -438,6 +456,10 @@
|
||||
"app.audio.enterSessionLabel": "Sessiyaya qoyul",
|
||||
"app.audio.playSoundLabel": "Səsi çal",
|
||||
"app.audio.backLabel": "Geriyə",
|
||||
"app.audio.loading": "Yüklənir",
|
||||
"app.audio.microphones": "Mikrofonlar",
|
||||
"app.audio.speakers": "Dinamiklər",
|
||||
"app.audio.noDeviceFound": "Heç bir qurğu tapılmadı",
|
||||
"app.audio.audioSettings.titleLabel": "Səs tənzimlələrini seç",
|
||||
"app.audio.audioSettings.descriptionLabel": "Zəhmət olmasa nəzərə alıb ki, brouzerdə modal yaranacaq, və mikrofonunuzu paylaşmağınızı tələb edəcək.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Microfon mənbəyi",
|
||||
@ -497,6 +519,8 @@
|
||||
"app.toast.setEmoji.label": "Emoji status {0} təyin olundu",
|
||||
"app.toast.meetingMuteOn.label": "Bütün istifadəçilərin səsi kəsildi",
|
||||
"app.toast.meetingMuteOff.label": "Görüş səs kəsilməsi deaktiv olunub",
|
||||
"app.toast.setEmoji.raiseHand": "Əlini qaldırımısan",
|
||||
"app.toast.setEmoji.lowerHand": "Əlini aşağı saldın",
|
||||
"app.notification.recordingStart": "Bu sessiyas hal-hazırda qeydiyyata alınır",
|
||||
"app.notification.recordingStop": "Bu sessiyas hal-hazırda qeydiyyata alınmır",
|
||||
"app.notification.recordingPaused": "Bu sessiyas daha qeydiyyata alınmır",
|
||||
@ -516,6 +540,7 @@
|
||||
"app.shortcut-help.hidePrivateChat": "Şəxsi çatı gizlət",
|
||||
"app.shortcut-help.closePrivateChat": "Şəxsi çatı bağla",
|
||||
"app.shortcut-help.openActions": "Əməliyyatlar menyusunu aç",
|
||||
"app.shortcut-help.raiseHand": "Əlini qaldır/endir",
|
||||
"app.shortcut-help.openDebugWindow": "Debaq pəncərəsini açın",
|
||||
"app.shortcut-help.openStatus": "Status menyusunu aç",
|
||||
"app.shortcut-help.togglePan": "Əl alətini aktivləşdir (Təqdimatçı)",
|
||||
@ -602,8 +627,8 @@
|
||||
"app.sfu.invalidSdp2202":"İştirakçı etibarsız bir media istəyi yaratdı (SDP xətası 2202)",
|
||||
"app.sfu.noAvailableCodec2203": "Server uyğun codec tapa bilmədi (xəta 2203)",
|
||||
"app.meeting.endNotification.ok.label": "OK",
|
||||
"app.whiteboard.annotations.poll": "Anket nəticələri dərc edildi",
|
||||
"app.whiteboard.annotations.pollResult": "Anket nəticələri",
|
||||
"app.whiteboard.annotations.poll": "Sorğu nəticələri dərc edildi",
|
||||
"app.whiteboard.annotations.pollResult": "Sorğu nəticələri",
|
||||
"app.whiteboard.toolbar.tools": "Alətlər",
|
||||
"app.whiteboard.toolbar.tools.hand": "Əl",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Qələm",
|
||||
@ -694,7 +719,9 @@
|
||||
"app.debugWindow.form.userAgentLabel": "İstifadəçi agenti",
|
||||
"app.debugWindow.form.button.copy": "Kopyala",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Avtomatik Düzenleme Düzenini aktivləşdirin",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(veb kameralar sahəsini sürükləsəniz və ya ölçüsünü dəyişsəniz, deaktiv ediləcək)"
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(veb kameralar sahəsini sürükləsəniz və ya ölçüsünü dəyişsəniz, deaktiv ediləcək)",
|
||||
"app.learningDashboard.indicators.raiseHand": "Əlini qaldır",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Əlləri qaldır"
|
||||
|
||||
}
|
||||
|
||||
|
@ -560,7 +560,6 @@
|
||||
"app.guest.errorSeeConsole": "ত্রুটি: কনসোলে আরও বিশদ।",
|
||||
"app.guest.noModeratorResponse": "মডারেটরের কাছ থেকে কোনও প্রতিক্রিয়া নেই।",
|
||||
"app.guest.noSessionToken": "কোনও সেশন টোকেন পায় নি।",
|
||||
"app.guest.windowTitle": "অতিথি লবি",
|
||||
"app.guest.missingToken": "অতিথি অনুপস্থিত সেশন টোকেন।",
|
||||
"app.guest.missingSession": "অতিথি অনুপস্থিত অধিবেশন।",
|
||||
"app.guest.missingMeeting": "বৈঠকের অস্তিত্ব নেই।",
|
||||
|
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "Stummschaltung aufheben",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Zugriff auf Whiteboard erlauben",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Zugriff auf Whiteboard aufheben",
|
||||
"app.userList.menu.ejectUserCameras.label": "Kameras schließen",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
|
||||
"app.userList.menu.promoteUser.label": "Zum Moderator ernennen",
|
||||
"app.userList.menu.demoteUser.label": "Zum Teilnehmer zurückstufen",
|
||||
@ -317,7 +318,7 @@
|
||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Konferenz verlassen",
|
||||
"app.navBar.settingsDropdown.exitFullscreenLabel": "Vollbilddarstellung beenden",
|
||||
"app.navBar.settingsDropdown.fullscreenDesc": "Einstellungsmenü als Vollbild darstellen",
|
||||
"app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen verändern",
|
||||
"app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen ändern",
|
||||
"app.navBar.settingsDropdown.aboutDesc": "Informationen über den Client anzeigen",
|
||||
"app.navBar.settingsDropdown.leaveSessionDesc": "Konferenz verlassen",
|
||||
"app.navBar.settingsDropdown.exitFullscreenDesc": "Vollbildmodus beenden",
|
||||
@ -536,7 +537,7 @@
|
||||
"app.audio.microphones": "Mikrofone",
|
||||
"app.audio.speakers": "Lautsprecher",
|
||||
"app.audio.noDeviceFound": "Kein Gerät gefunden",
|
||||
"app.audio.audioSettings.titleLabel": "Audioeinstellungen vornehmen",
|
||||
"app.audio.audioSettings.titleLabel": "Audioeinstellungen auswählen",
|
||||
"app.audio.audioSettings.descriptionLabel": "Ein Dialogfenster wird sich in Ihrem Browser öffnen, in dem Sie der Freigabe Ihres Mikrofons zustimmen müssen.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Mikrofoneingang",
|
||||
"app.audio.audioSettings.speakerSourceLabel": "Lautsprecherausgang",
|
||||
@ -587,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "Fehler: Weitere Details in der Konsole.",
|
||||
"app.guest.noModeratorResponse": "Keine Antwort vom Moderator.",
|
||||
"app.guest.noSessionToken": "Kein Session-Token erhalten.",
|
||||
"app.guest.windowTitle": "Wartebereich für Gäste",
|
||||
"app.guest.windowTitle": "BigBlueButton - Wartebereich für Gäste",
|
||||
"app.guest.missingToken": "Gast fehlt Session-Token.",
|
||||
"app.guest.missingSession": "Gast fehlt in der Konferenz.",
|
||||
"app.guest.missingMeeting": "Konferenz existiert nicht.",
|
||||
@ -718,6 +719,7 @@
|
||||
"app.video.joinVideo": "Webcam freigeben",
|
||||
"app.video.connecting": "Webcamfreigabe wird gestartet ...",
|
||||
"app.video.leaveVideo": "Webcamfreigabe beenden",
|
||||
"app.video.advancedVideo": "Erweiterte Einstellungen öffnen",
|
||||
"app.video.iceCandidateError": "Fehler beim Hinzufügen vom ice candidate",
|
||||
"app.video.iceConnectionStateError": "Verbindungsfehler (Fehler 1107)",
|
||||
"app.video.permissionError": "Fehler bei der Webcamfreigabe. Überprüfen Sie die Berechtigungen",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "Webcam kann aufgrund von Verbindungsproblemen nicht freigegeben werden",
|
||||
"app.video.virtualBackground.none": "Kein Hintergrund",
|
||||
"app.video.virtualBackground.blur": "Weichzeichnen",
|
||||
"app.video.virtualBackground.home": "Zuhause",
|
||||
"app.video.virtualBackground.board": "Tafel",
|
||||
"app.video.virtualBackground.coffeeshop": "Café",
|
||||
"app.video.virtualBackground.background": "Hintergrund",
|
||||
"app.video.virtualBackground.genericError": "Virtueller Hintergrund konnte nicht angewendet werden. Bitte erneut versuchen.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Setzt den virtuellen Hintergrund der Webcam auf {0}",
|
||||
"app.video.dropZoneLabel": "Hier loslassen",
|
||||
@ -917,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "Webcambereich",
|
||||
"app.learningDashboard.dashboardTitle": "Lern-Dashboard",
|
||||
"app.learningDashboard.user": "Teilnehmer",
|
||||
"app.learningDashboard.shareButton": "Mit anderen teilen",
|
||||
"app.learningDashboard.shareLinkCopied": "Link erfolgreich kopiert!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Beendet",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Aktiv",
|
||||
"app.learningDashboard.indicators.usersOnline": "Aktive Teilnehmer",
|
||||
|
@ -545,7 +545,6 @@
|
||||
"app.guest.errorSeeConsole": "އެރޮރ: އިތުރު މައުލޫމާތު ކޮންސޯލް ގައި",
|
||||
"app.guest.noModeratorResponse": "މޮޑަރޭޓަރ ފަރާތުން އެއްވެސް ޖަވާބެއް ނުލިބުން",
|
||||
"app.guest.noSessionToken": "އެއްވެސް ސެޝަން ޓޮކަންއެއް ލިބިފައި ނުވޭ",
|
||||
"app.guest.windowTitle": "ގެސްޓް ލޮބީ",
|
||||
"app.guest.missingToken": "ސެޝަން ޓޮކަން ގެސްޓް ކިބައިގައި ނެތް",
|
||||
"app.guest.missingSession": "ގެސްޓް ކިބައިގައި ސެޝަން ނެތް",
|
||||
"app.guest.missingMeeting": "ތިޔަ ބައްދަލުވުމެއް ނެތް",
|
||||
|
@ -51,6 +51,7 @@
|
||||
"app.captions.pad.dictationOffDesc": "Απενεργοποιεί την αναγνώριση ομιλίας",
|
||||
"app.captions.pad.speechRecognitionStop": "Η αναγνώριση ομιλίας τερματίστηκε λόγω ασυμβατότητας του προγράμματος περιήγησης ή κάποιου χρόνου σε σίγαση",
|
||||
"app.textInput.sendLabel": "Αποστολή",
|
||||
"app.title.defaultViewLabel": "Εμφάνιση προεπιλεγμένης παρουσίασης",
|
||||
"app.note.title": "Κοινόχρηστες σημειώσεις",
|
||||
"app.note.label": "Σημείωση",
|
||||
"app.note.hideNoteLabel": "Απόκρυψη σημείωσης",
|
||||
@ -183,6 +184,7 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Προσαρμογή κατά πλάτος",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Προσαρμογή στη σελίδα",
|
||||
"app.presentation.presentationToolbar.goToSlide": "Διαφάνεια {0}",
|
||||
"app.presentation.placeholder": "Αναμονή φόρτωσης παρουσίασης",
|
||||
"app.presentationUploder.title": "Παρουσίαση",
|
||||
"app.presentationUploder.message": "Ως παρουσιαστής έχετε τη δυνατότητα να ανεβάσετε οποιοδήποτε αρχείο Office ή PDF. Συνιστούμε το αρχείο PDF για καλύτερα αποτελέσματα. Βεβαιωθείτε ότι έχετε επιλέξει μια παρουσίαση χρησιμοποιώντας το πλαίσιο ελέγχου κύκλου στη δεξιά πλευρά.",
|
||||
"app.presentationUploder.uploadLabel": "Μεταφόρτωση",
|
||||
@ -229,13 +231,16 @@
|
||||
"app.presentationUploder.itemPlural" : "αντικείμενα",
|
||||
"app.presentationUploder.clearErrors": "Εκκαθάριση σφαλμάτων",
|
||||
"app.presentationUploder.clearErrorsDesc": "Εκκαθάριση αποτυχημένων μεταφορτώσεων παρουσίασης",
|
||||
"app.presentationUploder.uploadViewTitle": "Μεταφόρτωση παρουσίασης",
|
||||
"app.poll.pollPaneTitle": "Δημοσκόπηση",
|
||||
"app.poll.quickPollTitle": "Γρήγορη δημοσκόπηση",
|
||||
"app.poll.hidePollDesc": "Αποκρύπτει το μενού δημοσκόπησης",
|
||||
"app.poll.quickPollInstruction": "Πατήστε στην επιλογή παρακάτω για έναρξη της δημοσκόπησης.",
|
||||
"app.poll.activePollInstruction": "Αφήστε ανοικτό αυτό το παράθυρο για να βλέπετε άμεσα τις απαντήσεις στη δημοσκόπησης σας. Όταν είστε έτοιμοι, επιλέξτε το 'Δημοσίευση αποτελεσμάτων δημοσκόπησης' για ανακοίνωση των αποτελεσμάτων και τερματισμό της δημοσκόπησης.",
|
||||
"app.poll.dragDropPollInstruction": "Για τη συμπλήρωση των τιμών της έρευνας, σύρετε το αρχείο με τα στοιχεία της έρευνας στο παρακάτω πεδίο.",
|
||||
"app.poll.customPollTextArea": "Συμπλήρωση των τιμών έρευνας",
|
||||
"app.poll.customPollTextArea": "Συμπλήρωση των πεδίων έρευνας",
|
||||
"app.poll.publishLabel": "Δημοσίευση δημοσκόπησης",
|
||||
"app.poll.cancelPollLabel": "Ακύρωση",
|
||||
"app.poll.backLabel": "Ξεκινήστε μια δημοσκόπηση",
|
||||
"app.poll.closeLabel": "Κλείσιμο",
|
||||
"app.poll.waitingLabel": "Αναμονή απαντήσεων ({0}/{1})",
|
||||
@ -243,6 +248,8 @@
|
||||
"app.poll.customPlaceholder": "Προσθήκη επιλογής δημοσκόπησης",
|
||||
"app.poll.noPresentationSelected": "Δεν έχει επιλεγεί καμία παρουσίαση! Παρακαλούμε επιλέξτε μία.",
|
||||
"app.poll.clickHereToSelect": "Κλικ εδώ για επιλογή",
|
||||
"app.poll.question.label" : "Συντάξτε την ερώτησή σας...",
|
||||
"app.poll.optionalQuestion.label" : "Συντάξτε την ερώτησή σας (προαιρετικό)...",
|
||||
"app.poll.userResponse.label" : "Απάντηση χρήστη",
|
||||
"app.poll.responseTypes.label" : "Τύποι απάντησης",
|
||||
"app.poll.optionDelete.label" : "Διαγραφή",
|
||||
@ -277,6 +284,7 @@
|
||||
"app.poll.liveResult.usersTitle": "Χρήστες",
|
||||
"app.poll.liveResult.responsesTitle": "Απάντηση",
|
||||
"app.poll.liveResult.secretLabel": "Η δημοσκόπηση είναι ανώνυμη. Οι απαντήσεις των συμμετεχόντων δεν εμφανίζονται.",
|
||||
"app.poll.emptyPollOpt": "Κενό",
|
||||
"app.polling.pollingTitle": "Επιλογές δημοσκόπησης",
|
||||
"app.polling.pollQuestionTitle": "Ερώτηση δημοσκόπησης",
|
||||
"app.polling.submitLabel": "Υποβολή",
|
||||
@ -340,6 +348,8 @@
|
||||
"app.actionsBar.raiseLabel": "Σήκωμα χεριού",
|
||||
"app.actionsBar.label": "Γραμμή ενεργειών",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Επαναφορά παρουσίασης",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Κουμπί για επαναφορά της παρουσίασης μετά την ελαχιστοποίηση",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Ελαχιστοποίηση παρουσίασης",
|
||||
"app.screenshare.screenShareLabel" : "Διαμοιρασμός οθόνης",
|
||||
"app.submenu.application.applicationSectionTitle": "Εφαρμογή",
|
||||
"app.submenu.application.animationsLabel": "Γραφικά",
|
||||
@ -359,6 +369,7 @@
|
||||
"app.submenu.notification.pushAlertLabel": "Αναδυόμενες ειδοποιήσεις.",
|
||||
"app.submenu.notification.messagesLabel": "Μήνυμα συνομιλίας",
|
||||
"app.submenu.notification.userJoinLabel": "Είσοδος χρήστη",
|
||||
"app.submenu.notification.userLeaveLabel": "Αποχώρηση χρήστη",
|
||||
"app.submenu.notification.guestWaitingLabel": "Αναμονή επισκέπτη για έγκριση",
|
||||
"app.submenu.audio.micSourceLabel": "Πηγή μικροφώνου",
|
||||
"app.submenu.audio.speakerSourceLabel": "Πηγή ηχείων",
|
||||
@ -433,26 +444,26 @@
|
||||
"app.actionsBar.emojiMenu.applauseLabel": "Χειροκρότημα",
|
||||
"app.actionsBar.emojiMenu.applauseDesc": "Αλλάξτε την κατάστασή σας σε χειροκρότημα",
|
||||
"app.actionsBar.emojiMenu.thumbsUpLabel": "Μπράβο",
|
||||
"app.actionsBar.emojiMenu.thumbsUpDesc": "Αλλαγή της κατάστασης σε thumbs up",
|
||||
"app.actionsBar.emojiMenu.thumbsUpDesc": "Αλλάξτε την κατάστασης σας σηκώνοντας το χέρι",
|
||||
"app.actionsBar.emojiMenu.thumbsDownLabel": "Αποδοκιμασία",
|
||||
"app.actionsBar.emojiMenu.thumbsDownDesc": "Αλλαγή της κατάστασής σου σε thumbs down",
|
||||
"app.actionsBar.emojiMenu.thumbsDownDesc": "Αλλάξτε την κατάστασής σας κατεβάζοντας το χέρι",
|
||||
"app.actionsBar.currentStatusDesc": "τρέχουσα κατάσταση {0}",
|
||||
"app.actionsBar.captions.start": "Έναρξη προβολής ενδογλωσσικών υποτίτλων",
|
||||
"app.actionsBar.captions.stop": "Κλείσιμο προβολής ενδογλωσσικών υποτίτλων",
|
||||
"app.audioNotification.audioFailedError1001": "Αποσύνδεση WebSocket (σφάλμα 1001)",
|
||||
"app.audioNotification.audioFailedError1002": "Δεν είναι δυνατή σύνδεση WebSocket (σφάλμα 1002)",
|
||||
"app.audioNotification.audioFailedError1002": "Δεν είναι δυνατή η σύνδεση με WebSocket (σφάλμα 1002)",
|
||||
"app.audioNotification.audioFailedError1003": "Η έκδοση του περιηγητή δεν υποστηρίζεται (σφάλμα 1003)",
|
||||
"app.audioNotification.audioFailedError1004": "Αποτυχία σε κλήση (αιτία={0}) (σφάλμα 1004)",
|
||||
"app.audioNotification.audioFailedError1005": "Η κλήση τερματίστηκε απροσδόκητα (σφάλμα 1005)",
|
||||
"app.audioNotification.audioFailedError1006": "Timeout κλήσης (σφάλμα 1006)",
|
||||
"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.audioFailedError1010": "Λήξη χρονικού ορίου διαπραγμάτευσης σύνδεσης (ICE σφάλμα 1010).",
|
||||
"app.audioNotification.audioFailedError1011": "Λήξη χρονικού ορίου σύνδεσης (ICE σφάλμα 1011).",
|
||||
"app.audioNotification.audioFailedError1012": "Η σύνδεση τερματίστηκε (ICE σφάλμα 1012)",
|
||||
"app.audioNotification.audioFailedMessage": "Η σύνδεση του ήχου απέτυχε",
|
||||
"app.audioNotification.mediaFailedMessage": "Αποτυχία getUserMicMedia γιατί επιτρέπονται μόνο ασφαλείς πηγές",
|
||||
"app.audioNotification.mediaFailedMessage": "Το getUserMicMedia απέτυχε καθώς επιτρέπονται μόνο ασφαλείς προελεύσεις",
|
||||
"app.audioNotification.closeLabel": "Κλείσιμο",
|
||||
"app.audioNotificaion.reconnectingAsListenOnly": "Το μικρόφωνο είναι ανενεργό για τους θεατές, έχετε συνδεθεί μόνο για ακρόαση.",
|
||||
"app.breakoutJoinConfirmation.title": "Συμμετοχή σε υπο-δωμάτιο (breakout)",
|
||||
@ -467,9 +478,11 @@
|
||||
"app.audioModal.ariaTitle": "Συμμετοχή με τυπικό ήχο",
|
||||
"app.audioModal.microphoneLabel": "Μικρόφωνο",
|
||||
"app.audioModal.listenOnlyLabel": "Μόνο ακρόαση",
|
||||
"app.audioModal.microphoneDesc": "Συμμετοχή στην τηλεδιάσκεψη με μικρόφωνο",
|
||||
"app.audioModal.listenOnlyDesc": "Συμμετοχή στην τηλεδιάσκεψη μόνο με ακρόαση",
|
||||
"app.audioModal.audioChoiceLabel": "Πώς θέλετε να συνδέσετε τον ήχο σας;",
|
||||
"app.audioModal.iOSBrowser": "Δεν υποστηρίζεται το Βίντεο/Ήχος",
|
||||
"app.audioModal.iOSErrorDescription": "Αυτή την στιγμή ήχος και βίντεο δεν υποστηρίζονται στον Chrome για iOS.",
|
||||
"app.audioModal.iOSErrorDescription": "Αυτή την στιγμή ο ήχος και το βίντεο δεν υποστηρίζονται στον Chrome για iOS.",
|
||||
"app.audioModal.iOSErrorRecommendation": "Προτείνουμε την χρήση Safari iOS.",
|
||||
"app.audioModal.audioChoiceDesc": "Επιλέξτε πως θα συνδεθεί ο ήχος σε αυτή τη σύσκεψη.",
|
||||
"app.audioModal.unsupportedBrowserLabel": "Ο περιηγητής σας δεν υποστηρίζεται πλήρως. Παρακαλούμε χρησιμοποιήστε {0} ή {1} για πλήρη συμβατότητα.",
|
||||
@ -478,12 +491,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 ίσως να εμποδίζουν την πρόσβαση στο μικρόφωνό σας. Ανοίξτε το Ρυθμίσεις συστήματος > Απόρρητο & Ασφάλεια > Απόρρητο > Μικρόφωνο και επιβεβαιώστε ότι επιτρέπεται η χρήση από τον περιηγητή σας.",
|
||||
"app.audioModal.helpTitle": "Υπήρξε ένα σφάλμα με τις συσκευές πολυμέσων σας",
|
||||
"app.audioModal.helpText": "Έχετε παραχωρήσει δικαιώματα πρόσβασης στο μικρόφωνό σας; Ένα παράθυρο διαλόγου εμφανίζεται, όταν προσπαθείτε να συμμετέχετε με ήχο, ζητώντας την άδειά σας για χρήση του μικροφώνου σας. Παρακαλούμε αποδεχτείτε για να συμμετέχετε με ήχο στη συνεδρίαση. Σε διαφορετική περίπτωση, δοκιμάστε να αλλάξετε τα δικαιώματα του μικροφώνου σας από τις ρυθμίσεις του περιηγητή σας.",
|
||||
"app.audioModal.help.noSSL": "Η σελίδα δεν είναι ασφαλής. Για να επιτραπεί η πρόσβαση στο μικρόφωνο, θα πρέπει να έχετε πρόσβαση στη σελίδα μέσω HTTPS. Παρακαλούμε επικοινωνήστε με τον διαχειριστή του διακομιστή.",
|
||||
"app.audioModal.help.macNotAllowed": "Φαίνεται πως οι ρυθμίσεις συστήματος του Mac σας, εμποδίζουν την πρόσβαση στο μικρόφωνό σας. Ανοίξτε το Ρυθμίσεις συστήματος > Απόρρητο & Ασφάλεια > Απόρρητο > Μικρόφωνο και επιβεβαιώστε ότι επιτρέπεται η χρήση από τον περιηγητή σας.",
|
||||
"app.audioModal.audioDialTitle": "Συμμετοχή μέσω τηλεφώνου",
|
||||
"app.audioDial.audioDialDescription": "Κλήση",
|
||||
"app.audioDial.audioDialConfrenceText": "και πληκτρολογήστε τον κωδικό ΡΙΝ της σύσκεψης.",
|
||||
@ -491,15 +504,15 @@
|
||||
"app.audioModal.playAudio": "Αναπαραγωγή ήχου",
|
||||
"app.audioModal.playAudio.arialabel" : "Αναπαραγωγή ήχου",
|
||||
"app.audioDial.tipIndicator": "Συμβουλή",
|
||||
"app.audioDial.tipMessage": "Πατήστε το κουμπί 'Ο' στο τηλέφωνό σας για σίγαση/αποσίγαση του μικροφώνου σας.",
|
||||
"app.audioDial.tipMessage": "Πατήστε το κουμπί '0' στο τηλέφωνό σας για σίγαση/αποσίγαση του μικροφώνου σας.",
|
||||
"app.audioManager.joinedAudio": "Έχετε συνδεθεί σε φωνητική σύσκεψη.",
|
||||
"app.audioManager.joinedEcho": "Συνδεθήκατε με τον δοκιμαστικό ήχο.",
|
||||
"app.audioManager.joinedEcho": "Συνδεθήκατε με την δοκιμή ήχου.",
|
||||
"app.audioManager.leftAudio": "Έχετε αποσυνδεθεί από τη φωνητική σύσκεψη.",
|
||||
"app.audioManager.reconnectingAudio": "Προσπάθεια επανασύνδεσης ήχου",
|
||||
"app.audioManager.genericError": "Σφάλμα: Παρουσιάστηκε σφάλμα, παρακαλούμε δοκιμάστε ξανά.",
|
||||
"app.audioManager.connectionError": "Σφάλμα: Αδυναμία σύνδεσης",
|
||||
"app.audioManager.requestTimeout": "Σφάλμα: Παρουσιάστηκε timeout κατά το αίτημα.",
|
||||
"app.audioManager.invalidTarget": "Σφάλμα: Προσπάθησε να γίνει αίτημα προς άκυρο στόχο",
|
||||
"app.audioManager.requestTimeout": "Σφάλμα: Λήξη χρονικού ορίου κατά το αίτημα.",
|
||||
"app.audioManager.invalidTarget": "Σφάλμα: Προσπάθεια αιτήματος προς μη αποδεκτό στόχο",
|
||||
"app.audioManager.mediaError": "Σφάλμα: υπήρξε πρόβλημα κατά την πρόσβαση στις συσκευές πολυμέσων σας.",
|
||||
"app.audio.joinAudio": "Συμμετοχή με ήχο",
|
||||
"app.audio.leaveAudio": "Χωρίς ήχο",
|
||||
@ -510,9 +523,9 @@
|
||||
"app.audio.loading": "Φόρτωση",
|
||||
"app.audio.microphones": "Μικρόφωνα",
|
||||
"app.audio.speakers": "Ακουστικά",
|
||||
"app.audio.noDeviceFound": "Δεν βρέθηκε η συσκευή",
|
||||
"app.audio.noDeviceFound": "Δεν βρέθηκε συσκευή",
|
||||
"app.audio.audioSettings.titleLabel": "Επιλέξτε τις ρυθμίσεις του ήχου σας",
|
||||
"app.audio.audioSettings.descriptionLabel": "Παρακαλούμε έχετε υπ' όψιν, θα εμφανιστεί ένα παράθυρο διαλόγου στον περιηγητή σας, που θα ζητά πρόσβαση χρήσης του μικροφώνου σας.",
|
||||
"app.audio.audioSettings.descriptionLabel": "Παρακαλούμε έχετε υπόψη, την εμφάνιση ενός παραθύρου διαλόγου στον περιηγητή σας, που θα ζητά την κοινή χρήση του μικροφώνου σας.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Πηγή μικροφώνου",
|
||||
"app.audio.audioSettings.speakerSourceLabel": "Πηγή ηχείων",
|
||||
"app.audio.audioSettings.microphoneStreamLabel": "Η ένταση της ροής ήχου σας",
|
||||
@ -520,11 +533,11 @@
|
||||
"app.audio.listenOnly.backLabel": "Επιστροφή",
|
||||
"app.audio.listenOnly.closeLabel": "Κλείσιμο",
|
||||
"app.audio.permissionsOverlay.title": "Να επιτρέπεται η πρόσβαση στο μικρόφωνό σας",
|
||||
"app.audio.permissionsOverlay.hint": "Θα χρειαστεί να μας επιτρέψετε την πρόσβαση στα πολυμέσα σας, για τη συμμετοχή σας σε συνεδρία με ήχο :)",
|
||||
"app.audio.permissionsOverlay.hint": "Θα χρειαστεί να μας επιτρέψετε την πρόσβαση στις συσκευές πολυμέσων σας, για τη συμμετοχή σας σε συνεδρία με ήχο :)",
|
||||
"app.error.removed": "Έχετε αφαιρεθεί από τη σύσκεψη.",
|
||||
"app.error.meeting.ended": "Έχετε αποσυνδεθεί από τη σύσκεψη.",
|
||||
"app.meeting.logout.duplicateUserEjectReason": "Χρήστης με ίδιο όνομα προσπαθεί να συνδεθεί στη σύσκεψη.",
|
||||
"app.meeting.logout.permissionEjectReason": "Αποβολή λόγω παραβίασης δικαιωμάτων πρόσβασης.",
|
||||
"app.meeting.logout.permissionEjectReason": "Απορρίφθηκε λόγω παραβίασης δικαιωμάτων πρόσβασης.",
|
||||
"app.meeting.logout.ejectedFromMeeting": "Έχετε αφαιρεθεί από τη σύσκεψη",
|
||||
"app.meeting.logout.validateTokenFailedEjectReason": "Ο έλεγχος αυθεντικοποίησης του αναγνωριστικού απέτυχε.",
|
||||
"app.meeting.logout.userInactivityEjectReason": "Ο χρήστης είναι ανενεργός για πολύ μεγάλο διάστημα",
|
||||
@ -535,11 +548,11 @@
|
||||
"app.modal.confirm": "Ολοκληρώθηκε",
|
||||
"app.modal.newTab": "(ανοίγει νέα καρτέλα)",
|
||||
"app.modal.confirm.description": "Αποθήκευση αλλαγών και κλείσιμο του παραθύρου διαλόγου",
|
||||
"app.modal.randomUser.noViewers.description": "Δεν υπάρχουν θεατές για τυχαία επιλογή",
|
||||
"app.modal.randomUser.noViewers.description": "Δεν υπάρχουν θεατές διαθέσιμοι για τυχαία επιλογή",
|
||||
"app.modal.randomUser.selected.description": "Έχετε επιλεγεί τυχαία",
|
||||
"app.modal.randomUser.title": "Τυχαία επιλεγμένος χρήστης",
|
||||
"app.modal.randomUser.who": "Ποιος θα επιλεγεί..;",
|
||||
"app.modal.randomUser.alone": "Μόνο ένας θεατής",
|
||||
"app.modal.randomUser.alone": "Υπάρχει μόνο ένας θεατής",
|
||||
"app.modal.randomUser.reselect.label": "Επιλέξτε ξανά",
|
||||
"app.dropdown.close": "Κλείσιμο",
|
||||
"app.dropdown.list.item.activeLabel": "Ενεργό",
|
||||
@ -547,6 +560,7 @@
|
||||
"app.error.401": "Μη εξουσιοδοτημένο",
|
||||
"app.error.403": "Έχετε απομακρυνθεί από τη σύσκεψη",
|
||||
"app.error.404": "Δεν βρέθηκε",
|
||||
"app.error.408": "Η αυθεντικοποίηση απέτυχε",
|
||||
"app.error.410": "Η σύσκεψη έληξε",
|
||||
"app.error.500": "Ωχ, κάτι πήγε στραβά",
|
||||
"app.error.userLoggedOut": "Ο χρήστης έχει άκυρο αναγνωριστικό συνεδρίας λόγω αποσύνδεσης",
|
||||
@ -554,20 +568,20 @@
|
||||
"app.error.userBanned": "Ο χρήστης έχει αποκλειστεί",
|
||||
"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.errorSeeConsole": "Σφάλμα: δείτε περισσότερες πληροφορίες στην κονσόλα.",
|
||||
"app.guest.noModeratorResponse": "Καμία απάντηση από διαχειριστή.",
|
||||
"app.guest.noSessionToken": "Δεν έχει ληφθεί το αναγνωριστικό συνεδρίας.",
|
||||
"app.guest.windowTitle": "Αίθουσα αναμονής επισκεπτών",
|
||||
"app.guest.windowTitle": "BigBlueButton - Αίθουσα αναμονής",
|
||||
"app.guest.missingToken": "Το αναγνωριστικό συνεδρίας του επισκέπτη δεν υπάρχει.",
|
||||
"app.guest.missingSession": "Η συνεδρία του επισκέπτη δεν υπάρχει.",
|
||||
"app.guest.missingMeeting": "Η σύσκεψη δεν υπάρχει.",
|
||||
"app.guest.meetingEnded": "Η σύσκεψη ολοκληρώθηκε.",
|
||||
"app.guest.guestWait": "Παρακαλούμε περιμένετε έως ότου ένας διαχειριστής εγκρίνει την την είσοδο σας στη σύσκεψη.",
|
||||
"app.guest.guestWait": "Παρακαλούμε περιμένετε έως ότου ένας διαχειριστής εγκρίνει την είσοδο σας στη σύσκεψη.",
|
||||
"app.guest.guestDeny": "Δεν επιτρέπονται οι επισκέπτες στη σύσκεψη.",
|
||||
"app.guest.seatWait": "Περιμένει για μια θέση στη συνεδρία ένας επισκέπτης.",
|
||||
"app.guest.seatWait": "Ένας επισκέπτης σε αναμονή για μια θέση στη συνεδρία.",
|
||||
"app.userList.guest.waitingUsers": "Αναμονή χρηστών",
|
||||
"app.userList.guest.waitingUsersTitle": "Διαχείριση χρηστών",
|
||||
"app.userList.guest.optionTitle": "Ελέγξτε τους χρήστες σε αναμονή",
|
||||
@ -589,7 +603,7 @@
|
||||
"app.toast.chat.private": "Νέο μήνυμα ιδιωτικής συνομιλίας",
|
||||
"app.toast.chat.system": "Σύστημα",
|
||||
"app.toast.clearedEmoji.label": "Εκκαθάριση κατάστασης emoji",
|
||||
"app.toast.setEmoji.label": "Η κατάσταση του Emoji ορίστηκε σε {0}",
|
||||
"app.toast.setEmoji.label": "Η κατάσταση του Emoji ορίστηκε σε {0}",
|
||||
"app.toast.meetingMuteOn.label": "Όλοι οι χρήστες είναι σε σίγαση",
|
||||
"app.toast.meetingMuteOff.label": "Η σίγαση της σύσκεψης απενεργοποιήθηκε.",
|
||||
"app.toast.setEmoji.raiseHand": "Έχετε σηκώσει το χέρι σας",
|
||||
@ -642,19 +656,26 @@
|
||||
"app.guest-policy.button.askModerator": "Ρωτήστε τον συντονιστή",
|
||||
"app.guest-policy.button.alwaysAccept": "Πάντα αποδοχή",
|
||||
"app.guest-policy.button.alwaysDeny": "Πάντα απόρριψη",
|
||||
"app.guest-policy.policyBtnDesc": "Ορισμός πολιτικής συνεδρίας για επισκέπτες",
|
||||
"app.connection-status.ariaTitle": "Τυπική κατάσταση σύνδεσης",
|
||||
"app.connection-status.title": "Κατάσταση σύνδεσης",
|
||||
"app.connection-status.description": "Προβολή κατάστασης σύνδεσης των χρηστών",
|
||||
"app.connection-status.empty": "Δεν έχουν αναφερθεί προβλήματα σύνδεσης",
|
||||
"app.connection-status.more": "περισσότερα",
|
||||
"app.connection-status.copy": "Αντιγραφή δεδομένων δικτύου",
|
||||
"app.connection-status.copied": "Αντιγράφηκε!",
|
||||
"app.connection-status.jitter": "Διακύμανση",
|
||||
"app.connection-status.label": "Κατάσταση σύνδεσης",
|
||||
"app.connection-status.no": "Όχι",
|
||||
"app.connection-status.notification": "Εντοπίστηκε δυσλειτουργία στη σύνδεσή σας",
|
||||
"app.connection-status.offline": "εκτός σύνδεσης",
|
||||
"app.connection-status.usingTurn": "Χρήση TURN",
|
||||
"app.connection-status.yes": "Ναι",
|
||||
"app.recording.startTitle": "Έναρξη καταγραφής",
|
||||
"app.recording.stopTitle": "Παύση καταγραφής",
|
||||
"app.recording.resumeTitle": "Επαναφορά καταγραφής",
|
||||
"app.recording.startDescription": "Επιλέξτε ξανά το κουμπί εγγραφής για παύση της καταγραφής.",
|
||||
"app.recording.stopDescription": "Θέλετε να βάλετε την εγγραφή σε παύση; Μπορείτε να επανέλθετε πατώντας ξανά το κουμπί εγγραφής.",
|
||||
"app.recording.stopDescription": "Θέλετε σίγουρα να κάνετε παύση της εγγραφής; Μπορείτε να συνεχίσετε πατώντας ξανά το κουμπί εγγραφής.",
|
||||
"app.videoPreview.cameraLabel": "Κάμερα",
|
||||
"app.videoPreview.profileLabel": "Ποιότητα",
|
||||
"app.videoPreview.quality.low": "Χαμηλό",
|
||||
@ -683,33 +704,35 @@
|
||||
"app.video.sharingError": "Σφάλμα διαμοιρασμού κάμερας.",
|
||||
"app.video.abortError": "Παρουσιάστηκε κάποιο πρόβλημα που εμπόδισε τη χρήση της συσκευής",
|
||||
"app.video.overconstrainedError": "Η κάμερα σας δεν υποστηρίζει αυτή την ποιότητα προφίλ",
|
||||
"app.video.securityError": "Η υποστήριξη πολυμέσων είναι απενεργοποιημένη στο έγγραφο",
|
||||
"app.video.securityError": "Ο περιηγητής σας έχει απενεργοποιημένη τη χρήση κάμερας. Δοκιμάστε από διαφορετικό περιηγητή",
|
||||
"app.video.typeError": "Λάθος ποιότητα προφίλ της κάμερας. Επικοινωνήστε με τον διαχειριστή",
|
||||
"app.video.notFoundError": "Δεν βρέθηκε κάμερα. Ελέγξτε τη σύνδεσή της.",
|
||||
"app.video.notAllowed": "Έλλειψη δικαιωμάτων για διαμοιρασμό κάμερας, βεβαιωθείτε για τα δικαιώματα του περιηγητή σας ",
|
||||
"app.video.notSupportedError": "Το βίντεο της κάμερας μπορεί να διαμοιραστεί μόνο με ασφαλείς πηγές, επιβεβαιώστε πως το πιστοποιητικό SSL σας είναι έγκυρο",
|
||||
"app.video.notAllowed": "Απαιτείται η παραχώρηση άδειας για πρόσβαση στη χρήση της κάμερας",
|
||||
"app.video.notSupportedError": "Ο περιηγητής δεν υποστηρίζεται. Δοκιμάστε ξανά από διαφορετικό περιηγητή ή συσκευή",
|
||||
"app.video.notReadableError": "Δεν μπόρεσε να ληφθεί το βίντεο της κάμερας. Βεβαιωθείτε ότι δεν χρησιμοποιεί κάποια άλλη εφαρμογή τη κάμερα σας",
|
||||
"app.video.timeoutError": "Ο περιηγητής δεν αποκρίθηκε εγκαίρως.",
|
||||
"app.video.genericError": "Παρουσιάστηκε άγνωστο σφάλμα με τη συσκευή ({0})",
|
||||
"app.video.mediaTimedOutError": "Η ροή της κάμερας σας διακόπηκε. Προσπαθήστε ξανά",
|
||||
"app.video.mediaFlowTimeout1020": "Το πολυμέσο δεν έφτασε στον διακομιστή (σφάλμα 1020)",
|
||||
"app.video.mediaTimedOutError": "Η ροή της κάμερας σας διακόπηκε. Προσπαθήστε να τη διαμοιράσετε ξανά",
|
||||
"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.videoLocked": "Η κοινή χρήση της κάμερας κλειδώθηκε",
|
||||
"app.video.videoButtonDesc": "Διαμοιρασμός κάμερας",
|
||||
"app.video.videoMenu": "Μενού βίντεο",
|
||||
"app.video.videoMenuDisabled": "Το μενού βίντεο της κάμερας είναι απενεργοποιημένο από τις ρυθμίσεις",
|
||||
"app.video.videoMenuDesc": "Άνοιγμα αναπτυσσόμενης λίστας βίντεο",
|
||||
"app.video.pagination.prevPage": "Προηγούμενο βίντεο",
|
||||
"app.video.pagination.nextPage": "Επόμενο βίντεο",
|
||||
"app.video.pagination.prevPage": "Δείτε το προηγούμενο βίντεο",
|
||||
"app.video.pagination.nextPage": "Δείτε το επόμενο βίντεο",
|
||||
"app.video.clientDisconnected": "Η κάμερα δεν μπορεί να διαμοιραστεί λόγω προβλημάτων σύνδεσης.",
|
||||
"app.video.virtualBackground.none": "Κανένα",
|
||||
"app.video.virtualBackground.blur": "Θόλωμα",
|
||||
"app.video.virtualBackground.genericError": "Η εφαρμογή εφέ της κάμερας απέτυχε. Προσπαθήστε ξανά.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Ορισμός εικονικού φόντου της δικτυακής κάμερας {0}",
|
||||
"app.video.dropZoneLabel": "Εναποθέστε εδώ",
|
||||
"app.fullscreenButton.label": "Εναλλαγή {0} σε πλήρη οθόνη",
|
||||
"app.fullscreenUndoButton.label": "Έξοδος {0} από πλήρη οθόνη",
|
||||
"app.switchButton.expandLabel": "Επέκταση οθόνης του κοινόχρηστου βίντεο",
|
||||
@ -757,6 +780,7 @@
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Ενεργοποιήστε την απόρριψη παλάμης",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Απενεργοποιήστε την απόρριψη παλάμης",
|
||||
"app.whiteboard.toolbar.fontSize": "Λίστα μέγεθους γραμματοσειράς",
|
||||
"app.whiteboard.toolbarAriaLabel": "Εργαλεία παρουσίασης",
|
||||
"app.feedback.title": "Έχετε αποσυνδεθεί από τη σύσκεψη.",
|
||||
"app.feedback.subtitle": "Θα θέλαμε να μας πείτε για την εμπειρία σας με το BigBlueButton (προαιρετικά)",
|
||||
"app.feedback.textarea": "Πώς μπορούμε να κάνουμε καλύτερο το BigBlueButton;",
|
||||
@ -775,6 +799,7 @@
|
||||
"app.createBreakoutRoom.title": "Υπο-δωμάτια (breakout)",
|
||||
"app.createBreakoutRoom.ariaTitle": "Απόκρυψη υπο-δωματίων (breakout)",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Υπο-δωμάτια {0} (breakout)",
|
||||
"app.createBreakoutRoom.askToJoin": "Ερώτημα για συμμετοχή",
|
||||
"app.createBreakoutRoom.generatingURL": "Δημιουργείται URL",
|
||||
"app.createBreakoutRoom.duration": "Διάρκεια {0}",
|
||||
"app.createBreakoutRoom.room": "Δωμάτιο {0}",
|
||||
@ -854,7 +879,26 @@
|
||||
"playback.player.search.modal.title": "Αναζήτηση",
|
||||
"playback.player.search.modal.subtitle": "Εύρεση περιεχομένου των διαφανειών παρουσίασης",
|
||||
"playback.player.thumbnails.wrapper.aria": "Περιοχή μικρογραφιών",
|
||||
"playback.player.video.wrapper.aria": "Περιοχή βίντεο"
|
||||
"playback.player.video.wrapper.aria": "Περιοχή βίντεο",
|
||||
"app.learningDashboard.user": "Χρήστης",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Τερματίστηκε",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Ενεργό",
|
||||
"app.learningDashboard.indicators.usersOnline": "Ενεργοί χρήστες",
|
||||
"app.learningDashboard.indicators.usersTotal": "Συνολικός αριθμός χρηστών",
|
||||
"app.learningDashboard.indicators.polls": "Δημοσκοπήσεις",
|
||||
"app.learningDashboard.indicators.raiseHand": "Σηκώστε το χέρι σας",
|
||||
"app.learningDashboard.indicators.duration": "Διάρκεια",
|
||||
"app.learningDashboard.usersTable.title": "Προεπισκόπιση",
|
||||
"app.learningDashboard.usersTable.colMessages": "Μηνύματα",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Σηκωμένα χέρια",
|
||||
"app.learningDashboard.usersTable.colStatus": "Κατάσταση",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "Σε σύνδεση",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Εκτός σύνδεσης",
|
||||
"app.learningDashboard.usersTable.noUsers": "Χωρίς χρήστες ακόμα",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "Ανώνυμη δημοσκόπηση (απαντήσεις στην τελευταία γραμμή)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Ανώνυμα",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Τα δεδομένα δεν είναι πλέον διαθέσιμα"
|
||||
|
||||
}
|
||||
|
||||
|
@ -88,6 +88,8 @@
|
||||
"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.menu.webcamPin.label": "Pin user's webcam",
|
||||
"app.userList.menu.webcamUnpin.label": "Unpin user's webcam",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Give whiteboard access",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Remove whiteboard access",
|
||||
"app.userList.menu.ejectUserCameras.label": "Close cameras",
|
||||
@ -752,6 +754,10 @@
|
||||
"app.video.clientDisconnected": "Webcam cannot be shared due to connection issues",
|
||||
"app.video.virtualBackground.none": "None",
|
||||
"app.video.virtualBackground.blur": "Blur",
|
||||
"app.video.virtualBackground.home": "Home",
|
||||
"app.video.virtualBackground.board": "Board",
|
||||
"app.video.virtualBackground.coffeeshop": "Coffeeshop",
|
||||
"app.video.virtualBackground.background": "Background",
|
||||
"app.video.virtualBackground.genericError": "Failed to apply camera effect. Try again.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Sets webcam virtual background to {0}",
|
||||
"app.video.dropZoneLabel": "Drop here",
|
||||
@ -815,6 +821,11 @@
|
||||
"app.videoDock.webcamFocusDesc": "Focus the selected webcam",
|
||||
"app.videoDock.webcamUnfocusLabel": "Unfocus",
|
||||
"app.videoDock.webcamUnfocusDesc": "Unfocus the selected webcam",
|
||||
"app.videoDock.webcamPinLabel": "Pin",
|
||||
"app.videoDock.webcamPinDesc": "Pin the selected webcam",
|
||||
"app.videoDock.webcamUnpinLabel": "Unpin",
|
||||
"app.videoDock.webcamUnpinLabelDisabled": "Only moderators can unpin users",
|
||||
"app.videoDock.webcamUnpinDesc": "Unpin the selected webcam",
|
||||
"app.videoDock.autoplayBlockedDesc": "We need your permission to show you other users' webcams.",
|
||||
"app.videoDock.autoplayAllowLabel": "View webcams",
|
||||
"app.invitation.title": "Breakout room invitation",
|
||||
|
@ -544,7 +544,6 @@
|
||||
"app.guest.errorSeeConsole": "Error: más detalles en la consola.",
|
||||
"app.guest.noModeratorResponse": "Sin respuesta del moderador.",
|
||||
"app.guest.noSessionToken": "No se recibió ningún token de sesión.",
|
||||
"app.guest.windowTitle": "Vestíbulo de invitados",
|
||||
"app.guest.missingToken": "Token de sesión faltante del invitado.",
|
||||
"app.guest.missingSession": "Sesión perdida de invitado.",
|
||||
"app.guest.missingMeeting": "La reunión no existe.",
|
||||
|
@ -544,7 +544,6 @@
|
||||
"app.guest.errorSeeConsole": "Error: más detalles en la consola.",
|
||||
"app.guest.noModeratorResponse": "Sin respuesta del moderador.",
|
||||
"app.guest.noSessionToken": "No se recibió ningún token de sesión.",
|
||||
"app.guest.windowTitle": "Vestíbulo de invitados",
|
||||
"app.guest.missingToken": "Token de sesión faltante del invitado.",
|
||||
"app.guest.missingSession": "Sesión perdida de invitado.",
|
||||
"app.guest.missingMeeting": "La reunión no existe.",
|
||||
|
@ -587,7 +587,7 @@
|
||||
"app.guest.errorSeeConsole": "Viga: täpsemad üksikasjad konsoolil.",
|
||||
"app.guest.noModeratorResponse": "Pole vastust moderaatorilt.",
|
||||
"app.guest.noSessionToken": "Pole kätte saanud sessioonitõendit.",
|
||||
"app.guest.windowTitle": "Külaliste ala",
|
||||
"app.guest.windowTitle": "BigBlueButton - Külaliste ala",
|
||||
"app.guest.missingToken": "Külalisel pole sessioonitõendit.",
|
||||
"app.guest.missingSession": "Külalisel pole sessiooni.",
|
||||
"app.guest.missingMeeting": "Koosolekut pole olemas.",
|
||||
@ -718,6 +718,7 @@
|
||||
"app.video.joinVideo": "Jaga veebikaamerat",
|
||||
"app.video.connecting": "Veebikaamera jagamine käivitub...",
|
||||
"app.video.leaveVideo": "Lõpeta veebikaamera jagamine",
|
||||
"app.video.advancedVideo": "Ava täpsemad seaded",
|
||||
"app.video.iceCandidateError": "Viga ICE kandidaadi lisamisel",
|
||||
"app.video.iceConnectionStateError": "Ühendus ebaõnnestus (ICE viga 1107)",
|
||||
"app.video.permissionError": "Viga veebikaamera jagamisel. Palun kontrolli õigusi",
|
||||
@ -917,8 +918,6 @@
|
||||
"playback.player.video.wrapper.aria": "Video ala",
|
||||
"app.learningDashboard.dashboardTitle": "Õppetöö ülevaateleht",
|
||||
"app.learningDashboard.user": "Kasutaja",
|
||||
"app.learningDashboard.shareButton": "Jaga teistega",
|
||||
"app.learningDashboard.shareLinkCopied": "Link edukalt kopeeritud!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Lõppenud",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Kestab",
|
||||
"app.learningDashboard.indicators.usersOnline": "Aktiivsed kasutajad",
|
||||
|
@ -587,7 +587,6 @@
|
||||
"app.guest.errorSeeConsole": "Errorea: xehetasun gehiago kontsolan",
|
||||
"app.guest.noModeratorResponse": "Moderatzaileak ez du erantzuten.",
|
||||
"app.guest.noSessionToken": "Ez da saio-tokenik jaso.",
|
||||
"app.guest.windowTitle": "Gonbidatuen atondoa.",
|
||||
"app.guest.missingToken": "Gonbidatuak falta duen saio token-a.",
|
||||
"app.guest.missingSession": "Gonbidatua falta den saioa.",
|
||||
"app.guest.missingMeeting": "Ez dago bilerarik.",
|
||||
@ -915,8 +914,6 @@
|
||||
"playback.player.video.wrapper.aria": "Bideoaren eremua",
|
||||
"app.learningDashboard.dashboardTitle": "Ikasteko arbela",
|
||||
"app.learningDashboard.user": "Erabiltzailea",
|
||||
"app.learningDashboard.shareButton": "Partekatu besteekin",
|
||||
"app.learningDashboard.shareLinkCopied": "Esteka behar bezala kopiatu da!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Bukatua",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Aktiboa",
|
||||
"app.learningDashboard.indicators.usersOnline": "Erabiltzaile aktiboak",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"app.home.greeting": "ارائه شما به زودی آغاز خواهد شد...",
|
||||
"app.chat.submitLabel": "ارسال پیام",
|
||||
"app.chat.loading": "بارگذاری پیام های گفتگو: {0}%",
|
||||
"app.chat.loading": "پیامهای گفتگوی بارگذاریشده: {0}%",
|
||||
"app.chat.errorMaxMessageLength": "پیام به میزان {0} کاراکتر بلند است",
|
||||
"app.chat.disconnected": "ارتباط شما قطع شده است، امکان ارسال پیامها وجود ندارد",
|
||||
"app.chat.locked": "گفنگو قفل شده است، امکان ارسال هیچ پیامی وجود ندارد",
|
||||
@ -51,7 +51,7 @@
|
||||
"app.captions.pad.dictationStop": "توقف نوشتن کلمات",
|
||||
"app.captions.pad.dictationOnDesc": "روشن کردن امکان تشخیص صوت",
|
||||
"app.captions.pad.dictationOffDesc": "غیر فعال کردن امکان تشخیص صوت",
|
||||
"app.captions.pad.speechRecognitionStop": "به دلیل مشکلات مرورگر یا ایجاد وقفه، تبدیل گفتار متوقف شده است.",
|
||||
"app.captions.pad.speechRecognitionStop": "به دلیل ناسازگاری مرورگر یا ایجاد وقفه، تشخیص گفتار متوقف شده است.",
|
||||
"app.textInput.sendLabel": "ارسال",
|
||||
"app.title.defaultViewLabel": "نمای پیشفرض ارائه",
|
||||
"app.note.title": "یادداشتهای اشتراکی",
|
||||
@ -79,8 +79,8 @@
|
||||
"app.userList.guest": "مهمان",
|
||||
"app.userList.sharingWebcam": "دوربین",
|
||||
"app.userList.menuTitleContext": "گزینههای موجود",
|
||||
"app.userList.chatListItem.unreadSingular": "یک پیغام جدید",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} پیغام جدید",
|
||||
"app.userList.chatListItem.unreadSingular": "یک پیام جدید",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} پیام جدید",
|
||||
"app.userList.menu.chat.label": "شروع گفتگوی خصوصی",
|
||||
"app.userList.menu.clearStatus.label": "پاک کردن وضعیت",
|
||||
"app.userList.menu.removeUser.label": "حذف کاربر",
|
||||
@ -137,10 +137,10 @@
|
||||
"app.media.screenshare.autoplayBlockedDesc": "ما برای نمایش صفحهٔ ارائهدهنده به شما به اجازهٔ شما نیازمندیم.",
|
||||
"app.media.screenshare.autoplayAllowLabel": "مشاهده صفحه اشتراکی",
|
||||
"app.screenshare.presenterLoadingLabel": "اشتراکگذاری صفحه نمایش شما در حال بارگذاری است",
|
||||
"app.screenshare.viewerLoadingLabel": "اشتراکگذاری صفحه نمایش ارائه کننده در حال بارگذاری است",
|
||||
"app.screenshare.presenterSharingLabel": "آیا میخواهید صفحه نمایشتان را به اشتراک بگذارید؟",
|
||||
"app.screenshare.viewerLoadingLabel": "اشتراکگذاری صفحه نمایش ارائهدهنده در حال بارگذاری است",
|
||||
"app.screenshare.presenterSharingLabel": "اکنون شما در حال اشتراکگذاری صفحه نمایشتان هستید",
|
||||
"app.screenshare.screenshareFinalError": "کد {0}: نتوانست صفحهی نمایش را به اشتراک بگذارد.",
|
||||
"app.screenshare.screenshareRetryError": "کد {0}: تلاش دوباره برای به اشتراک گذاشتن صفحه نمایش.",
|
||||
"app.screenshare.screenshareRetryError": "کد {0}: دوباره سعی کنید صفحه نمایش را به اشتراک بگذارید. ",
|
||||
"app.screenshare.screenshareRetryOtherEnvError": "کد {0}: نتواست صفحه را به اشتراک بگذارد. با مرورگر یا وسیله دیگری امتحان کنید.",
|
||||
"app.screenshare.screenshareUnsupportedEnv": "کد {0}: مرورگر پشتیبانی نمی شود. با مرورگر یا وسیله دیگری امتحان کنید.",
|
||||
"app.screenshare.screensharePermissionError": "کد {0}: برای گرفتن صفحه باید دسترسی آن را فعال کنید.",
|
||||
@ -298,8 +298,8 @@
|
||||
"app.polling.submitLabel": "ارسال",
|
||||
"app.polling.submitAriaLabel": "ارسال پاسخ نظرسنجی",
|
||||
"app.polling.responsePlaceholder": "واردکردن پاسخ",
|
||||
"app.polling.responseSecret": "نظرسنجی ناشناس - ارائه کننده نظر شما را نمیبیند.",
|
||||
"app.polling.responseNotSecret": "نظرسنجی عادی - ارائه کننده پاسخهای شما را میبیند.",
|
||||
"app.polling.responseSecret": "نظرسنجی ناشناس - ارائهدهنده نظر شما را نمیبیند.",
|
||||
"app.polling.responseNotSecret": "نظرسنجی عادی - ارائهدهنده پاسخهای شما را میبیند.",
|
||||
"app.polling.pollAnswerLabel": "پاسخ نظرسنجی {0}",
|
||||
"app.polling.pollAnswerDesc": "این گزینه را برای رای دادن به {0} انتخاب کنید.",
|
||||
"app.failedMessage": "متاسفانه، مشکلی در اتصال به سرور به وجود آمده است.",
|
||||
@ -308,8 +308,8 @@
|
||||
"app.waitingMessage": "ارتباط قطع شد. در حال تلاش مجدد در {0} ثانیه ...",
|
||||
"app.retryNow": "تلاش مجدد",
|
||||
"app.muteWarning.label": "برروی {0} کلیک کنید تا صدای خود را بیصدا کنید.",
|
||||
"app.muteWarning.disableMessage": "هشدارهای بیصدا تا زمان نادیده گرفتن غیرفعال میشوند",
|
||||
"app.muteWarning.tooltip": "برای بستن و غیرفعال کردن اخطار، بیصدا کردن بعدی کلیک کنید",
|
||||
"app.muteWarning.disableMessage": "هشدارهای بیصدا تا زمان فعالسازی صدا غیرفعال شدند",
|
||||
"app.muteWarning.tooltip": "برای بستن و غیرفعالکردن اخطار تا غیرفعالسازی مجدد صدا، کلیک کنید",
|
||||
"app.navBar.settingsDropdown.optionsLabel": "گزینهها",
|
||||
"app.navBar.settingsDropdown.fullscreenLabel": "تمام صفحه",
|
||||
"app.navBar.settingsDropdown.settingsLabel": "تنظیمات",
|
||||
@ -357,7 +357,7 @@
|
||||
"app.actionsBar.label": "نوار فعالیت ها",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "بازیابی ارائه",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "کلید برگرداندن ارائه بعد از کوچک کردن آن",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "حداقل کردن پنجره ارائه",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "کوچک کردن پنجره ارائه",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "کلید کوچک کردن ارائه",
|
||||
"app.screenshare.screenShareLabel" : "اشتراک صفحه",
|
||||
"app.submenu.application.applicationSectionTitle": "برنامه",
|
||||
@ -370,7 +370,7 @@
|
||||
"app.submenu.application.languageLabel": "زبان برنامه",
|
||||
"app.submenu.application.languageOptionLabel": "انتخاب زبان",
|
||||
"app.submenu.application.noLocaleOptionLabel": "هیچ زبان فعالی وجود ندارد",
|
||||
"app.submenu.application.paginationEnabledLabel": "صفحه بندی ویدیو",
|
||||
"app.submenu.application.paginationEnabledLabel": "صفحه بندی ویدئو",
|
||||
"app.submenu.application.layoutOptionLabel": "نوع چیدمان",
|
||||
"app.submenu.notification.SectionTitle": "اطلاعیه",
|
||||
"app.submenu.notification.Desc": "چگونگی و چه چیزی به شما اطلاع داده شود را تعریف کنید.",
|
||||
@ -405,8 +405,8 @@
|
||||
"app.settings.save-notification.label": "تنظیمات ذخیره شدند",
|
||||
"app.statusNotifier.lowerHands": "دستهای پایین",
|
||||
"app.statusNotifier.raisedHandsTitle": "دستهای بالا برده شده",
|
||||
"app.statusNotifier.raisedHandDesc": "{0} دست گرفتند",
|
||||
"app.statusNotifier.raisedHandDescOneUser": "{0} دست گرفت",
|
||||
"app.statusNotifier.raisedHandDesc": "{0} دستشان را بالا بردند",
|
||||
"app.statusNotifier.raisedHandDescOneUser": "{0} دستش را بالا برد",
|
||||
"app.statusNotifier.and": "و",
|
||||
"app.switch.onLabel": "روشن",
|
||||
"app.switch.offLabel": "خاموش",
|
||||
@ -587,7 +587,7 @@
|
||||
"app.guest.errorSeeConsole": "خطا: جزئیات بیشتر در کنسول.",
|
||||
"app.guest.noModeratorResponse": "هیچ پاسخی از مدیر وجود ندارد",
|
||||
"app.guest.noSessionToken": "کلید جلسهای دریافت نشد",
|
||||
"app.guest.windowTitle": "سالن انتظار مهمان",
|
||||
"app.guest.windowTitle": "بیگبلوباتن - لابی مهمان",
|
||||
"app.guest.missingToken": "کلید رمز جلسه میزبان وجود ندارد",
|
||||
"app.guest.missingSession": "میهمان جلسه را از دست داد",
|
||||
"app.guest.missingMeeting": "جلسه وجود ندارد.",
|
||||
@ -620,8 +620,8 @@
|
||||
"app.toast.setEmoji.label": "وضعیت اموجی ها به {0} تغییر داده شد",
|
||||
"app.toast.meetingMuteOn.label": "صدای همه کاربران به حالت بیصدا تغییر کرد",
|
||||
"app.toast.meetingMuteOff.label": "امکان بیصدا کردن جلسه غیرفعال شد",
|
||||
"app.toast.setEmoji.raiseHand": "شما دستتان را بلند کرده اید",
|
||||
"app.toast.setEmoji.lowerHand": "شما دستتان را پایین آورده اید",
|
||||
"app.toast.setEmoji.raiseHand": "شما دستتان را بلند کردهاید",
|
||||
"app.toast.setEmoji.lowerHand": "شما دستتان را پایین آوردهاید",
|
||||
"app.notification.recordingStart": "جلسه در حال ضبط شدن است",
|
||||
"app.notification.recordingStop": "این جلسه ضبط نمیشود",
|
||||
"app.notification.recordingPaused": "جلسه دیگر ضبط نمیشود",
|
||||
@ -718,6 +718,7 @@
|
||||
"app.video.joinVideo": "اشتراک گذاری دوربین",
|
||||
"app.video.connecting": "اشتراک وب کم در حال شروع است ...",
|
||||
"app.video.leaveVideo": "متوقف کردن اشتراک گذاری دوربین",
|
||||
"app.video.advancedVideo": "بازکردن تنظیمات پیشرفته",
|
||||
"app.video.iceCandidateError": "خطا در افزودن کاندید ICE",
|
||||
"app.video.iceConnectionStateError": "اتصال موفقیت آمیز نبود (خطای ICE ۱۱۰۷)",
|
||||
"app.video.permissionError": "خطا در اشتراک گذاری دوربین. لطفا مجوزات دسترسی را بررسی کنید",
|
||||
@ -731,7 +732,7 @@
|
||||
"app.video.notSupportedError": "امکان اشتراک ویدئو فقط از منابع امن امکان پذیر است، مطمئن شوید گواهی SSLتان معتبر است",
|
||||
"app.video.notReadableError": "عدم امکان دسترسی به دوربین، مطمئن شوید دوربین شما توسط برنامه دیگری در حال استفاده نیست",
|
||||
"app.video.timeoutError": "مرورگر به موقع پاسخ نداد",
|
||||
"app.video.genericError": "خطای ناشناخته ای در دستگاه رخ داده است (خطا {0})",
|
||||
"app.video.genericError": "خطای ناشناختهای در دستگاه رخ داده است (خطا {0})",
|
||||
"app.video.mediaTimedOutError": "جریان دوربین شما قطع شد. لطفا مجددا آن را به اشتراک بگذارید.",
|
||||
"app.video.mediaFlowTimeout1020": "امکان دریافت مدیا از سرور وجود ندارد (خطای 1020)",
|
||||
"app.video.suggestWebcamLock": "آیا تنظیمات قفل برای وبکمهای کاربران اعمال شود؟",
|
||||
@ -755,8 +756,8 @@
|
||||
"app.video.dropZoneLabel": "اینجا بیندازید",
|
||||
"app.fullscreenButton.label": "تغییر {0} به تمام صفحه",
|
||||
"app.fullscreenUndoButton.label": "{0} تمام صفحه را واگرد کنید",
|
||||
"app.switchButton.expandLabel": "گسترش اشتراکگذاری صفحهنمایش",
|
||||
"app.switchButton.shrinkLabel": "فشردن اشتراکگذاری صفحهنمایش",
|
||||
"app.switchButton.expandLabel": "بزرگکردن تصویر اشتراکگذاری صفحهنمایش",
|
||||
"app.switchButton.shrinkLabel": "کوچککردن تصویر اشتراکگذاری صفحهنمایش",
|
||||
"app.sfu.mediaServerConnectionError2000": "امکان اتصال به مدیا سرور وجود ندارد (خطای 2000)",
|
||||
"app.sfu.mediaServerOffline2001": "مدیا سرور آفلاین است، لطفا بعدا تلاش کنید (خطای 2001)",
|
||||
"app.sfu.mediaServerNoResources2002": "مدیا سرور منابع آزاد ندارد (خطای 2002)",
|
||||
@ -860,7 +861,7 @@
|
||||
"app.externalVideo.title": "اشتراک یک ویدیوی خارجی",
|
||||
"app.externalVideo.input": "آدرس ویدیوی خارجی",
|
||||
"app.externalVideo.urlInput": "اضافه کردن آدرس ویدیو",
|
||||
"app.externalVideo.urlError": "آدرس این فیلم نامعتبر است",
|
||||
"app.externalVideo.urlError": "آدرس این ویدئو نامعتبر است",
|
||||
"app.externalVideo.close": "بستن",
|
||||
"app.externalVideo.autoPlayWarning": "برای به هنگام سازی ، ویدیو را پخش کنید",
|
||||
"app.externalVideo.refreshLabel": "تازه سازی پخش کننده ویدئو",
|
||||
@ -881,8 +882,8 @@
|
||||
"app.debugWindow.form.button.apply": "اعمال",
|
||||
"app.layout.style.custom": "سفارشی",
|
||||
"app.layout.style.smart": "چینش هوشمند",
|
||||
"app.layout.style.presentationFocus": "تأکید بر نمایش",
|
||||
"app.layout.style.videoFocus": "تأکید بر فیلم",
|
||||
"app.layout.style.presentationFocus": "تمرکز روی ارائه",
|
||||
"app.layout.style.videoFocus": "تمرکز روی ویدئو",
|
||||
"app.layout.style.customPush": "سفارشی سازی شده (قالب برای همه اعمال شود)",
|
||||
"app.layout.style.smartPush": "چیدمان هوشمند (قالب برای همه اعمال شود)",
|
||||
"app.layout.style.presentationFocusPush": "تمرکز روی ارائه (قالب برای همه اعمال شود)",
|
||||
@ -906,7 +907,7 @@
|
||||
"playback.player.chat.message.poll.option.abstention": "ممتنع",
|
||||
"playback.player.chat.message.poll.option.true": "درست",
|
||||
"playback.player.chat.message.poll.option.false": "غلط",
|
||||
"playback.player.chat.message.externalVideo.name": "فیلم خارجی",
|
||||
"playback.player.chat.message.externalVideo.name": "ویدئوی خارجی",
|
||||
"playback.player.chat.wrapper.aria": "محدوده گفتگو",
|
||||
"playback.player.notes.wrapper.aria": "محدوده یادداشتها",
|
||||
"playback.player.presentation.wrapper.aria": "محدوده فایل ارائه",
|
||||
@ -917,14 +918,12 @@
|
||||
"playback.player.video.wrapper.aria": "محدوده فیلم",
|
||||
"app.learningDashboard.dashboardTitle": "داشبورد یادگیری",
|
||||
"app.learningDashboard.user": "کاربر",
|
||||
"app.learningDashboard.shareButton": "اشتراک با دیگران",
|
||||
"app.learningDashboard.shareLinkCopied": "پیوند رونوشت شد!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "پایان یافته",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "فعال",
|
||||
"app.learningDashboard.indicators.usersOnline": "کاربران فعال",
|
||||
"app.learningDashboard.indicators.usersTotal": "تعداد کل کاربران",
|
||||
"app.learningDashboard.indicators.polls": "نظرسنجیها",
|
||||
"app.learningDashboard.indicators.raiseHand": "دستهای بالا رفته",
|
||||
"app.learningDashboard.indicators.raiseHand": "بالابردن دست",
|
||||
"app.learningDashboard.indicators.activityScore": "امتیاز فعالیت",
|
||||
"app.learningDashboard.indicators.duration": "مدت زمان",
|
||||
"app.learningDashboard.usersTable.title": "مرور کلی",
|
||||
@ -938,7 +937,7 @@
|
||||
"app.learningDashboard.usersTable.colStatus": "وضعیت",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "آنلاین",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "آفلاین",
|
||||
"app.learningDashboard.usersTable.noUsers": "کاربری نیست",
|
||||
"app.learningDashboard.usersTable.noUsers": "هنوز هیچ کاربری وجود ندارد",
|
||||
"app.learningDashboard.pollsTable.title": "نظرسنجی",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "نظرسنجی ناشناس (پاسخها در ردیف آخر)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "ناشناس",
|
||||
|
@ -16,7 +16,7 @@
|
||||
"app.chat.dropdown.options": "Options de discussion",
|
||||
"app.chat.dropdown.clear": "Effacer",
|
||||
"app.chat.dropdown.copy": "Copier",
|
||||
"app.chat.dropdown.save": "Sauvegarder",
|
||||
"app.chat.dropdown.save": "Enregistrer",
|
||||
"app.chat.label": "Discussion",
|
||||
"app.chat.offline": "Déconnecté",
|
||||
"app.chat.pollResult": "Résultats du sondage",
|
||||
@ -34,15 +34,15 @@
|
||||
"app.captions.menu.ariaStartDesc": "Ouvre l'éditeur de sous-titres et ferme la fenêtre modale",
|
||||
"app.captions.menu.select": "Sélectionnez une langue disponible",
|
||||
"app.captions.menu.ariaSelect": "Langue des sous-titres",
|
||||
"app.captions.menu.subtitle": "Veuillez sélectionner une langue et les styles pour les sous-titres dans votre session.",
|
||||
"app.captions.menu.title": "Sous-titres",
|
||||
"app.captions.menu.subtitle": "Veuillez sélectionner une langue et les styles pour les sous-titres de votre réunion.",
|
||||
"app.captions.menu.title": "Sous-titres codés",
|
||||
"app.captions.menu.fontSize": "Taille",
|
||||
"app.captions.menu.fontColor": "Couleur du texte",
|
||||
"app.captions.menu.fontFamily": "Police d'écriture",
|
||||
"app.captions.menu.backgroundColor": "Couleur du fond",
|
||||
"app.captions.menu.previewLabel": "Prévisualiser",
|
||||
"app.captions.menu.cancelLabel": "Annuler",
|
||||
"app.captions.pad.hide": "Cacher les sous-titres",
|
||||
"app.captions.pad.hide": "Cacher les sous-titres codés",
|
||||
"app.captions.pad.tip": "Appuyez sur Echap pour centrer sur la barre d'outils de l'éditeur.",
|
||||
"app.captions.pad.ownership": "Prendre le contrôle",
|
||||
"app.captions.pad.ownershipTooltip": "Vous serez désigné propriétaire de {0} légendes.",
|
||||
@ -51,7 +51,7 @@
|
||||
"app.captions.pad.dictationStop": "Arrêter la dictée",
|
||||
"app.captions.pad.dictationOnDesc": "Activer la reconnaissance vocale",
|
||||
"app.captions.pad.dictationOffDesc": "Désactiver la reconnaissance vocale",
|
||||
"app.captions.pad.speechRecognitionStop": "Reconnaissance vocale arrêtée en raison de l'incompatibilité du navigateur ou d'un certain temps de silence",
|
||||
"app.captions.pad.speechRecognitionStop": "Reconnaissance vocale arrêtée en raison de l'incompatibilité du navigateur ou d'un silence de longue durée",
|
||||
"app.textInput.sendLabel": "Envoyer",
|
||||
"app.title.defaultViewLabel": "Vue par défaut de la présentation",
|
||||
"app.note.title": "Notes partagées",
|
||||
@ -73,7 +73,7 @@
|
||||
"app.userList.locked": "Verrouillé",
|
||||
"app.userList.byModerator": "par (modérateur)",
|
||||
"app.userList.label": "Liste d'utilisateurs",
|
||||
"app.userList.toggleCompactView.label": "Basculer le mode d'affichage compact",
|
||||
"app.userList.toggleCompactView.label": "Basculer vers/depuis le mode d'affichage compact",
|
||||
"app.userList.moderator": "Modérateur",
|
||||
"app.userList.mobile": "Mobile",
|
||||
"app.userList.guest": "Invité",
|
||||
@ -84,12 +84,13 @@
|
||||
"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 l'utilisateur ({0})",
|
||||
"app.userlist.menu.removeConfirmation.desc": "Empêcher cet utilisateur de rejoindre de nouveau la session.",
|
||||
"app.userList.menu.muteUserAudio.label": "Rendre muet l'utilisateur",
|
||||
"app.userList.menu.removeConfirmation.label": "Retirer l'utilisateur ({0})",
|
||||
"app.userlist.menu.removeConfirmation.desc": "Empêcher cet utilisateur de rejoindre de nouveau la réunion.",
|
||||
"app.userList.menu.muteUserAudio.label": "Rendre l'utilisateur silencieux",
|
||||
"app.userList.menu.unmuteUserAudio.label": "Autoriser l'utilisateur à parler",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Donner l'accès au tableau blanc",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Supprimer l'accès au tableau blanc",
|
||||
"app.userList.menu.ejectUserCameras.label": "Eteindre les caméras",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} État {3}",
|
||||
"app.userList.menu.promoteUser.label": "Promouvoir comme modérateur",
|
||||
"app.userList.menu.demoteUser.label": "Rétrograder en participant normal",
|
||||
@ -98,18 +99,18 @@
|
||||
"app.userList.menu.directoryLookup.label": "Recherche dans l'annuaire",
|
||||
"app.userList.menu.makePresenter.label": "Définir comme présentateur",
|
||||
"app.userList.userOptions.manageUsersLabel": "Gérer les utilisateurs",
|
||||
"app.userList.userOptions.muteAllLabel": "Rendre muets tous les utilisateurs",
|
||||
"app.userList.userOptions.muteAllDesc": "Rendre muets tous les utilisateurs de la réunion",
|
||||
"app.userList.userOptions.muteAllLabel": "Rendre tous les utilisateurs silencieux",
|
||||
"app.userList.userOptions.muteAllDesc": "Rendre tous les utilisateurs de la réunion silencieux",
|
||||
"app.userList.userOptions.clearAllLabel": "Effacer toutes les icônes de statut",
|
||||
"app.userList.userOptions.clearAllDesc": "Effacer toutes les icônes de statut des utilisateurs",
|
||||
"app.userList.userOptions.muteAllExceptPresenterLabel": "Rendre muets tous les utilisateurs sauf le présentateur",
|
||||
"app.userList.userOptions.muteAllExceptPresenterDesc": "Rend muets tous les utilisateurs de la réunion sauf le présentateur",
|
||||
"app.userList.userOptions.muteAllExceptPresenterLabel": "Rendre silencieux tous les utilisateurs sauf le présentateur",
|
||||
"app.userList.userOptions.muteAllExceptPresenterDesc": "Rend silencieux tous les utilisateurs de la réunion sauf le présentateur",
|
||||
"app.userList.userOptions.unmuteAllLabel": "Désactiver l'interdiction de parler pour la réunion",
|
||||
"app.userList.userOptions.unmuteAllDesc": "Désactive l'interdiction de parler pour la réunion",
|
||||
"app.userList.userOptions.lockViewersLabel": "Verrouiller les participants",
|
||||
"app.userList.userOptions.lockViewersLabel": "Gestion des interactions",
|
||||
"app.userList.userOptions.lockViewersDesc": "Verrouiller certaines fonctionnalités pour les participants à la réunion",
|
||||
"app.userList.userOptions.guestPolicyLabel": "Politique d'invité ",
|
||||
"app.userList.userOptions.guestPolicyDesc": "Modifier le paramétrage de la politique d'invité de la réunion",
|
||||
"app.userList.userOptions.guestPolicyLabel": "Gestion des accès",
|
||||
"app.userList.userOptions.guestPolicyDesc": "Modifier le paramétrage de la gestion des accès à la réunion",
|
||||
"app.userList.userOptions.disableCam": "Les webcams des participants sont désactivées",
|
||||
"app.userList.userOptions.disableMic": "Les microphones des participants sont désactivés",
|
||||
"app.userList.userOptions.disablePrivChat": "La discussion privée est désactivée",
|
||||
@ -133,7 +134,7 @@
|
||||
"app.media.screenshare.start": "Partage d'écran commencé",
|
||||
"app.media.screenshare.end": "Partage d'écran terminé",
|
||||
"app.media.screenshare.unavailable": "Partage d'écran indisponible",
|
||||
"app.media.screenshare.notSupported": "Le partage d'écran n'est pas supporté dans ce navigateur.",
|
||||
"app.media.screenshare.notSupported": "Le partage d'écran n'est pas pris en charge par ce navigateur.",
|
||||
"app.media.screenshare.autoplayBlockedDesc": "Nous avons besoin de votre permission pour vous montrer l'écran du présentateur.",
|
||||
"app.media.screenshare.autoplayAllowLabel": "Voir l'écran partagé",
|
||||
"app.screenshare.presenterLoadingLabel": " Votre partage d'écran est en cours de chargement",
|
||||
@ -144,17 +145,17 @@
|
||||
"app.screenshare.screenshareRetryOtherEnvError": "Code {0}. Ne peut pas partager l'écran. Essayez à nouveau en utilisant un navigateur ou appareil différent.",
|
||||
"app.screenshare.screenshareUnsupportedEnv": "Code {0}. Le navigateur n'est pas pris en charge. Essayez à nouveau en utilisant un navigateur ou appareil différent.",
|
||||
"app.screenshare.screensharePermissionError": "Code {0}. L'autorisation de capturer d'écran doit être accordée.",
|
||||
"app.meeting.ended": "Cette session s'est terminée",
|
||||
"app.meeting.ended": "Cette réunion 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",
|
||||
"app.meeting.endedByUserMessage": "Cette conférence a été terminée par {0}",
|
||||
"app.meeting.endedByUserMessage": "Cette réunion a été close par {0}",
|
||||
"app.meeting.endedByNoModeratorMessageSingular": " La réunion est terminée car aucun modérateur n'est présent après une minute",
|
||||
"app.meeting.endedByNoModeratorMessagePlural": "The meeting has ended due to no moderator being present after {0} minutes",
|
||||
"app.meeting.endedMessage": "Vous serez redirigé vers l'écran d'accueil",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "La conférence se fermera dans une minute.",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "La réunion se terminera dans une minute.",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "La conférence se fermera dans {0} minutes.",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "La salle privée se fermera dans {0} minutes.",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "La salle privée se fermera dans une minute.",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "La réunion privée se fermera dans {0} minutes.",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "La réunion privée se fermera dans une minute.",
|
||||
"app.presentation.hide": "Masquer la présentation",
|
||||
"app.presentation.notificationLabel": "Présentation courante",
|
||||
"app.presentation.downloadLabel": "Télécharger",
|
||||
@ -191,16 +192,16 @@
|
||||
"app.presentationUploder.message": "En tant que présentateur, vous avez la possibilité de télécharger n'importe quel document Office ou fichier PDF. Nous recommandons le fichier PDF pour de meilleurs résultats. Veuillez vous assurer qu'une présentation est sélectionnée à l'aide du cercle à cocher sur la droite.",
|
||||
"app.presentationUploder.uploadLabel": "Télécharger",
|
||||
"app.presentationUploder.confirmLabel": "Confirmer",
|
||||
"app.presentationUploder.confirmDesc": "Sauvegardez vos modifications et lancez la présentation",
|
||||
"app.presentationUploder.confirmDesc": "Enregistrez vos modifications et lancez la présentation",
|
||||
"app.presentationUploder.dismissLabel": "Annuler",
|
||||
"app.presentationUploder.dismissDesc": "Ferme la fenêtre d'option et supprime vos modifications",
|
||||
"app.presentationUploder.dropzoneLabel": "Faites glisser les fichiers ici pour les charger",
|
||||
"app.presentationUploder.dropzoneImagesLabel": "Faites glisser les images ici pour les charger",
|
||||
"app.presentationUploder.browseFilesLabel": "ou parcourez pour trouver des fichiers",
|
||||
"app.presentationUploder.browseImagesLabel": "ou parcourez/capturez des images",
|
||||
"app.presentationUploder.browseFilesLabel": "ou recherchez dans vos fichiers",
|
||||
"app.presentationUploder.browseImagesLabel": "ou recherchez/capturez des images",
|
||||
"app.presentationUploder.fileToUpload": "Prêt à être chargé...",
|
||||
"app.presentationUploder.currentBadge": "En cours",
|
||||
"app.presentationUploder.rejectedError": "Le ou les fichiers sélectionnés ont été rejetés. Veuillez vérifier leurs formats.",
|
||||
"app.presentationUploder.rejectedError": "Le(s) fichier(s) sélectionné(s) a (ont) été rejeté()s. Veuillez vérifier leur format.",
|
||||
"app.presentationUploder.upload.progress": "Chargement ({0}%)",
|
||||
"app.presentationUploder.upload.413": "Le fichier est trop volumineux, il dépasse le maximum de {0} Mo",
|
||||
"app.presentationUploder.genericError": "Oups, quelque chose s'est mal passé...",
|
||||
@ -208,10 +209,10 @@
|
||||
"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...",
|
||||
"app.presentationUploder.conversion.genericConversionStatus": "Conversion du fichier en cours...",
|
||||
"app.presentationUploder.conversion.generatingThumbnail": "Création des vignettes en cours...",
|
||||
"app.presentationUploder.conversion.generatedSlides": "Diapositives générées...",
|
||||
"app.presentationUploder.conversion.generatingSvg": "Génération des images SVG...",
|
||||
"app.presentationUploder.conversion.generatingSvg": "Création des images SVG en cours...",
|
||||
"app.presentationUploder.conversion.pageCountExceeded": "Le nombre de pages dépasse le maximum de {0}",
|
||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Échec du traitement du document Office. Veuillez télécharger un PDF à la place.",
|
||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Échec du traitement du document office. Veuillez télécharger un PDF à la place.",
|
||||
@ -232,8 +233,8 @@
|
||||
"app.presentationUploder.item" : "élément",
|
||||
"app.presentationUploder.itemPlural" : "éléments",
|
||||
"app.presentationUploder.clearErrors": "Effacer les erreurs",
|
||||
"app.presentationUploder.clearErrorsDesc": "Efface les échecs de téléchargement des présentations",
|
||||
"app.presentationUploder.uploadViewTitle": "Téléverser la présentation",
|
||||
"app.presentationUploder.clearErrorsDesc": "Efface les échecs de téléversement des présentations",
|
||||
"app.presentationUploder.uploadViewTitle": "Charger la présentation",
|
||||
"app.poll.pollPaneTitle": "Sondage",
|
||||
"app.poll.quickPollTitle": "Sondage rapide",
|
||||
"app.poll.hidePollDesc": "Masque le volet du menu du sondage",
|
||||
@ -256,16 +257,16 @@
|
||||
"app.poll.responseTypes.label" : "Types de réponses",
|
||||
"app.poll.optionDelete.label" : "Supprimer",
|
||||
"app.poll.responseChoices.label" : "Choix de réponses",
|
||||
"app.poll.typedResponse.desc" : "Les utilisateurs verront une boîte de texte pour ajouter leur réponse.",
|
||||
"app.poll.typedResponse.desc" : "Les utilisateurs verront un champ de saisie pour indiquer leur réponse.",
|
||||
"app.poll.addItem.label" : "Ajouter un élément",
|
||||
"app.poll.start.label" : "Débuter un sondage",
|
||||
"app.poll.secretPoll.label" : "Sondage Anonyme",
|
||||
"app.poll.secretPoll.isSecretLabel": "Le sondage est anonyme - vous ne pourrez pas voir les réponses individuelles.",
|
||||
"app.poll.questionErr": "Vous devez entrer une question.",
|
||||
"app.poll.questionErr": "Vous devez soumettre une question.",
|
||||
"app.poll.optionErr": "Entrez une option de sondage",
|
||||
"app.poll.startPollDesc": "Commencer le sondage",
|
||||
"app.poll.showRespDesc": "Affiche la configuration de la réponse",
|
||||
"app.poll.addRespDesc": "Ajoute en entrée de réponse au sondage",
|
||||
"app.poll.addRespDesc": "Ajoute une option de réponse au sondage",
|
||||
"app.poll.deleteRespDesc": "Supprime l'option {0}",
|
||||
"app.poll.t": "Vrai",
|
||||
"app.poll.f": "Faux",
|
||||
@ -291,25 +292,25 @@
|
||||
"app.poll.liveResult.usersTitle": "Utilisateurs",
|
||||
"app.poll.liveResult.responsesTitle": "Réponse",
|
||||
"app.poll.liveResult.secretLabel": "Ceci est un sondage anonyme. Les réponses individuelles ne seront pas affichées.",
|
||||
"app.poll.removePollOpt": "L'option du sondage {0} a été retiré(e)",
|
||||
"app.poll.removePollOpt": "L'option a été retirée du sondage {0} ",
|
||||
"app.poll.emptyPollOpt": "Vide",
|
||||
"app.polling.pollingTitle": "Options de sondage",
|
||||
"app.polling.pollQuestionTitle": "Question de sondage",
|
||||
"app.polling.pollingTitle": "Options du sondage",
|
||||
"app.polling.pollQuestionTitle": "Question du sondage",
|
||||
"app.polling.submitLabel": "Soumettre",
|
||||
"app.polling.submitAriaLabel": "Soumettre votre réponse au sondage",
|
||||
"app.polling.responsePlaceholder": "Entrez votre réponse",
|
||||
"app.polling.responseSecret": "Sondage anonyme - le présentateur ne peut pas voir votre réponse.",
|
||||
"app.polling.responseNotSecret": "Sondage normal - le présentateur peut voir votre réponse.",
|
||||
"app.polling.pollAnswerLabel": "Réponse de sondage {0}",
|
||||
"app.polling.pollAnswerDesc": "Choisir cette option pour voter pour {0}",
|
||||
"app.polling.pollAnswerLabel": "Réponse au sondage {0}",
|
||||
"app.polling.pollAnswerDesc": "Choisir cette option pour voter {0}",
|
||||
"app.failedMessage": "Problème de connexion au serveur, toutes nos excuses.",
|
||||
"app.downloadPresentationButton.label": "Télécharger la présentation originale",
|
||||
"app.downloadPresentationButton.label": "Télécharger la présentation d'origine",
|
||||
"app.connectingMessage": "Connexion...",
|
||||
"app.waitingMessage": "Déconnecté. Essayez de vous reconnecter dans {0} secondes...",
|
||||
"app.retryNow": "Réessayer maintenant",
|
||||
"app.muteWarning.label": "Cliquez sur {0} pour réactiver votre micro.",
|
||||
"app.muteWarning.disableMessage": "Les alertes de micro éteint sont désactivées jusqu'à la réactivation du micro.",
|
||||
"app.muteWarning.tooltip": "Cliquez pour fermer et désactiver les alertes jusqu'à la prochaine activation",
|
||||
"app.muteWarning.tooltip": "Cliquez pour fermer et désactiver les alertes jusqu'à la prochaine activation du micro",
|
||||
"app.navBar.settingsDropdown.optionsLabel": "Options",
|
||||
"app.navBar.settingsDropdown.fullscreenLabel": "Plein écran",
|
||||
"app.navBar.settingsDropdown.settingsLabel": "Paramètres",
|
||||
@ -324,22 +325,22 @@
|
||||
"app.navBar.settingsDropdown.hotkeysLabel": "Raccourcis clavier",
|
||||
"app.navBar.settingsDropdown.hotkeysDesc": "Liste des raccourcis clavier disponibles",
|
||||
"app.navBar.settingsDropdown.helpLabel": "Aide",
|
||||
"app.navBar.settingsDropdown.helpDesc": "Liens utilisateur vers les tutoriels vidéos (ouvre un nouvel onglet)",
|
||||
"app.navBar.settingsDropdown.endMeetingDesc": "Termine la réunion en cours",
|
||||
"app.navBar.settingsDropdown.helpDesc": "Renvoie l'utilisateur vers des tutoriels vidéos (ouvre un nouvel onglet)",
|
||||
"app.navBar.settingsDropdown.endMeetingDesc": "Interrompt la réunion en cours",
|
||||
"app.navBar.settingsDropdown.endMeetingLabel": "Mettre fin à la réunion",
|
||||
"app.navBar.userListToggleBtnLabel": "Basculer l'affichage sur la liste des utilisateurs",
|
||||
"app.navBar.toggleUserList.ariaLabel": "Basculer sur les utilisateurs et les messages",
|
||||
"app.navBar.userListToggleBtnLabel": "Affichage de la liste des utilisateurs",
|
||||
"app.navBar.toggleUserList.ariaLabel": "Affichage des utilisateurs et des messages",
|
||||
"app.navBar.toggleUserList.newMessages": "avec notification des nouveaux messages",
|
||||
"app.navBar.recording": "Cette session est enregistrée",
|
||||
"app.navBar.recording.on": "Enregistrement en cours",
|
||||
"app.navBar.recording.off": "Pas d'enregistrement en cours",
|
||||
"app.navBar.emptyAudioBrdige": "Pas de microphone actif. Partagez votre microphone pour ajouter du son à cet enregistrement.",
|
||||
"app.navBar.emptyAudioBrdige": "Le microphone n'est pas actif. Partagez votre microphone pour ajouter du son à cet enregistrement.",
|
||||
"app.leaveConfirmation.confirmLabel": "Quitter",
|
||||
"app.leaveConfirmation.confirmDesc": "Vous déconnecte de la conférence",
|
||||
"app.endMeeting.title": "Mettre fin à {0}",
|
||||
"app.endMeeting.description": "Cette action terminera la conférence pour {0} utilisateurs(s) actif(s). Êtes-vous sûr que vous souhaitez terminer cette conférence?",
|
||||
"app.endMeeting.noUserDescription": "Êtes-vous sûr de vouloir terminer cette session ?",
|
||||
"app.endMeeting.contentWarning": "Les messages de discussion, les notes partagées, le contenu du tableau blanc et les documents partagés dans cette conférence ne seront plus directement accessibles ",
|
||||
"app.endMeeting.description": "Cette action mettra fin à la séance pour {0} utilisateurs(s) actif(s). Êtes-vous sûr de vouloir mettre fin à cette séance ?",
|
||||
"app.endMeeting.noUserDescription": "Êtes-vous sûr de vouloir mettre fin à la séance ?",
|
||||
"app.endMeeting.contentWarning": "Les messages de discussion, les notes partagées, le contenu du tableau blanc et les documents partagés lors de cette séance ne seront plus accessibles directement ",
|
||||
"app.endMeeting.yesLabel": "Oui",
|
||||
"app.endMeeting.noLabel": "Non",
|
||||
"app.about.title": "À propos",
|
||||
@ -349,45 +350,45 @@
|
||||
"app.about.confirmDesc": "OK",
|
||||
"app.about.dismissLabel": "Annuler",
|
||||
"app.about.dismissDesc": "Fermer l'information client",
|
||||
"app.actionsBar.changeStatusLabel": "Changer statut",
|
||||
"app.actionsBar.muteLabel": "Rendre muet",
|
||||
"app.actionsBar.changeStatusLabel": "Changer de statut",
|
||||
"app.actionsBar.muteLabel": "Rendre silencieux",
|
||||
"app.actionsBar.unmuteLabel": "Autoriser à parler",
|
||||
"app.actionsBar.camOffLabel": "Caméra éteinte",
|
||||
"app.actionsBar.raiseLabel": "Lever la main",
|
||||
"app.actionsBar.label": "Barre d'actions",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Restaurer la présentation",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Bouton pour restaurer la présentation après sa fermeture",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Fermer la présentation",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Bouton utilisé pour fermer la présentation",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Rétablir la présentation",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Bouton pour rétablir la fenêtre de présentation après qu'elle ait été réduite",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Réduire la fenêtre de présentation",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Bouton utilisé pour réduire la fenêtre de présentation",
|
||||
"app.screenshare.screenShareLabel" : "Partage d'écran",
|
||||
"app.submenu.application.applicationSectionTitle": "Application",
|
||||
"app.submenu.application.animationsLabel": "Animations",
|
||||
"app.submenu.application.audioFilterLabel": "Filtres audios pour microphone",
|
||||
"app.submenu.application.fontSizeControlLabel": "Taille des caractères",
|
||||
"app.submenu.application.increaseFontBtnLabel": "Augmenter la taille de la police",
|
||||
"app.submenu.application.decreaseFontBtnLabel": "Diminuer la taille de la police",
|
||||
"app.submenu.application.increaseFontBtnLabel": "Augmenter la taille des caractères",
|
||||
"app.submenu.application.decreaseFontBtnLabel": "Diminuer la taille des caractères",
|
||||
"app.submenu.application.currentSize": "actuellement {0}",
|
||||
"app.submenu.application.languageLabel": "Langue de l'application",
|
||||
"app.submenu.application.languageOptionLabel": "Choisir la langue",
|
||||
"app.submenu.application.noLocaleOptionLabel": "Pas de « locales » actives",
|
||||
"app.submenu.application.paginationEnabledLabel": "Pagination vidéo",
|
||||
"app.submenu.application.noLocaleOptionLabel": "Aucune langue d'application détectée",
|
||||
"app.submenu.application.paginationEnabledLabel": "Pagination de la vidéo",
|
||||
"app.submenu.application.layoutOptionLabel": "Type de mise en page",
|
||||
"app.submenu.notification.SectionTitle": "Notifications",
|
||||
"app.submenu.notification.Desc": "Définissez comment et ce pour quoi vous serez averti.",
|
||||
"app.submenu.notification.Desc": "Gestion des notifications",
|
||||
"app.submenu.notification.audioAlertLabel": "Alerte sonore",
|
||||
"app.submenu.notification.pushAlertLabel": "Message d'alerte",
|
||||
"app.submenu.notification.messagesLabel": "Fil de discussion",
|
||||
"app.submenu.notification.userJoinLabel": "Rejoindre l'utilisateur",
|
||||
"app.submenu.notification.userLeaveLabel": "Utilisateur a quitté",
|
||||
"app.submenu.notification.guestWaitingLabel": "Invité en attente d'approbation",
|
||||
"app.submenu.audio.micSourceLabel": "Source du micro",
|
||||
"app.submenu.audio.speakerSourceLabel": "Source du haut-parleur",
|
||||
"app.submenu.notification.userJoinLabel": "L'utilisateur a rejoint la réunion",
|
||||
"app.submenu.notification.userLeaveLabel": "L'utilisateur a quitté la réunion",
|
||||
"app.submenu.notification.guestWaitingLabel": "Invité en attente d'approbation pour accéder",
|
||||
"app.submenu.audio.micSourceLabel": "Choix du micro",
|
||||
"app.submenu.audio.speakerSourceLabel": "Choix du haut-parleur",
|
||||
"app.submenu.audio.streamVolumeLabel": "Volume de votre flux audio",
|
||||
"app.submenu.video.title": "Vidéo",
|
||||
"app.submenu.video.videoSourceLabel": "Source de la vue",
|
||||
"app.submenu.video.videoOptionLabel": "Choisir la source de la vue",
|
||||
"app.submenu.video.videoQualityLabel": "Qualité vidéo",
|
||||
"app.submenu.video.qualityOptionLabel": "Choisissez la qualité vidéo",
|
||||
"app.submenu.video.videoSourceLabel": "Choix de la source pour l'affichage",
|
||||
"app.submenu.video.videoOptionLabel": "Choisir la source pour l'affichage",
|
||||
"app.submenu.video.videoQualityLabel": "Qualité de la vidéo",
|
||||
"app.submenu.video.qualityOptionLabel": "Choisissez la qualité de la vidéo",
|
||||
"app.submenu.video.participantsCamLabel": "Voir les webcams des participants",
|
||||
"app.settings.applicationTab.label": "Application",
|
||||
"app.settings.audioTab.label": "Audio",
|
||||
@ -396,12 +397,12 @@
|
||||
"app.settings.main.label": "Paramètres",
|
||||
"app.settings.main.cancel.label": "Annuler",
|
||||
"app.settings.main.cancel.label.description": "Annule les changements et ferme le menu des paramètres",
|
||||
"app.settings.main.save.label": "Sauvegarder",
|
||||
"app.settings.main.save.label.description": "Sauvegarde les changements et ferme le menu des paramètres",
|
||||
"app.settings.main.save.label": "Enregistrer",
|
||||
"app.settings.main.save.label.description": "Enregistre les changements et ferme le menu des paramètres",
|
||||
"app.settings.dataSavingTab.label": "Économies de données",
|
||||
"app.settings.dataSavingTab.webcam": "Activer les webcams",
|
||||
"app.settings.dataSavingTab.screenShare": "Activer le partage de bureau",
|
||||
"app.settings.dataSavingTab.description": "Pour économiser votre bande passante, ajustez ce qui est actuellement affiché.",
|
||||
"app.settings.dataSavingTab.webcam": "Activer les webcams des autres participants",
|
||||
"app.settings.dataSavingTab.screenShare": "Activer le partage d'écran",
|
||||
"app.settings.dataSavingTab.description": "Pour économiser votre bande passante, ajustez l'affichage actuel.",
|
||||
"app.settings.save-notification.label": "Les paramètres ont été enregistrés",
|
||||
"app.statusNotifier.lowerHands": "Mains baissées",
|
||||
"app.statusNotifier.raisedHandsTitle": "Mains levées",
|
||||
@ -410,57 +411,57 @@
|
||||
"app.statusNotifier.and": "et",
|
||||
"app.switch.onLabel": "ON",
|
||||
"app.switch.offLabel": "OFF",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Sélectionner pour rendre muet l'utilisateur",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Sélectionner pour rendre l'utilisateur silencieux",
|
||||
"app.talkingIndicator.isTalking" : "{0} est en train de parler",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ parlent",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ parlaient",
|
||||
"app.talkingIndicator.wasTalking" : "{0} a cessé de parler",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Actions",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Gérer la présentation",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Débuter un sondage",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Gérer les documents de présentation",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Préparer un sondage",
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Partager votre écran",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Partage d'écran verrouillé",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Cesser le partage d'écran",
|
||||
"app.actionsBar.actionsDropdown.presentationDesc": "Charger votre présentation",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "Débuter un sondage",
|
||||
"app.actionsBar.actionsDropdown.desktopShareDesc": "Partager votre écran avec d'autres",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Cesser de partager votre écran avec",
|
||||
"app.actionsBar.actionsDropdown.pollBtnLabel": "Débuter un sondage",
|
||||
"app.actionsBar.actionsDropdown.pollBtnDesc": "Basculer le volet de sondage",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "Préparer un sondage",
|
||||
"app.actionsBar.actionsDropdown.desktopShareDesc": "Partager votre écran avec les autres participants",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "Cesser de partager votre écran ",
|
||||
"app.actionsBar.actionsDropdown.pollBtnLabel": "Lancer un sondage",
|
||||
"app.actionsBar.actionsDropdown.pollBtnDesc": "Affiche/cache le volet de sondage",
|
||||
"app.actionsBar.actionsDropdown.saveUserNames": "Sauvegarder les noms d'utilisateur",
|
||||
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Créer des réunions privées",
|
||||
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "Créer des réunions privées pour scinder la réunion en cours",
|
||||
"app.actionsBar.actionsDropdown.captionsLabel": "Écriture des sous-titres",
|
||||
"app.actionsBar.actionsDropdown.captionsDesc": "Basculer le volet des sous-titres",
|
||||
"app.actionsBar.actionsDropdown.captionsLabel": "Écrire des sous-titres SME",
|
||||
"app.actionsBar.actionsDropdown.captionsDesc": "Affiche/cache le volet des sous-titres",
|
||||
"app.actionsBar.actionsDropdown.takePresenter": "Devenir présentateur",
|
||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "S'assigner comme nouveau présentateur",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Sélectionner un utilisateur aléatoirement",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Sélectionne aléatoirement un utilisateur parmi les participants disponibles",
|
||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Définir le statut",
|
||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Définir votre statut",
|
||||
"app.actionsBar.emojiMenu.awayLabel": "Éloigné",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "Passer votre état à « éloigné »",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "Passer votre statut à « éloigné »",
|
||||
"app.actionsBar.emojiMenu.raiseHandLabel": "Lever la main",
|
||||
"app.actionsBar.emojiMenu.lowerHandLabel": "Abaisser la main",
|
||||
"app.actionsBar.emojiMenu.raiseHandDesc": "Lever la main pour poser une question",
|
||||
"app.actionsBar.emojiMenu.neutralLabel": "Indécis",
|
||||
"app.actionsBar.emojiMenu.neutralDesc": "Passer votre état à « indécis »",
|
||||
"app.actionsBar.emojiMenu.neutralDesc": "Passer votre statut à « indécis »",
|
||||
"app.actionsBar.emojiMenu.confusedLabel": "Désorienté",
|
||||
"app.actionsBar.emojiMenu.confusedDesc": "Passer votre état à « désorienté »",
|
||||
"app.actionsBar.emojiMenu.confusedDesc": "Passer votre statut à « désorienté »",
|
||||
"app.actionsBar.emojiMenu.sadLabel": "Triste",
|
||||
"app.actionsBar.emojiMenu.sadDesc": "Passer votre état à « triste »",
|
||||
"app.actionsBar.emojiMenu.sadDesc": "Passer votre statut à « triste »",
|
||||
"app.actionsBar.emojiMenu.happyLabel": "Ravi",
|
||||
"app.actionsBar.emojiMenu.happyDesc": "Passer votre état à « ravi »",
|
||||
"app.actionsBar.emojiMenu.noneLabel": "Effacer votre état",
|
||||
"app.actionsBar.emojiMenu.happyDesc": "Passer votre statut à « ravi »",
|
||||
"app.actionsBar.emojiMenu.noneLabel": "Effacer votre statut",
|
||||
"app.actionsBar.emojiMenu.noneDesc": "Effacer votre statut",
|
||||
"app.actionsBar.emojiMenu.applauseLabel": "Applaudissements",
|
||||
"app.actionsBar.emojiMenu.applauseDesc": "Passer votre état à « applaudissements »",
|
||||
"app.actionsBar.emojiMenu.applauseDesc": "Passer votre statut à « applaudissements »",
|
||||
"app.actionsBar.emojiMenu.thumbsUpLabel": "Favorable",
|
||||
"app.actionsBar.emojiMenu.thumbsUpDesc": "Passer votre statut à « favorable »",
|
||||
"app.actionsBar.emojiMenu.thumbsDownLabel": "Défavorable",
|
||||
"app.actionsBar.emojiMenu.thumbsDownDesc": "Passer votre statut à « défavorable »",
|
||||
"app.actionsBar.currentStatusDesc": "statut actuel {0}",
|
||||
"app.actionsBar.captions.start": "Démarrer l'affichage des sous-titres",
|
||||
"app.actionsBar.captions.stop": "Arrêter l'affichage des sous-titres",
|
||||
"app.actionsBar.captions.stop": "Arrêter l'affichage des sous-titres SEM",
|
||||
"app.audioNotification.audioFailedError1001": "WebSocket déconnecté (erreur 1001)",
|
||||
"app.audioNotification.audioFailedError1002": "Échec de la connexion WebSocket (erreur 1002)",
|
||||
"app.audioNotification.audioFailedError1003": "Version du navigateur non supportée (erreur 1003)",
|
||||
@ -473,12 +474,12 @@
|
||||
"app.audioNotification.audioFailedError1010": "Délai dépassé durant la négociation (erreur ICE 1010)",
|
||||
"app.audioNotification.audioFailedError1011": "Délai d'attente de connexion dépassé (erreur ICE 1011)",
|
||||
"app.audioNotification.audioFailedError1012": "Connexion fermée (erreur ICE 1012)",
|
||||
"app.audioNotification.audioFailedMessage": "Votre connexion audio a échoué",
|
||||
"app.audioNotification.audioFailedMessage": "Votre connexion en mode audio a échoué",
|
||||
"app.audioNotification.mediaFailedMessage": "getUserMicMedia a échoué car seules les origines sécurisées sont autorisées",
|
||||
"app.audioNotification.closeLabel": "Fermer",
|
||||
"app.audioNotificaion.reconnectingAsListenOnly": "Le microphone est verrouillé pour les participants, vous êtes connecté en mode écoute uniquement.",
|
||||
"app.breakoutJoinConfirmation.title": "Rejoindre la salle de groupe",
|
||||
"app.breakoutJoinConfirmation.message": "Voulez-vous rejoindre",
|
||||
"app.breakoutJoinConfirmation.title": "Rejoindre la réunion privée",
|
||||
"app.breakoutJoinConfirmation.message": "Voulez-vous rejoindre la séance",
|
||||
"app.breakoutJoinConfirmation.confirmDesc": "Rejoignez la réunion privée",
|
||||
"app.breakoutJoinConfirmation.dismissLabel": "Annuler",
|
||||
"app.breakoutJoinConfirmation.dismissDesc": "Fermer et refuser d'entrer dans la réunion privée",
|
||||
@ -486,16 +487,16 @@
|
||||
"app.breakoutTimeRemainingMessage": "Temps restant dans la réunion privée : {0}",
|
||||
"app.breakoutWillCloseMessage": "Le temps s'est écoulé. La réunion privée fermera bientôt",
|
||||
"app.calculatingBreakoutTimeRemaining": "Calcul du temps restant...",
|
||||
"app.audioModal.ariaTitle": "Fenêtre modale pour joindre en audio",
|
||||
"app.audioModal.ariaTitle": "Fenêtre modale pour joindre la réunion en audio",
|
||||
"app.audioModal.microphoneLabel": "Microphone",
|
||||
"app.audioModal.listenOnlyLabel": "Écoute seule",
|
||||
"app.audioModal.microphoneDesc": "Rejoint la conférence audio avec le micro",
|
||||
"app.audioModal.listenOnlyDesc": "Rejoint la conférence audio en écoute uniquement",
|
||||
"app.audioModal.audioChoiceLabel": "Voulez-vous rejoindre l'audio ?",
|
||||
"app.audioModal.microphoneDesc": "Rejoint la réunion audio en utilisant un micro",
|
||||
"app.audioModal.listenOnlyDesc": "Rejoint la réunion audio en écoute seule",
|
||||
"app.audioModal.audioChoiceLabel": "Comment désirez-vous rejoindre la réunion audio ?",
|
||||
"app.audioModal.iOSBrowser": "Audio / Vidéo non pris en charge",
|
||||
"app.audioModal.iOSErrorDescription": "Actuellement l'audio et la vidéo ne sont pas supportés par Chrome sur iOS.",
|
||||
"app.audioModal.iOSErrorDescription": "Actuellement l'audio et la vidéo ne sont pas pris en charge par Chrome sur iOS.",
|
||||
"app.audioModal.iOSErrorRecommendation": "Nous recommandons d'utiliser Safari iOS.",
|
||||
"app.audioModal.audioChoiceDesc": "Sélectionnez comment rejoindre l'audio de cette conférence",
|
||||
"app.audioModal.audioChoiceDesc": "Choisissez de quelle manière vous rejoignez l'audio de la réunion",
|
||||
"app.audioModal.unsupportedBrowserLabel": "Il semble que vous utilisiez un navigateur qui n'est pas totalement pris en charge. Veuillez utiliser {0} ou {1} pour une meilleure prise en charge.",
|
||||
"app.audioModal.closeLabel": "Fermer",
|
||||
"app.audioModal.yes": "Oui",
|
||||
@ -504,11 +505,11 @@
|
||||
"app.audioModal.no.arialabel" : "Écho désactivé",
|
||||
"app.audioModal.echoTestTitle": "Ceci est un test d'écho privé. Prononcez quelques mots. Les avez-vous entendus ?",
|
||||
"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 au microphone soit autorisé, la page doit être servie via HTTPS. Veuillez contacter l'administrateur du serveur.",
|
||||
"app.audioModal.helpTitle": "Il y a un problème avec vos périphériques média",
|
||||
"app.audioModal.helpText": "Avez-vous donné l'autorisation d'accéder à votre microphone ? Notez qu'une boîte de dialogue doit apparaître lorsque vous essayez de rejoindre l'audio, demandant l'autorisation pour l'utilisation de votre microphone. 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 au microphone soit autorisé, la page doit être desservie 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.audioModal.audioDialTitle": "Rejoindre la réunion à l'aide de 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 besoin de votre autorisation pour activer le son.",
|
||||
@ -517,20 +518,20 @@
|
||||
"app.audioDial.tipIndicator": "Astuce",
|
||||
"app.audioDial.tipMessage": "Appuyez sur la touche « 0 » de votre téléphone afin d'activer/désactiver votre microphone.",
|
||||
"app.audioModal.connecting": "Connexion audio en cours",
|
||||
"app.audioManager.joinedAudio": "Vous avez rejoint la conférence audio",
|
||||
"app.audioManager.joinedEcho": "Vous avez rejoint le test d'écho",
|
||||
"app.audioManager.leftAudio": "Vous avez quitté la conférence audio",
|
||||
"app.audioManager.joinedAudio": "Vous avez rejoint la réunion en audio",
|
||||
"app.audioManager.joinedEcho": "Vous participez à un test d'écho",
|
||||
"app.audioManager.leftAudio": "Vous avez quitté l'audio de la réunion",
|
||||
"app.audioManager.reconnectingAudio": "Tentative de reconnexion audio",
|
||||
"app.audioManager.genericError": "Erreur : une erreur s'est produite, veuillez réessayez",
|
||||
"app.audioManager.connectionError": "Erreur : erreur de connexion",
|
||||
"app.audioManager.requestTimeout": "Erreur : un délai est dépassé dans la requête",
|
||||
"app.audioManager.requestTimeout": "Erreur : le délai pour la requête est dépassé",
|
||||
"app.audioManager.invalidTarget": "Erreur : tentative de requête sur une destination invalide",
|
||||
"app.audioManager.mediaError": "Erreur : il y a un problème pour obtenir vos périphériques multimédias",
|
||||
"app.audio.joinAudio": "Rejoindre l'audio",
|
||||
"app.audio.leaveAudio": "Quitter l'audio",
|
||||
"app.audio.changeAudioDevice": "Modifier le périphérique audio",
|
||||
"app.audio.enterSessionLabel": "Entrer une session",
|
||||
"app.audio.playSoundLabel": "Jouer son",
|
||||
"app.audioManager.mediaError": "Erreur : il y a un problème dans l'accès à vos périphériques multimédias",
|
||||
"app.audio.joinAudio": "Rejoindre la réunion en audio",
|
||||
"app.audio.leaveAudio": "Quitter l'audio de la réunion",
|
||||
"app.audio.changeAudioDevice": "Changer de périphérique audio",
|
||||
"app.audio.enterSessionLabel": "Rejoindre la séance",
|
||||
"app.audio.playSoundLabel": "Jouer un son",
|
||||
"app.audio.backLabel": "Retour",
|
||||
"app.audio.loading": "Chargement en cours",
|
||||
"app.audio.microphones": "Microphones",
|
||||
@ -538,35 +539,35 @@
|
||||
"app.audio.noDeviceFound": "Aucun appareil trouvé",
|
||||
"app.audio.audioSettings.titleLabel": "Choisissez vos paramètres audio",
|
||||
"app.audio.audioSettings.descriptionLabel": "Veuillez noter qu'une boîte de dialogue apparaîtra dans votre navigateur, vous demandant d'accepter le partage de votre micro.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Source du micro",
|
||||
"app.audio.audioSettings.speakerSourceLabel": "Source du haut-parleur",
|
||||
"app.audio.audioSettings.microphoneStreamLabel": "Le volume de votre flux audio",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Choix du micro",
|
||||
"app.audio.audioSettings.speakerSourceLabel": "Choix du haut-parleur",
|
||||
"app.audio.audioSettings.microphoneStreamLabel": "Volume de votre flux audio",
|
||||
"app.audio.audioSettings.retryLabel": "Réessayer",
|
||||
"app.audio.listenOnly.backLabel": "Retour",
|
||||
"app.audio.listenOnly.closeLabel": "Fermer",
|
||||
"app.audio.permissionsOverlay.title": "Autoriser BigBlueButton à utiliser vos périphériques multimédias",
|
||||
"app.audio.permissionsOverlay.title": "Autoriser BigBlueButton à utiliser votre micro",
|
||||
"app.audio.permissionsOverlay.hint": "Il est nécessaire que vous nous autorisiez à utiliser vos appareils multimédias pour que vous puissiez rejoindre la conférence vocale :)",
|
||||
"app.error.removed": "Vous avez été retiré de la conférence",
|
||||
"app.error.meeting.ended": "Vous avez été déconnecté de la conférence",
|
||||
"app.meeting.logout.duplicateUserEjectReason": "Utilisateur en double essayant de rejoindre une réunion",
|
||||
"app.meeting.logout.permissionEjectReason": "Éjecté en raison d'une violation de permission",
|
||||
"app.meeting.logout.duplicateUserEjectReason": " Un compte déjà connecté tente de rejoindre la réunion",
|
||||
"app.meeting.logout.permissionEjectReason": "Expulsé en raison d'une violation de permission",
|
||||
"app.meeting.logout.ejectedFromMeeting": "Vous avez été retiré de la réunion",
|
||||
"app.meeting.logout.validateTokenFailedEjectReason": "Échec de la validation du jeton d'autorisation",
|
||||
"app.meeting.logout.userInactivityEjectReason": "Utilisateur inactif trop longtemps",
|
||||
"app.meeting.logout.validateTokenFailedEjectReason": "Le jeton d'autorisation n'a pas pu être validé",
|
||||
"app.meeting.logout.userInactivityEjectReason": "Utilisateur trop longtemps inactif ",
|
||||
"app.meeting-ended.rating.legendLabel": "Évaluation",
|
||||
"app.meeting-ended.rating.starLabel": "Favori",
|
||||
"app.modal.close": "Fermer",
|
||||
"app.modal.close.description": "Annule les changements et ferme la fenêtre modale",
|
||||
"app.modal.close.description": "Annule les changements et ferme la fenêtre de dialogue",
|
||||
"app.modal.confirm": "Terminé",
|
||||
"app.modal.newTab": "(ouvre un nouvel onglet)",
|
||||
"app.modal.confirm.description": "Sauvegarde les changements et ferme la fenêtre modale",
|
||||
"app.modal.confirm.description": "Enregistre les changements et ferme la fenêtre de dialogue",
|
||||
"app.modal.randomUser.noViewers.description": "Pas de participant disponible pour une sélection aléatoire",
|
||||
"app.modal.randomUser.selected.description": "Vous avez été sélectionné aléatoirement",
|
||||
"app.modal.randomUser.title": "Utilisateur sélectionné aléatoirement",
|
||||
"app.modal.randomUser.who": "Qui sera sélectionné ?",
|
||||
"app.modal.randomUser.alone": "Il n'y a qu'un seul participant",
|
||||
"app.modal.randomUser.reselect.label": "Sélectionner de nouveau",
|
||||
"app.modal.randomUser.ariaLabel.title": "Modale de sélection aléatoire des utilisateurs",
|
||||
"app.modal.randomUser.reselect.label": "Sélectionner à nouveau",
|
||||
"app.modal.randomUser.ariaLabel.title": "Fenêtre de sélection aléatoire des utilisateurs",
|
||||
"app.dropdown.close": "Fermer",
|
||||
"app.dropdown.list.item.activeLabel": "Actif",
|
||||
"app.error.400": "Mauvaise requête",
|
||||
@ -577,35 +578,35 @@
|
||||
"app.error.410": "La conférence est terminée",
|
||||
"app.error.500": "Oups, quelque chose s'est mal passé",
|
||||
"app.error.userLoggedOut": "Le jeton de session est invalide car l'utilisateur est déconnecté",
|
||||
"app.error.ejectedUser": "Le jeton de session est invalide car l'utilisateur a été éjecté",
|
||||
"app.error.ejectedUser": "Le jeton de session est invalide car l'utilisateur a été expulsé",
|
||||
"app.error.userBanned": "L'utilisateur a été banni",
|
||||
"app.error.leaveLabel": "Connectez-vous à nouveau",
|
||||
"app.error.fallback.presentation.title": "Une erreur s'est produite",
|
||||
"app.error.fallback.presentation.description": "Il a été connecté. Essayez de recharger la page.",
|
||||
"app.error.fallback.presentation.description": "Cela a été consigné. Essayez de recharger la page s'il vous plaît.",
|
||||
"app.error.fallback.presentation.reloadButton": "Recharger",
|
||||
"app.guest.waiting": "En attente de l'approbation d'adhésion",
|
||||
"app.guest.waiting": "En attente de l'approbation pour rejoindre la séance",
|
||||
"app.guest.errorSeeConsole": "Erreur: plus de détail dans la console",
|
||||
"app.guest.noModeratorResponse": "Aucune réponse du modérateur.",
|
||||
"app.guest.noSessionToken": "Aucun jeton de session reçu.",
|
||||
"app.guest.windowTitle": "Salle d'attente",
|
||||
"app.guest.windowTitle": "Salon d'acceuil",
|
||||
"app.guest.missingToken": "L'invité n'a pas de jeton de session",
|
||||
"app.guest.missingSession": "L'invité n'a pas de session",
|
||||
"app.guest.missingSession": "L'invité manque la séance",
|
||||
"app.guest.missingMeeting": "La conférence n'existe pas.",
|
||||
"app.guest.meetingEnded": "La conférence est terminée.",
|
||||
"app.guest.guestWait": "Veuillez attendre qu'un modérateur valide votre accès à la conférence.",
|
||||
"app.guest.guestWait": "Veuillez attendre qu'un modérateur approuve votre accès à la conférence.",
|
||||
"app.guest.guestDeny": "L'accès à la conférence a été refusé.",
|
||||
"app.guest.seatWait": "L'invité attend une place dans la conférence.",
|
||||
"app.guest.allow": "Invité approuvé et redirigé vers la conférence",
|
||||
"app.guest.allow": "Invité approuvé et redirigé vers la réunion",
|
||||
"app.userList.guest.waitingUsers": "Utilisateurs en attente",
|
||||
"app.userList.guest.waitingUsersTitle": "Gestion des utilisateurs",
|
||||
"app.userList.guest.optionTitle": "Examiner les utilisateurs en attente",
|
||||
"app.userList.guest.allowAllAuthenticated": "Autoriser tout authentifié",
|
||||
"app.userList.guest.optionTitle": "Vérifier les utilisateurs en attente",
|
||||
"app.userList.guest.allowAllAuthenticated": "Autoriser tout utilisateur authentifié",
|
||||
"app.userList.guest.allowAllGuests": "Autoriser tous les invités",
|
||||
"app.userList.guest.allowEveryone": "Autoriser tout le monde",
|
||||
"app.userList.guest.denyEveryone": "Rejeter tout le monde",
|
||||
"app.userList.guest.denyEveryone": "Rejeter toutes les demandes",
|
||||
"app.userList.guest.pendingUsers": "{0} utilisateurs en attente",
|
||||
"app.userList.guest.pendingGuestUsers": "{0} utilisateurs invités en attente",
|
||||
"app.userList.guest.pendingGuestAlert": "A rejoint la session et attend votre approbation.",
|
||||
"app.userList.guest.pendingGuestAlert": "A rejoint la séance et attend votre approbation.",
|
||||
"app.userList.guest.rememberChoice": "Se rappeler du choix",
|
||||
"app.userList.guest.emptyMessage": "Il n'y a actuellement aucun message ",
|
||||
"app.userList.guest.inputPlaceholder": "Message aux invités en attente",
|
||||
@ -616,48 +617,48 @@
|
||||
"app.toast.chat.public": "Nouveau message de discussion publique",
|
||||
"app.toast.chat.private": "Nouveau message de discussion privée",
|
||||
"app.toast.chat.system": "Système",
|
||||
"app.toast.clearedEmoji.label": "Statut emoticône effacé",
|
||||
"app.toast.setEmoji.label": "Statut emoticône défini sur {0}",
|
||||
"app.toast.meetingMuteOn.label": "Tous les utilisateurs ont été rendus muets",
|
||||
"app.toast.meetingMuteOff.label": "Réunion muette désactivée",
|
||||
"app.toast.clearedEmoji.label": "Emoticône de statut effacé",
|
||||
"app.toast.setEmoji.label": "Emoticône de statut défini sur {0}",
|
||||
"app.toast.meetingMuteOn.label": "Tous les utilisateurs ont été rendus silencieux",
|
||||
"app.toast.meetingMuteOff.label": "Mode silencieux désactivé",
|
||||
"app.toast.setEmoji.raiseHand": "Vous avez levé la main",
|
||||
"app.toast.setEmoji.lowerHand": "Vous avez baissé la main",
|
||||
"app.notification.recordingStart": "Cette session est maintenant enregistrée",
|
||||
"app.notification.recordingStop": "Cette session n'est pas enregistrée",
|
||||
"app.notification.recordingPaused": "Cette session n'est maintenant plus enregistrée",
|
||||
"app.notification.recordingAriaLabel": "Temps enregistré",
|
||||
"app.notification.userJoinPushAlert": "{0} s'est joint à la session",
|
||||
"app.notification.userLeavePushAlert": "{0} a quitté la conférence",
|
||||
"app.notification.recordingStart": "Cette réunion est maintenant enregistrée",
|
||||
"app.notification.recordingStop": "Cette réunion n'est pas enregistrée",
|
||||
"app.notification.recordingPaused": "Cette réunion n'est désormais plus enregistrée",
|
||||
"app.notification.recordingAriaLabel": "Temps d'enregistrement",
|
||||
"app.notification.userJoinPushAlert": "{0} a rejoint la séance",
|
||||
"app.notification.userLeavePushAlert": "{0} a quitté la séance",
|
||||
"app.submenu.notification.raiseHandLabel": "Lever la main",
|
||||
"app.shortcut-help.title": "Raccourcis clavier",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Clés d'accès non disponibles",
|
||||
"app.shortcut-help.comboLabel": "Combo",
|
||||
"app.shortcut-help.functionLabel": "Fonction",
|
||||
"app.shortcut-help.closeLabel": "Fermer",
|
||||
"app.shortcut-help.closeDesc": "Ferme la fenêtre modale des raccourcis clavier",
|
||||
"app.shortcut-help.closeDesc": "Ferme la fenêtre de visualisation des raccourcis clavier",
|
||||
"app.shortcut-help.openOptions": "Ouvrir les options",
|
||||
"app.shortcut-help.toggleUserList": "Basculer la liste d'utilisateurs",
|
||||
"app.shortcut-help.toggleMute": "Activer / Désactiver le mode muet",
|
||||
"app.shortcut-help.toggleUserList": "Affiche/Cache la liste d'utilisateurs",
|
||||
"app.shortcut-help.toggleMute": "Activer / Désactiver le mode silencieux",
|
||||
"app.shortcut-help.togglePublicChat": "Basculer la discussion en mode discussion publique (la liste des utilisateurs doit être ouverte)",
|
||||
"app.shortcut-help.hidePrivateChat": "Masquer la discussion privée",
|
||||
"app.shortcut-help.closePrivateChat": "Fermer la discussion privée",
|
||||
"app.shortcut-help.openActions": "Ouvrir le menu des actions",
|
||||
"app.shortcut-help.raiseHand": "Basculer Main Levée",
|
||||
"app.shortcut-help.raiseHand": "Affiche/cache la main Levée",
|
||||
"app.shortcut-help.openDebugWindow": "Ouvrir la fenêtre de débogage",
|
||||
"app.shortcut-help.openStatus": "Ouvrir le menu de statut",
|
||||
"app.shortcut-help.togglePan": "Activer l'outil panoramique (présentateur)",
|
||||
"app.shortcut-help.toggleFullscreen": "Basculer le mode plein-écran (Présentateur)",
|
||||
"app.shortcut-help.nextSlideDesc": "Diapositive suivante (présentateur)",
|
||||
"app.shortcut-help.previousSlideDesc": "Diapositive précédente (présentateur)",
|
||||
"app.lock-viewers.title": "Verrouiller les participants",
|
||||
"app.lock-viewers.title": "Limiter la communication des participants",
|
||||
"app.lock-viewers.description": "Ces options vous permettent de restreindre l'utilisation de certaines fonctionnalités par les participants.",
|
||||
"app.lock-viewers.featuresLable": "Fonctionnalité",
|
||||
"app.lock-viewers.lockStatusLabel": "Statut",
|
||||
"app.lock-viewers.webcamLabel": "Partager webcam",
|
||||
"app.lock-viewers.otherViewersWebcamLabel": "Voir les webcams des autres participants ",
|
||||
"app.lock-viewers.microphoneLable": "Partager le microphone",
|
||||
"app.lock-viewers.PublicChatLabel": "Envoyer des messages de discussion publique",
|
||||
"app.lock-viewers.PrivateChatLable": "Envoyer des messages de discussion privée",
|
||||
"app.lock-viewers.PublicChatLabel": "Envoyer des messages publics",
|
||||
"app.lock-viewers.PrivateChatLable": "Envoyer des messages privés",
|
||||
"app.lock-viewers.notesLabel": "Éditer les notes partagées",
|
||||
"app.lock-viewers.userListLabel": "Voir les autres participants dans la liste des utilisateurs",
|
||||
"app.lock-viewers.ariaTitle": "Verrouiller la fenêtre de paramètres des participants",
|
||||
@ -665,13 +666,13 @@
|
||||
"app.lock-viewers.button.cancel": "Annuler",
|
||||
"app.lock-viewers.locked": "Verrouillé",
|
||||
"app.lock-viewers.unlocked": "Déverrouillé",
|
||||
"app.guest-policy.ariaTitle": "Modale des paramètres de la politique d'invité",
|
||||
"app.guest-policy.title": "Politique d'invité",
|
||||
"app.guest-policy.description": "Modifier le paramétrage de la politique d'invité de la réunion ",
|
||||
"app.guest-policy.ariaTitle": "Fenêtre des paramètres de gestion des accès",
|
||||
"app.guest-policy.title": "Gestion des accès",
|
||||
"app.guest-policy.description": "Modifier le paramétrage de la gestion des accès à la réunion ",
|
||||
"app.guest-policy.button.askModerator": "Demander au modérateur",
|
||||
"app.guest-policy.button.alwaysAccept": "Toujours accepter",
|
||||
"app.guest-policy.button.alwaysDeny": "Toujours refuser",
|
||||
"app.guest-policy.policyBtnDesc": "Défini le paramétrage de la politique d'invité pour la conférence",
|
||||
"app.guest-policy.policyBtnDesc": "Défini le paramétrage pour la gestion des accès à la réunion",
|
||||
"app.connection-status.ariaTitle": "État de la connexion visible",
|
||||
"app.connection-status.title": "État de la connexion",
|
||||
"app.connection-status.description": "Voir l'état de la connexion des utilisateurs",
|
||||
@ -680,16 +681,16 @@
|
||||
"app.connection-status.copy": "Copier les données réseau",
|
||||
"app.connection-status.copied": "Copié!",
|
||||
"app.connection-status.jitter": "Gigue",
|
||||
"app.connection-status.label": "Statut de connexion",
|
||||
"app.connection-status.label": "Etat de la connexion",
|
||||
"app.connection-status.no": "Non",
|
||||
"app.connection-status.notification": "Une perte de votre connexion a été détectée",
|
||||
"app.connection-status.offline": "Hors ligne",
|
||||
"app.connection-status.lostPackets": "Paquets perdus",
|
||||
"app.connection-status.usingTurn": "TURN utilisé",
|
||||
"app.connection-status.yes": "Oui",
|
||||
"app.learning-dashboard.label": "Tableau de bord d'apprentissage",
|
||||
"app.learning-dashboard.label": "Tableau de bord d'activité des participants",
|
||||
"app.learning-dashboard.description": "Ouvrir le tableau de bord avec les activités des utilisateurs",
|
||||
"app.learning-dashboard.clickHereToOpen": "Ouvrir le tableau de bord d'apprentissage",
|
||||
"app.learning-dashboard.clickHereToOpen": "Ouvrir le tableau de bord d'activité des participants",
|
||||
"app.recording.startTitle": "Commencer l'enregistrement",
|
||||
"app.recording.stopTitle": "Enregistrement en pause",
|
||||
"app.recording.resumeTitle": "Reprendre l'enregistrement",
|
||||
@ -704,7 +705,7 @@
|
||||
"app.videoPreview.cancelLabel": "Annuler",
|
||||
"app.videoPreview.closeLabel": "Fermer",
|
||||
"app.videoPreview.findingWebcamsLabel": "Recherche de webcams",
|
||||
"app.videoPreview.startSharingLabel": "Commencer à partager",
|
||||
"app.videoPreview.startSharingLabel": "Démarrer le partage",
|
||||
"app.videoPreview.stopSharingLabel": "Arrêter le partage",
|
||||
"app.videoPreview.stopSharingAllLabel": "Arrêter tout",
|
||||
"app.videoPreview.sharedCameraLabel": "Cette caméra est déjà utilisée",
|
||||
@ -712,12 +713,13 @@
|
||||
"app.videoPreview.webcamPreviewLabel": "Aperçu de la webcam",
|
||||
"app.videoPreview.webcamSettingsTitle": "Paramètres de la webcam",
|
||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Paramètres d'arrière-plan virtuel",
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "The périphérique ne prend pas en charge les arrière-plans virtuels",
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Le périphérique ne prend pas en charge les arrière-plans virtuels",
|
||||
"app.videoPreview.webcamNotFoundLabel": "Webcam introuvable",
|
||||
"app.videoPreview.profileNotFoundLabel": "Profil de caméra non supporté",
|
||||
"app.video.joinVideo": "Partager webcam",
|
||||
"app.video.connecting": "Le partage de la webcam démarre...",
|
||||
"app.video.leaveVideo": "Arrêtez le partage de la webcam",
|
||||
"app.video.advancedVideo": "Ouvrir les paramètres avancés",
|
||||
"app.video.iceCandidateError": "Erreur lors de l'ajout du candidat ICE",
|
||||
"app.video.iceConnectionStateError": "Échec de connexion (erreur ICE 1107)",
|
||||
"app.video.permissionError": "Erreur lors du partage de la webcam. Veuillez vérifier les permissions",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "La webcam ne peut pas être partagée à cause de problèmes de connexion",
|
||||
"app.video.virtualBackground.none": "Aucun",
|
||||
"app.video.virtualBackground.blur": "Brouiller",
|
||||
"app.video.virtualBackground.home": "Accueil",
|
||||
"app.video.virtualBackground.board": "Tableau",
|
||||
"app.video.virtualBackground.coffeeshop": "Café",
|
||||
"app.video.virtualBackground.background": "Arrière-plan",
|
||||
"app.video.virtualBackground.genericError": "Échec de l'application de l'effet de caméra. Réessayez. ",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Défini l'arrière plan virtuel de caméra à {0}",
|
||||
"app.video.dropZoneLabel": "Déposer ici",
|
||||
@ -789,7 +795,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": "Bleu Dodger",
|
||||
"app.whiteboard.toolbar.color.dodgerBlue": "Dodger blue",
|
||||
"app.whiteboard.toolbar.color.blue": "Bleu",
|
||||
"app.whiteboard.toolbar.color.violet": "Violet",
|
||||
"app.whiteboard.toolbar.color.magenta": "Magenta",
|
||||
@ -798,8 +804,8 @@
|
||||
"app.whiteboard.toolbar.clear": "Effacer toutes les annotations",
|
||||
"app.whiteboard.toolbar.multiUserOn": "Activer le mode multi-utilisateur",
|
||||
"app.whiteboard.toolbar.multiUserOff": "Désactiver le mode multi-utilisateur",
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Activer le rejet du toucher de la peau",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Désactiver le rejet du toucher de la peau",
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Contacts de la paume de la main sur les écrans tactiles : Désactivés",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Contacts de la paume de la main sur écrans tactiles : Activé",
|
||||
"app.whiteboard.toolbar.fontSize": "Liste de tailles de police",
|
||||
"app.whiteboard.toolbarAriaLabel": "Outils de présentation",
|
||||
"app.feedback.title": "Vous avez quitté la conférence",
|
||||
@ -807,12 +813,12 @@
|
||||
"app.feedback.textarea": "Comment pouvons-nous améliorer BigBlueButton ?",
|
||||
"app.feedback.sendFeedback": "Envoyer l'avis",
|
||||
"app.feedback.sendFeedbackDesc": "Envoyer une évaluation et quitter la réunion",
|
||||
"app.videoDock.webcamMirrorLabel": "Miroir",
|
||||
"app.videoDock.webcamMirrorDesc": "Refléter la webcam sélectionnée",
|
||||
"app.videoDock.webcamFocusLabel": "Focus",
|
||||
"app.videoDock.webcamFocusDesc": "Focus sur la webcam sélectionnée",
|
||||
"app.videoDock.webcamUnfocusLabel": "Arrêt du focus",
|
||||
"app.videoDock.webcamUnfocusDesc": "Arrêt du focus sur la webcam sélectionnée",
|
||||
"app.videoDock.webcamMirrorLabel": "Retournement horizontal",
|
||||
"app.videoDock.webcamMirrorDesc": "Retournement horizontal pour la webcam sélectionnée",
|
||||
"app.videoDock.webcamFocusLabel": "Centrer",
|
||||
"app.videoDock.webcamFocusDesc": "Centrer sur la webcam sélectionnée",
|
||||
"app.videoDock.webcamUnfocusLabel": "Arrêter le centrage",
|
||||
"app.videoDock.webcamUnfocusDesc": "Arrêter de centrer sur la webcam sélectionnée",
|
||||
"app.videoDock.autoplayBlockedDesc": "Nous avons besoin de votre permission pour vous montrer les webcams des autres utilisateurs.",
|
||||
"app.videoDock.autoplayAllowLabel": "Voir les webcams",
|
||||
"app.invitation.title": "Invitation à une réunion privée",
|
||||
@ -820,61 +826,61 @@
|
||||
"app.createBreakoutRoom.title": "Salle de réunion privée",
|
||||
"app.createBreakoutRoom.ariaTitle": "Masquer les salles de réunion privées",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Réunions privées {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "Demander à joindre",
|
||||
"app.createBreakoutRoom.askToJoin": "Demander à rejoindre une réunion",
|
||||
"app.createBreakoutRoom.generatingURL": "Générer l'URL",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "Nous sommes en train de générer une URL pour rejoindre le salon du groupe sélectionné. Cela peut prendre quelques secondes...",
|
||||
"app.createBreakoutRoom.duration": "Durée {0}",
|
||||
"app.createBreakoutRoom.room": "Réunion {0}",
|
||||
"app.createBreakoutRoom.notAssigned": "Non attribué ({0})",
|
||||
"app.createBreakoutRoom.join": "Rejoindre la réunion",
|
||||
"app.createBreakoutRoom.joinAudio": "Rejoindre l'audio",
|
||||
"app.createBreakoutRoom.returnAudio": "Retour audio",
|
||||
"app.createBreakoutRoom.joinAudio": "Rejoindre la réunion en audio",
|
||||
"app.createBreakoutRoom.returnAudio": "Retour à l'audio",
|
||||
"app.createBreakoutRoom.alreadyConnected": "Déjà dans la salle",
|
||||
"app.createBreakoutRoom.confirm": "Créer",
|
||||
"app.createBreakoutRoom.record": "Enregistrer",
|
||||
"app.createBreakoutRoom.numberOfRooms": "Nombre de réunions",
|
||||
"app.createBreakoutRoom.durationInMinutes": "Durée (minutes)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Assigner au hasard",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Assigne les utilisateurs aux salle de réunion privée de façon aléatoire",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Terminer toutes les réunions privées",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Affecter aléatoirement",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Affecte les utilisateurs aux salles de réunion privées de manière aléatoire",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Clore toutes les réunions privées",
|
||||
"app.createBreakoutRoom.roomName": "{0} (Réunion - {1})",
|
||||
"app.createBreakoutRoom.doneLabel": "Terminé",
|
||||
"app.createBreakoutRoom.nextLabel": "Suivant",
|
||||
"app.createBreakoutRoom.minusRoomTime": "Diminuer le temps de la réunion privée à",
|
||||
"app.createBreakoutRoom.addRoomTime": "Augmenter le temps de la réunion privée à",
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ Ajouter participant",
|
||||
"app.createBreakoutRoom.freeJoin": "Autoriser les participants à choisir la salle de réunion qu'ils souhaitent rejoindre",
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ Ajouter un participant",
|
||||
"app.createBreakoutRoom.freeJoin": "Autoriser les participants à choisir la salle de réunion privée qu'ils souhaitent rejoindre",
|
||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Vous devez placer au moins un participant dans une réunion privée.",
|
||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "La durée minimum d'une réunion privée est de {0} minutes.",
|
||||
"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.createBreakoutRoom.numberOfRoomsError": "Le nombre de réunions n'est pas valide.",
|
||||
"app.createBreakoutRoom.duplicatedRoomNameError": "Le nom du salon ne peut être dupliqué.",
|
||||
"app.createBreakoutRoom.emptyRoomNameError": "Le nom du salon doit être renseigné.",
|
||||
"app.createBreakoutRoom.extendTimeInMinutes": "Temps de prolongation (minutes)",
|
||||
"app.createBreakoutRoom.extendTimeLabel": "Prolonger",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "Annuler",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "La durée des groupes de salon ne peut dépasser le temps restant du salon.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Mets à jour le nom de la salle de réunion privée",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "La durée des réunions privées ne peut dépasser le temps restant du salon.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Met à jour le nom de la salle de réunion privée",
|
||||
"app.externalVideo.start": "Partager une nouvelle vidéo",
|
||||
"app.externalVideo.title": "Partager une vidéo externe",
|
||||
"app.externalVideo.input": "URL vidéo externe",
|
||||
"app.externalVideo.urlInput": "Ajouter une URL vidéo",
|
||||
"app.externalVideo.urlError": "Cette URL vidéo n'est pas supportée",
|
||||
"app.externalVideo.urlInput": "Ajouter une URL pour la vidéo",
|
||||
"app.externalVideo.urlError": "L'URL de cette vidéo n'est pas prise en charge",
|
||||
"app.externalVideo.close": "Fermer",
|
||||
"app.externalVideo.autoPlayWarning": "Jouer la vidéo pour permettre la synchronisation des médias",
|
||||
"app.externalVideo.refreshLabel": "Rafraîchir le lecteur vidéo",
|
||||
"app.externalVideo.autoPlayWarning": "Lire la vidéo pour permettre la synchronisation des médias",
|
||||
"app.externalVideo.refreshLabel": "Réactualiser le lecteur vidéo",
|
||||
"app.externalVideo.fullscreenLabel": "Lecteur vidéo",
|
||||
"app.externalVideo.noteLabel": "Remarque : les vidéos externes partagées n'apparaîtront pas dans l'enregistrement. Les URL YouTube, Vimeo, Instructure Media, Twitch, Dailymotion et les URL de fichiers multimédias (par exemple https://example.com/xy.mp4) sont pris en charge.",
|
||||
"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",
|
||||
"app.legacy.unsupportedBrowser": "Il semblerait que vous utilisiez un navigateur qui n'est pas supporté. Veuillez utiliser {0} ou {1} pour un support complet.",
|
||||
"app.legacy.upgradeBrowser": "Il semblerait que vous utilisiez une ancienne version d'un navigateur supporté. Veuillez mettre à jour votre navigateur pour un support complet.",
|
||||
"app.legacy.unsupportedBrowser": "Il semblerait que vous utilisiez un navigateur qui n'est pas pris en charge. Veuillez utiliser {0} ou {1} pour une prise en charge complète.",
|
||||
"app.legacy.upgradeBrowser": "Il semblerait que vous utilisiez une ancienne version d'un navigateur pris en charge. Veuillez mettre à jour votre navigateur pour une prise en charge complète.",
|
||||
"app.legacy.criosBrowser": "Sur iOS, veuillez utiliser Safari pour un support complet.",
|
||||
"app.debugWindow.windowTitle": "Debug",
|
||||
"app.debugWindow.form.userAgentLabel": "User Agent",
|
||||
"app.debugWindow.form.button.copy": "copier",
|
||||
"app.debugWindow.form.button.copy": "Copier",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Activer la mise en page automatique",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(il sera désactivé si vous faites glisser ou redimensionnez la zone des webcams)",
|
||||
"app.debugWindow.form.chatLoggerLabel": "Tester les niveaux de logs de la discussion.",
|
||||
@ -885,16 +891,16 @@
|
||||
"app.layout.style.videoFocus": "Centrer sur la vidéo",
|
||||
"app.layout.style.customPush": "Personnalisé (applique la disposition à tous les utilisateurs)",
|
||||
"app.layout.style.smartPush": "Disposition automatique (applique la disposition à tous les utilisateurs)",
|
||||
"app.layout.style.presentationFocusPush": "Focus sur la présentation (applique la disposition à tous les utilisateurs)",
|
||||
"app.layout.style.videoFocusPush": "Focus sur la vidéo (applique la disposition à tous les utilisateurs)",
|
||||
"app.layout.style.presentationFocusPush": "Centre sur la présentation (applique la disposition à tous les utilisateurs)",
|
||||
"app.layout.style.videoFocusPush": "Centrer sur la vidéo (applique la disposition à tous les utilisateurs)",
|
||||
"playback.button.about.aria": "À propos",
|
||||
"playback.button.clear.aria": "Effacer la recherche",
|
||||
"playback.button.close.aria": "Fermer la modale",
|
||||
"playback.button.close.aria": "Fermer la fenêtre de dialogue",
|
||||
"playback.button.fullscreen.aria": "Contenu plein écran",
|
||||
"playback.button.restore.aria": "Rétablir le contenu",
|
||||
"playback.button.search.aria": "Rechercher",
|
||||
"playback.button.section.aria": "Section de côté",
|
||||
"playback.button.swap.aria": "Échanger le contenu",
|
||||
"playback.button.swap.aria": "Permuter le contenu",
|
||||
"playback.error.wrapper.aria": "Zone d'erreur",
|
||||
"playback.loader.wrapper.aria": "Zone de chargement",
|
||||
"playback.player.wrapper.aria": "Zone de lecture",
|
||||
@ -915,17 +921,15 @@
|
||||
"playback.player.search.modal.subtitle": "Trouver le contenu des diapositives de présentation",
|
||||
"playback.player.thumbnails.wrapper.aria": "Zone des vignettes",
|
||||
"playback.player.video.wrapper.aria": "Zone de la vidéo",
|
||||
"app.learningDashboard.dashboardTitle": "Tableau de bord d'apprentissage",
|
||||
"app.learningDashboard.dashboardTitle": "Tableau de bord d'activité des participants",
|
||||
"app.learningDashboard.user": "Utilisateurs",
|
||||
"app.learningDashboard.shareButton": "Partager",
|
||||
"app.learningDashboard.shareLinkCopied": "Lien copié avec succès",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Terminé",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Actif",
|
||||
"app.learningDashboard.indicators.usersOnline": "Utilisateurs actifs",
|
||||
"app.learningDashboard.indicators.usersTotal": "Nombre total d'utilisateurs",
|
||||
"app.learningDashboard.indicators.polls": "Sondages",
|
||||
"app.learningDashboard.indicators.raiseHand": "Lever la main",
|
||||
"app.learningDashboard.indicators.activityScore": "Pointage pour l'activité",
|
||||
"app.learningDashboard.indicators.activityScore": "Résultats pour l'activité",
|
||||
"app.learningDashboard.indicators.duration": "Durée",
|
||||
"app.learningDashboard.usersTable.title": "Vue d'ensemble",
|
||||
"app.learningDashboard.usersTable.colOnline": "Temps en ligne",
|
||||
@ -934,7 +938,7 @@
|
||||
"app.learningDashboard.usersTable.colMessages": "Messages",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Mains levées",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Pointage pour l'activité",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Résultats pour l'activité",
|
||||
"app.learningDashboard.usersTable.colStatus": "Statut",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "En ligne",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Hors ligne",
|
||||
@ -942,7 +946,7 @@
|
||||
"app.learningDashboard.pollsTable.title": "Voter",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "Sondage anonyme (réponses en dernière ligne) ",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anonyme",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Statut au fil du temp",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Statut au fil du temps",
|
||||
"app.learningDashboard.errors.invalidToken": "Jeton de session invalide",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Les données ne sont plus disponibles"
|
||||
|
||||
|
@ -25,6 +25,8 @@
|
||||
"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",
|
||||
"app.chat.copySuccess": "Copiada a conversa transcrita",
|
||||
"app.chat.copyErr": "Erro ao copiar a conversa transcrita",
|
||||
"app.captions.label": "Lendas",
|
||||
"app.captions.menu.close": "Pechar",
|
||||
"app.captions.menu.start": "Comezar",
|
||||
@ -51,6 +53,7 @@
|
||||
"app.captions.pad.dictationOffDesc": "Desactivar o recoñecemento de voz",
|
||||
"app.captions.pad.speechRecognitionStop": "O recoñecemento de voz detívose por mor da incompatibilidade do navegador ou dalgún tempo de silencio",
|
||||
"app.textInput.sendLabel": "Enviar",
|
||||
"app.title.defaultViewLabel": "Ver presentación por defecto",
|
||||
"app.note.title": "Notas compartidas",
|
||||
"app.note.label": "Nota",
|
||||
"app.note.hideNoteLabel": "Agochar nota",
|
||||
@ -183,6 +186,7 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Axustar ao largo",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Axustar á páxina",
|
||||
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
||||
"app.presentation.placeholder": "Agardando a que se cargue a presentación",
|
||||
"app.presentationUploder.title": "Presentación",
|
||||
"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",
|
||||
@ -229,6 +233,7 @@
|
||||
"app.presentationUploder.itemPlural" : "elementos",
|
||||
"app.presentationUploder.clearErrors": "Limpar os erros",
|
||||
"app.presentationUploder.clearErrorsDesc": "Limpar os envíos de presentación fallados",
|
||||
"app.presentationUploder.uploadViewTitle": "Cargar presentación",
|
||||
"app.poll.pollPaneTitle": "Enquisa",
|
||||
"app.poll.quickPollTitle": "Enquisa rápida",
|
||||
"app.poll.hidePollDesc": "Agochar o panel do menú da enquisa",
|
||||
@ -236,6 +241,8 @@
|
||||
"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.dragDropPollInstruction": "Para encher os valores da enquisa, arrastre un ficheiro de texto cos valores da enquisa ao campo resaltado",
|
||||
"app.poll.customPollTextArea": "Encher os valores da enquisa",
|
||||
"app.poll.publishLabel": "Publicar enquisa",
|
||||
"app.poll.cancelPollLabel": "Cancelar",
|
||||
"app.poll.backLabel": "Iniciar unha enquisa",
|
||||
"app.poll.closeLabel": "Pechar",
|
||||
"app.poll.waitingLabel": "Agardando respostas ({0}/{1})",
|
||||
@ -243,6 +250,8 @@
|
||||
"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.question.label" : "Escriba a súa pregunta...",
|
||||
"app.poll.optionalQuestion.label" : "Escriba a súa pregunta (opcional)...",
|
||||
"app.poll.userResponse.label" : "Resposta do usuario",
|
||||
"app.poll.responseTypes.label" : "Tipos de resposta",
|
||||
"app.poll.optionDelete.label" : "Eliminar",
|
||||
@ -252,6 +261,7 @@
|
||||
"app.poll.start.label" : "Iniciar a enquisa",
|
||||
"app.poll.secretPoll.label" : "Enquisa anónima",
|
||||
"app.poll.secretPoll.isSecretLabel": "A enquisa é anónima; non poderá ver as respostas individuais.",
|
||||
"app.poll.questionErr": "É necesario proporcionar unha pregunta.",
|
||||
"app.poll.optionErr": "Introduza unha opción de enquisa",
|
||||
"app.poll.startPollDesc": "Comeza a votación",
|
||||
"app.poll.showRespDesc": "Amosar a configuración de resposta",
|
||||
@ -281,6 +291,8 @@
|
||||
"app.poll.liveResult.usersTitle": "Usuarios",
|
||||
"app.poll.liveResult.responsesTitle": "Resposta",
|
||||
"app.poll.liveResult.secretLabel": "Esta é unha enquisa anónima. Non se amosan as respostas individuais.",
|
||||
"app.poll.removePollOpt": "Eliminouse a opción de enquisa {0}",
|
||||
"app.poll.emptyPollOpt": "Espazo en branco",
|
||||
"app.polling.pollingTitle": "Opcións da enquisa",
|
||||
"app.polling.pollQuestionTitle": "Pregunta da enquisa",
|
||||
"app.polling.submitLabel": "Enviar",
|
||||
@ -344,6 +356,9 @@
|
||||
"app.actionsBar.raiseLabel": "Erguer",
|
||||
"app.actionsBar.label": "Barra de accións",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Restaurar a presentación",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar a presentación despois de que se minimizou",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar presentación",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar a presentación",
|
||||
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
||||
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
||||
"app.submenu.application.animationsLabel": "Animacións",
|
||||
@ -363,6 +378,7 @@
|
||||
"app.submenu.notification.pushAlertLabel": "Avisos emerxentes",
|
||||
"app.submenu.notification.messagesLabel": "Mensaxe de conversa",
|
||||
"app.submenu.notification.userJoinLabel": "Uniuse un usuario",
|
||||
"app.submenu.notification.userLeaveLabel": "Saída da persoa usuaria",
|
||||
"app.submenu.notification.guestWaitingLabel": "Convidado agardando pola aprobación",
|
||||
"app.submenu.audio.micSourceLabel": "Fonte de micrófono",
|
||||
"app.submenu.audio.speakerSourceLabel": "Fonte de altofalante",
|
||||
@ -396,6 +412,8 @@
|
||||
"app.switch.offLabel": "Apagado",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Seleccione para silenciar o usuario",
|
||||
"app.talkingIndicator.isTalking" : "{0} está chamando",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ están falando",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ estiveron falando",
|
||||
"app.talkingIndicator.wasTalking" : "{0} deixou de chamar",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Accións",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Xestionar presentacións",
|
||||
@ -498,6 +516,7 @@
|
||||
"app.audioModal.playAudio.arialabel" : "Reproducir son",
|
||||
"app.audioDial.tipIndicator": "Consello",
|
||||
"app.audioDial.tipMessage": "Prema a tecla «0» no seu teléfono para silenciar/devolver o seu propio son.",
|
||||
"app.audioModal.connecting": "Establecendo a conexión co audio",
|
||||
"app.audioManager.joinedAudio": "Vostede uniuse á conferencia de son",
|
||||
"app.audioManager.joinedEcho": "Vostede uniuse á proba de eco",
|
||||
"app.audioManager.leftAudio": "Vostede abandonou a conferencia de son",
|
||||
@ -554,6 +573,7 @@
|
||||
"app.error.401": "Non autorizado",
|
||||
"app.error.403": "Vostede foi retirado/a da xuntanza",
|
||||
"app.error.404": "Non se atopou",
|
||||
"app.error.408": "Erro ao autentificar",
|
||||
"app.error.410": "Rematou a xuntanza",
|
||||
"app.error.500": "Ouh! algo foi mal",
|
||||
"app.error.userLoggedOut": "O usuario ten un testemuño de sesión non válido por mor do peche da sesión",
|
||||
@ -567,7 +587,7 @@
|
||||
"app.guest.errorSeeConsole": "Erro: máis detalles na consola.",
|
||||
"app.guest.noModeratorResponse": "Non hai resposta do moderador.",
|
||||
"app.guest.noSessionToken": "Non se recibiu ningún testemuño de sesión.",
|
||||
"app.guest.windowTitle": "Ástrago de hóspedes",
|
||||
"app.guest.windowTitle": "BigBlueButton - Vestíbulo de persoas convidadas",
|
||||
"app.guest.missingToken": "Falta o testemuño de sesión do convidado.",
|
||||
"app.guest.missingSession": "Sesión de convidado que falta.",
|
||||
"app.guest.missingMeeting": "Non existe a xuntanza.",
|
||||
@ -575,6 +595,7 @@
|
||||
"app.guest.guestWait": "Agarde polo moderador para aprobar a súa incorporación á xuntanza.",
|
||||
"app.guest.guestDeny": "O convidado negouse a unirse á xuntanza.",
|
||||
"app.guest.seatWait": "O convidado está a agardar por unha praza na xuntanza.",
|
||||
"app.guest.allow": "Persoa convidada aprobada e redirixindo á reunión",
|
||||
"app.userList.guest.waitingUsers": "Usuarios agardando",
|
||||
"app.userList.guest.waitingUsersTitle": "Xestión de usuarios",
|
||||
"app.userList.guest.optionTitle": "Revisar os usuarios pendentes",
|
||||
@ -606,6 +627,7 @@
|
||||
"app.notification.recordingPaused": "Xa non se está a gravar esta sesión",
|
||||
"app.notification.recordingAriaLabel": "Tempo de gravación",
|
||||
"app.notification.userJoinPushAlert": "{0} incorporouse á sesión",
|
||||
"app.notification.userLeavePushAlert": "{0} saíu da sesión",
|
||||
"app.submenu.notification.raiseHandLabel": "Erguer a man",
|
||||
"app.shortcut-help.title": "Atallos de teclado",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Teclas de acceso non dispoñíbeis",
|
||||
@ -649,14 +671,25 @@
|
||||
"app.guest-policy.button.askModerator": "Pregunta ao moderador",
|
||||
"app.guest-policy.button.alwaysAccept": "Aceptar sempre",
|
||||
"app.guest-policy.button.alwaysDeny": "Denegar sempre",
|
||||
"app.guest-policy.policyBtnDesc": "Establece a política de persoas convidadas á reunión",
|
||||
"app.connection-status.ariaTitle": "Estado da conexión modal",
|
||||
"app.connection-status.title": "Estado da conexión",
|
||||
"app.connection-status.description": "Ver o estado de conexión dos usuarios",
|
||||
"app.connection-status.empty": "Actualmente non se informou de problemas de conexión",
|
||||
"app.connection-status.more": "máis",
|
||||
"app.connection-status.copy": "Copiar datos da rede",
|
||||
"app.connection-status.copied": "Copiado!",
|
||||
"app.connection-status.jitter": "Tremer",
|
||||
"app.connection-status.label": "Estado da conexión",
|
||||
"app.connection-status.no": "Non",
|
||||
"app.connection-status.notification": "Detectouse a perda da súa conexión",
|
||||
"app.connection-status.offline": "sen conexión",
|
||||
"app.connection-status.lostPackets": "Paquetes perdidos",
|
||||
"app.connection-status.usingTurn": "Usando TURN",
|
||||
"app.connection-status.yes": "Si",
|
||||
"app.learning-dashboard.label": "Panel de aprendizaxe",
|
||||
"app.learning-dashboard.description": "Abrir panel coas actividades das persoas usuarias",
|
||||
"app.learning-dashboard.clickHereToOpen": "Abrir o panel de aprendizaxe",
|
||||
"app.recording.startTitle": "Iniciar a gravación",
|
||||
"app.recording.stopTitle": "Pausar a gravación",
|
||||
"app.recording.resumeTitle": "Continuar coa gravación",
|
||||
@ -685,6 +718,7 @@
|
||||
"app.video.joinVideo": "Compartir a cámara web",
|
||||
"app.video.connecting": "Esta a comezar o uso compartido da cámara web…",
|
||||
"app.video.leaveVideo": "Deixar de compartir a cámara web",
|
||||
"app.video.advancedVideo": "Abrir configuración avanzada",
|
||||
"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",
|
||||
@ -718,6 +752,8 @@
|
||||
"app.video.virtualBackground.none": "Ningún",
|
||||
"app.video.virtualBackground.blur": "Difuso",
|
||||
"app.video.virtualBackground.genericError": "Produciuse un fallo ao aplicar o efecto da cámara. Ténteo de novo.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Establece o fondo virtual da cámara web en {0}",
|
||||
"app.video.dropZoneLabel": "Solta aquí",
|
||||
"app.fullscreenButton.label": "Poñer {0} a pantalla completa",
|
||||
"app.fullscreenUndoButton.label": "Desfacer a pantalla completa de {0}",
|
||||
"app.switchButton.expandLabel": "Ampliar a pantalla compartida de vídeo",
|
||||
@ -734,6 +770,7 @@
|
||||
"app.meeting.endNotification.ok.label": "Aceptar",
|
||||
"app.whiteboard.annotations.poll": "Os resultados da enquisa foron publicados",
|
||||
"app.whiteboard.annotations.pollResult": "Resultado da enquisa",
|
||||
"app.whiteboard.annotations.noResponses": "Non hai respostas",
|
||||
"app.whiteboard.toolbar.tools": "Ferramentas",
|
||||
"app.whiteboard.toolbar.tools.hand": "Panorama",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Lapis",
|
||||
@ -765,6 +802,7 @@
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Activar o rexeitamento da palma da man",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Desctivar o rexeitamento da palma da man",
|
||||
"app.whiteboard.toolbar.fontSize": "Lista de tamaño de letras",
|
||||
"app.whiteboard.toolbarAriaLabel": "Ferramentas da presentación",
|
||||
"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?",
|
||||
@ -783,6 +821,7 @@
|
||||
"app.createBreakoutRoom.title": "Salas parciais",
|
||||
"app.createBreakoutRoom.ariaTitle": "Agochar as salas parciais",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Salas parciais {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "Solicitar unirse",
|
||||
"app.createBreakoutRoom.generatingURL": "Xerando o URL",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "Estamos a xerar un URL de unión para a sala parcial seleccionada. Isto pode levarlle un chisco…",
|
||||
"app.createBreakoutRoom.duration": "Duración {0}",
|
||||
@ -797,6 +836,7 @@
|
||||
"app.createBreakoutRoom.numberOfRooms": "Número de salas",
|
||||
"app.createBreakoutRoom.durationInMinutes": "Duración (minutos)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Asignado aleatóriamente",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Asigna usuarios aleatoriamente a salas grupais",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Rematar todas as salas parciais",
|
||||
"app.createBreakoutRoom.roomName": "{0} (Sala - {1})",
|
||||
"app.createBreakoutRoom.doneLabel": "Feito",
|
||||
@ -816,6 +856,7 @@
|
||||
"app.createBreakoutRoom.extendTimeLabel": "Ampliar",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "Cancelar",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "A duración das salas parciais non pode exceder o tempo restante da xuntanza.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza o nome da sala de grupos",
|
||||
"app.externalVideo.start": "Compartir un novo vídeo",
|
||||
"app.externalVideo.title": "Compartir un vídeo externo",
|
||||
"app.externalVideo.input": "URL do vídeo externo",
|
||||
@ -824,6 +865,7 @@
|
||||
"app.externalVideo.close": "Pechar",
|
||||
"app.externalVideo.autoPlayWarning": "Reproducir o vídeo para activar a sincronización de recursos multimedia",
|
||||
"app.externalVideo.refreshLabel": "Actualizar o reprodutor de vídeo",
|
||||
"app.externalVideo.fullscreenLabel": "Reprodutor de vídeo",
|
||||
"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, Daily Motion e ficheiros multimedia (p. ex. https://exemplo.com/xy.mp4).",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Compartir un vídeo externo",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Deixar de compartir o vídeo externo",
|
||||
@ -842,6 +884,10 @@
|
||||
"app.layout.style.smart": "Disposición intelixente",
|
||||
"app.layout.style.presentationFocus": "Poñer o foco na presentación",
|
||||
"app.layout.style.videoFocus": "Poñer o foco no vídeo",
|
||||
"app.layout.style.customPush": "Personalizar (empurre o deseño a todos)",
|
||||
"app.layout.style.smartPush": "Disposición intelixente (empurre o deseño a todos)",
|
||||
"app.layout.style.presentationFocusPush": "Centrarse na presentación (empurre o deseño a todos)",
|
||||
"app.layout.style.videoFocusPush": "Centrarse no vídeo (empurre o deseño a todos)",
|
||||
"playback.button.about.aria": "Sobre",
|
||||
"playback.button.clear.aria": "Limpar a busca",
|
||||
"playback.button.close.aria": "Pechar a xanela modal",
|
||||
@ -871,14 +917,33 @@
|
||||
"playback.player.thumbnails.wrapper.aria": "Área de miniaturas",
|
||||
"playback.player.video.wrapper.aria": "Área de vídeo",
|
||||
"app.learningDashboard.dashboardTitle": "Panel de aprendizaxe",
|
||||
"app.learningDashboard.user": "Persoa usuaria",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Rematado",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Activo",
|
||||
"app.learningDashboard.indicators.usersOnline": "Persoas usuarias activas",
|
||||
"app.learningDashboard.indicators.usersTotal": "Número total de persoas usuarias",
|
||||
"app.learningDashboard.indicators.polls": "Enquisas",
|
||||
"app.learningDashboard.indicators.raiseHand": "Erguer a man",
|
||||
"app.learningDashboard.indicators.activityScore": "Puntuación da actividade",
|
||||
"app.learningDashboard.indicators.duration": "Duración",
|
||||
"app.learningDashboard.usersTable.title": "Visión xeral",
|
||||
"app.learningDashboard.usersTable.colOnline": "Tempo en liña",
|
||||
"app.learningDashboard.usersTable.colTalk": "Tempo de conversa",
|
||||
"app.learningDashboard.usersTable.colWebcam": "Tempo da cámara web",
|
||||
"app.learningDashboard.usersTable.colMessages": "Mensaxes",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emoticonas",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Levantar as mans",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Puntuación da actividade",
|
||||
"app.learningDashboard.usersTable.colStatus": "Estado",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "En liña",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Fóra de liña",
|
||||
"app.learningDashboard.usersTable.noUsers": "Non hai persoas usuarias aínda",
|
||||
"app.learningDashboard.pollsTable.title": "Enquisa",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "Enquisa anónima (respostas na última fila)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anónima"
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anónima",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Cronoloxía do estado",
|
||||
"app.learningDashboard.errors.invalidToken": "O token de sesión non é válido",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Os datos xa non están dispoñibles"
|
||||
|
||||
}
|
||||
|
||||
|
@ -3,11 +3,11 @@
|
||||
"app.chat.submitLabel": "שליחת הודעה",
|
||||
"app.chat.errorMaxMessageLength": "ההודעה ארוכה מדי ב {0} תוו(ים)",
|
||||
"app.chat.disconnected": "התנתקת מהמפגש, אי אפשר לשלוח הודעות",
|
||||
"app.chat.locked": "המפגש ננעל, אי אפשר לשלוח הודעות",
|
||||
"app.chat.inputLabel": "תוכן הודעה למפגש {0}",
|
||||
"app.chat.locked": "רב־השיח ננעל, אי אפשר לשלוח הודעות",
|
||||
"app.chat.inputLabel": "תוכן הודעה רב־שיח {0}",
|
||||
"app.chat.inputPlaceholder": "שליחת הודעה ל {0}",
|
||||
"app.chat.titlePublic": "צ'אט ציבורי",
|
||||
"app.chat.titlePrivate": "צ'אט פרטי עם {0}",
|
||||
"app.chat.titlePublic": "רב־שיח ציבורי",
|
||||
"app.chat.titlePrivate": "רב־שיח פרטי עם {0}",
|
||||
"app.chat.partnerDisconnected": "{0} עזב/ה את המפגש",
|
||||
"app.chat.closeChatLabel": "סגירה {0}",
|
||||
"app.chat.hideChatLabel": "הסתרה {0}",
|
||||
@ -54,7 +54,7 @@
|
||||
"app.note.title": "פנקס משותף",
|
||||
"app.note.label": "פתקית",
|
||||
"app.note.hideNoteLabel": "הסתרת פתקית",
|
||||
"app.note.tipLabel": "לחץ Esc למעבר לסרגל הכלים",
|
||||
"app.note.tipLabel": "כפתור Esc למעבר לסרגל הכלים",
|
||||
"app.note.locked": "נעול",
|
||||
"app.user.activityCheck": "בדיקת זמינות משתמש",
|
||||
"app.user.activityCheck.label": "בדיקה אם המשתמש עדיין במפגש ({0})",
|
||||
@ -63,7 +63,6 @@
|
||||
"app.userList.participantsTitle": "משתתפים",
|
||||
"app.userList.messagesTitle": "הודעות",
|
||||
"app.userList.notesTitle": "הערות",
|
||||
"app.userList.notesListItem.unreadContent": "New content is available in the shared notes section",
|
||||
"app.userList.captionsTitle": "כתוביות",
|
||||
"app.userList.presenter": "מנחה",
|
||||
"app.userList.you": "את/ה",
|
||||
@ -99,7 +98,6 @@
|
||||
"app.userList.userOptions.unmuteAllLabel": "ביטול השתקה במפגש",
|
||||
"app.userList.userOptions.unmuteAllDesc": "ביטול השתקה במפגש",
|
||||
"app.userList.userOptions.lockViewersLabel": "נעילת מצב צופים",
|
||||
"app.userList.userOptions.lockViewersDesc": "Lock certain functionalities for attendees of the meeting",
|
||||
"app.userList.userOptions.disableCam": "מצלמות הצופים בוטלו",
|
||||
"app.userList.userOptions.disableMic": "כל הצופים הושתקו",
|
||||
"app.userList.userOptions.disablePrivChat": "שיחה פרטית מבוטלת",
|
||||
@ -124,28 +122,28 @@
|
||||
"app.meeting.ended": "המפגש הסתיים",
|
||||
"app.meeting.meetingTimeRemaining": "זמן נותר למפגש: {0}",
|
||||
"app.meeting.meetingTimeHasEnded": "המפגש הסתיים ויסגר בקרוב",
|
||||
"app.meeting.endedMessage": "תופנה למסך הבית",
|
||||
"app.meeting.endedMessage": "הפניה למסך הבית",
|
||||
"app.presentation.hide": "הסתרת מצגת",
|
||||
"app.presentation.notificationLabel": "מצגת נוכחית",
|
||||
"app.presentation.slideContent": "שקופיות",
|
||||
"app.presentation.startSlideContent": "התחלת הצגת שקופיות",
|
||||
"app.presentation.endSlideContent": "סיום הצגת שקופיות",
|
||||
"app.presentation.emptySlideContent": "שקופית נוכחית ללא תוכן",
|
||||
"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.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.fitWidthDesc": "הצגת עמוד ברוחב מלא",
|
||||
"app.presentation.presentationToolbar.fitScreenLabel": "התאמה למסך",
|
||||
"app.presentation.presentationToolbar.fitScreenDesc": "הצגת כל השקופית",
|
||||
"app.presentation.presentationToolbar.fitScreenDesc": "הצגת כל העמוד",
|
||||
"app.presentation.presentationToolbar.zoomLabel": "תקריב",
|
||||
"app.presentation.presentationToolbar.zoomDesc": "שנה את רמת הזום במצגת",
|
||||
"app.presentation.presentationToolbar.zoomDesc": "עדכון רמת התקריב במצגת",
|
||||
"app.presentation.presentationToolbar.zoomInLabel": "הגדלה",
|
||||
"app.presentation.presentationToolbar.zoomInDesc": "הגדלת תוכן עמוד המצגת",
|
||||
"app.presentation.presentationToolbar.zoomOutLabel": "הקטנה",
|
||||
@ -156,10 +154,10 @@
|
||||
"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.confirmDesc": "שמירת שינויים והתחלת המצגת",
|
||||
"app.presentationUploder.dismissLabel": "ביטול",
|
||||
"app.presentationUploder.dismissDesc": "סגירה ללא שמירה",
|
||||
"app.presentationUploder.dropzoneLabel": "גרירת קבצים לכאן",
|
||||
@ -180,7 +178,6 @@
|
||||
"app.presentationUploder.conversion.timeout": "המרת הקובץ ארכה זמן רב מדי, אנא נסה שנית",
|
||||
"app.presentationUploder.conversion.pageCountFailed": "אירעה שגיאה בנסיון לקבוע את מספר העמודים במצגת",
|
||||
"app.presentationUploder.removePresentationLabel": "הסרת מצגת",
|
||||
"app.presentationUploder.setAsCurrentPresentation": "Set presentation as current",
|
||||
"app.presentationUploder.tableHeading.filename": "שם הקובץ",
|
||||
"app.presentationUploder.tableHeading.options": "אפשרויות",
|
||||
"app.presentationUploder.tableHeading.status": "מצב",
|
||||
@ -220,7 +217,6 @@
|
||||
"app.polling.pollingTitle": "אפשרויות סקר",
|
||||
"app.polling.pollAnswerLabel": "מענה לסקר {0}",
|
||||
"app.polling.pollAnswerDesc": "בחירת אפשרות זו לבחירה ב {0}",
|
||||
"app.failedMessage": "Apologies, trouble connecting to the server.",
|
||||
"app.downloadPresentationButton.label": "הורדת המצגת המקורית",
|
||||
"app.connectingMessage": "מתחבר ...",
|
||||
"app.waitingMessage": "נותקת, מנסה להתחבר בעוד {0} שניות...",
|
||||
@ -253,25 +249,24 @@
|
||||
"app.endMeeting.yesLabel": "כן",
|
||||
"app.endMeeting.noLabel": "לא",
|
||||
"app.about.title": "אודות",
|
||||
"app.about.version": "Client build:",
|
||||
"app.about.copyright": "Copyright:",
|
||||
"app.about.copyright": "זכויות יוצרים:",
|
||||
"app.about.confirmLabel": "אישור",
|
||||
"app.about.confirmDesc": "אישור",
|
||||
"app.about.dismissLabel": "ביטול",
|
||||
"app.about.dismissDesc": "Close about client information",
|
||||
"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.restorePresentationLabel": "אחזור מצגת",
|
||||
"app.screenshare.screenShareLabel" : "שיתוף מסך",
|
||||
"app.submenu.application.applicationSectionTitle": "אפליקציה",
|
||||
"app.submenu.application.animationsLabel": "אנימציה",
|
||||
"app.submenu.application.applicationSectionTitle": "יישום",
|
||||
"app.submenu.application.animationsLabel": "הנפשה",
|
||||
"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.languageOptionLabel": "בחירת שפה",
|
||||
@ -295,20 +290,20 @@
|
||||
"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.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.talkingIndicator.wasTalking" : "{0} הפסיק/ה לדבר",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "פעולות נוספות",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "התחלת סקר",
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "שיתוף מסך",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "שיתוף מסך לא מאופשר במפגש זה",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "הפסת שיתוף מסך",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "הפסקת שיתוף מסך",
|
||||
"app.actionsBar.actionsDropdown.presentationDesc": "העלאת המצגת שלך",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "התחלת סקר",
|
||||
"app.actionsBar.actionsDropdown.desktopShareDesc": "שיתוף מסך",
|
||||
@ -320,8 +315,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": "עריכת המצב שלך ל'לא ליד המחשב'",
|
||||
@ -334,8 +329,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": "אגודל למעלה",
|
||||
@ -345,20 +340,6 @@
|
||||
"app.actionsBar.currentStatusDesc": "מצב נוכחי {0}",
|
||||
"app.actionsBar.captions.start": "הצגת כתוביות",
|
||||
"app.actionsBar.captions.stop": "הסתרת כתוביות",
|
||||
"app.audioNotification.audioFailedError1001": "Error 1001: WebSocket disconnected",
|
||||
"app.audioNotification.audioFailedError1002": "Error 1002: Could not make a WebSocket connection",
|
||||
"app.audioNotification.audioFailedError1003": "Error 1003: Browser version not supported",
|
||||
"app.audioNotification.audioFailedError1004": "Error 1004: Failure on call (reason={0})",
|
||||
"app.audioNotification.audioFailedError1005": "Error 1005: Call ended unexpectedly",
|
||||
"app.audioNotification.audioFailedError1006": "Error 1006: Call timed out",
|
||||
"app.audioNotification.audioFailedError1007": "Error 1007: ICE negotiation failed",
|
||||
"app.audioNotification.audioFailedError1008": "Error 1008: Transfer failed",
|
||||
"app.audioNotification.audioFailedError1009": "Error 1009: Could not fetch STUN/TURN server information",
|
||||
"app.audioNotification.audioFailedError1010": "Error 1010: ICE negotiation timeout",
|
||||
"app.audioNotification.audioFailedError1011": "Error 1011: ICE gathering timeout",
|
||||
"app.audioNotification.audioFailedError1012": "Error 1012: ICE connection closed",
|
||||
"app.audioNotification.audioFailedMessage": "Your audio connection failed to connect",
|
||||
"app.audioNotification.mediaFailedMessage": "getUserMicMedia failed as only secure origins are allowed",
|
||||
"app.audioNotification.closeLabel": "סגירה",
|
||||
"app.audioNotificaion.reconnectingAsListenOnly": "דיבור לא מאופשר במפגש זה, אתה מחובר במצב האזנה בלבד",
|
||||
"app.breakoutJoinConfirmation.title": "הצטרפות לחדר למידה",
|
||||
@ -375,10 +356,9 @@
|
||||
"app.audioModal.listenOnlyLabel": "האזנה בלבד",
|
||||
"app.audioModal.audioChoiceLabel": "האם להצטרף למפגש הקולי?",
|
||||
"app.audioModal.iOSBrowser": "קול/וידאו לא נתמכים",
|
||||
"app.audioModal.iOSErrorDescription": "כרגע וידאו וקול לא נתמכים בכרום למכשירי אפל",
|
||||
"app.audioModal.iOSErrorRecommendation": "מומלץ להשתמש בספארי על מכשיר זה",
|
||||
"app.audioModal.iOSErrorDescription": "כרגע וידאו וקול לא נתמכים בדפדפן כרום למכשירי אפל",
|
||||
"app.audioModal.iOSErrorRecommendation": "מומלץ להשתמש בדפדפן ספארי על מכשיר זה",
|
||||
"app.audioModal.audioChoiceDesc": "איך ברצונך להצטרך למפגש הקולי?",
|
||||
"app.audioModal.unsupportedBrowserLabel": "It looks like you're using a browser that is not fully supported. Please use either {0} or {1} for full support.",
|
||||
"app.audioModal.closeLabel": "סגירה",
|
||||
"app.audioModal.yes": "כן",
|
||||
"app.audioModal.no": "לא",
|
||||
@ -387,33 +367,15 @@
|
||||
"app.audioModal.echoTestTitle": "זו בדיקת הד פרטית. יש להגיד כמה מילים. האם שמעת הד ?",
|
||||
"app.audioModal.settingsTitle": "עדכון הגדרות הקול שלך",
|
||||
"app.audioModal.helpTitle": "אירעה שגיאה בציוד הקול/וידאו",
|
||||
"app.audioModal.helpText": "Did you give permission for access to your microphone? Note that a dialog should appear when you try to join audio, asking for your media device permissions, please accept that in order to join the audio conference. If that is not the case, try changing your microphone permissions in your browser's settings.",
|
||||
"app.audioModal.help.noSSL": "This page is unsecured. For microphone access to be allowed the page must be served over HTTPS. Please contact the server administrator.",
|
||||
"app.audioModal.help.macNotAllowed": "It looks like your Mac System Preferences are blocking access to your microphone. Open System Preferences > Security & Privacy > Privacy > Microphone, and verify that the browser you're using is checked.",
|
||||
"app.audioModal.audioDialTitle": "Join using your phone",
|
||||
"app.audioDial.audioDialDescription": "Dial",
|
||||
"app.audioDial.audioDialConfrenceText": "and enter the conference PIN number:",
|
||||
"app.audioModal.autoplayBlockedDesc": "We need your permission to play audio.",
|
||||
"app.audioModal.playAudio": "נגינת צליל",
|
||||
"app.audioModal.playAudio.arialabel" : "נגינת צליל",
|
||||
"app.audioDial.tipIndicator": "עצה",
|
||||
"app.audioDial.tipMessage": "Press the '0' key on your phone to mute/unmute yourself.",
|
||||
"app.audioManager.joinedAudio": "You have joined the audio conference",
|
||||
"app.audioManager.joinedEcho": "You have joined the echo test",
|
||||
"app.audioManager.leftAudio": "You have left the audio conference",
|
||||
"app.audioManager.reconnectingAudio": "Attempting to reconnect audio",
|
||||
"app.audioManager.genericError": "Error: An error has occurred, please try again",
|
||||
"app.audioManager.connectionError": "Error: Connection error",
|
||||
"app.audioManager.requestTimeout": "Error: There was a timeout in the request",
|
||||
"app.audioManager.invalidTarget": "Error: Tried to request something to an invalid target",
|
||||
"app.audioManager.mediaError": "Error: There was an issue getting your media devices",
|
||||
"app.audio.joinAudio": "הצטרפות למפגש קולי",
|
||||
"app.audio.leaveAudio": "עזיבת המפגש הקולי",
|
||||
"app.audio.enterSessionLabel": "כניסה למפגש",
|
||||
"app.audio.playSoundLabel": "נגינת צליל",
|
||||
"app.audio.backLabel": "חזרה",
|
||||
"app.audio.audioSettings.titleLabel": "בחירת הגדרות הקול",
|
||||
"app.audio.audioSettings.descriptionLabel": "Please note, a dialog will appear in your browser, requiring you to accept sharing your microphone.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "מיקרופון",
|
||||
"app.audio.audioSettings.speakerSourceLabel": "רמקולים",
|
||||
"app.audio.audioSettings.microphoneStreamLabel": "עוצמת שמע",
|
||||
@ -421,13 +383,6 @@
|
||||
"app.audio.listenOnly.backLabel": "חזרה",
|
||||
"app.audio.listenOnly.closeLabel": "סגירה",
|
||||
"app.audio.permissionsOverlay.title": "אפשרו גישה למיקרופון שלכם",
|
||||
"app.audio.permissionsOverlay.hint": "We need you to allow us to use your media devices in order to join you to the voice conference :)",
|
||||
"app.error.removed": "You have been removed from the conference",
|
||||
"app.error.meeting.ended": "You have logged out of the conference",
|
||||
"app.meeting.logout.duplicateUserEjectReason": "Duplicate user trying to join meeting",
|
||||
"app.meeting.logout.permissionEjectReason": "Ejected due to permission violation",
|
||||
"app.meeting.logout.ejectedFromMeeting": "You have been removed from the meeting",
|
||||
"app.meeting.logout.validateTokenFailedEjectReason": "Failed to validate authorization token",
|
||||
"app.meeting.logout.userInactivityEjectReason": "המשתמש לא היה פעיל במשך זמן רב",
|
||||
"app.meeting-ended.rating.legendLabel": "דרוג משוב",
|
||||
"app.meeting-ended.rating.starLabel": "כוכב",
|
||||
@ -437,16 +392,8 @@
|
||||
"app.modal.newTab": "(פתיחה בלשונית חדשה)",
|
||||
"app.modal.confirm.description": "שמירת שינויים וסגירת חלונית",
|
||||
"app.dropdown.close": "סגירה",
|
||||
"app.error.400": "Bad Request",
|
||||
"app.error.401": "Unauthorized",
|
||||
"app.error.403": "You have been removed from the meeting",
|
||||
"app.error.404": "Not found",
|
||||
"app.error.410": "Meeting has ended",
|
||||
"app.error.500": "Ops, something went wrong",
|
||||
"app.error.leaveLabel": "התחברו שוב",
|
||||
"app.error.fallback.presentation.title": "An error occurred",
|
||||
"app.error.fallback.presentation.description": "It has been logged. Please try reloading the page.",
|
||||
"app.error.fallback.presentation.reloadButton": "טען מחדש",
|
||||
"app.error.fallback.presentation.reloadButton": "טעינה מחדש",
|
||||
"app.guest.waiting": "מחכים לאישורך להצטרף למפגש",
|
||||
"app.userList.guest.waitingUsers": "משתמשים ממתינים",
|
||||
"app.userList.guest.waitingUsersTitle": "ניהול משתמשים",
|
||||
@ -457,7 +404,7 @@
|
||||
"app.userList.guest.denyEveryone": "מניעה מכולם",
|
||||
"app.userList.guest.pendingUsers": "{0} משתמשים ממתינים",
|
||||
"app.userList.guest.pendingGuestUsers": "{0} משתתפים ממתינים להצטרף",
|
||||
"app.userList.guest.pendingGuestAlert": "הצטרף למפגש ומחכה לאישורך.",
|
||||
"app.userList.guest.pendingGuestAlert": "הצטרף/ה למפגש ומחכה לאישורך.",
|
||||
"app.userList.guest.rememberChoice": "זכירת בחירה",
|
||||
"app.user-info.title": "חיפוש תיקיה",
|
||||
"app.toast.breakoutRoomEnded": "מפגש חדר למידה הסתיים. בבקשה הצטרפו מחדש למפגש הקולי.",
|
||||
@ -474,20 +421,11 @@
|
||||
"app.notification.recordingAriaLabel": "זמן הקלטה ",
|
||||
"app.notification.userJoinPushAlert": "{0} הצטרף למפגש",
|
||||
"app.shortcut-help.title": "קיצורי מקלדת",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Access keys not available",
|
||||
"app.shortcut-help.comboLabel": "Combo",
|
||||
"app.shortcut-help.functionLabel": "Function",
|
||||
"app.shortcut-help.closeLabel": "Close",
|
||||
"app.shortcut-help.closeDesc": "Closes keyboard shortcuts modal",
|
||||
"app.shortcut-help.openOptions": "Open Options",
|
||||
"app.shortcut-help.toggleUserList": "Toggle UserList",
|
||||
"app.shortcut-help.toggleMute": "השתק / בטל השתקה",
|
||||
"app.shortcut-help.togglePublicChat": "Toggle Public Chat (User list must be open)",
|
||||
"app.shortcut-help.hidePrivateChat": "הסתר צ'אט פרטי",
|
||||
"app.shortcut-help.toggleMute": "השתקה / ביטול השתקה",
|
||||
"app.shortcut-help.hidePrivateChat": "הסתרת רב־שיח פרטי",
|
||||
"app.shortcut-help.closePrivateChat": "סגור צ'אט פרטי",
|
||||
"app.shortcut-help.openActions": "פתח את תפריט הפעולות",
|
||||
"app.shortcut-help.openStatus": "פתח את תפריט הסטטוסים",
|
||||
"app.shortcut-help.togglePan": "Activate Pan tool (Presenter)",
|
||||
"app.shortcut-help.nextSlideDesc": "שקופית הבאה (מנחה)",
|
||||
"app.shortcut-help.previousSlideDesc": "שקופית קודמת (מנחה)",
|
||||
"app.lock-viewers.title": "נעינת הגדרות משתתפים",
|
||||
@ -524,17 +462,6 @@
|
||||
"app.videoPreview.profileNotFoundLabel": "אין פרופילי מצלמה מתאימים",
|
||||
"app.video.joinVideo": "שיתוף ווידאו",
|
||||
"app.video.leaveVideo": "הפסקת שיתוף וידאו",
|
||||
"app.video.iceCandidateError": "Error on adding ICE candidate",
|
||||
"app.video.iceConnectionStateError": "Error 1107: ICE negotiation failed",
|
||||
"app.video.permissionError": "Error on sharing webcam. Please check permissions",
|
||||
"app.video.sharingError": "Error on sharing webcam",
|
||||
"app.video.notFoundError": "Could not find webcam. Please make sure it's connected",
|
||||
"app.video.notAllowed": "Missing permission for share webcam, please make sure your browser permissions",
|
||||
"app.video.notSupportedError": "Can share webcam video only with safe sources, make sure your SSL certificate is valid",
|
||||
"app.video.notReadableError": "Could not get webcam video. Please make sure another program is not using the webcam ",
|
||||
"app.video.mediaFlowTimeout1020": "Error 1020: media could not reach the server",
|
||||
"app.video.suggestWebcamLock": "Enforce lock setting to viewers webcams?",
|
||||
"app.video.suggestWebcamLockReason": "(this will improve the stability of the meeting)",
|
||||
"app.video.enable": "אפשר",
|
||||
"app.video.cancel": "ביטול",
|
||||
"app.video.swapCam": "החלפת",
|
||||
@ -542,18 +469,7 @@
|
||||
"app.video.videoLocked": "שיתוף וידאו נעול",
|
||||
"app.video.videoButtonDesc": "שיתוף וידאו",
|
||||
"app.video.videoMenu": "תפריט וידאו",
|
||||
"app.video.videoMenuDisabled": "Video menu Webcam is disabled in settings",
|
||||
"app.video.videoMenuDesc": "Open video menu dropdown",
|
||||
"app.fullscreenButton.label": "Make {0} fullscreen",
|
||||
"app.sfu.mediaServerConnectionError2000": "Error 2000: Unable to connect to media server",
|
||||
"app.sfu.mediaServerOffline2001": "שרת המדיה אינה מקוונת. אנא נסה שוב מאוחר יותר (שגיאה 2001)",
|
||||
"app.sfu.mediaServerNoResources2002": "Error 2002: Media server has no available resources",
|
||||
"app.sfu.mediaServerRequestTimeout2003": "Error 2003: Media server requests are timing out",
|
||||
"app.sfu.serverIceGatheringFailed2021": "Error 2021: Media server cannot gather ICE candidates",
|
||||
"app.sfu.serverIceGatheringFailed2022": "Error 2022: Media server ICE connection failed",
|
||||
"app.sfu.mediaGenericError2200": "Error 2200: Media server failed to process request",
|
||||
"app.sfu.invalidSdp2202":"Error 2202: Client generated an invalid SDP",
|
||||
"app.sfu.noAvailableCodec2203": "Error 2203: Server could not find an appropriate codec",
|
||||
"app.meeting.endNotification.ok.label": "אישור",
|
||||
"app.whiteboard.toolbar.tools": "כלים",
|
||||
"app.whiteboard.toolbar.tools.hand": "הזזה",
|
||||
@ -585,10 +501,6 @@
|
||||
"app.whiteboard.toolbar.multiUserOff": "ביטול גישה מרובת משתתפים ללוח",
|
||||
"app.whiteboard.toolbar.fontSize": "רשימת גדלי גופן",
|
||||
"app.feedback.title": "התנתקת מהמפגש המקוון",
|
||||
"app.feedback.subtitle": "We'd love to hear about your experience with BigBlueButton (optional)",
|
||||
"app.feedback.textarea": "How can we make BigBlueButton better?",
|
||||
"app.feedback.sendFeedback": "Send Feedback",
|
||||
"app.feedback.sendFeedbackDesc": "Send a feedback and leave the meeting",
|
||||
"app.videoDock.webcamFocusLabel": "מיקוד",
|
||||
"app.videoDock.webcamFocusDesc": "קביעת מיקוד למצלמה שנבחרה",
|
||||
"app.videoDock.webcamUnfocusLabel": "ביטול מיקוד",
|
||||
@ -622,22 +534,13 @@
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ הוספת משתתפים",
|
||||
"app.createBreakoutRoom.freeJoin": "אפשרות למשתמשים בחירת חדר לימוד",
|
||||
"app.createBreakoutRoom.leastOneWarnBreakout": "יש לשייך משתמש אחד לפחות לחדר לימוד כלשהו.",
|
||||
"app.createBreakoutRoom.modalDesc": "Tip: You can drag-and-drop a user's name to assign them to a specific breakout room.",
|
||||
"app.createBreakoutRoom.roomTime": "{0} דקות",
|
||||
"app.createBreakoutRoom.numberOfRoomsError": "מספר חדרי הלימוד לא תקין.",
|
||||
"app.externalVideo.start": "שיתוף וידאו חדש",
|
||||
"app.externalVideo.title": "שיתוף וידאו חיצוני",
|
||||
"app.externalVideo.input": "כתובת וידאו חיצוני URL",
|
||||
"app.externalVideo.urlInput": "הוספת כתובת וידאו URL",
|
||||
"app.externalVideo.urlError": "This video URL isn't supported",
|
||||
"app.externalVideo.close": "סגירה",
|
||||
"app.externalVideo.autoPlayWarning": "Play the video to enable media synchronization",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Share an external video",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Stop sharing external video",
|
||||
"app.iOSWarning.label": "Please upgrade to iOS 12.2 or higher",
|
||||
"app.legacy.unsupportedBrowser": "It looks like you're using a browser that is not supported. Please use either {0} or {1} for full support.",
|
||||
"app.legacy.upgradeBrowser": "It looks like you're using an older version of a supported browser. Please upgrade your browser for full support.",
|
||||
"app.legacy.criosBrowser": "On iOS please use Safari for full support."
|
||||
"app.externalVideo.close": "סגירה"
|
||||
|
||||
}
|
||||
|
||||
|
@ -587,7 +587,6 @@
|
||||
"app.guest.errorSeeConsole": "Ошибка: Более подробная информация в консоли.",
|
||||
"app.guest.noModeratorResponse": "Մոդերատորից պատասխան չի ստացվել",
|
||||
"app.guest.noSessionToken": "Սեանսի թոքեն չի ստացվել",
|
||||
"app.guest.windowTitle": "Հյուրասենյակ",
|
||||
"app.guest.missingToken": "Հյուրի սեանսի թոքենը բացակայում է",
|
||||
"app.guest.missingSession": "Հյուրը բացակայում է հանդիպումից",
|
||||
"app.guest.missingMeeting": "Հանդիպում գոյություն չունի",
|
||||
@ -915,8 +914,6 @@
|
||||
"playback.player.video.wrapper.aria": "Տեսանյութի տարածք",
|
||||
"app.learningDashboard.dashboardTitle": "Հանդիպման հաշվետվություն",
|
||||
"app.learningDashboard.user": "Մասնակից",
|
||||
"app.learningDashboard.shareButton": "Կիսվել այլոց հետ",
|
||||
"app.learningDashboard.shareLinkCopied": "Հղումը պատճենվել է",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Ավարտվել է",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Ակտիվ է",
|
||||
"app.learningDashboard.indicators.usersOnline": "Ակտիվ մասնակիցներ",
|
||||
|
@ -579,7 +579,6 @@
|
||||
"app.guest.errorSeeConsole": "Galat: lebih banyak rincian dalam konsol.",
|
||||
"app.guest.noModeratorResponse": "Tidak ada respon dari Moderator.",
|
||||
"app.guest.noSessionToken": "Tidak ada Token sesi yang diterima.",
|
||||
"app.guest.windowTitle": "Lobi Tamu",
|
||||
"app.guest.missingToken": "Tamu kehilangan token sesi.",
|
||||
"app.guest.missingSession": "Tamu kehilangan sesi.",
|
||||
"app.guest.missingMeeting": "Pertemuan tidak ada.",
|
||||
|
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "Riattiva utente",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Consenti l’accesso alla lavagna",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Rimuovi l’accesso alla lavagna",
|
||||
"app.userList.menu.ejectUserCameras.label": "Chiudi telecamere",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Stato {3}",
|
||||
"app.userList.menu.promoteUser.label": "Promuovi a moderatore",
|
||||
"app.userList.menu.demoteUser.label": "Converti in spettatore",
|
||||
@ -587,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "Errore: maggiori dettagli sono disponibili nella console.",
|
||||
"app.guest.noModeratorResponse": "Nessuna risposta dal Moderatore.",
|
||||
"app.guest.noSessionToken": "Nessun token di sessione ricevuto.",
|
||||
"app.guest.windowTitle": "Sala d'attesa",
|
||||
"app.guest.windowTitle": "BigBlueButton - Sala di attesa degli ospiti",
|
||||
"app.guest.missingToken": "L'ospite non dispone del token di sessione.",
|
||||
"app.guest.missingSession": "Sessione dell'ospite mancante.",
|
||||
"app.guest.missingMeeting": "La riunione non esiste.",
|
||||
@ -718,6 +719,7 @@
|
||||
"app.video.joinVideo": "Mostra webcam",
|
||||
"app.video.connecting": "Sto avviando la condivisione webcam ...",
|
||||
"app.video.leaveVideo": "Interrompi webcam",
|
||||
"app.video.advancedVideo": "Apri le impostazioni avanzate",
|
||||
"app.video.iceCandidateError": "Errore nell'aggiunta del candidato ICE",
|
||||
"app.video.iceConnectionStateError": "Connessione fallita (errore ICE 1107)",
|
||||
"app.video.permissionError": "Errore nella condivisione webcam. Controllare i permessi",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "La webcam non può essere condivisa a causa di problemi di connessione",
|
||||
"app.video.virtualBackground.none": "Nessuno",
|
||||
"app.video.virtualBackground.blur": "Blur",
|
||||
"app.video.virtualBackground.home": "Casa",
|
||||
"app.video.virtualBackground.board": "Lavagna",
|
||||
"app.video.virtualBackground.coffeeshop": "Bar",
|
||||
"app.video.virtualBackground.background": "Sfondo",
|
||||
"app.video.virtualBackground.genericError": "Applicazione dell’effetto alla telecamera fallito. Prova di nuovo.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Imposta lo sfondo virtuale della webcam su {0}",
|
||||
"app.video.dropZoneLabel": "Rilascia qui",
|
||||
@ -917,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "Area video",
|
||||
"app.learningDashboard.dashboardTitle": "Bacheca di apprendimento",
|
||||
"app.learningDashboard.user": "Utente",
|
||||
"app.learningDashboard.shareButton": "Condividi con altri",
|
||||
"app.learningDashboard.shareLinkCopied": "Collegamento copiato con successo!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Terminato",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Attivo",
|
||||
"app.learningDashboard.indicators.usersOnline": "Utenti attivi",
|
||||
|
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "ユーザーのミュートを解除する",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "ホワイトボードへの書き込み許可を与える",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "ホワイトボードへの書き込み許可を取り消す",
|
||||
"app.userList.menu.ejectUserCameras.label": "カメラを閉じる",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} ステータス {3}",
|
||||
"app.userList.menu.promoteUser.label": "モデレーターにする",
|
||||
"app.userList.menu.demoteUser.label": "ビューアーに戻す",
|
||||
@ -587,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "エラー:詳細はコンソールに表示。",
|
||||
"app.guest.noModeratorResponse": "モデレーターからの反応がありません。",
|
||||
"app.guest.noSessionToken": "セッションのトークンを受け取っていません。",
|
||||
"app.guest.windowTitle": "ゲストロビー",
|
||||
"app.guest.windowTitle": "BigBlueButton - ゲストロビー",
|
||||
"app.guest.missingToken": "セッショントークンのないゲスト。",
|
||||
"app.guest.missingSession": "セッションが不明のゲスト。",
|
||||
"app.guest.missingMeeting": "会議は開かれていません。",
|
||||
@ -718,6 +719,7 @@
|
||||
"app.video.joinVideo": "ウェブカメラを共有",
|
||||
"app.video.connecting": "ウェブカメラの共有を始めます...",
|
||||
"app.video.leaveVideo": "ウェブカメラの共有を終了",
|
||||
"app.video.advancedVideo": "詳細設定を開く",
|
||||
"app.video.iceCandidateError": "ICE候補の追加に失敗しました",
|
||||
"app.video.iceConnectionStateError": "接続失敗 (ICE error 1107)",
|
||||
"app.video.permissionError": "ウェブカメラ共有でエラーが発生しました。許可設定を確認してください。",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "接続に問題があるためウェブカメラの共有ができません",
|
||||
"app.video.virtualBackground.none": "なし",
|
||||
"app.video.virtualBackground.blur": "ぼかし",
|
||||
"app.video.virtualBackground.home": "ホーム",
|
||||
"app.video.virtualBackground.board": "ボード",
|
||||
"app.video.virtualBackground.coffeeshop": "喫茶店",
|
||||
"app.video.virtualBackground.background": "背景",
|
||||
"app.video.virtualBackground.genericError": "カメラエフェクトの適用に失敗しました。もう一度やってみてください。",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "ウェブカムのバーチャル背景を{0}に設定する",
|
||||
"app.video.dropZoneLabel": "ここにドロップ",
|
||||
@ -917,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "ビデオエリア",
|
||||
"app.learningDashboard.dashboardTitle": "ラーニングダッシュボード",
|
||||
"app.learningDashboard.user": "ユーザー",
|
||||
"app.learningDashboard.shareButton": "共有する",
|
||||
"app.learningDashboard.shareLinkCopied": "リンクがコピーされました!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "終了",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "会議中",
|
||||
"app.learningDashboard.indicators.usersOnline": "人のアクティブなユーザー",
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"app.home.greeting": "프리젠테이션이 곧 시작됩니다.",
|
||||
"app.home.greeting": "프레젠테이션이 곧 시작됩니다.",
|
||||
"app.chat.submitLabel": "메시지 보내기",
|
||||
"app.chat.loading": "로드 된 채팅 메시지: {0}%",
|
||||
"app.chat.errorMaxMessageLength": "메시지가 {0} 글자(들이) 깁니다 ",
|
||||
@ -25,6 +25,8 @@
|
||||
"app.chat.multi.typing": "여러 사용자가 타이핑하고 있습니다 ",
|
||||
"app.chat.one.typing": "{0} 가 타이핑중입니다 ",
|
||||
"app.chat.two.typing": "{0} 과 {1} 이 타이핑중입니다",
|
||||
"app.chat.copySuccess": "채팅 내용이 복사 됨",
|
||||
"app.chat.copyErr": "채팅 내용의 복사 실패",
|
||||
"app.captions.label": "자막",
|
||||
"app.captions.menu.close": "닫기",
|
||||
"app.captions.menu.start": "시작",
|
||||
@ -49,7 +51,9 @@
|
||||
"app.captions.pad.dictationStop": "받아쓰기 중지",
|
||||
"app.captions.pad.dictationOnDesc": "음성 인식 켜기 ",
|
||||
"app.captions.pad.dictationOffDesc": "음성 인식 끄기",
|
||||
"app.captions.pad.speechRecognitionStop": "브라우저 호환성 문제 등으로 인해 음성 인식이 중지 됨",
|
||||
"app.textInput.sendLabel": "보내기",
|
||||
"app.title.defaultViewLabel": "기본 프레젠테이션 화면",
|
||||
"app.note.title": "노트 공유",
|
||||
"app.note.label": "노트",
|
||||
"app.note.hideNoteLabel": "노트 숨기기",
|
||||
@ -67,13 +71,16 @@
|
||||
"app.userList.presenter": "발표자",
|
||||
"app.userList.you": "당신",
|
||||
"app.userList.locked": "잠김",
|
||||
"app.userList.byModerator": "(중재자)에 의해 ",
|
||||
"app.userList.byModerator": "(주관자)에 의해 ",
|
||||
"app.userList.label": "사용자 리스트",
|
||||
"app.userList.toggleCompactView.label": "간단한 보기로 전환",
|
||||
"app.userList.moderator": "중재자",
|
||||
"app.userList.moderator": "주관자",
|
||||
"app.userList.mobile": "모바일",
|
||||
"app.userList.guest": "손님",
|
||||
"app.userList.sharingWebcam": "웹캠",
|
||||
"app.userList.menuTitleContext": "가능한 옵션",
|
||||
"app.userList.chatListItem.unreadSingular": "새로운 메시지",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} 개의 새로운 메시지",
|
||||
"app.userList.menu.chat.label": "비공개 채팅 시작",
|
||||
"app.userList.menu.clearStatus.label": "상태 지우기",
|
||||
"app.userList.menu.removeUser.label": "사용자 쫓아내기",
|
||||
@ -85,7 +92,7 @@
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "화이트 보드 접속 끊기",
|
||||
"app.userList.userAriaLabel": "{0}{1}{2} 상태 {3}",
|
||||
"app.userList.menu.promoteUser.label": "주관자로 승격",
|
||||
"app.userList.menu.demoteUser.label": "관람자로 강등",
|
||||
"app.userList.menu.demoteUser.label": "참여자로 강등",
|
||||
"app.userList.menu.unlockUser.label": "{0} 잠금 해제",
|
||||
"app.userList.menu.lockUser.label": "{0} 기능 잠금",
|
||||
"app.userList.menu.directoryLookup.label": "디렉토리 검색",
|
||||
@ -99,24 +106,24 @@
|
||||
"app.userList.userOptions.muteAllExceptPresenterDesc": "미팅안에 발표자를 제외한 모든 사용자 음소거",
|
||||
"app.userList.userOptions.unmuteAllLabel": "미팅 음소거 끄기",
|
||||
"app.userList.userOptions.unmuteAllDesc": "미팅 음소거 해제",
|
||||
"app.userList.userOptions.lockViewersLabel": "모든 관람자 잠그기",
|
||||
"app.userList.userOptions.lockViewersLabel": "모든 참여자 잠그기",
|
||||
"app.userList.userOptions.lockViewersDesc": "미팅의 참석자 기능들을 잠그기",
|
||||
"app.userList.userOptions.guestPolicyLabel": "게스트 정책",
|
||||
"app.userList.userOptions.guestPolicyDesc": "게스트 미팅 정책 설정 변경",
|
||||
"app.userList.userOptions.disableCam": "관람자들의 웹캠 사용 중지",
|
||||
"app.userList.userOptions.disableMic": "관람자들의 마이크 사용 중지",
|
||||
"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.userOptions.hideUserList": "참여자에게 사용자목록이 감춰집니다 ",
|
||||
"app.userList.userOptions.webcamsOnlyForModerator": "주관자만 참여자의 웹캠을 볼 수 있습니다 (잠금설정때문)",
|
||||
"app.userList.content.participants.options.clearedStatus": "모든 사용자 상태 지우기",
|
||||
"app.userList.userOptions.enableCam": "관람자 웹캠사용 가능",
|
||||
"app.userList.userOptions.enableMic": "관람자 마이크 사용 가능",
|
||||
"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.showUserList": "사용자 목록이 참여자에게 보여짐",
|
||||
"app.userList.userOptions.enableOnlyModeratorWebcam": "웹캠 사용이 가능합니다. 모든 사람이 당신을 보게 됩니다 ",
|
||||
"app.userList.userOptions.savedNames.title": "{1} 회의 {0}의 사용자 목록",
|
||||
"app.userList.userOptions.sortedFirstName.heading": "이름으로 정렬 :",
|
||||
@ -129,6 +136,9 @@
|
||||
"app.media.screenshare.notSupported": "화면공유가 이 브라우저에서는 지원되지 않습니다 ",
|
||||
"app.media.screenshare.autoplayBlockedDesc": "발표자의 스크린을 보여주기 위해 당신의 허가가 필요합니다 ",
|
||||
"app.media.screenshare.autoplayAllowLabel": "공유스크린 보기",
|
||||
"app.screenshare.presenterLoadingLabel": "스크린 공유가 로딩 중",
|
||||
"app.screenshare.viewerLoadingLabel": "발표자 스크린이 로딩 중입니다",
|
||||
"app.screenshare.presenterSharingLabel": "스크린을 공유하고 있습니다",
|
||||
"app.screenshare.screenshareFinalError": "코드 {0}. 화면을 공유 할 수 없습니다.",
|
||||
"app.screenshare.screenshareRetryError": "코드 {0}. 화면을 다시 공유해보십시오.",
|
||||
"app.screenshare.screenshareRetryOtherEnvError": "코드 {0}. 화면을 공유 할 수 없습니다. 다른 브라우저 또는 장치를 사용하여 다시 시도하십시오.",
|
||||
@ -137,47 +147,51 @@
|
||||
"app.meeting.ended": "이 세션은 종료 되었습니다 ",
|
||||
"app.meeting.meetingTimeRemaining": "미팅시간은 {0} 남았습니다 ",
|
||||
"app.meeting.meetingTimeHasEnded": "시간종료. 미팅은 조만간 종료 됩니다 ",
|
||||
"app.meeting.endedByUserMessage": "{0}에 의해 세션이 종료되었습니다",
|
||||
"app.meeting.endedByNoModeratorMessageSingular": "1분이 경과 되었음에도 중재자가 없어 회의가 종료되었습니다.",
|
||||
"app.meeting.endedByNoModeratorMessagePlural": "{0}분이 경과 되었음에도 중재자가 없어 회의가 종료되었습니다.",
|
||||
"app.meeting.endedMessage": "홈화면으로 돌아갑니다 ",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "미팅이 1분내에 마감됩니다 ",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "미팅이 {0} 분내에 마감됩니다 ",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "브레이크아웃이 {0} 분내에 마감됩니다 ",
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "브레이크아웃이 1 분내에 마감됩니다 ",
|
||||
"app.presentation.hide": "프리젠테이션 숨기기",
|
||||
"app.presentation.notificationLabel": "현재 프리젠테이션",
|
||||
"app.presentation.hide": "프레젠테이션 숨기기",
|
||||
"app.presentation.notificationLabel": "현재 프레젠테이션",
|
||||
"app.presentation.downloadLabel": "다운로드",
|
||||
"app.presentation.slideContent": "슬라이드 컨텐츠",
|
||||
"app.presentation.startSlideContent": "슬라이드 컨텐츠 시작",
|
||||
"app.presentation.endSlideContent": "슬라이드 컨텐츠 종료",
|
||||
"app.presentation.emptySlideContent": "현재의 슬라이드에대한 컨텐츠 없음",
|
||||
"app.presentation.presentationToolbar.noNextSlideDesc": "프리젠테이션 끝",
|
||||
"app.presentation.presentationToolbar.noPrevSlideDesc": "프리젠테이션 시작",
|
||||
"app.presentation.presentationToolbar.noNextSlideDesc": "프레젠테이션 끝",
|
||||
"app.presentation.presentationToolbar.noPrevSlideDesc": "프레젠테이션 시작",
|
||||
"app.presentation.presentationToolbar.selectLabel": "슬라이드 선택",
|
||||
"app.presentation.presentationToolbar.prevSlideLabel": "이전 슬라이드",
|
||||
"app.presentation.presentationToolbar.prevSlideDesc": "이전 슬라이드로 프리젠테이션 변경",
|
||||
"app.presentation.presentationToolbar.prevSlideDesc": "이전 슬라이드로 프레젠테이션 변경",
|
||||
"app.presentation.presentationToolbar.nextSlideLabel": "다음 슬라이드",
|
||||
"app.presentation.presentationToolbar.nextSlideDesc": "다음 슬라이드로 프리젠테이션 변경",
|
||||
"app.presentation.presentationToolbar.nextSlideDesc": "다음 슬라이드로 프레젠테이션 변경",
|
||||
"app.presentation.presentationToolbar.skipSlideLabel": "슬라이드 건너뛰기",
|
||||
"app.presentation.presentationToolbar.skipSlideDesc": "특정 슬라이드로 프리젠테이션 변경",
|
||||
"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.zoomDesc": "프레젠테이션의 확대/축소 수준 변경",
|
||||
"app.presentation.presentationToolbar.zoomInLabel": "확대",
|
||||
"app.presentation.presentationToolbar.zoomInDesc": "프리젠테이션 확대",
|
||||
"app.presentation.presentationToolbar.zoomInDesc": "프레젠테이션 확대",
|
||||
"app.presentation.presentationToolbar.zoomOutLabel": "축소",
|
||||
"app.presentation.presentationToolbar.zoomOutDesc": "프리젠테이션 축소",
|
||||
"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": "발표자는 Office 문서나 PDF 파일을 업로드할 수 있습니다. PDF 파일의 업로드를 권장합니다. 우측의 원형 체크박스를 클릭해 프리젠테이션 파일을 선택하고 '확인'을 클릭하세요. ",
|
||||
"app.presentation.placeholder": "프레젠테이션 업로드를 대기 중",
|
||||
"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.dropzoneLabel": "업로드를 위해 파일을 이곳에 드래그 하여 넣으세요 ",
|
||||
@ -192,7 +206,7 @@
|
||||
"app.presentationUploder.genericError": "어머나. 뭔가 잘못 되었어요 ",
|
||||
"app.presentationUploder.upload.408": "요청하신 업로드 토큰이 만료되었습니다.",
|
||||
"app.presentationUploder.upload.404": "404: 잘못된 업로드 토큰",
|
||||
"app.presentationUploder.upload.401": "프리젠테이션 업로드 토큰 요청이 실패했습니다.",
|
||||
"app.presentationUploder.upload.401": "프젠테이션 업로드 토큰 요청이 실패했습니다.",
|
||||
"app.presentationUploder.conversion.conversionProcessingSlides": "{1} 중 {0} 페이지 진행 ",
|
||||
"app.presentationUploder.conversion.genericConversionStatus": "파일 변환",
|
||||
"app.presentationUploder.conversion.generatingThumbnail": "썸네일 생성중",
|
||||
@ -207,8 +221,8 @@
|
||||
"app.presentationUploder.conversion.unsupportedDocument": "지원되지 않는 파일 확장자",
|
||||
"app.presentationUploder.isDownloadableLabel": "프레젠테이션 다운로드가 허용되지 않습니다. 프레젠테이션을 다운로드하려면 클릭하십시오.",
|
||||
"app.presentationUploder.isNotDownloadableLabel": "프레젠테이션 다운로드가 허용됩니다. 프레젠테이션 다운로드를 허용하지 않으려면 클릭하세요.",
|
||||
"app.presentationUploder.removePresentationLabel": "프리젠테이션 제거 ",
|
||||
"app.presentationUploder.setAsCurrentPresentation": "프리젠테이션 현행화",
|
||||
"app.presentationUploder.removePresentationLabel": "프레젠테이션 제거 ",
|
||||
"app.presentationUploder.setAsCurrentPresentation": "프레젠테이션 현행화",
|
||||
"app.presentationUploder.tableHeading.filename": "파일 이름",
|
||||
"app.presentationUploder.tableHeading.options": "옵션",
|
||||
"app.presentationUploder.tableHeading.status": "상태",
|
||||
@ -218,7 +232,8 @@
|
||||
"app.presentationUploder.item" : "아이템",
|
||||
"app.presentationUploder.itemPlural" : "아이템들",
|
||||
"app.presentationUploder.clearErrors": "에러 제거 ",
|
||||
"app.presentationUploder.clearErrorsDesc": "프리젠테이션 업로드 실패 제거 ",
|
||||
"app.presentationUploder.clearErrorsDesc": "프레젠테이션 업로드 실패 제거 ",
|
||||
"app.presentationUploder.uploadViewTitle": "프레젠테이션 업로드",
|
||||
"app.poll.pollPaneTitle": "설문조사",
|
||||
"app.poll.quickPollTitle": "빠른설문",
|
||||
"app.poll.hidePollDesc": "설문메뉴 숨기기",
|
||||
@ -226,13 +241,17 @@
|
||||
"app.poll.activePollInstruction": "설문조사에 대한 실시간 반응을 보려면, 이 패널을 열어 놓으세요. 설문이 끝나면, 아래 '설문 결과 공개'를 클릭하고 결과를 알리세요.",
|
||||
"app.poll.dragDropPollInstruction": "설문 조사 값을 채우려면 설문 조사 값이 포함 된 텍스트 파일을 강조 표시된 필드로 드래그하세요.",
|
||||
"app.poll.customPollTextArea": "설문 조사 값 채우기",
|
||||
"app.poll.publishLabel": "투표 결과 발표",
|
||||
"app.poll.cancelPollLabel": "취소",
|
||||
"app.poll.backLabel": "설문 시작",
|
||||
"app.poll.closeLabel": "닫기",
|
||||
"app.poll.waitingLabel": "응답대기 ({0}/{1})",
|
||||
"app.poll.ariaInputCount": "맞춤형 설문 옵션 {1} 중 {0}",
|
||||
"app.poll.customPlaceholder": "대답 옵션 추가 ",
|
||||
"app.poll.noPresentationSelected": "프리젠테이션이 선택되지 않았습니다. 하나를 선택 하세요 ",
|
||||
"app.poll.noPresentationSelected": "프레젠테이션이 선택되지 않았습니다. 하나를 선택 하세요 ",
|
||||
"app.poll.clickHereToSelect": "선택하려면 클릭하세요 ",
|
||||
"app.poll.question.label" : "질문을 작성하세요",
|
||||
"app.poll.optionalQuestion.label" : "질문을 작성하세요(선택사항)...",
|
||||
"app.poll.userResponse.label" : "사용자 응답",
|
||||
"app.poll.responseTypes.label" : "응답 유형",
|
||||
"app.poll.optionDelete.label" : "삭제",
|
||||
@ -240,7 +259,14 @@
|
||||
"app.poll.typedResponse.desc" : "사용자에게 응답을 입력 할 수있는 텍스트 상자가 표시됩니다.",
|
||||
"app.poll.addItem.label" : "아이템 추가",
|
||||
"app.poll.start.label" : "설문 시작",
|
||||
"app.poll.secretPoll.label" : "무기명 투표",
|
||||
"app.poll.secretPoll.isSecretLabel": "무기명 투표입니다 - 개별 응답을 볼 수 없습니다.",
|
||||
"app.poll.questionErr": "질의를 제공해야 합니다.",
|
||||
"app.poll.optionErr": "설문 조사 옵션 입력",
|
||||
"app.poll.startPollDesc": "투표를 시작합니다",
|
||||
"app.poll.showRespDesc": "응답 구성을 표시합니다.",
|
||||
"app.poll.addRespDesc": "설문 응답 입력을 추가합니다.",
|
||||
"app.poll.deleteRespDesc": "옵션 {0} 제거",
|
||||
"app.poll.t": "참",
|
||||
"app.poll.f": "거짓",
|
||||
"app.poll.tf": "참 / 거짓",
|
||||
@ -264,15 +290,20 @@
|
||||
"app.poll.answer.e": "E",
|
||||
"app.poll.liveResult.usersTitle": "사용자",
|
||||
"app.poll.liveResult.responsesTitle": "응답",
|
||||
"app.poll.liveResult.secretLabel": "무기명 투표입니다 - 개별 응답을 볼 수 없습니다.",
|
||||
"app.poll.removePollOpt": "삭제된 설문조사 옵션 {0}",
|
||||
"app.poll.emptyPollOpt": "공백",
|
||||
"app.polling.pollingTitle": "설문 옵션",
|
||||
"app.polling.pollQuestionTitle": "설문 조사 질문",
|
||||
"app.polling.submitLabel": "제출",
|
||||
"app.polling.submitAriaLabel": "설문 응답 제출",
|
||||
"app.polling.responsePlaceholder": "답변 입력",
|
||||
"app.polling.responseSecret": "무기명 투표 - 발표자는 당신의 답변을 볼 수 없습니다.",
|
||||
"app.polling.responseNotSecret": "일반 투표 - 발표자가 당신의 답변을 볼 수 있습니다.",
|
||||
"app.polling.pollAnswerLabel": "설문 응답 {0}",
|
||||
"app.polling.pollAnswerDesc": "{0} 에 투표 하기 위한 옵션 선택",
|
||||
"app.failedMessage": "죄송합니다 . 서버접속에 문제가 있습니다 ",
|
||||
"app.downloadPresentationButton.label": "원본 프리젠테이션 다운로드",
|
||||
"app.downloadPresentationButton.label": "원본 프레젠테이션 다운로드",
|
||||
"app.connectingMessage": "접속중 ...",
|
||||
"app.waitingMessage": "접속끊김. 재접속 시도 {0} 초 ...",
|
||||
"app.retryNow": "다시 시도 해 보세요 ",
|
||||
@ -324,7 +355,10 @@
|
||||
"app.actionsBar.camOffLabel": "카메라 끄기",
|
||||
"app.actionsBar.raiseLabel": "손들기",
|
||||
"app.actionsBar.label": "액션바",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "프리젠테이션 복구",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "프레젠테이션 복구",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "축소된 프레젠테이션을 복원하는 버튼",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "프레젠테이션 최소화",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "프레젠테이션 최소화 버튼",
|
||||
"app.screenshare.screenShareLabel" : "화면 공유",
|
||||
"app.submenu.application.applicationSectionTitle": "신청",
|
||||
"app.submenu.application.animationsLabel": "애니메이션",
|
||||
@ -337,12 +371,14 @@
|
||||
"app.submenu.application.languageOptionLabel": "언어 선택",
|
||||
"app.submenu.application.noLocaleOptionLabel": "활성 로케일 없음",
|
||||
"app.submenu.application.paginationEnabledLabel": "비디오 페이지화",
|
||||
"app.submenu.application.layoutOptionLabel": "레이아웃 종류",
|
||||
"app.submenu.notification.SectionTitle": "공지사항",
|
||||
"app.submenu.notification.Desc": "당신이 무엇을 어떻게 공지 할것인지를 정의 ",
|
||||
"app.submenu.notification.audioAlertLabel": "오디오 경고",
|
||||
"app.submenu.notification.pushAlertLabel": "팝업 경고",
|
||||
"app.submenu.notification.messagesLabel": "채팅 메시지",
|
||||
"app.submenu.notification.userJoinLabel": "사용자 합류",
|
||||
"app.submenu.notification.userLeaveLabel": "사용자 떠남",
|
||||
"app.submenu.notification.guestWaitingLabel": "게스트 승인 대기",
|
||||
"app.submenu.audio.micSourceLabel": "마이크 소스 ",
|
||||
"app.submenu.audio.speakerSourceLabel": "스피커 소스 ",
|
||||
@ -376,6 +412,8 @@
|
||||
"app.switch.offLabel": "끄기",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "사용자를 음소거하려면 선택",
|
||||
"app.talkingIndicator.isTalking" : "{0} 가 말하는 중입니다",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ 명이 말하는 중입니다",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ 명이 말하는 중이었습니다",
|
||||
"app.talkingIndicator.wasTalking" : "{0} 가 말을 멈췄습니다",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "부가기능 활용",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "프레젠테이션 관리",
|
||||
@ -383,7 +421,7 @@
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "화면 공유",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "화면 공유 잠금",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "화면 공유 중지",
|
||||
"app.actionsBar.actionsDropdown.presentationDesc": "프리젠테이션 업로드",
|
||||
"app.actionsBar.actionsDropdown.presentationDesc": "프레젠테이션을 업로드하세요",
|
||||
"app.actionsBar.actionsDropdown.initPollDesc": "설문조사 초기화",
|
||||
"app.actionsBar.actionsDropdown.desktopShareDesc": "다른사람과 화면 공유",
|
||||
"app.actionsBar.actionsDropdown.stopDesktopShareDesc": "화면 공유 중지",
|
||||
@ -396,8 +434,8 @@
|
||||
"app.actionsBar.actionsDropdown.captionsDesc": "자막창 띄우기",
|
||||
"app.actionsBar.actionsDropdown.takePresenter": "발표권한 가져오기",
|
||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "새로운 발표자로 자신을 임명",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "임의 사용자 선택",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "사용 가능한 뷰어에서 임의의 사용자를 선택합니다.",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "사용자 임의 선택",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "참여자 중에 임의로 한명을 선택합니다.",
|
||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "상태 설정",
|
||||
"app.actionsBar.emojiMenu.awayLabel": "부재중",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "부재중으로 상태 변경",
|
||||
@ -438,7 +476,7 @@
|
||||
"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": "브레이크아웃 룸에 합류하기",
|
||||
@ -451,6 +489,8 @@
|
||||
"app.audioModal.ariaTitle": "오디오 창 합류",
|
||||
"app.audioModal.microphoneLabel": "마이크",
|
||||
"app.audioModal.listenOnlyLabel": "듣기만",
|
||||
"app.audioModal.microphoneDesc": "말하기 모드로 참가",
|
||||
"app.audioModal.listenOnlyDesc": "듣기 모드로 참가",
|
||||
"app.audioModal.audioChoiceLabel": "어떻게 오디오에 합류하시겠습니까 ?",
|
||||
"app.audioModal.iOSBrowser": "오디오/비디오 를 지원하지 않습니다 ",
|
||||
"app.audioModal.iOSErrorDescription": "아직은, iOS 의 크롬에서 오디오와 비디오를 지원하지 않습니다 ",
|
||||
@ -476,6 +516,7 @@
|
||||
"app.audioModal.playAudio.arialabel" : "오디오 재생",
|
||||
"app.audioDial.tipIndicator": "팁",
|
||||
"app.audioDial.tipMessage": "전화기의 '0' 버튼을 누르면, 음소거/취소가 됩니다 ",
|
||||
"app.audioModal.connecting": "오디오 연결 설정 중",
|
||||
"app.audioManager.joinedAudio": "오디오 컨퍼런스에 합류하셨습니다 ",
|
||||
"app.audioManager.joinedEcho": "메아리 테스트에 합류하셨습니다 ",
|
||||
"app.audioManager.leftAudio": "오디오 컨퍼런스에서 나오셨습니다 ",
|
||||
@ -487,6 +528,7 @@
|
||||
"app.audioManager.mediaError": "에러 : 미디어 장치정보를 얻어 내는데 문제 발생",
|
||||
"app.audio.joinAudio": "오디오 합류",
|
||||
"app.audio.leaveAudio": "오디오 끝내기",
|
||||
"app.audio.changeAudioDevice": "오디오 장치 변경",
|
||||
"app.audio.enterSessionLabel": "세션 합류",
|
||||
"app.audio.playSoundLabel": "소리 재생",
|
||||
"app.audio.backLabel": "뒤로 ",
|
||||
@ -518,11 +560,11 @@
|
||||
"app.modal.confirm": "완료",
|
||||
"app.modal.newTab": "(새 탭 열기)",
|
||||
"app.modal.confirm.description": "변경사항 저장후 창 닫기",
|
||||
"app.modal.randomUser.noViewers.description": "무작위로 선택할 수있는 뷰어가 없습니다.",
|
||||
"app.modal.randomUser.noViewers.description": "임의로 선택할 수있는 참여자가 없습니다",
|
||||
"app.modal.randomUser.selected.description": "당신은 무작위로 선택되었습니다.",
|
||||
"app.modal.randomUser.title": "무작위로 선택된 사용자",
|
||||
"app.modal.randomUser.who": "누가 뽑힐 지 ..?",
|
||||
"app.modal.randomUser.alone": "뷰어는 한 명뿐입니다.",
|
||||
"app.modal.randomUser.alone": "참여자가 한 명뿐입니다.",
|
||||
"app.modal.randomUser.reselect.label": "다시 선택",
|
||||
"app.modal.randomUser.ariaLabel.title": "무작위로 선택된 사용자 모달",
|
||||
"app.dropdown.close": "닫기",
|
||||
@ -531,6 +573,7 @@
|
||||
"app.error.401": "권한 없음",
|
||||
"app.error.403": "미팅에서 퇴장되셨습니다 ",
|
||||
"app.error.404": "없음",
|
||||
"app.error.408": "인증 실패",
|
||||
"app.error.410": "미팅 종료 ",
|
||||
"app.error.500": "어머나 ! 뭔가 잘못 되었어요 ",
|
||||
"app.error.userLoggedOut": "로그 아웃으로 인해 사용자에게 잘못된 sessionToken이 있습니다.",
|
||||
@ -541,6 +584,18 @@
|
||||
"app.error.fallback.presentation.description": "기록 되었습니다. 페이지를 새로고침 해 보세요 ",
|
||||
"app.error.fallback.presentation.reloadButton": "새로고침",
|
||||
"app.guest.waiting": "합류 허가를 기다림",
|
||||
"app.guest.errorSeeConsole": "오류: 자세한 내용은 콘솔에서 확인",
|
||||
"app.guest.noModeratorResponse": "주관자가 응답하지 않습니다.",
|
||||
"app.guest.noSessionToken": "세션 토큰을 수신하지 못했습니다.",
|
||||
"app.guest.windowTitle": "BigBlueButton - Guest Lobby",
|
||||
"app.guest.missingToken": "세션 토큰을 분실한 게스트",
|
||||
"app.guest.missingSession": "세션을 분실한 사용자",
|
||||
"app.guest.missingMeeting": "미팅이 존재하지 않습니다.",
|
||||
"app.guest.meetingEnded": "미팅이 종료되었습니다.",
|
||||
"app.guest.guestWait": "주관자가 회의참여를 승인할 때까지 기다려주십시오.",
|
||||
"app.guest.guestDeny": "미팅 참가가 거부된 게스트",
|
||||
"app.guest.seatWait": "승인을 대기 중인 게스트",
|
||||
"app.guest.allow": "승인된 게스트",
|
||||
"app.userList.guest.waitingUsers": "사용자 기다림",
|
||||
"app.userList.guest.waitingUsersTitle": "사용자 관리",
|
||||
"app.userList.guest.optionTitle": "보류중인 사용자 검토",
|
||||
@ -572,6 +627,7 @@
|
||||
"app.notification.recordingPaused": "이 세션은 더이상 녹화되지 않습니다 ",
|
||||
"app.notification.recordingAriaLabel": "녹화 시간",
|
||||
"app.notification.userJoinPushAlert": "{0} 가 세션에 합류했습니다",
|
||||
"app.notification.userLeavePushAlert": "{0} 이(가) 세션에서 나갔습니다.",
|
||||
"app.submenu.notification.raiseHandLabel": "손들기",
|
||||
"app.shortcut-help.title": "키보드 바로가기",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "접속 키 불가 ",
|
||||
@ -593,18 +649,18 @@
|
||||
"app.shortcut-help.toggleFullscreen": "전체 화면 전환 (발표자)",
|
||||
"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.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.userListLabel": "사용자 목록에 있는 다른 참여자들 보기 ",
|
||||
"app.lock-viewers.ariaTitle": "참여자 설정창 고정",
|
||||
"app.lock-viewers.button.apply": "적용",
|
||||
"app.lock-viewers.button.cancel": "취소",
|
||||
"app.lock-viewers.locked": "잠김",
|
||||
@ -612,17 +668,28 @@
|
||||
"app.guest-policy.ariaTitle": "게스트 정책 설정 모달",
|
||||
"app.guest-policy.title": "게스트 정책",
|
||||
"app.guest-policy.description": "게스트 미팅 정책 설정 변경",
|
||||
"app.guest-policy.button.askModerator": "중재자에게 문의",
|
||||
"app.guest-policy.button.askModerator": "주관자에게 문의",
|
||||
"app.guest-policy.button.alwaysAccept": "항상 수락",
|
||||
"app.guest-policy.button.alwaysDeny": "항상 거부",
|
||||
"app.guest-policy.policyBtnDesc": "게스트 승인정책 설정",
|
||||
"app.connection-status.ariaTitle": "modal 의 접속 상태",
|
||||
"app.connection-status.title": "접속 상태",
|
||||
"app.connection-status.description": "사용자 접속상태 보기",
|
||||
"app.connection-status.empty": "현재보고 된 연결 문제가 없습니다.",
|
||||
"app.connection-status.more": "좀 더",
|
||||
"app.connection-status.copy": "네트워크 데이터 복사",
|
||||
"app.connection-status.copied": "복사 됨!",
|
||||
"app.connection-status.jitter": "지터",
|
||||
"app.connection-status.label": "연결 상태",
|
||||
"app.connection-status.no": "아니오",
|
||||
"app.connection-status.notification": "연결 끊김이 감지되었습니다.",
|
||||
"app.connection-status.offline": "오프라인",
|
||||
"app.connection-status.lostPackets": "패킷 손실",
|
||||
"app.connection-status.usingTurn": "TURN 사용",
|
||||
"app.connection-status.yes": "예",
|
||||
"app.learning-dashboard.label": "참여자 현황판",
|
||||
"app.learning-dashboard.description": "사용자 활동 기반 현황판 열기",
|
||||
"app.learning-dashboard.clickHereToOpen": "참여자 현황판 열기",
|
||||
"app.recording.startTitle": "녹화 시작",
|
||||
"app.recording.stopTitle": "녹화 일시중지",
|
||||
"app.recording.resumeTitle": "녹화 재시작",
|
||||
@ -644,11 +711,14 @@
|
||||
"app.videoPreview.webcamOptionLabel": "웹캠 선택",
|
||||
"app.videoPreview.webcamPreviewLabel": "웹캠 미리보기",
|
||||
"app.videoPreview.webcamSettingsTitle": "웹캠 설정",
|
||||
"app.videoPreview.webcamVirtualBackgroundLabel": "가상배경 설정",
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "장치가 가상배경을 지원하지 않습니다",
|
||||
"app.videoPreview.webcamNotFoundLabel": "웹캠 찾지 못함",
|
||||
"app.videoPreview.profileNotFoundLabel": "지원되지 않는 카메라",
|
||||
"app.video.joinVideo": "웹캠 공유",
|
||||
"app.video.connecting": "웹캠 공유가 시작됩니다.",
|
||||
"app.video.leaveVideo": "웹캠 공유 중지",
|
||||
"app.video.advancedVideo": "고급설정 열기",
|
||||
"app.video.iceCandidateError": "ICE 추가 에러 ",
|
||||
"app.video.iceConnectionStateError": "연결 실패(ICE 오류 1107)",
|
||||
"app.video.permissionError": "웹캠 공유중 에러. 장치 권한을 체크 하세요 ",
|
||||
@ -663,8 +733,9 @@
|
||||
"app.video.notReadableError": "웹캠 비디오를 가져 올 수 없습니다. 다른 프로그램에서 웹캠을 사용하고 있지 않은지 확인 하세요 ",
|
||||
"app.video.timeoutError": "브라우저가 제 시간에 응답하지 않았습니다.",
|
||||
"app.video.genericError": "기기에 알 수없는 오류가 발생했습니다 (오류 {0}).",
|
||||
"app.video.mediaTimedOutError": "웹캠 스트림이 중지되었습니다. 웹캠을 다시 공유하십시오",
|
||||
"app.video.mediaFlowTimeout1020": "Media가 서버에 도달할 수 없습니다(오류 1020)",
|
||||
"app.video.suggestWebcamLock": "관람자의 웹캠을 강제로 잠금설정 하겠습니까 ?",
|
||||
"app.video.suggestWebcamLock": "참여자의 웹캠을 강제로 잠금설정 하겠습니까 ?",
|
||||
"app.video.suggestWebcamLockReason": "( 이것은 미팅의 안정성을 높여줄것입니다 )",
|
||||
"app.video.enable": "가능",
|
||||
"app.video.cancel": "취소",
|
||||
@ -678,8 +749,15 @@
|
||||
"app.video.pagination.prevPage": "이전 비디오 보기",
|
||||
"app.video.pagination.nextPage": "다음 비디오 보기",
|
||||
"app.video.clientDisconnected": "연결 문제로 인해 웹캠을 공유 할 수 없습니다.",
|
||||
"app.video.virtualBackground.none": "없음",
|
||||
"app.video.virtualBackground.blur": "흐리기",
|
||||
"app.video.virtualBackground.genericError": "카메라 효과를 적용하지 못했습니다. 다시 시도하세요.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "웹캠의 배경을 {0}으로 설정",
|
||||
"app.video.dropZoneLabel": "여기에 드롭",
|
||||
"app.fullscreenButton.label": "{0} 을 꽉찬화면으로 ",
|
||||
"app.fullscreenUndoButton.label": "{0} 전체 화면 실행 취소",
|
||||
"app.switchButton.expandLabel": "화면공유 비디오 확장",
|
||||
"app.switchButton.shrinkLabel": "화면공유 비디오 축소",
|
||||
"app.sfu.mediaServerConnectionError2000": "미디어 서버에 연결할 수 없음(오류 2000)",
|
||||
"app.sfu.mediaServerOffline2001": "미디어서버가 꺼져있습니다. 다시 시도해 보세요(오류 2001)",
|
||||
"app.sfu.mediaServerNoResources2002": "미디어서버에 가용자원이 없습니다(오류 2002)",
|
||||
@ -692,6 +770,7 @@
|
||||
"app.meeting.endNotification.ok.label": "예",
|
||||
"app.whiteboard.annotations.poll": "설문조사결과가 발표되었습니다 ",
|
||||
"app.whiteboard.annotations.pollResult": "설문 결과",
|
||||
"app.whiteboard.annotations.noResponses": "응답 없음",
|
||||
"app.whiteboard.toolbar.tools": "도구들",
|
||||
"app.whiteboard.toolbar.tools.hand": "Pan",
|
||||
"app.whiteboard.toolbar.tools.pencil": "연필",
|
||||
@ -723,6 +802,7 @@
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "손바닥 거부 기능 켜기",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "손바닥 거부 기능 끄기",
|
||||
"app.whiteboard.toolbar.fontSize": "글자 크기 리스트",
|
||||
"app.whiteboard.toolbarAriaLabel": "프레젠테이션 도구",
|
||||
"app.feedback.title": "컨퍼런스에서 나오셨습니다 ",
|
||||
"app.feedback.subtitle": "BigBlueButton 사용 경험에 대해 듣고 싶습니다 (선택사항)",
|
||||
"app.feedback.textarea": "어떻게 BigBlueButton 을 더 낫게 할 수 있을까요 ?",
|
||||
@ -730,7 +810,7 @@
|
||||
"app.feedback.sendFeedbackDesc": "피드백 보내고 미팅에서 나오기",
|
||||
"app.videoDock.webcamMirrorLabel": "미러링",
|
||||
"app.videoDock.webcamMirrorDesc": "선택한 웹캠 미러링",
|
||||
"app.videoDock.webcamFocusLabel": "촛점",
|
||||
"app.videoDock.webcamFocusLabel": "포커스",
|
||||
"app.videoDock.webcamFocusDesc": "선택된 웹캠에 집중",
|
||||
"app.videoDock.webcamUnfocusLabel": "포커스 해제",
|
||||
"app.videoDock.webcamUnfocusDesc": "선택된 웹캠에 포커스 해제",
|
||||
@ -741,7 +821,9 @@
|
||||
"app.createBreakoutRoom.title": "브레이크 아웃룸",
|
||||
"app.createBreakoutRoom.ariaTitle": "브레이크 아웃룸 숨기기",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "브레이크 아웃룸 {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "참가 요청",
|
||||
"app.createBreakoutRoom.generatingURL": "URL 생성",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "선택한 브레이크아웃 룸에 대해 참여 URL을 생성하고 있습니다. 잠시 기다려 주십시오...",
|
||||
"app.createBreakoutRoom.duration": "지속 {0}",
|
||||
"app.createBreakoutRoom.room": "룸 {0}",
|
||||
"app.createBreakoutRoom.notAssigned": "배정 안됨 ({0})",
|
||||
@ -754,6 +836,7 @@
|
||||
"app.createBreakoutRoom.numberOfRooms": "룸 갯수",
|
||||
"app.createBreakoutRoom.durationInMinutes": "지속 (분)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "무작위 배정",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "사용자를 브레이크아웃 룸에 임의로 할당합니다.",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "브레이크 아웃룸 종료 ",
|
||||
"app.createBreakoutRoom.roomName": "{0} ( 룸 - {1} )",
|
||||
"app.createBreakoutRoom.doneLabel": "완료",
|
||||
@ -763,9 +846,17 @@
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ 참가자 추가",
|
||||
"app.createBreakoutRoom.freeJoin": "사용자가 참여할 브레이크 아웃룸을 선택하게 허가 ",
|
||||
"app.createBreakoutRoom.leastOneWarnBreakout": "브레이크 아웃룸에 최소 한명을 배치 해야 합니다 ",
|
||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "브레이크아웃 룸의 최소 지속시간은 {0}분입니다.",
|
||||
"app.createBreakoutRoom.modalDesc": "팁 : 특정 브레이크 아웃룸에 사용자를 배정하기 위해 사용자 이름을 드래그 앤 드롭 할 수 있습니다 ",
|
||||
"app.createBreakoutRoom.roomTime": "{0} 분",
|
||||
"app.createBreakoutRoom.numberOfRoomsError": "룸 갯수가 적절치 않습니다 ",
|
||||
"app.createBreakoutRoom.duplicatedRoomNameError": "회의룸 이름은 중복될 수 없습니다.",
|
||||
"app.createBreakoutRoom.emptyRoomNameError": "회의룸 이름은 비워둘 수 없습니다.",
|
||||
"app.createBreakoutRoom.extendTimeInMinutes": "시간 연장(분)",
|
||||
"app.createBreakoutRoom.extendTimeLabel": "확장",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "취소",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "브레이크아웃 룸의 지속시간은 미팅의 잔여시간을 초과할 수 없습니다.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "브레이크아웃 룸의 이름을 업데이트",
|
||||
"app.externalVideo.start": "새로운 비디오 공유",
|
||||
"app.externalVideo.title": "외부 비디오 공유",
|
||||
"app.externalVideo.input": "외부 비디오 URL",
|
||||
@ -773,6 +864,8 @@
|
||||
"app.externalVideo.urlError": "이 비디오 URL 은 지원되지 않습니다 ",
|
||||
"app.externalVideo.close": "닫기",
|
||||
"app.externalVideo.autoPlayWarning": "미디어 동기화를 가능하게 하기 위해 비디오 재생",
|
||||
"app.externalVideo.refreshLabel": "비디오 플레이어 새로 고침",
|
||||
"app.externalVideo.fullscreenLabel": "비디오 재생기",
|
||||
"app.externalVideo.noteLabel": "주의 : 외부비디오 공유는 녹화중에 보이지 않습니다. 유튜브, 비메오, 트위치 등과 동영상 URL 은 지원 됩니다 ",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "외부 비디오 공유",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "외부 비디오 공유 중지 ",
|
||||
@ -784,7 +877,73 @@
|
||||
"app.debugWindow.form.userAgentLabel": "사용자 에이전트",
|
||||
"app.debugWindow.form.button.copy": "복사",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "레이아웃 자동 정렬 활성화",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(웹캠 영역을 드래그하거나 크기를 조정하면 비활성화됩니다)"
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(웹캠 영역을 드래그하거나 크기를 조정하면 비활성화됩니다)",
|
||||
"app.debugWindow.form.chatLoggerLabel": "채팅 Logger Levels 테스트",
|
||||
"app.debugWindow.form.button.apply": "적용",
|
||||
"app.layout.style.custom": "일반",
|
||||
"app.layout.style.smart": "자동 레이아웃",
|
||||
"app.layout.style.presentationFocus": "프레젠테이션에 포커스",
|
||||
"app.layout.style.videoFocus": "화상에 포커스",
|
||||
"app.layout.style.customPush": "일반(모든 사용자에게 해당 레이아웃 적용)",
|
||||
"app.layout.style.smartPush": "자동 레이아웃(모든 사용자에게 해당 레이아웃 적용)",
|
||||
"app.layout.style.presentationFocusPush": "프레젠테이션에 포커스(레이아웃을 모든 사용자에게 적용)",
|
||||
"app.layout.style.videoFocusPush": "화상에 포커스(모든 사용자에게 해당 레이아웃 적용)",
|
||||
"playback.button.about.aria": "정보",
|
||||
"playback.button.clear.aria": "검색 지우기",
|
||||
"playback.button.close.aria": "닫기 모달",
|
||||
"playback.button.fullscreen.aria": "전체화면 콘첸츠",
|
||||
"playback.button.restore.aria": "콘텐츠 복원",
|
||||
"playback.button.search.aria": "검색",
|
||||
"playback.button.section.aria": "측면 섹션",
|
||||
"playback.button.swap.aria": "콘텐츠 교환",
|
||||
"playback.error.wrapper.aria": "오류 영역",
|
||||
"playback.loader.wrapper.aria": "로더 영역",
|
||||
"playback.player.wrapper.aria": "재생기 영역",
|
||||
"playback.player.chat.message.poll.name": "투표 결과",
|
||||
"playback.player.chat.message.poll.question": "질문",
|
||||
"playback.player.chat.message.poll.options": "옵션",
|
||||
"playback.player.chat.message.poll.option.yes": "예",
|
||||
"playback.player.chat.message.poll.option.no": "아니요",
|
||||
"playback.player.chat.message.poll.option.abstention": "기권",
|
||||
"playback.player.chat.message.poll.option.true": "참",
|
||||
"playback.player.chat.message.poll.option.false": "거짓",
|
||||
"playback.player.chat.message.externalVideo.name": "외부 비디오",
|
||||
"playback.player.chat.wrapper.aria": "채팅 영역",
|
||||
"playback.player.notes.wrapper.aria": "노트 영역",
|
||||
"playback.player.presentation.wrapper.aria": "프레젠테이션 영역",
|
||||
"playback.player.screenshare.wrapper.aria": "스크린공유 영역",
|
||||
"playback.player.search.modal.title": "검색",
|
||||
"playback.player.search.modal.subtitle": "프레젠테이션 슬라이드 찾기",
|
||||
"playback.player.thumbnails.wrapper.aria": "썸네일 영역",
|
||||
"playback.player.video.wrapper.aria": "비디오 영역",
|
||||
"app.learningDashboard.dashboardTitle": "참여자 현황판",
|
||||
"app.learningDashboard.user": "사용자",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "종료 됨",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "활성",
|
||||
"app.learningDashboard.indicators.usersOnline": "활성 사용자",
|
||||
"app.learningDashboard.indicators.usersTotal": "총 사용자 수",
|
||||
"app.learningDashboard.indicators.polls": "투표",
|
||||
"app.learningDashboard.indicators.raiseHand": "손들기",
|
||||
"app.learningDashboard.indicators.activityScore": "활동 점수",
|
||||
"app.learningDashboard.indicators.duration": "지속시간",
|
||||
"app.learningDashboard.usersTable.title": "개요",
|
||||
"app.learningDashboard.usersTable.colOnline": "온라인 시간",
|
||||
"app.learningDashboard.usersTable.colTalk": "대화 시간",
|
||||
"app.learningDashboard.usersTable.colWebcam": "웹캠 시간",
|
||||
"app.learningDashboard.usersTable.colMessages": "메시지 수",
|
||||
"app.learningDashboard.usersTable.colEmojis": "이모지",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "양손 들기",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "활동 점수",
|
||||
"app.learningDashboard.usersTable.colStatus": "상태",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "온라인",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "오프라인",
|
||||
"app.learningDashboard.usersTable.noUsers": "아직 사용자 없음",
|
||||
"app.learningDashboard.pollsTable.title": "투표",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "무기명 투표 (마지막 행의 답변)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "무기명의",
|
||||
"app.learningDashboard.statusTimelineTable.title": "상태 타임라인",
|
||||
"app.learningDashboard.errors.invalidToken": "유효하지 않은 세션 토큰",
|
||||
"app.learningDashboard.errors.dataUnavailable": "데이터가 더 이상 가용하지 않습니다"
|
||||
|
||||
}
|
||||
|
||||
|
@ -587,7 +587,6 @@
|
||||
"app.guest.errorSeeConsole": "Fout: meer details in de console",
|
||||
"app.guest.noModeratorResponse": "Geen antwoord van de moderator",
|
||||
"app.guest.noSessionToken": "Geen sessie-teken ontvangen.",
|
||||
"app.guest.windowTitle": "Wachtkamer",
|
||||
"app.guest.missingToken": "Gast heeft geen sessie-token.",
|
||||
"app.guest.missingSession": "Gast heeft geen sessie.",
|
||||
"app.guest.missingMeeting": "Vergadering bestaat niet.",
|
||||
@ -915,8 +914,6 @@
|
||||
"playback.player.video.wrapper.aria": "Videozone",
|
||||
"app.learningDashboard.dashboardTitle": "Leer-startpagina",
|
||||
"app.learningDashboard.user": "Gebruiker",
|
||||
"app.learningDashboard.shareButton": "Deel met anderen",
|
||||
"app.learningDashboard.shareLinkCopied": "Link gekopieerd!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Beëindigd",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Actief",
|
||||
"app.learningDashboard.indicators.usersOnline": "Actieve gebruikers",
|
||||
|
@ -75,6 +75,8 @@
|
||||
"app.userList.guest": "Gość",
|
||||
"app.userList.sharingWebcam": "Kamerka internetowa",
|
||||
"app.userList.menuTitleContext": "Dostępne opcje",
|
||||
"app.userList.chatListItem.unreadSingular": "Jedna nowa wiadomość",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} nowych wiadomości",
|
||||
"app.userList.menu.chat.label": "Rozpocznij prywatny czat",
|
||||
"app.userList.menu.clearStatus.label": "Wyczyść status",
|
||||
"app.userList.menu.removeUser.label": "Usuń uczestnika",
|
||||
@ -141,6 +143,7 @@
|
||||
"app.meeting.ended": "Sesja zakończyła się",
|
||||
"app.meeting.meetingTimeRemaining": "Czas do końca spotkania: {0}",
|
||||
"app.meeting.meetingTimeHasEnded": "Koniec czasu. Spotkanie wkrótce się zakończy",
|
||||
"app.meeting.endedByUserMessage": "Ta sesja została zakończone przez {0}",
|
||||
"app.meeting.endedMessage": "Zostaniesz przekierowany do strony domowej",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Spotkanie zakończy się w ciągu jednej minuty.",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Spotkanie zakończy się w {0} minut.",
|
||||
@ -177,6 +180,7 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Dopasuj do szerokości",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Dopasuj do strony",
|
||||
"app.presentation.presentationToolbar.goToSlide": "Slajd {0}",
|
||||
"app.presentation.placeholder": "Oczekiwanie aż prezentacja zostanie wgrana",
|
||||
"app.presentationUploder.title": "Prezentacja",
|
||||
"app.presentationUploder.message": "Jako prezenter masz możliwość wgrania dowolnego dokumentu lub pliku PDF. Dla uzyskania lepszych rezultatów, zalecamy użycie pliku PDF. Upewnij się, że właściwa prezentacja jest wybrana. Wybierasz prezentację klikając okrągłe pole wyboru po jej prawej stronie.",
|
||||
"app.presentationUploder.uploadLabel": "Prześlij",
|
||||
@ -223,6 +227,7 @@
|
||||
"app.presentationUploder.itemPlural" : "elementy",
|
||||
"app.presentationUploder.clearErrors": "Wyczyść błędy",
|
||||
"app.presentationUploder.clearErrorsDesc": "Wyczyść błędne próby wysyłki prezentacji",
|
||||
"app.presentationUploder.uploadViewTitle": "Wgraj prezentację",
|
||||
"app.poll.pollPaneTitle": "Ankieta",
|
||||
"app.poll.quickPollTitle": "Szybka ankieta",
|
||||
"app.poll.hidePollDesc": "Ukrywa panel ankiety",
|
||||
@ -556,7 +561,6 @@
|
||||
"app.error.fallback.presentation.reloadButton": "Załaduj ponownie",
|
||||
"app.guest.waiting": "Oczekiwanie na zgodę na dołączenie",
|
||||
"app.guest.noModeratorResponse": "Brak odpowiedzi od Moderatora.",
|
||||
"app.guest.windowTitle": "Poczekalnia dla gości",
|
||||
"app.guest.guestWait": "Poczekaj, aż moderator zatwierdzi twoją prośbę o dołączenie do spotkania. ",
|
||||
"app.guest.guestDeny": "Moderator odmówił dołączenia do spotkania.",
|
||||
"app.guest.allow": "Gość zaakceptowany przekierowanie na spotkanie.",
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"app.home.greeting": "Sua apresentação irá começar em breve...",
|
||||
"app.home.greeting": "Sua apresentação começará em breve...",
|
||||
"app.chat.submitLabel": "Enviar mensagem",
|
||||
"app.chat.loading": "Mensagens de bate-papo carregadas: {0}%",
|
||||
"app.chat.errorMaxMessageLength": "Mensagem maior do que {0} caracter(es)",
|
||||
"app.chat.errorMaxMessageLength": "Mensagem com {0} caracter(es) em excesso",
|
||||
"app.chat.disconnected": "Você está desconectado, as mensagens não podem ser enviadas",
|
||||
"app.chat.locked": "O bate-papo está bloqueado, as mensagens não podem ser enviadas",
|
||||
"app.chat.inputLabel": "Entrada de mensagem para o bate-papo {0}",
|
||||
@ -19,12 +19,14 @@
|
||||
"app.chat.dropdown.save": "Salvar",
|
||||
"app.chat.label": "Bate-papo",
|
||||
"app.chat.offline": "Offline",
|
||||
"app.chat.pollResult": "Resultados da Enquete",
|
||||
"app.chat.pollResult": "Resultados da enquete",
|
||||
"app.chat.emptyLogLabel": "Registro do bate-papo vazio",
|
||||
"app.chat.clearPublicChatMessage": "O histórico do bate-papo público foi apagado por um moderador",
|
||||
"app.chat.multi.typing": "Múltiplos usuários estão digitando",
|
||||
"app.chat.one.typing": "{0} está digitando",
|
||||
"app.chat.two.typing": "{0} e {1} estão digitando",
|
||||
"app.chat.copySuccess": "Transcrição do chat copiada",
|
||||
"app.chat.copyErr": "Falha ao copiar transcrição do chat",
|
||||
"app.captions.label": "Legendas",
|
||||
"app.captions.menu.close": "Fechar",
|
||||
"app.captions.menu.start": "Iniciar",
|
||||
@ -51,9 +53,10 @@
|
||||
"app.captions.pad.dictationOffDesc": "Desativar o reconhecimento de fala",
|
||||
"app.captions.pad.speechRecognitionStop": "O reconhecimento de voz parou devido à incompatibilidade do navegador ou algum tempo de silêncio",
|
||||
"app.textInput.sendLabel": "Enviar",
|
||||
"app.title.defaultViewLabel": "Visualização da apresentação padrão",
|
||||
"app.note.title": "Notas compartilhadas",
|
||||
"app.note.label": "Nota",
|
||||
"app.note.hideNoteLabel": "Ocultar nota",
|
||||
"app.note.label": "Notas",
|
||||
"app.note.hideNoteLabel": "Ocultar notas",
|
||||
"app.note.tipLabel": "Pressione Esc para focar na barra de ferramentas do editor",
|
||||
"app.note.locked": "Bloqueado",
|
||||
"app.user.activityCheck": "Verificação de atividade do usuário",
|
||||
@ -87,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "Desbloquear microfone do usuário",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Permitir acesso ao quadro branco",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Remover acesso ao quadro branco",
|
||||
"app.userList.menu.ejectUserCameras.label": "Fechar câmeras",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
|
||||
"app.userList.menu.promoteUser.label": "Tornar moderador",
|
||||
"app.userList.menu.demoteUser.label": "Tornar espectador",
|
||||
@ -102,7 +106,7 @@
|
||||
"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",
|
||||
"app.userList.userOptions.unmuteAllDesc": "Tira a sala do mudo",
|
||||
"app.userList.userOptions.lockViewersLabel": "Restringir participantes",
|
||||
"app.userList.userOptions.lockViewersDesc": "Restringir acesso a algumas funcionalidades por participantes da sala",
|
||||
"app.userList.userOptions.guestPolicyLabel": "Política de convidado",
|
||||
@ -183,6 +187,7 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Ajustar à largura",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Ajustar à página",
|
||||
"app.presentation.presentationToolbar.goToSlide": "Slide {0}",
|
||||
"app.presentation.placeholder": "Esperando a apresentação ser carregada",
|
||||
"app.presentationUploder.title": "Apresentação",
|
||||
"app.presentationUploder.message": "Como apresentador, você pode enviar qualquer documento do Office ou arquivo PDF. Para melhores resultados, recomendamos que se carregue arquivos em PDF. Por favor, certifique-se de que uma apresentação seja selecionada usando a caixa de seleção circular à direita.",
|
||||
"app.presentationUploder.uploadLabel": "Enviar",
|
||||
@ -229,6 +234,7 @@
|
||||
"app.presentationUploder.itemPlural" : "itens",
|
||||
"app.presentationUploder.clearErrors": "Limpar erros",
|
||||
"app.presentationUploder.clearErrorsDesc": "Limpar envios de apresentações com falhas",
|
||||
"app.presentationUploder.uploadViewTitle": "Carregar apresentação",
|
||||
"app.poll.pollPaneTitle": "Enquete",
|
||||
"app.poll.quickPollTitle": "Enquete rápida",
|
||||
"app.poll.hidePollDesc": "Ocultar menu de enquetes",
|
||||
@ -236,6 +242,8 @@
|
||||
"app.poll.activePollInstruction": "Deixe este painel aberto para ver as respostas da enquete em tempo real. Selecione 'Publicar resultados da enquete' para publicar os resultados e encerrar a enquete.",
|
||||
"app.poll.dragDropPollInstruction": "Para preencher as opções da enquete automaticamente, arraste e solte um arquivo de texto com as opções da enquete no campo destacado",
|
||||
"app.poll.customPollTextArea": "Preencha as opções da enquete",
|
||||
"app.poll.publishLabel": "Publicar enquete",
|
||||
"app.poll.cancelPollLabel": "Cancelar",
|
||||
"app.poll.backLabel": "Iniciar uma enquete",
|
||||
"app.poll.closeLabel": "Fechar",
|
||||
"app.poll.waitingLabel": "Aguardando respostas ({0}/{1})",
|
||||
@ -243,6 +251,8 @@
|
||||
"app.poll.customPlaceholder": "Adicionar opção na enquete",
|
||||
"app.poll.noPresentationSelected": "Nenhuma apresentação selecionada! Por favor, selecione uma.",
|
||||
"app.poll.clickHereToSelect": "Clique aqui para selecionar",
|
||||
"app.poll.question.label" : "Escreva sua pergunta...",
|
||||
"app.poll.optionalQuestion.label" : "Escreva sua pergunta (opcional)",
|
||||
"app.poll.userResponse.label" : "Resposta do Usuário",
|
||||
"app.poll.responseTypes.label" : "Tipos de Resposta",
|
||||
"app.poll.optionDelete.label" : "Apagar",
|
||||
@ -252,6 +262,7 @@
|
||||
"app.poll.start.label" : "Iniciar enquete",
|
||||
"app.poll.secretPoll.label" : "Enquete Anônima",
|
||||
"app.poll.secretPoll.isSecretLabel": "A enquete é anônima - você não poderá ver as respostas individuais.",
|
||||
"app.poll.questionErr": "Obrigatório fornecer uma pergunta.",
|
||||
"app.poll.optionErr": "Insira uma opção da enquete",
|
||||
"app.poll.startPollDesc": "Início da enquete",
|
||||
"app.poll.showRespDesc": "Mostra a configuração da resposta",
|
||||
@ -281,6 +292,8 @@
|
||||
"app.poll.liveResult.usersTitle": "Usuários",
|
||||
"app.poll.liveResult.responsesTitle": "Respostas",
|
||||
"app.poll.liveResult.secretLabel": "Esta é uma enquete anônima. Respostas individuais não são mostradas.",
|
||||
"app.poll.removePollOpt": "Opção de enquete {0} removida",
|
||||
"app.poll.emptyPollOpt": "Branco",
|
||||
"app.polling.pollingTitle": "Opções da enquete",
|
||||
"app.polling.pollQuestionTitle": "Pergunta da enquete",
|
||||
"app.polling.submitLabel": "Publicar",
|
||||
@ -344,6 +357,9 @@
|
||||
"app.actionsBar.raiseLabel": "Levantar a mão",
|
||||
"app.actionsBar.label": "Barra de ações",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Restaurar apresentação",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botão para restaurar apresentação minimizada",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar apresentação",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botão para minimizar apresentação",
|
||||
"app.screenshare.screenShareLabel" : "Compartilhamento de tela",
|
||||
"app.submenu.application.applicationSectionTitle": "Aplicação",
|
||||
"app.submenu.application.animationsLabel": "Animações",
|
||||
@ -363,6 +379,7 @@
|
||||
"app.submenu.notification.pushAlertLabel": "Alertas visuais",
|
||||
"app.submenu.notification.messagesLabel": "Mensagens de Bate-papo",
|
||||
"app.submenu.notification.userJoinLabel": "Entrada de um participante",
|
||||
"app.submenu.notification.userLeaveLabel": "Saída de usuário",
|
||||
"app.submenu.notification.guestWaitingLabel": "Convidado aguardando aprovação",
|
||||
"app.submenu.audio.micSourceLabel": "Seleção do microfone",
|
||||
"app.submenu.audio.speakerSourceLabel": "Seleção do alto-falante",
|
||||
@ -396,6 +413,8 @@
|
||||
"app.switch.offLabel": "Desligar",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Selecione para silenciar o usuário",
|
||||
"app.talkingIndicator.isTalking" : "{0} está falando",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ estão falando",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ estavam falando",
|
||||
"app.talkingIndicator.wasTalking" : "{0} parou de falar",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Ações",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Gerenciar apresentações",
|
||||
@ -498,6 +517,7 @@
|
||||
"app.audioModal.playAudio.arialabel" : "Tocar áudio",
|
||||
"app.audioDial.tipIndicator": "Dica",
|
||||
"app.audioDial.tipMessage": "Pressione a tecla '0' do telefone para silenciar/ativar o som.",
|
||||
"app.audioModal.connecting": "Estabelecendo conexão de áudio",
|
||||
"app.audioManager.joinedAudio": "Seu áudio foi ativado",
|
||||
"app.audioManager.joinedEcho": "O teste de áudio foi iniciado",
|
||||
"app.audioManager.leftAudio": "Seu áudio foi desativado",
|
||||
@ -554,6 +574,7 @@
|
||||
"app.error.401": "Não autorizado",
|
||||
"app.error.403": "Você foi removido da conferência",
|
||||
"app.error.404": "Não encontrado",
|
||||
"app.error.408": "Falha de autenticação",
|
||||
"app.error.410": "A conferência terminou",
|
||||
"app.error.500": "Ops, algo deu errado",
|
||||
"app.error.userLoggedOut": "O participante tem um token de sessão inválido porque se desconectou",
|
||||
@ -567,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "Erro: mais detalhes no console.",
|
||||
"app.guest.noModeratorResponse": "Sem resposta do moderador.",
|
||||
"app.guest.noSessionToken": "Token de sessão não recebido.",
|
||||
"app.guest.windowTitle": "Sala de espera",
|
||||
"app.guest.windowTitle": "Sala de espera dos convidados",
|
||||
"app.guest.missingToken": "Convidado sem token de sessão.",
|
||||
"app.guest.missingSession": "Convidado sem sessão.",
|
||||
"app.guest.missingMeeting": "Reunião não existente.",
|
||||
@ -575,6 +596,7 @@
|
||||
"app.guest.guestWait": "Por favor aguarde até que um moderador aprove a sua entrada.",
|
||||
"app.guest.guestDeny": "Convidado teve sua entrada negada.",
|
||||
"app.guest.seatWait": "Convidado aguardando uma vaga na reunião.",
|
||||
"app.guest.allow": "Convidado aprovado e sendo redirecionado para a sessão.",
|
||||
"app.userList.guest.waitingUsers": "Aguardando",
|
||||
"app.userList.guest.waitingUsersTitle": "Convidados",
|
||||
"app.userList.guest.optionTitle": "Usuários aguardando aprovação",
|
||||
@ -606,6 +628,7 @@
|
||||
"app.notification.recordingPaused": "Esta sessão não está mais sendo gravada",
|
||||
"app.notification.recordingAriaLabel": "Tempo de gravação",
|
||||
"app.notification.userJoinPushAlert": "{0} entrou na sala",
|
||||
"app.notification.userLeavePushAlert": "{0} saiu da sessão",
|
||||
"app.submenu.notification.raiseHandLabel": "Levantar a mão",
|
||||
"app.shortcut-help.title": "Atalhos de teclado",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Chaves de acesso não estão disponíveis",
|
||||
@ -649,14 +672,25 @@
|
||||
"app.guest-policy.button.askModerator": "Pergunte ao moderador",
|
||||
"app.guest-policy.button.alwaysAccept": "Sempre aceitar",
|
||||
"app.guest-policy.button.alwaysDeny": "Sempre negar",
|
||||
"app.guest-policy.policyBtnDesc": "Define a política de convidados da sessão",
|
||||
"app.connection-status.ariaTitle": "Status da conexão",
|
||||
"app.connection-status.title": "Status da conexão",
|
||||
"app.connection-status.description": "Mostra o status da conexão dos participantes",
|
||||
"app.connection-status.empty": "Atualmente não há problemas de conexão relatados",
|
||||
"app.connection-status.more": "mais",
|
||||
"app.connection-status.copy": "Copiar dados de rede",
|
||||
"app.connection-status.copied": "Copiado!",
|
||||
"app.connection-status.jitter": "Jitter",
|
||||
"app.connection-status.label": "Status da conexão",
|
||||
"app.connection-status.no": "Não",
|
||||
"app.connection-status.notification": "Sua conexão foi perdida",
|
||||
"app.connection-status.offline": "desconectado",
|
||||
"app.connection-status.lostPackets": "Pacotes perdidos",
|
||||
"app.connection-status.usingTurn": "Usando TURN",
|
||||
"app.connection-status.yes": "Sim",
|
||||
"app.learning-dashboard.label": "Painel de Aprendizagem",
|
||||
"app.learning-dashboard.description": "Abrir painel com a atividade dos usuários",
|
||||
"app.learning-dashboard.clickHereToOpen": "Abrir Painel de Aprendizagem",
|
||||
"app.recording.startTitle": "Iniciar gravação",
|
||||
"app.recording.stopTitle": "Pausar gravação",
|
||||
"app.recording.resumeTitle": "Continuar gravação",
|
||||
@ -685,6 +719,7 @@
|
||||
"app.video.joinVideo": "Compartilhar webcam",
|
||||
"app.video.connecting": "Iniciando o compartilhamento da webcam ...",
|
||||
"app.video.leaveVideo": "Parar de compartilhar webcam",
|
||||
"app.video.advancedVideo": "Abrir opções avançadas",
|
||||
"app.video.iceCandidateError": "Erro ao adicionar o candidato ICE",
|
||||
"app.video.iceConnectionStateError": "Falha na conexão (erro ICE 1107)",
|
||||
"app.video.permissionError": "Erro ao compartilhar webcam. Por favor verifique as permissões",
|
||||
@ -717,7 +752,13 @@
|
||||
"app.video.clientDisconnected": "A webcam não pode ser compartilhada devido a problemas de conexão",
|
||||
"app.video.virtualBackground.none": "Nenhum",
|
||||
"app.video.virtualBackground.blur": "Borrão",
|
||||
"app.video.virtualBackground.home": "Casa",
|
||||
"app.video.virtualBackground.board": "Quadro",
|
||||
"app.video.virtualBackground.coffeeshop": "Cafeteria",
|
||||
"app.video.virtualBackground.background": "Fundo",
|
||||
"app.video.virtualBackground.genericError": "Falha ao aplicar efeito de câmera. Tente novamente.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Define fundo virtual de camera para {0}",
|
||||
"app.video.dropZoneLabel": "Largar aqui",
|
||||
"app.fullscreenButton.label": "Alternar {0} para tela cheia",
|
||||
"app.fullscreenUndoButton.label": "Desfazer {0} tela inteira",
|
||||
"app.switchButton.expandLabel": "Expandir o vídeo com compartilhamento de tela",
|
||||
@ -734,6 +775,7 @@
|
||||
"app.meeting.endNotification.ok.label": "OK",
|
||||
"app.whiteboard.annotations.poll": "Os resultados da enquete foram publicados",
|
||||
"app.whiteboard.annotations.pollResult": "Resultado da Enquete",
|
||||
"app.whiteboard.annotations.noResponses": "Sem respostas",
|
||||
"app.whiteboard.toolbar.tools": "Ferramentas",
|
||||
"app.whiteboard.toolbar.tools.hand": "Mover",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Lápis",
|
||||
@ -765,6 +807,7 @@
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Ativar o reconhecimento de palma",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Desativar o reconhecimento de palma",
|
||||
"app.whiteboard.toolbar.fontSize": "Tamanho da fonte",
|
||||
"app.whiteboard.toolbarAriaLabel": "Ferramentas de apresentação",
|
||||
"app.feedback.title": "Você saiu da conferência",
|
||||
"app.feedback.subtitle": "Adoraríamos ouvir sobre sua experiência com o BigBlueButton (opcional)",
|
||||
"app.feedback.textarea": "Como podemos melhorar o BigBlueButton?",
|
||||
@ -783,6 +826,7 @@
|
||||
"app.createBreakoutRoom.title": "Salas de apoio",
|
||||
"app.createBreakoutRoom.ariaTitle": "Esconder salas de apoio",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Salas de apoio {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "Pedir para entrar",
|
||||
"app.createBreakoutRoom.generatingURL": "Gerando URL",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "Estamos gerando uma URL para entrar na sala de apoio selecionada. Pode demorar alguns segundos...",
|
||||
"app.createBreakoutRoom.duration": "Duração {0}",
|
||||
@ -797,6 +841,7 @@
|
||||
"app.createBreakoutRoom.numberOfRooms": "Número de salas",
|
||||
"app.createBreakoutRoom.durationInMinutes": "Duração (minutos)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Atribuir aleatoriamente",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Atribuir usuários em salas de apoio aleatóriamente",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Encerrar todas as salas de apoio",
|
||||
"app.createBreakoutRoom.roomName": "{0} (Sala - {1})",
|
||||
"app.createBreakoutRoom.doneLabel": "Confirmar",
|
||||
@ -816,6 +861,7 @@
|
||||
"app.createBreakoutRoom.extendTimeLabel": "Estender",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "Cancelar",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "A duração das salas de apoio não pode exceder o tempo restante da reunião.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Atualiza o nome da sala de apoio",
|
||||
"app.externalVideo.start": "Compartilhar vídeo",
|
||||
"app.externalVideo.title": "Compartilhar um vídeo externo",
|
||||
"app.externalVideo.input": "URL do vídeo externo",
|
||||
@ -824,6 +870,7 @@
|
||||
"app.externalVideo.close": "Fechar",
|
||||
"app.externalVideo.autoPlayWarning": "Clique no vídeo para habilitar a sincronização",
|
||||
"app.externalVideo.refreshLabel": "Atualizar player de vídeo",
|
||||
"app.externalVideo.fullscreenLabel": "Reprodutor de vídeo",
|
||||
"app.externalVideo.noteLabel": "Observação: Os vídeos externos compartilhados não são exibidos na gravação. YouTube, Vimeo, Instructure Media, Twitch, Dailymotion e URLs de arquivos de mídia (por exemplo: https://example.com/xy.mp4) são suportados.",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Compartilhar um vídeo externo",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Parar de compartilhar vídeo externo",
|
||||
@ -842,6 +889,10 @@
|
||||
"app.layout.style.smart": "Layout inteligente",
|
||||
"app.layout.style.presentationFocus": "Foco na apresentação",
|
||||
"app.layout.style.videoFocus": "Foco no vídeo",
|
||||
"app.layout.style.customPush": "Customizado (propagar para todos)",
|
||||
"app.layout.style.smartPush": "Layout inteligente (propagar para todos)",
|
||||
"app.layout.style.presentationFocusPush": "Foco na apresentação (propagar para todos)",
|
||||
"app.layout.style.videoFocusPush": "Foco no vídeo (propagar para todos)",
|
||||
"playback.button.about.aria": "Sobre",
|
||||
"playback.button.clear.aria": "Limpar pesquisa",
|
||||
"playback.button.close.aria": "Fechar janela",
|
||||
@ -871,14 +922,33 @@
|
||||
"playback.player.thumbnails.wrapper.aria": "Área das miniaturas",
|
||||
"playback.player.video.wrapper.aria": "Área do vídeo",
|
||||
"app.learningDashboard.dashboardTitle": "Painel de Aprendizagem",
|
||||
"app.learningDashboard.user": "Usuário",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Finalizado",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Ativo",
|
||||
"app.learningDashboard.indicators.usersOnline": "Usuários ativos",
|
||||
"app.learningDashboard.indicators.usersTotal": "Número total de usuários",
|
||||
"app.learningDashboard.indicators.polls": "Enquetes",
|
||||
"app.learningDashboard.indicators.raiseHand": "Levantar a mão",
|
||||
"app.learningDashboard.indicators.activityScore": "Pontuação de atividade",
|
||||
"app.learningDashboard.indicators.duration": "Duração",
|
||||
"app.learningDashboard.usersTable.title": "Visão global",
|
||||
"app.learningDashboard.usersTable.colOnline": "Tempo online",
|
||||
"app.learningDashboard.usersTable.colTalk": "Tempo falando",
|
||||
"app.learningDashboard.usersTable.colWebcam": "Tempo com camera",
|
||||
"app.learningDashboard.usersTable.colMessages": "Mensagens",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Mãos levantadas",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Pontuação de atividade",
|
||||
"app.learningDashboard.usersTable.colStatus": "Status",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "Online",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Offline",
|
||||
"app.learningDashboard.usersTable.noUsers": "Ainda sem usuários",
|
||||
"app.learningDashboard.pollsTable.title": "Enquete",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "Enquete anônima (respostas na última linha)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anônimos"
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anônimos",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Linha do tempo de status",
|
||||
"app.learningDashboard.errors.invalidToken": "Token de sessão inválido",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Dado indisponível"
|
||||
|
||||
}
|
||||
|
||||
|
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "Включить микрофон пользователя",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Дать право рисования на доске этому пользователю",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Забрать право рисования на доске у этого пользователя",
|
||||
"app.userList.menu.ejectUserCameras.label": "Закрыть камеры",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Статус {3}",
|
||||
"app.userList.menu.promoteUser.label": "Повысить до модератора",
|
||||
"app.userList.menu.demoteUser.label": "Понизить до участника",
|
||||
@ -587,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "Ошибка: Более подробная информация в консоли.",
|
||||
"app.guest.noModeratorResponse": "Нет ответа от Модератора.",
|
||||
"app.guest.noSessionToken": "Токен сеанса не получен.",
|
||||
"app.guest.windowTitle": "Гостевая комната",
|
||||
"app.guest.windowTitle": "BigBlueButton - Гостевая комната",
|
||||
"app.guest.missingToken": "Токен сеанса гостя отсутствует.",
|
||||
"app.guest.missingSession": "Гость отсутствует в конференции.",
|
||||
"app.guest.missingMeeting": "Конференция не существует.",
|
||||
@ -715,19 +716,20 @@
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Это устройство не поддерживает виртуальный фон",
|
||||
"app.videoPreview.webcamNotFoundLabel": "Веб-камера не обнаружена",
|
||||
"app.videoPreview.profileNotFoundLabel": "Профиль веб-камеры не поддерживается",
|
||||
"app.video.joinVideo": "Транслировать веб-камеру",
|
||||
"app.video.connecting": "Запускаем трансляцию веб-камеры...",
|
||||
"app.video.leaveVideo": "Прекратить транслировать веб-камеру",
|
||||
"app.video.joinVideo": "Включить веб-камеру",
|
||||
"app.video.connecting": "Включаем веб-камеру...",
|
||||
"app.video.leaveVideo": "Выключить веб-камеру",
|
||||
"app.video.advancedVideo": "Открыть расширенные настройки",
|
||||
"app.video.iceCandidateError": "Ошибка добавления ICE кандидата",
|
||||
"app.video.iceConnectionStateError": "Connection failure (ICE error 1107)",
|
||||
"app.video.permissionError": "Ошибка. Проверьте разрешение на доступ к веб-камере.",
|
||||
"app.video.sharingError": "Ошибка трансляции веб-камеры",
|
||||
"app.video.sharingError": "Ошибка при включении веб-камеры",
|
||||
"app.video.abortError": "Возникла какая-то проблема, не позволяющая использовать устройство",
|
||||
"app.video.overconstrainedError": "Нет устройств, соответствующих запрошенным условиям",
|
||||
"app.video.securityError": "Поддержка мультимедиа в документе отключена",
|
||||
"app.video.typeError": "Список ограничений пуст или все ограничения отключены",
|
||||
"app.video.notFoundError": "Невозможно найти веб-камеру. Пожалуйста, проверте присоединена ли она",
|
||||
"app.video.notAllowed": "Отсутствует разрешение на трансляцию веб-камеры, пожалуйста, убедитесь, что ваш браузер имеет необходиміе разрешения",
|
||||
"app.video.notAllowed": "Отсутствует разрешение на включение веб-камеры, пожалуйста, убедитесь, что ваш браузер имеет необходимые разрешения",
|
||||
"app.video.notSupportedError": "Транслировать видео с веб-камеры можно только с безопасных источников, убедитесь, что ваш сертификат SSL действителен",
|
||||
"app.video.notReadableError": "Не удалось получить видео с веб-камеры. Убедитесь, что другая программа не использует веб-камеру",
|
||||
"app.video.timeoutError": "Браузер не ответил вовремя.",
|
||||
@ -741,7 +743,7 @@
|
||||
"app.video.swapCam": "Заменить",
|
||||
"app.video.swapCamDesc": "поменять направление веб-камер",
|
||||
"app.video.videoLocked": "Веб-камеры заблокированы",
|
||||
"app.video.videoButtonDesc": "Транслировать веб-камеру",
|
||||
"app.video.videoButtonDesc": "Включить веб-камеру",
|
||||
"app.video.videoMenu": "Меню видео",
|
||||
"app.video.videoMenuDisabled": "Меню видео веб-камеры отключено в настройках",
|
||||
"app.video.videoMenuDesc": "Открыть выпадающее меню видео",
|
||||
@ -750,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "Веб-камера не может быть включена из-за проблем с подключением",
|
||||
"app.video.virtualBackground.none": "Без виртуального фона",
|
||||
"app.video.virtualBackground.blur": "Размытие",
|
||||
"app.video.virtualBackground.home": "Дом",
|
||||
"app.video.virtualBackground.board": "Доска",
|
||||
"app.video.virtualBackground.coffeeshop": "Кофейня",
|
||||
"app.video.virtualBackground.background": "Фон",
|
||||
"app.video.virtualBackground.genericError": "Ошибка при применении эффекта для камеры. Попробуйте ещё раз.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Установка виртуального фона веб-камеры на {0}",
|
||||
"app.video.dropZoneLabel": "Перенесите файл сюда",
|
||||
@ -857,8 +863,8 @@
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "Продолжительность комнат для групповой работы не может быть превышать оставшееся время в основной конференции",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Название комнаты обсуждения",
|
||||
"app.externalVideo.start": "Поделиться новым видео",
|
||||
"app.externalVideo.title": "Поделиться видео с внешних ресурсов",
|
||||
"app.externalVideo.input": "Внешняя ссылка на видео",
|
||||
"app.externalVideo.title": "Демонстрировать видео с внешних ресурсов",
|
||||
"app.externalVideo.input": "Ссылка на видео",
|
||||
"app.externalVideo.urlInput": "Добавить URL-адрес видео",
|
||||
"app.externalVideo.urlError": "Данный URL вдрес видео не поддерживается",
|
||||
"app.externalVideo.close": "Закрыть",
|
||||
@ -866,8 +872,8 @@
|
||||
"app.externalVideo.refreshLabel": "Перезагрузить видеоплеер",
|
||||
"app.externalVideo.fullscreenLabel": "Проигрыватель видео",
|
||||
"app.externalVideo.noteLabel": "Примечание: Видео с внешних проигрывателей не будет записано. Поддерживаются: YouTube, Vimeo, Instructure Media, Twitch, Dailymotion и ссылки на медиа-файлы (например: https://example.com/xy.mp4).",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Поделиться видео с внешних ресурсов",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Прекратить показ видео с внешних ресурсов",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Демонстрировать видео с внешних ресурсов",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Прекратить демонстрацию видео с внешних ресурсов",
|
||||
"app.iOSWarning.label": "Пожалуйста, обновитесь до iOS 12.2 или более новой версии",
|
||||
"app.legacy.unsupportedBrowser": "Похоже, вы используете браузер, который не полностью подедрживается. Пожалуйста, используйте {0} или {1} для полной поддержки.",
|
||||
"app.legacy.upgradeBrowser": "Похоже, вы используете более старую версию подерживаемого браузера. Пожалуйста, установите новую версию для полной поддержки.",
|
||||
@ -917,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "Зона видео",
|
||||
"app.learningDashboard.dashboardTitle": "Отчёт о конференции",
|
||||
"app.learningDashboard.user": "Пользователь",
|
||||
"app.learningDashboard.shareButton": "Поделиться с другими",
|
||||
"app.learningDashboard.shareLinkCopied": "Ссылка скопирована!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Завершена",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Продолжается",
|
||||
"app.learningDashboard.indicators.usersOnline": "Активные пользователи",
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"app.home.greeting": "Din presentation börjar strax ...",
|
||||
"app.chat.submitLabel": "Skicka meddelande",
|
||||
"app.chat.loading": "Inlästa chattmeddelanden: {0}%",
|
||||
"app.chat.errorMaxMessageLength": "Meddelandet är {0} tecken för långt",
|
||||
"app.chat.disconnected": "Du är frånkopplad, meddelanden kan inte skickas",
|
||||
"app.chat.locked": "Chatten är låst, meddelanden kan inte skickas",
|
||||
@ -12,17 +13,20 @@
|
||||
"app.chat.closeChatLabel": "Stäng {0}",
|
||||
"app.chat.hideChatLabel": "Göm {0}",
|
||||
"app.chat.moreMessages": "Fler meddelanden nedan",
|
||||
"app.chat.dropdown.options": "Chattmöjligheter",
|
||||
"app.chat.dropdown.options": "Chatt-alternativ",
|
||||
"app.chat.dropdown.clear": "Rensa",
|
||||
"app.chat.dropdown.copy": "Kopiera",
|
||||
"app.chat.dropdown.save": "Spara",
|
||||
"app.chat.label": "Chatt",
|
||||
"app.chat.offline": "Offline",
|
||||
"app.chat.pollResult": "Resultat Omröstning",
|
||||
"app.chat.emptyLogLabel": "Chatt log tom",
|
||||
"app.chat.clearPublicChatMessage": "Publika chatthistoriken var rensad av en moderator",
|
||||
"app.chat.multi.typing": "Flera användare skriver",
|
||||
"app.chat.one.typing": "{0} skriver",
|
||||
"app.chat.two.typing": "{0} och {1} skriver",
|
||||
"app.chat.copySuccess": "Chatthistorik kopierad",
|
||||
"app.chat.copyErr": "Kopiering av chatthistorik misslyckades",
|
||||
"app.captions.label": "Textning",
|
||||
"app.captions.menu.close": "Stäng",
|
||||
"app.captions.menu.start": "Starta",
|
||||
@ -47,35 +51,48 @@
|
||||
"app.captions.pad.dictationStop": "Sluta diktat",
|
||||
"app.captions.pad.dictationOnDesc": "Slår på taligenkänning",
|
||||
"app.captions.pad.dictationOffDesc": "Slår av taligenkänning",
|
||||
"app.note.title": "Delad notiser",
|
||||
"app.note.label": "Notis",
|
||||
"app.note.hideNoteLabel": "Göm notis",
|
||||
"app.captions.pad.speechRecognitionStop": "Taligenkänning avslutades på grund av fel i webbläsaren eller lång tystnad",
|
||||
"app.textInput.sendLabel": "Skicka",
|
||||
"app.title.defaultViewLabel": "Förvald presentatörsvy",
|
||||
"app.note.title": "Delad anteckningar",
|
||||
"app.note.label": "Anteckning",
|
||||
"app.note.hideNoteLabel": "Göm anteckning",
|
||||
"app.note.tipLabel": "Tryck på Esc för att fokusera redigeringsverktygsfältet",
|
||||
"app.note.locked": "Låst",
|
||||
"app.user.activityCheck": "Användaraktivitetskontroll",
|
||||
"app.user.activityCheck.label": "Kontrollera om användaren fortfarande är i möte ({0})",
|
||||
"app.user.activityCheck.label": "Kontrollera om användaren fortfarande är i mötet ({0})",
|
||||
"app.user.activityCheck.check": "Kontrollera",
|
||||
"app.userList.usersTitle": "Användare",
|
||||
"app.userList.participantsTitle": "Deltagare",
|
||||
"app.userList.messagesTitle": "Meddelanden",
|
||||
"app.userList.notesTitle": "Notiser",
|
||||
"app.userList.notesListItem.unreadContent": "Nytt innehåll finns tillgängligt i sektionen delade notiser",
|
||||
"app.userList.notesTitle": "Anteckningar",
|
||||
"app.userList.notesListItem.unreadContent": "Nytt innehåll finns tillgängligt i sektionen Delade Anteckningar",
|
||||
"app.userList.captionsTitle": "Bildtexter",
|
||||
"app.userList.presenter": "Presentatören",
|
||||
"app.userList.you": "Du",
|
||||
"app.userList.locked": "Låst",
|
||||
"app.userList.byModerator": "av (Moderator)",
|
||||
"app.userList.label": "Användarlista",
|
||||
"app.userList.toggleCompactView.label": "Växla i kompakt läge",
|
||||
"app.userList.toggleCompactView.label": "Växla till kompakt läge",
|
||||
"app.userList.moderator": "Moderator",
|
||||
"app.userList.mobile": "Mobil",
|
||||
"app.userList.guest": "Gäst",
|
||||
"app.userList.sharingWebcam": "Webbkamera",
|
||||
"app.userList.menuTitleContext": "Tillgängliga alternativ",
|
||||
"app.userList.chatListItem.unreadSingular": "Ett nytt meddelande",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} nya meddelande",
|
||||
"app.userList.menu.chat.label": "Starta en privat chatt",
|
||||
"app.userList.menu.clearStatus.label": "Rensa status",
|
||||
"app.userList.menu.removeUser.label": "Ta bort användare",
|
||||
"app.userList.menu.removeConfirmation.label": "Ta bort användare ({0})",
|
||||
"app.userList.menu.muteUserAudio.label": "Dämpa användaren",
|
||||
"app.userList.menu.unmuteUserAudio.label": "Dämpa ej användaren",
|
||||
"app.userlist.menu.removeConfirmation.desc": "Förhindra användaren från att återansluta till mötet.",
|
||||
"app.userList.menu.muteUserAudio.label": "Stäng av mikrofon på användaren",
|
||||
"app.userList.menu.unmuteUserAudio.label": "Sätt på mikrofon på användaren",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Ge tillgång till Whiteboard",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Ta bort tillgång till Whiteboard",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Status {3}",
|
||||
"app.userList.menu.promoteUser.label": "Gradera till moderator",
|
||||
"app.userList.menu.demoteUser.label": "Degradera till åskådare",
|
||||
"app.userList.menu.promoteUser.label": "Gör till moderator",
|
||||
"app.userList.menu.demoteUser.label": "Gör till åskådare",
|
||||
"app.userList.menu.unlockUser.label": "Låsa upp {0}",
|
||||
"app.userList.menu.lockUser.label": "Låsa {0}",
|
||||
"app.userList.menu.directoryLookup.label": "Kataloguppslag",
|
||||
@ -91,6 +108,8 @@
|
||||
"app.userList.userOptions.unmuteAllDesc": "Dämpa ej mötet",
|
||||
"app.userList.userOptions.lockViewersLabel": "Lås åhörare",
|
||||
"app.userList.userOptions.lockViewersDesc": "Lås vissa funktioner för mötesdeltagare",
|
||||
"app.userList.userOptions.guestPolicyLabel": "Gäst policy",
|
||||
"app.userList.userOptions.guestPolicyDesc": "Ändra mötespolicy för gäster",
|
||||
"app.userList.userOptions.disableCam": "Åskådarnas webbkameror är inaktiverade",
|
||||
"app.userList.userOptions.disableMic": "Åskådarnas mikrofoner är inaktiverade",
|
||||
"app.userList.userOptions.disablePrivChat": "Privat chatt är inaktiverat",
|
||||
@ -106,6 +125,9 @@
|
||||
"app.userList.userOptions.enableNote": "Delade anteckningar är nu aktiverade",
|
||||
"app.userList.userOptions.showUserList": "Användarlistan visas nu för tittarna",
|
||||
"app.userList.userOptions.enableOnlyModeratorWebcam": "Du kan nu aktivera din webbkamera nu, alla kommer att se dig",
|
||||
"app.userList.userOptions.savedNames.title": "Lista av användare i mötet {0} av {1}",
|
||||
"app.userList.userOptions.sortedFirstName.heading": "Sorterat på förnamn",
|
||||
"app.userList.userOptions.sortedLastName.heading": "Sorterat på efternamn",
|
||||
"app.media.label": "Media",
|
||||
"app.media.autoplayAlertDesc": "Tillåta åtkomst",
|
||||
"app.media.screenshare.start": "Skärmdelning har startats",
|
||||
@ -114,9 +136,20 @@
|
||||
"app.media.screenshare.notSupported": "Skärmdelning stöds inte i den här webbläsaren.",
|
||||
"app.media.screenshare.autoplayBlockedDesc": "Vi behöver din tillåtelse att visa presentatörens skärm.",
|
||||
"app.media.screenshare.autoplayAllowLabel": "Visa delad skärm",
|
||||
"app.screenshare.presenterLoadingLabel": "Din skärmdelning förbereds",
|
||||
"app.screenshare.viewerLoadingLabel": "Presentatörens skärm förbereds",
|
||||
"app.screenshare.presenterSharingLabel": "Du delar nu din skärm",
|
||||
"app.screenshare.screenshareFinalError": "Felkod {0}. Kan ej dela skärm.",
|
||||
"app.screenshare.screenshareRetryError": "Felkod {0}. Prova dela din skärm igen.",
|
||||
"app.screenshare.screenshareRetryOtherEnvError": "Felkod {0}. Kan ej dela skärm. Prova i annan webbläsare eller på annan enhet.",
|
||||
"app.screenshare.screenshareUnsupportedEnv": "Felkod {0}. Webbläsaren stöds ej. Prova i annan webbläsare eller på annan enhet.",
|
||||
"app.screenshare.screensharePermissionError": "Felkod {0}. Tillstånd för skärmdelning behöver beviljas.",
|
||||
"app.meeting.ended": "Denna session har avslutats",
|
||||
"app.meeting.meetingTimeRemaining": "Återstående mötestid: {0}",
|
||||
"app.meeting.meetingTimeHasEnded": "Tid slutade. Mötet stängs snart",
|
||||
"app.meeting.endedByUserMessage": "Mötet avslutades av {0}",
|
||||
"app.meeting.endedByNoModeratorMessageSingular": "Mötet har avslutats för att ingen moderator har varit ansluten på en minut",
|
||||
"app.meeting.endedByNoModeratorMessagePlural": "Mötet har avslutats för att ingen moderator har varit ansluten på {0} minuter",
|
||||
"app.meeting.endedMessage": "Du kommer att vidarebefodras till startskärmen",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Möte stänger om en minut.",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Möte stänger om {0} minuter.",
|
||||
@ -124,6 +157,7 @@
|
||||
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "Gruppmöte stänger om en minut.",
|
||||
"app.presentation.hide": "Göm presentationen",
|
||||
"app.presentation.notificationLabel": "Nuvarande presentation",
|
||||
"app.presentation.downloadLabel": "Ladda ner",
|
||||
"app.presentation.slideContent": "Bildspelsinnehåll",
|
||||
"app.presentation.startSlideContent": "Starta bildspelet",
|
||||
"app.presentation.endSlideContent": "Bild innehåll slut",
|
||||
@ -152,7 +186,9 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Anpassa till bredden",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Anpassa till sidan",
|
||||
"app.presentation.presentationToolbar.goToSlide": "Bild {0}",
|
||||
"app.presentation.placeholder": "Väntar på att presentation ska laddas upp",
|
||||
"app.presentationUploder.title": "Presentation",
|
||||
"app.presentationUploder.message": "Som presentatör så har du möjlighet att ladda upp Office-dokument eller PDF-filer. Vi rekommenderar PDF-filer för bäst resultat. Säkerställ att en presentation är vald genom att klicka i bocken på högersidan.",
|
||||
"app.presentationUploder.uploadLabel": "Ladda upp",
|
||||
"app.presentationUploder.confirmLabel": "Bekräfta",
|
||||
"app.presentationUploder.confirmDesc": "Spara dina ändringar och starta presentationen",
|
||||
@ -166,32 +202,78 @@
|
||||
"app.presentationUploder.currentBadge": "Nuvarande",
|
||||
"app.presentationUploder.rejectedError": "Den valda filen(filerna) har blivit avvisad(e). Vänligen kontrollera filtypen(-typerna).",
|
||||
"app.presentationUploder.upload.progress": "Uppladdning ({0}%)",
|
||||
"app.presentationUploder.upload.413": "Filen är för stor, max filstorlek är {0} MB",
|
||||
"app.presentationUploder.genericError": "Oj då, nåt blev fel....",
|
||||
"app.presentationUploder.upload.408": "Begäran för uppladdning tog för lång tid.",
|
||||
"app.presentationUploder.upload.404": "404: fel token för uppladdning",
|
||||
"app.presentationUploder.upload.401": "Begäran för uppladdning av presentation misslyckades.",
|
||||
"app.presentationUploder.conversion.conversionProcessingSlides": "Bearbetningssida {0} av {1}",
|
||||
"app.presentationUploder.conversion.genericConversionStatus": "Konverterar filen ...",
|
||||
"app.presentationUploder.conversion.generatingThumbnail": "Genererar miniatyrbilder ...",
|
||||
"app.presentationUploder.conversion.generatedSlides": "Bildspel genererade ...",
|
||||
"app.presentationUploder.conversion.generatingSvg": "Genererar SVG bilder ...",
|
||||
"app.presentationUploder.conversion.pageCountExceeded": "Antalet sidor överstiger maxgränsen på {0} sidor",
|
||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Misslyckades med behandling av Office-dokument. Vänligen ladda upp som PDF istället.",
|
||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Misslyckades med behandling av Office-dokument. Vänligen ladda upp som PDF istället.",
|
||||
"app.presentationUploder.conversion.pdfHasBigPage": "Vi kunde inte konvertera PDF-filen, försök spara om den. Max antal sidor är {0}",
|
||||
"app.presentationUploder.conversion.timeout": "Hoppsan, konverteringen tog för lång tid",
|
||||
"app.presentationUploder.conversion.pageCountFailed": "Misslyckades med att bestämma antalet sidor.",
|
||||
"app.presentationUploder.conversion.unsupportedDocument": "Fil-typ stöds ej",
|
||||
"app.presentationUploder.isDownloadableLabel": "Nerladdning av presentation ej tillåten - klicka här för att tillåta nerladdning av presentation",
|
||||
"app.presentationUploder.isNotDownloadableLabel": "Nerladdning av presentation tillåten - klicka här för att inte tillåta nerladdning av presentation",
|
||||
"app.presentationUploder.removePresentationLabel": "Ta bort presentationen",
|
||||
"app.presentationUploder.setAsCurrentPresentation": "Ange presentation som aktuell",
|
||||
"app.presentationUploder.tableHeading.filename": "Filnamn",
|
||||
"app.presentationUploder.tableHeading.options": "Valmöjligheter",
|
||||
"app.presentationUploder.tableHeading.status": "Status",
|
||||
"app.presentationUploder.uploading": "Laddar upp {0} {1}",
|
||||
"app.presentationUploder.uploadStatus": "{0} av {1} uppladdningar klara",
|
||||
"app.presentationUploder.completed": "{0} uppladdningar klara",
|
||||
"app.presentationUploder.item" : "sak",
|
||||
"app.presentationUploder.itemPlural" : "saker",
|
||||
"app.presentationUploder.clearErrors": "Rensa fel",
|
||||
"app.presentationUploder.clearErrorsDesc": "Rensa misslyckade uppladdningar av presentationer",
|
||||
"app.presentationUploder.uploadViewTitle": "Ladda upp presentation",
|
||||
"app.poll.pollPaneTitle": "Omröstning",
|
||||
"app.poll.quickPollTitle": "Snabb undersökning",
|
||||
"app.poll.hidePollDesc": "Döljer enkät menyfönstret",
|
||||
"app.poll.quickPollInstruction": "Välj ett alternativ nedan för att starta din undersökning.",
|
||||
"app.poll.activePollInstruction": "Lämna denna panel synlig för att se resultaten från omröstningen \"live\". När omröstningen är klar, klicka på \"Visa omröstningsresultat\" för att visa resultatet för deltagarna och avsluta omröstningen.",
|
||||
"app.poll.dragDropPollInstruction": "För att fylla i omröstningsalternativ, dra en textfil med alternativen till det markerade fältet",
|
||||
"app.poll.customPollTextArea": "Fyll i omröstningsalternativ",
|
||||
"app.poll.publishLabel": "Visa omröstningsresultat",
|
||||
"app.poll.cancelPollLabel": "Avbryt",
|
||||
"app.poll.backLabel": "Starta en omröstning",
|
||||
"app.poll.closeLabel": "Stäng",
|
||||
"app.poll.waitingLabel": "Väntar på svar ({0}/{1})",
|
||||
"app.poll.ariaInputCount": "Anpassad omröstningsalternativ {0} av {1}",
|
||||
"app.poll.customPlaceholder": "Lägg till omröstningsalternativ",
|
||||
"app.poll.noPresentationSelected": "Ingen presentation vald! Var god och välj en.",
|
||||
"app.poll.clickHereToSelect": "Klicka här för att välja",
|
||||
"app.poll.question.label" : "Skriv din fråga...",
|
||||
"app.poll.optionalQuestion.label" : "Skriv din fråga (valfritt)...",
|
||||
"app.poll.userResponse.label" : "Svar från användare",
|
||||
"app.poll.responseTypes.label" : "Svarstyp",
|
||||
"app.poll.optionDelete.label" : "Ta bort",
|
||||
"app.poll.responseChoices.label" : "Svarsalternativ",
|
||||
"app.poll.typedResponse.desc" : "Användarna kommer få fylla i sitt svar i en textruta",
|
||||
"app.poll.addItem.label" : "Lägg till",
|
||||
"app.poll.start.label" : "Starta omröstning",
|
||||
"app.poll.secretPoll.label" : "Anonym omröstning",
|
||||
"app.poll.secretPoll.isSecretLabel": "Omröstningen är anonym - du kommer inte kunna se enskilda svar från deltagarna.",
|
||||
"app.poll.questionErr": "Du måste fylla i en fråga.",
|
||||
"app.poll.optionErr": "Ange ett svarsalternativ",
|
||||
"app.poll.startPollDesc": "Startar omröstningen",
|
||||
"app.poll.showRespDesc": "Visar svarsinställningarna",
|
||||
"app.poll.addRespDesc": "Lägger till information om svarsalternativ",
|
||||
"app.poll.deleteRespDesc": "Tar bort alternativ {0}",
|
||||
"app.poll.t": "Sant",
|
||||
"app.poll.f": "Falskt",
|
||||
"app.poll.tf": "Sant / Falskt",
|
||||
"app.poll.y": "Ja",
|
||||
"app.poll.n": "Nej",
|
||||
"app.poll.abstention": "Avstår",
|
||||
"app.poll.yna": "Ja / Nej / Avstår",
|
||||
"app.poll.a2": "A / B",
|
||||
"app.poll.a3": "A / B / C",
|
||||
"app.poll.a4": "A / B / C / D",
|
||||
@ -200,6 +282,7 @@
|
||||
"app.poll.answer.false": "Falskt",
|
||||
"app.poll.answer.yes": "Ja",
|
||||
"app.poll.answer.no": "Nej",
|
||||
"app.poll.answer.abstention": "Avstår",
|
||||
"app.poll.answer.a": "A",
|
||||
"app.poll.answer.b": "B",
|
||||
"app.poll.answer.c": "C",
|
||||
@ -207,7 +290,16 @@
|
||||
"app.poll.answer.e": "E",
|
||||
"app.poll.liveResult.usersTitle": "Användare",
|
||||
"app.poll.liveResult.responsesTitle": "Svar",
|
||||
"app.poll.liveResult.secretLabel": "Detta är en anonym omröstning. Enskilda svar redovisas inte.",
|
||||
"app.poll.removePollOpt": "Tog bort svarsalternativ {0}",
|
||||
"app.poll.emptyPollOpt": "Blank",
|
||||
"app.polling.pollingTitle": "Omröstningsalternativ",
|
||||
"app.polling.pollQuestionTitle": "Frågeställning",
|
||||
"app.polling.submitLabel": "Skicka",
|
||||
"app.polling.submitAriaLabel": "Skicka in svar",
|
||||
"app.polling.responsePlaceholder": "Ange svar",
|
||||
"app.polling.responseSecret": "Anonym omröstning - presentatören kan inte se vad du svarar.",
|
||||
"app.polling.responseNotSecret": "Normal omröstning - presentatören kan se vad du svarar.",
|
||||
"app.polling.pollAnswerLabel": "Omröstningssvar {0}",
|
||||
"app.polling.pollAnswerDesc": "Välj det här alternativet för att rösta på {0}",
|
||||
"app.failedMessage": "Ursäkta, problem med att ansluta till servern.",
|
||||
@ -215,10 +307,14 @@
|
||||
"app.connectingMessage": "Ansluter ...",
|
||||
"app.waitingMessage": "Frånkopplad. Försöker att återansluta om {0} sekunder ...",
|
||||
"app.retryNow": "Försök igen nu",
|
||||
"app.muteWarning.label": "Klicka på {0} för att sätta på din mikrofon.",
|
||||
"app.muteWarning.disableMessage": "Stäng av varning för avstängd mikrofon tills nästa gång den sätts på",
|
||||
"app.muteWarning.tooltip": "Klicka för att stänga och inaktivera varning tills nästa gång mikrofonen sätts på",
|
||||
"app.navBar.settingsDropdown.optionsLabel": "Valmöjligheter",
|
||||
"app.navBar.settingsDropdown.fullscreenLabel": "Gör fullskärm",
|
||||
"app.navBar.settingsDropdown.settingsLabel": "Inställningar",
|
||||
"app.navBar.settingsDropdown.aboutLabel": "Om",
|
||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Lämna möte",
|
||||
"app.navBar.settingsDropdown.exitFullscreenLabel": "Avsluta fullskärmen",
|
||||
"app.navBar.settingsDropdown.fullscreenDesc": "Gör inställningsmenyn fullskärm",
|
||||
"app.navBar.settingsDropdown.settingsDesc": "Ändra de allmänna inställningarna",
|
||||
@ -237,8 +333,13 @@
|
||||
"app.navBar.recording": "Denna session spelas in",
|
||||
"app.navBar.recording.on": "Inspelning",
|
||||
"app.navBar.recording.off": "Ingen inspelning",
|
||||
"app.navBar.emptyAudioBrdige": "Ingen aktiv mikrofon. Sätt på din mikrofon för att lägga till ljud till denna inspelning.",
|
||||
"app.leaveConfirmation.confirmLabel": "Lämna",
|
||||
"app.leaveConfirmation.confirmDesc": "Loggar dig ur mötet",
|
||||
"app.endMeeting.title": "Slut {0}",
|
||||
"app.endMeeting.description": "Detta kommer avsluta sessionen för {0} aktiva användare. Är du säker på att du vill avsluta?",
|
||||
"app.endMeeting.noUserDescription": "Är du säker på att du vill avsluta denna session?",
|
||||
"app.endMeeting.contentWarning": "Chatt, delade anteckningar, illustrationer på whiteboarden och delade dokument för denna session kommer inte längre vara direkt åtkomligt",
|
||||
"app.endMeeting.yesLabel": "Ja",
|
||||
"app.endMeeting.noLabel": "Nej",
|
||||
"app.about.title": "Om",
|
||||
@ -255,9 +356,13 @@
|
||||
"app.actionsBar.raiseLabel": "Höja",
|
||||
"app.actionsBar.label": "Åtgärdsfältet",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Återställ presentationen",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Knapp för att återställa presentation efter att den minimerats",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimera presentation",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Knapp för att minimera presentation",
|
||||
"app.screenshare.screenShareLabel" : "Skärmdelning",
|
||||
"app.submenu.application.applicationSectionTitle": "Applikation",
|
||||
"app.submenu.application.animationsLabel": "Animeringar",
|
||||
"app.submenu.application.audioFilterLabel": "Ljudfilter för mikrofon",
|
||||
"app.submenu.application.fontSizeControlLabel": "Typsnittstorlek",
|
||||
"app.submenu.application.increaseFontBtnLabel": "Öka applikationstypsnittsstorlek",
|
||||
"app.submenu.application.decreaseFontBtnLabel": "Minska applikationstypsnittsstorlek",
|
||||
@ -265,7 +370,16 @@
|
||||
"app.submenu.application.languageLabel": "Applikationsspråk",
|
||||
"app.submenu.application.languageOptionLabel": "Välj språk",
|
||||
"app.submenu.application.noLocaleOptionLabel": "Inga aktiva platser",
|
||||
"app.submenu.application.paginationEnabledLabel": "Videopaginering",
|
||||
"app.submenu.application.layoutOptionLabel": "Layout typ",
|
||||
"app.submenu.notification.SectionTitle": "Meddelande",
|
||||
"app.submenu.notification.Desc": "Ange hur och vad som du ska bli meddelad om",
|
||||
"app.submenu.notification.audioAlertLabel": "Ljudsignal",
|
||||
"app.submenu.notification.pushAlertLabel": "Popup meddelande",
|
||||
"app.submenu.notification.messagesLabel": "Chattmeddelande",
|
||||
"app.submenu.notification.userJoinLabel": "Användare ansluter",
|
||||
"app.submenu.notification.userLeaveLabel": "Användare lämnar",
|
||||
"app.submenu.notification.guestWaitingLabel": "Gäst väntar på att släppas in",
|
||||
"app.submenu.audio.micSourceLabel": "Mikrofonkälla",
|
||||
"app.submenu.audio.speakerSourceLabel": "Högtalarkälla",
|
||||
"app.submenu.audio.streamVolumeLabel": "Din ljudströmvolym",
|
||||
@ -289,12 +403,20 @@
|
||||
"app.settings.dataSavingTab.screenShare": "Aktivera skrivbordsdelning",
|
||||
"app.settings.dataSavingTab.description": "För att spara din bandbredd justera vad som visas för närvarande.",
|
||||
"app.settings.save-notification.label": "Inställningarna har blivit sparade",
|
||||
"app.statusNotifier.lowerHands": "Sänk händer",
|
||||
"app.statusNotifier.raisedHandsTitle": "Höjda händer",
|
||||
"app.statusNotifier.raisedHandDesc": "{0} har höjt händerna",
|
||||
"app.statusNotifier.raisedHandDescOneUser": "{0} har höjt handen",
|
||||
"app.statusNotifier.and": "och",
|
||||
"app.switch.onLabel": "PÅ",
|
||||
"app.switch.offLabel": "AV",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Välj för att stänga av mikrofonen på användaren",
|
||||
"app.talkingIndicator.isTalking" : "{0} pratar",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ pratar",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ pratade",
|
||||
"app.talkingIndicator.wasTalking" : "{0} slutade prata",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Åtgärder",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Hantera presentationer",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Inled en omröstning",
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Dela din skärm",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Skärmdelning låst",
|
||||
@ -312,9 +434,13 @@
|
||||
"app.actionsBar.actionsDropdown.captionsDesc": "Växlar textningsrutan",
|
||||
"app.actionsBar.actionsDropdown.takePresenter": "Ta presentatör",
|
||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Tilldela dig som ny presentatör",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Välj slumpmässig deltagare",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Väljer en slumpmässig deltagare",
|
||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Ställ in status",
|
||||
"app.actionsBar.emojiMenu.awayLabel": "Borta",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "Ändra din status till borta",
|
||||
"app.actionsBar.emojiMenu.raiseHandLabel": "Höj handen",
|
||||
"app.actionsBar.emojiMenu.lowerHandLabel": "Ta ner handen",
|
||||
"app.actionsBar.emojiMenu.raiseHandDesc": "Höj din hand för att ställa en fråga",
|
||||
"app.actionsBar.emojiMenu.neutralLabel": "Obeslutsam",
|
||||
"app.actionsBar.emojiMenu.neutralDesc": "Ändra din status till obeslutsam",
|
||||
@ -351,6 +477,8 @@
|
||||
"app.audioModal.ariaTitle": "Gå med i ljudmodal",
|
||||
"app.audioModal.microphoneLabel": "Mikrofon",
|
||||
"app.audioModal.listenOnlyLabel": "Lyssna bara",
|
||||
"app.audioModal.microphoneDesc": "Ansluter till mötet med mikrofon",
|
||||
"app.audioModal.listenOnlyDesc": "Ansluter till mötet med endast möjlighet att lyssna",
|
||||
"app.audioModal.audioChoiceLabel": "Hur skulle du vilja gå med ljud?",
|
||||
"app.audioModal.iOSBrowser": "Audio/video stöds inte",
|
||||
"app.audioModal.iOSErrorDescription": "Vid denna tidpunkt stöds inte ljud och video på Chrome för iOS.",
|
||||
@ -366,6 +494,7 @@
|
||||
"app.audioModal.settingsTitle": "Ändra dina ljudinställningar",
|
||||
"app.audioModal.helpTitle": "Det var ett problem med dina medieenheter",
|
||||
"app.audioModal.helpText": "Gav du tillstånd för åtkomst till din mikrofon? Observera att en dialogruta ska visas när du försöker ansluta till ljud och be om dina medietillbehör, acceptera det för att ansluta till ljudkonferensen. Om så inte är fallet, försök ändra dina mikrofonbehörigheter i webbläsarens inställningar.",
|
||||
"app.audioModal.help.macNotAllowed": "Det verkar som att Mac OS blockerar tillgången till din mikrofon. Öppna Systeminställningar -> Säkerhet & integritet -> Integritet -> Mikrofon, och se till att din webbläsare är förbockad.",
|
||||
"app.audioModal.audioDialTitle": "Gå med i din telefon",
|
||||
"app.audioDial.audioDialDescription": "Ring",
|
||||
"app.audioDial.audioDialConfrenceText": "och ange konferensens PIN-kod:",
|
||||
@ -374,6 +503,7 @@
|
||||
"app.audioModal.playAudio.arialabel" : "Spela ljud",
|
||||
"app.audioDial.tipIndicator": "Tips",
|
||||
"app.audioDial.tipMessage": "Tryck på '0' på din telefon för att stänga av/slå på dig själv.",
|
||||
"app.audioModal.connecting": "Ansluter med ljud",
|
||||
"app.audioManager.joinedAudio": "Du har anslutit dig till ljudkonferensen",
|
||||
"app.audioManager.joinedEcho": "Du har anslutit dig till ekotestet",
|
||||
"app.audioManager.leftAudio": "Du har lämnat ljudkonferensen",
|
||||
@ -385,9 +515,14 @@
|
||||
"app.audioManager.mediaError": "Fel: Det gick inte att få dina mediaenheter",
|
||||
"app.audio.joinAudio": "Gå med i ljudet",
|
||||
"app.audio.leaveAudio": "Lämna ljud",
|
||||
"app.audio.changeAudioDevice": "Ändra ljud-enheter",
|
||||
"app.audio.enterSessionLabel": "Ange session",
|
||||
"app.audio.playSoundLabel": "Spela upp ljud",
|
||||
"app.audio.backLabel": "Tillbaka",
|
||||
"app.audio.loading": "Laddar",
|
||||
"app.audio.microphones": "Mikrofoner",
|
||||
"app.audio.speakers": "Högtalare",
|
||||
"app.audio.noDeviceFound": "Ingen enhet hittad",
|
||||
"app.audio.audioSettings.titleLabel": "Välj dina ljudinställningar",
|
||||
"app.audio.audioSettings.descriptionLabel": "Observera att en dialogruta visas i din webbläsare, som kräver att du accepterar att dela din mikrofon.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Mikrofonkälla",
|
||||
@ -412,19 +547,37 @@
|
||||
"app.modal.confirm": "Gjort",
|
||||
"app.modal.newTab": "(öppnar ny flik)",
|
||||
"app.modal.confirm.description": "Sparar ändringar och stänger modal",
|
||||
"app.modal.randomUser.noViewers.description": "Inga deltagare tillgängliga att välja slumpmässigt",
|
||||
"app.modal.randomUser.selected.description": "Du har valts ut slumpmässigt",
|
||||
"app.modal.randomUser.title": "Slumpmässig vald deltagare",
|
||||
"app.modal.randomUser.who": "Vem kommer väljas ut...?",
|
||||
"app.modal.randomUser.alone": "Där finns bara en deltagare",
|
||||
"app.modal.randomUser.reselect.label": "Välj igen",
|
||||
"app.modal.randomUser.ariaLabel.title": "Slumpmässig vald deltagare Modal",
|
||||
"app.dropdown.close": "Stäng",
|
||||
"app.dropdown.list.item.activeLabel": "Aktiv",
|
||||
"app.error.400": "Dålig förfrågan",
|
||||
"app.error.401": "Obehörig",
|
||||
"app.error.403": "Du har tagits bort från mötet",
|
||||
"app.error.404": "Hittades inte",
|
||||
"app.error.408": "Autentisering misslyckad",
|
||||
"app.error.410": "Mötet är avslutat",
|
||||
"app.error.500": "Hoppsan, nånting gick snett",
|
||||
"app.error.userBanned": "Användaren har bannlysts",
|
||||
"app.error.leaveLabel": "Logga in igen",
|
||||
"app.error.fallback.presentation.title": "Ett fel uppstod",
|
||||
"app.error.fallback.presentation.description": "Det har loggats. Försök ladda om sidan.",
|
||||
"app.error.fallback.presentation.reloadButton": "Ladda om",
|
||||
"app.guest.waiting": "Väntar på godkännande för att gå med",
|
||||
"app.guest.noModeratorResponse": "Inget svar från Moderator.",
|
||||
"app.guest.windowTitle": "BigBlueButton - Gästlobby",
|
||||
"app.guest.missingSession": "Gäst saknar session.",
|
||||
"app.guest.missingMeeting": "Mötet finns inte.",
|
||||
"app.guest.meetingEnded": "Mötet har avslutats.",
|
||||
"app.guest.guestWait": "Var vänlig vänta, en moderator godkänner dig snart för att komma in i mötet.",
|
||||
"app.guest.guestDeny": "Gäst nekad att komma in i mötet.",
|
||||
"app.guest.seatWait": "Gäst väntar på att släppas in i mötet.",
|
||||
"app.guest.allow": "Gäst är godkänd och släpps in i mötet.",
|
||||
"app.userList.guest.waitingUsers": "Väntar användare",
|
||||
"app.userList.guest.waitingUsersTitle": "Användarhantering",
|
||||
"app.userList.guest.optionTitle": "Granska väntande användare",
|
||||
@ -436,6 +589,8 @@
|
||||
"app.userList.guest.pendingGuestUsers": "{0} Väntande gästanvändare",
|
||||
"app.userList.guest.pendingGuestAlert": "Har gått med isessionen och väntar på ditt godkännande.",
|
||||
"app.userList.guest.rememberChoice": "Kom ihåg valet",
|
||||
"app.userList.guest.emptyMessage": "Just nu finns inget meddelande",
|
||||
"app.userList.guest.inputPlaceholder": "Meddelande till gäst-lobbyn",
|
||||
"app.userList.guest.acceptLabel": "Acceptera",
|
||||
"app.userList.guest.denyLabel": "Neka",
|
||||
"app.user-info.title": "Kataloguppslag",
|
||||
@ -447,10 +602,15 @@
|
||||
"app.toast.setEmoji.label": "Emoji-status inställd till {0}",
|
||||
"app.toast.meetingMuteOn.label": "Alla användare har blivit dämpade",
|
||||
"app.toast.meetingMuteOff.label": "Mötesdämpning avstängd",
|
||||
"app.toast.setEmoji.raiseHand": "Du har sträckt upp handen",
|
||||
"app.toast.setEmoji.lowerHand": "Du har tagit ner handen",
|
||||
"app.notification.recordingStart": "Denna session spelas nu in",
|
||||
"app.notification.recordingStop": "Den här sessionen spelas inte in",
|
||||
"app.notification.recordingPaused": "Den här sessionen spelas inte längre in",
|
||||
"app.notification.recordingAriaLabel": "Inspelad tid",
|
||||
"app.notification.userJoinPushAlert": "{0} har anslutit till mötet",
|
||||
"app.notification.userLeavePushAlert": "{0} har lämnat mötet",
|
||||
"app.submenu.notification.raiseHandLabel": "Sträck upp hand",
|
||||
"app.shortcut-help.title": "Tangentbordsgenvägar",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Tillgångstangenterna är inte tillgängliga",
|
||||
"app.shortcut-help.comboLabel": "Kombo",
|
||||
@ -464,11 +624,15 @@
|
||||
"app.shortcut-help.hidePrivateChat": "Dölj privatchatt",
|
||||
"app.shortcut-help.closePrivateChat": "Stäng privatchatt",
|
||||
"app.shortcut-help.openActions": "Öppna åtgärdsmenyn",
|
||||
"app.shortcut-help.raiseHand": "Slå på/av uppsträckt hand",
|
||||
"app.shortcut-help.openDebugWindow": "Öppna debug fönster",
|
||||
"app.shortcut-help.openStatus": "Öppna statusmenyn",
|
||||
"app.shortcut-help.togglePan": "Akrivera panverktyg (presentatör)",
|
||||
"app.shortcut-help.toggleFullscreen": "Gör till fullskärm (presentatör)",
|
||||
"app.shortcut-help.nextSlideDesc": "Nästa bild (presentatör)",
|
||||
"app.shortcut-help.previousSlideDesc": "Förgående bild (presentatör)",
|
||||
"app.lock-viewers.title": "Lås åhörare",
|
||||
"app.lock-viewers.description": "Dessa alternativ låter dig spärra funktioner för användarna.",
|
||||
"app.lock-viewers.featuresLable": "Funktion",
|
||||
"app.lock-viewers.lockStatusLabel": "Status",
|
||||
"app.lock-viewers.webcamLabel": "Dela webbkamera",
|
||||
@ -476,11 +640,38 @@
|
||||
"app.lock-viewers.microphoneLable": "Dela mikrofon",
|
||||
"app.lock-viewers.PublicChatLabel": "Skicka publikt chattmeddelande",
|
||||
"app.lock-viewers.PrivateChatLable": "Skicka privat chattmeddelande",
|
||||
"app.lock-viewers.notesLabel": "Ändra Delade anteckningar",
|
||||
"app.lock-viewers.userListLabel": "Se andra tittare i användarlistan",
|
||||
"app.lock-viewers.ariaTitle": "Lås användare inställningar modal",
|
||||
"app.lock-viewers.button.apply": "Spara",
|
||||
"app.lock-viewers.button.cancel": "Avbryt",
|
||||
"app.lock-viewers.locked": "Låst",
|
||||
"app.lock-viewers.unlocked": "Upplåst",
|
||||
"app.guest-policy.ariaTitle": "Gäst policy inställningar modal",
|
||||
"app.guest-policy.title": "Gäst policy",
|
||||
"app.guest-policy.description": "Ändra mötespolicy för gäster",
|
||||
"app.guest-policy.button.askModerator": "Fråga moderator",
|
||||
"app.guest-policy.button.alwaysAccept": "Tillåt alltid",
|
||||
"app.guest-policy.button.alwaysDeny": "Neka alltid",
|
||||
"app.guest-policy.policyBtnDesc": "Ställer in gäst-policy",
|
||||
"app.connection-status.ariaTitle": "Anslutningsstatus modal",
|
||||
"app.connection-status.title": "Anslutningsstatus",
|
||||
"app.connection-status.description": "Se användarnas anslutningsstatus",
|
||||
"app.connection-status.empty": "Inga rapporterade anslutningsproblem",
|
||||
"app.connection-status.more": "mer",
|
||||
"app.connection-status.copy": "Kopiera nätverksdata",
|
||||
"app.connection-status.copied": "Kopierat!",
|
||||
"app.connection-status.jitter": "Jitter",
|
||||
"app.connection-status.label": "Anslutningsstatus",
|
||||
"app.connection-status.no": "Nej",
|
||||
"app.connection-status.notification": "Du har problem med din anslutning",
|
||||
"app.connection-status.offline": "Offline",
|
||||
"app.connection-status.lostPackets": "Tappade packet",
|
||||
"app.connection-status.usingTurn": "Använder TURN",
|
||||
"app.connection-status.yes": "Ja",
|
||||
"app.learning-dashboard.label": "Läro-översikt",
|
||||
"app.learning-dashboard.description": "Öppna översikt med användarnas aktiviteter",
|
||||
"app.learning-dashboard.clickHereToOpen": "Öppna Läraröversikt",
|
||||
"app.recording.startTitle": "Starta inspelningen",
|
||||
"app.recording.stopTitle": "Pausa inspelningen",
|
||||
"app.recording.resumeTitle": "Fortsätta inspelningen",
|
||||
@ -489,6 +680,7 @@
|
||||
"app.videoPreview.cameraLabel": "Kamera",
|
||||
"app.videoPreview.profileLabel": "Kvalitet",
|
||||
"app.videoPreview.quality.low": "Låg",
|
||||
"app.videoPreview.quality.medium": "Medium",
|
||||
"app.videoPreview.quality.high": "Hög",
|
||||
"app.videoPreview.quality.hd": "Hög upplösning",
|
||||
"app.videoPreview.cancelLabel": "Avbryt",
|
||||
@ -496,20 +688,33 @@
|
||||
"app.videoPreview.findingWebcamsLabel": "Hitta webbkameror",
|
||||
"app.videoPreview.startSharingLabel": "Börja dela",
|
||||
"app.videoPreview.stopSharingLabel": "Sluta dela",
|
||||
"app.videoPreview.stopSharingAllLabel": "Stopp",
|
||||
"app.videoPreview.sharedCameraLabel": "Denna kamera delas redan",
|
||||
"app.videoPreview.webcamOptionLabel": "Välj webbkamera",
|
||||
"app.videoPreview.webcamPreviewLabel": "Förhandsgranskning av webbkamera",
|
||||
"app.videoPreview.webcamSettingsTitle": "Webbkamera inställningar",
|
||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Inställningar för virtuell bakgrund",
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Denna enhet stödjer inte virtuella bakgrunder",
|
||||
"app.videoPreview.webcamNotFoundLabel": "Webbkamera hittades inte",
|
||||
"app.videoPreview.profileNotFoundLabel": "Ingen stödd kameraprofil",
|
||||
"app.video.joinVideo": "Dela webbkamera",
|
||||
"app.video.connecting": "Delning av webbkamera startas...",
|
||||
"app.video.leaveVideo": "Sluta dela webbkamera",
|
||||
"app.video.advancedVideo": "Öppna avancerade inställningar",
|
||||
"app.video.iceCandidateError": "Fel vid att lägga till ICE-kandidat",
|
||||
"app.video.permissionError": "Fel vid delning av webbkamera. Kontrollera behörigheter",
|
||||
"app.video.sharingError": "Fel vid delning av webbkamera",
|
||||
"app.video.abortError": "Ett okänt problem inträffade vilket gjorde att din kamera inte kunde användas.",
|
||||
"app.video.overconstrainedError": "Din kamera stödjer inte vald kvalitet",
|
||||
"app.video.securityError": "Denna webbläsare har nekat kameraanvändning. Prova använd en annan webbläsare",
|
||||
"app.video.typeError": "Ogiltig kameraprofil. Kontakta din administratör",
|
||||
"app.video.notFoundError": "Det gick inte att hitta webbkameran. Se till att den är ansluten",
|
||||
"app.video.notAllowed": "Saknar tillåtelse för delning av webbkamera, var vänlig och kontrollera dina webbläsarbehörigheter",
|
||||
"app.video.notSupportedError": "Kan endast dela webbkamera med säkra källor, se till att ditt SSL-certifikat är giltigt",
|
||||
"app.video.notReadableError": "Det gick inte att få webbkamera video. Se till att ett annat program inte använder webbkameran",
|
||||
"app.video.timeoutError": "Webbläsaren svarade inte i tid",
|
||||
"app.video.genericError": "Ett okänt fel har inträffat med enheten ({0})",
|
||||
"app.video.mediaTimedOutError": "Din webbkamera-delning har avbrutits. Prova dela din kamera igen",
|
||||
"app.video.suggestWebcamLock": "Förbättra låsinställningen till webbläsare för åhörarna?",
|
||||
"app.video.suggestWebcamLockReason": "(detta kommer att förbättra mötesstabiliteten)",
|
||||
"app.video.enable": "Aktivera",
|
||||
@ -521,8 +726,23 @@
|
||||
"app.video.videoMenu": "Videomeny",
|
||||
"app.video.videoMenuDisabled": "Videomenyn Webbkamera är inaktiverad i inställningarna",
|
||||
"app.video.videoMenuDesc": "Öppna videomenyns rullgardin",
|
||||
"app.video.pagination.prevPage": "Se föregående video",
|
||||
"app.video.pagination.nextPage": "Se nästa video",
|
||||
"app.video.clientDisconnected": "Webbkamera kan ej delas på grund av anslutningsproblem",
|
||||
"app.video.virtualBackground.none": "Ingen",
|
||||
"app.video.virtualBackground.blur": "Suddig",
|
||||
"app.video.virtualBackground.genericError": "Misslyckades att tillämpa kameraeffekt. Prova igen.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Tillämpar virtuell bakgrund på webbkamera till {0}",
|
||||
"app.video.dropZoneLabel": "Släpp här",
|
||||
"app.fullscreenButton.label": "Gör {0} fullskärm",
|
||||
"app.fullscreenUndoButton.label": "Ångra {0} fullskärm",
|
||||
"app.switchButton.expandLabel": "Förstora skärmdelningsvideo",
|
||||
"app.switchButton.shrinkLabel": "Förminska skärmdelningsvideo",
|
||||
"app.sfu.mediaServerConnectionError2000": "Misslyckades att ansluta till mediaserver (error 2000)",
|
||||
"app.meeting.endNotification.ok.label": "OK",
|
||||
"app.whiteboard.annotations.poll": "Omröstningens resultat publicerades",
|
||||
"app.whiteboard.annotations.pollResult": "Omröstningsresultat",
|
||||
"app.whiteboard.annotations.noResponses": "Inga svar",
|
||||
"app.whiteboard.toolbar.tools": "Verktyg",
|
||||
"app.whiteboard.toolbar.tools.hand": "Panorera",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Penna",
|
||||
@ -551,12 +771,17 @@
|
||||
"app.whiteboard.toolbar.clear": "Rensa alla anteckningar",
|
||||
"app.whiteboard.toolbar.multiUserOn": "Slå på multi-whiteboard",
|
||||
"app.whiteboard.toolbar.multiUserOff": "Slå av multi-whiteboard",
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Aktivera bortfiltrering av handtryck vid surfplatta (vid användning av penna)",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Deaktivera bortfiltrering av handtryck vid surfplatta (vid användning av penna)",
|
||||
"app.whiteboard.toolbar.fontSize": "Teckenstorlekslista",
|
||||
"app.whiteboard.toolbarAriaLabel": "Presentationsverktyg",
|
||||
"app.feedback.title": "Du har loggat ut från konferensen",
|
||||
"app.feedback.subtitle": "Vi skulle gärna höra om din erfarenhet med BigBlueButton (valfritt)",
|
||||
"app.feedback.textarea": "Hur kan vi göra BigBlueButton bättre?",
|
||||
"app.feedback.sendFeedback": "Skicka feedback",
|
||||
"app.feedback.sendFeedbackDesc": "Skicka en feedback och lämna mötet",
|
||||
"app.videoDock.webcamMirrorLabel": "Spegel",
|
||||
"app.videoDock.webcamMirrorDesc": "Spegla vald kamera",
|
||||
"app.videoDock.webcamFocusLabel": "Fokus",
|
||||
"app.videoDock.webcamFocusDesc": "Fokusera på den valda webbkameran",
|
||||
"app.videoDock.webcamUnfocusLabel": "Icke fokus",
|
||||
@ -568,7 +793,9 @@
|
||||
"app.createBreakoutRoom.title": "Grupprum",
|
||||
"app.createBreakoutRoom.ariaTitle": "Dölj grupprum",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Grupprum {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "Be om att få ansluta",
|
||||
"app.createBreakoutRoom.generatingURL": "Genererar URL",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "Vi genererar en anslutningslänk för valt grupprum. Det kan ta ett par sekunder...",
|
||||
"app.createBreakoutRoom.duration": "Varaktighet {0}",
|
||||
"app.createBreakoutRoom.room": "Rum {0}",
|
||||
"app.createBreakoutRoom.notAssigned": "Inte tilldelats ({0})",
|
||||
@ -581,6 +808,7 @@
|
||||
"app.createBreakoutRoom.numberOfRooms": "Antal rum",
|
||||
"app.createBreakoutRoom.durationInMinutes": "Varaktighet (minuter)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Tilldela slumpmässigt",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Tilldela användare slumpmässigt i rum.",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Avsluta alla grupprum",
|
||||
"app.createBreakoutRoom.roomName": "{0} (Rum - {1})",
|
||||
"app.createBreakoutRoom.doneLabel": "Gjort",
|
||||
@ -590,20 +818,101 @@
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ Lägg till deltagare",
|
||||
"app.createBreakoutRoom.freeJoin": "Tillåt användarna att välja ett grupprum att gå med i",
|
||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Du måste placera minst en användare i ett grupprum.",
|
||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Minsta tid för ett grupprum är {0} minuter.",
|
||||
"app.createBreakoutRoom.modalDesc": "Tips: du kan dra och släppa användare för att tilldela dem till ett särskilt grupprum.",
|
||||
"app.createBreakoutRoom.roomTime": "{0} minuter",
|
||||
"app.createBreakoutRoom.numberOfRoomsError": "Antalet rum är ogiltigt.",
|
||||
"app.createBreakoutRoom.duplicatedRoomNameError": "Rumsnamn kan inte vara samma som annat rum",
|
||||
"app.createBreakoutRoom.emptyRoomNameError": "Rumsnamn kan ej vara tomt",
|
||||
"app.createBreakoutRoom.extendTimeInMinutes": "Tid att förlänga (minuter)",
|
||||
"app.createBreakoutRoom.extendTimeLabel": "Förläng",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "Avbryt",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "Grupprummets tid kan inte vara längre än mötets kvarvarande tid.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Uppdaterar grupprummets namn",
|
||||
"app.externalVideo.start": "Dela en ny video",
|
||||
"app.externalVideo.title": "Dela en extern video",
|
||||
"app.externalVideo.input": "Extern Video URL",
|
||||
"app.externalVideo.urlInput": "Lägg till Video URL",
|
||||
"app.externalVideo.urlError": "Denna video URL stöds inte",
|
||||
"app.externalVideo.close": "Stäng",
|
||||
"app.externalVideo.autoPlayWarning": "Spela video för att aktivera mediasynkning",
|
||||
"app.externalVideo.refreshLabel": "Uppdatera videospelare",
|
||||
"app.externalVideo.fullscreenLabel": "Video spelare",
|
||||
"app.externalVideo.noteLabel": "Notera: Delad extern video kommer inte att synas i inspelning. YouTube, Vimeo, Instructure Media, Twitch, Dailymotion och media filer URLs (t.ex https://example.com/xy.mp4) stöds.",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Dela en extern video",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Sluta dela extern video",
|
||||
"app.iOSWarning.label": "Vänligen uppgradera till iOS 12.2 eller senare",
|
||||
"app.legacy.unsupportedBrowser": "Det verkar som om du använder en webbläsare som inte stöds. Använd antingen {0} eller {1} för fullt stöd.",
|
||||
"app.legacy.upgradeBrowser": "Det verkar som om du använder en äldre version av en webbläsare som stöds. Uppgradera din webbläsare för fullständigt stöd.",
|
||||
"app.legacy.criosBrowser": "På iOS använd Safari för fullständigt stöd."
|
||||
"app.legacy.criosBrowser": "På iOS använd Safari för fullständigt stöd.",
|
||||
"app.debugWindow.form.button.copy": "Kopiera",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Tillämpa Autolayout",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(kommer inaktiveras om du ändrar storleken på webbkamera-fältet)",
|
||||
"app.debugWindow.form.chatLoggerLabel": "Test chatt loggnivå.",
|
||||
"app.debugWindow.form.button.apply": "Tillämpa",
|
||||
"app.layout.style.custom": "Egen",
|
||||
"app.layout.style.smart": "Smart layout",
|
||||
"app.layout.style.presentationFocus": "Fokusera på presentation",
|
||||
"app.layout.style.videoFocus": "Fokusera på video",
|
||||
"app.layout.style.customPush": "Egen (applicera layout till alla)",
|
||||
"app.layout.style.smartPush": "Smart layout (applicera layout till alla)",
|
||||
"app.layout.style.presentationFocusPush": "Fokusera på presentation (applicera layout till alla)",
|
||||
"app.layout.style.videoFocusPush": "Fokusera på video (applicera layout till alla)",
|
||||
"playback.button.about.aria": "Om",
|
||||
"playback.button.clear.aria": "Rensa sökning",
|
||||
"playback.button.close.aria": "Stäng modal",
|
||||
"playback.button.fullscreen.aria": "Fullskärm",
|
||||
"playback.button.restore.aria": "Återställ",
|
||||
"playback.button.search.aria": "Sök",
|
||||
"playback.button.section.aria": "Sidoområde",
|
||||
"playback.button.swap.aria": "Byt plats på innehåll",
|
||||
"playback.error.wrapper.aria": "Fel-fält",
|
||||
"playback.loader.wrapper.aria": "Laddningsfält",
|
||||
"playback.player.wrapper.aria": "Spelar-fält",
|
||||
"playback.player.chat.message.poll.name": "Omröstningsresultat",
|
||||
"playback.player.chat.message.poll.question": "Fråga",
|
||||
"playback.player.chat.message.poll.options": "Alternativ",
|
||||
"playback.player.chat.message.poll.option.yes": "Ja",
|
||||
"playback.player.chat.message.poll.option.no": "Nej",
|
||||
"playback.player.chat.message.poll.option.abstention": "Avstå",
|
||||
"playback.player.chat.message.poll.option.true": "Sant",
|
||||
"playback.player.chat.message.poll.option.false": "Falskt",
|
||||
"playback.player.chat.message.externalVideo.name": "Extern video",
|
||||
"playback.player.chat.wrapper.aria": "Chattfält",
|
||||
"playback.player.notes.wrapper.aria": "Anteckningsfält",
|
||||
"playback.player.presentation.wrapper.aria": "Presentationsfält",
|
||||
"playback.player.screenshare.wrapper.aria": "Skärmdelarfält",
|
||||
"playback.player.search.modal.title": "Sök",
|
||||
"playback.player.search.modal.subtitle": "Hitta presentationsinnehåll",
|
||||
"playback.player.thumbnails.wrapper.aria": "Miniatyr-fält",
|
||||
"playback.player.video.wrapper.aria": "Videofält",
|
||||
"app.learningDashboard.dashboardTitle": "Läro-översikt",
|
||||
"app.learningDashboard.user": "Användare",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Avslutad",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Aktiv",
|
||||
"app.learningDashboard.indicators.usersOnline": "Aktiva användare",
|
||||
"app.learningDashboard.indicators.usersTotal": "Totalt antal användare",
|
||||
"app.learningDashboard.indicators.polls": "Omröstningar",
|
||||
"app.learningDashboard.indicators.raiseHand": "Sträck upp handen",
|
||||
"app.learningDashboard.indicators.activityScore": "Aktivitetspoäng",
|
||||
"app.learningDashboard.indicators.duration": "Tidsåtgång",
|
||||
"app.learningDashboard.usersTable.title": "Översikt",
|
||||
"app.learningDashboard.usersTable.colOnline": "Tid online",
|
||||
"app.learningDashboard.usersTable.colTalk": "Tid pratat",
|
||||
"app.learningDashboard.usersTable.colWebcam": "Tid webbkamera",
|
||||
"app.learningDashboard.usersTable.colMessages": "Meddelanden",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "Sträck upp hand",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Aktivitetspoäng",
|
||||
"app.learningDashboard.usersTable.colStatus": "Status",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "Online",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Offline",
|
||||
"app.learningDashboard.usersTable.noUsers": "Inga användare än",
|
||||
"app.learningDashboard.pollsTable.title": "Omröstning",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "Anonym omröstning (svarar på sista raden)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anonym",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Status tidslinje",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Data är inte längre tillgängligt"
|
||||
|
||||
}
|
||||
|
||||
|
@ -544,7 +544,6 @@
|
||||
"app.guest.errorSeeConsole": "பிழை: கன்சோலில் கூடுதல் விவரங்கள்.",
|
||||
"app.guest.noModeratorResponse": "மதிப்பீட்டாளரிடமிருந்து எந்த பதிலும் இல்லை.",
|
||||
"app.guest.noSessionToken": "டோக்கன் எதுவும் பெறப்படவில்லை.",
|
||||
"app.guest.windowTitle": "விருந்தினர் லாபி",
|
||||
"app.guest.missingToken": "விருந்தினர் அமர்வு டோக்கனைக் காணவில்லை.",
|
||||
"app.guest.missingSession": "விருந்தினர் காணாமல் போன அமர்வு.",
|
||||
"app.guest.missingMeeting": "கூட்டம் இல்லை.",
|
||||
|
@ -585,7 +585,6 @@
|
||||
"app.guest.errorSeeConsole": "లోపం: కన్సోల్లో మరిన్ని వివరాలు.",
|
||||
"app.guest.noModeratorResponse": "మోడరేటర్ నుండి ప్రతిస్పందన లేదు.",
|
||||
"app.guest.noSessionToken": "టోకెన్ రాలేదు.",
|
||||
"app.guest.windowTitle": "అతిథి లాబీ",
|
||||
"app.guest.missingToken": "అతిథి సెషన్ టోకెన్ లేదు.",
|
||||
"app.guest.missingSession": "అతిథి సెషన్ లేదు.",
|
||||
"app.guest.missingMeeting": "సమావేశం ఉనికిలో లేదు.",
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"app.home.greeting": "Sunumunuz birazdan başlayacak...",
|
||||
"app.chat.submitLabel": "İleti Gönder",
|
||||
"app.chat.loading": "Sohbet mesajları yüklendi: {0}%",
|
||||
"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",
|
||||
@ -24,6 +25,8 @@
|
||||
"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.chat.copySuccess": "Sohbet yazışmaları kopyalandı",
|
||||
"app.chat.copyErr": "Sohbet yazışmaları kopyalanırken hata oluştu",
|
||||
"app.captions.label": "Alt yazılar",
|
||||
"app.captions.menu.close": "Kapat",
|
||||
"app.captions.menu.start": "Başlat",
|
||||
@ -48,12 +51,14 @@
|
||||
"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.captions.pad.speechRecognitionStop": "Sesli algılama tarayıcı uyumsuzluğu ya da belirli bir süre sessizlikten dolayı durduruldu.",
|
||||
"app.textInput.sendLabel": "Gönder",
|
||||
"app.title.defaultViewLabel": "Varsayılan sunum görünümü",
|
||||
"app.note.title": "Paylaşılan Notlar",
|
||||
"app.note.label": "Not",
|
||||
"app.note.hideNoteLabel": "Notu gizle",
|
||||
"app.note.tipLabel": "Düzenleyici araç çubuğuna odaklanmak için Esc tuşuna basın",
|
||||
"app.note.locked": "Kilitli",
|
||||
"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",
|
||||
@ -69,11 +74,13 @@
|
||||
"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.moderator": "Moderatör",
|
||||
"app.userList.mobile": "Mobil",
|
||||
"app.userList.guest": "Konuk",
|
||||
"app.userList.sharingWebcam": "Web kamerası",
|
||||
"app.userList.menuTitleContext": "Kullanılabilecek seçenekler",
|
||||
"app.userList.chatListItem.unreadSingular": "Bir yeni ileti",
|
||||
"app.userList.chatListItem.unreadPlural": "{0} yeni mesaj",
|
||||
"app.userList.menu.chat.label": "Özel sohbet başlat",
|
||||
"app.userList.menu.clearStatus.label": "Durumu temizle",
|
||||
"app.userList.menu.removeUser.label": "Kullanıcıyı sil",
|
||||
@ -81,6 +88,8 @@
|
||||
"app.userlist.menu.removeConfirmation.desc": "Bu kullanıcının oturuma yeniden katılmasını engeller.",
|
||||
"app.userList.menu.muteUserAudio.label": "Kullanıcının sesini kapat",
|
||||
"app.userList.menu.unmuteUserAudio.label": "Kullanıcının sesini aç",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Tahta Erişimi Verin",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Tahta Erişimini Kaldırın",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Durum {3}",
|
||||
"app.userList.menu.promoteUser.label": "Sorumlu yap",
|
||||
"app.userList.menu.demoteUser.label": "İzleyici yap",
|
||||
@ -99,6 +108,8 @@
|
||||
"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.guestPolicyLabel": "Misafir politikası",
|
||||
"app.userList.userOptions.guestPolicyDesc": "Toplantı misafir ayarlarını değiştirin",
|
||||
"app.userList.userOptions.disableCam": "İzleyicilerin kameraları kapalı",
|
||||
"app.userList.userOptions.disableMic": "İzleyicilerin mikrofonları kapalı",
|
||||
"app.userList.userOptions.disablePrivChat": "Özel sohbet kapalı",
|
||||
@ -125,9 +136,20 @@
|
||||
"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.presenterLoadingLabel": "Ekran paylaşımınız yükleniyor",
|
||||
"app.screenshare.viewerLoadingLabel": "Sunucunun ekranı yükleniyor",
|
||||
"app.screenshare.presenterSharingLabel": "Ekranınız şu anda paylaşılıyor",
|
||||
"app.screenshare.screenshareFinalError": "Kod {0}. Ekran paylaşılamadı.",
|
||||
"app.screenshare.screenshareRetryError": "Kod {0}. Ekranı paylaşmayı yeniden deneyin.",
|
||||
"app.screenshare.screenshareRetryOtherEnvError": "Kod {0}. Ekran paylaşılamadı. Başka bir tarayıcı veya cihaz kullanarak tekrar deneyin.",
|
||||
"app.screenshare.screenshareUnsupportedEnv": "Kod {0}. Tarayıcı desteklenmiyor. Farklı bir tarayıcı veya cihaz kullanarak yeniden deneyin.",
|
||||
"app.screenshare.screensharePermissionError": "Kod {0}. Ekranı yakalama izninin verilmesi gerekiyor.",
|
||||
"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.endedByUserMessage": "Bu oturum {0} tarafından sonlandırıldı",
|
||||
"app.meeting.endedByNoModeratorMessageSingular": "Bir dakika moderatör bulunmadığı için toplantı sona erdi.",
|
||||
"app.meeting.endedByNoModeratorMessagePlural": "{0} dakika moderatör bulunmadığı için toplantı sona erdi",
|
||||
"app.meeting.endedMessage": "Açılış ekranına geri döneceksiniz",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Toplantı bir dakika içinde bitirilecek.",
|
||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Toplantı {0} dakika içinde bitirilecek.",
|
||||
@ -164,6 +186,7 @@
|
||||
"app.presentation.presentationToolbar.fitToWidth": "Genişliğe sığdır",
|
||||
"app.presentation.presentationToolbar.fitToPage": "Sayfaya sığdır",
|
||||
"app.presentation.presentationToolbar.goToSlide": "{0}. Slayt",
|
||||
"app.presentation.placeholder": "Sunumun yüklenmesi bekleniyor",
|
||||
"app.presentationUploder.title": "Sunum",
|
||||
"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",
|
||||
@ -179,6 +202,7 @@
|
||||
"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, maksimum {0} MB'yi aştı",
|
||||
"app.presentationUploder.genericError": "Üzgünüz! Bir şeyler yanlış gitti ...",
|
||||
"app.presentationUploder.upload.408": "Yükleme isteği kodunun süresi geçmiş.",
|
||||
"app.presentationUploder.upload.404": "404: Yükleme kodu geçersiz",
|
||||
@ -188,10 +212,13 @@
|
||||
"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ı maksimum {0} sınırını aştı",
|
||||
"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ını dönüştüremedik, lütfen optimize etmeyi deneyin. Maksimum sayfa boyutu {0}",
|
||||
"app.presentationUploder.conversion.timeout": "Sorun var, dönüşüm çok uzun sürdü",
|
||||
"app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemedi.",
|
||||
"app.presentationUploder.conversion.unsupportedDocument": "Dosya uzantısı desteklenmiyor",
|
||||
"app.presentationUploder.isDownloadableLabel": "Sunum indirmeye izin verilmiyor - sununun indirilmesine izin vermek için tıklayın",
|
||||
"app.presentationUploder.isNotDownloadableLabel": "Sunum indirmeye izin veriliyor - sununun indirilmesine izin vermemek için tıklayın",
|
||||
"app.presentationUploder.removePresentationLabel": "Sunumu kaldır",
|
||||
@ -206,23 +233,47 @@
|
||||
"app.presentationUploder.itemPlural" : "öge",
|
||||
"app.presentationUploder.clearErrors": "Hataları temizle",
|
||||
"app.presentationUploder.clearErrorsDesc": "Başarısız sunu yüklemelerini temizler",
|
||||
"app.presentationUploder.uploadViewTitle": "Sunum Yükle",
|
||||
"app.poll.pollPaneTitle": "Anket",
|
||||
"app.poll.quickPollTitle": "Hızlı Anket",
|
||||
"app.poll.hidePollDesc": "Anket menüsü panosunu gizler",
|
||||
"app.poll.quickPollInstruction": "Anketinize başlamak için aşağıdan bir seçim yapın.",
|
||||
"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.dragDropPollInstruction": "Anket değerlerini doldurmak için, anket değerlerinin bulunduğu bir metin dosyasını vurgulanan alana sürükleyin.",
|
||||
"app.poll.customPollTextArea": "Anket değerlerini doldurun",
|
||||
"app.poll.publishLabel": "Anketi yayınla",
|
||||
"app.poll.cancelPollLabel": "İptal",
|
||||
"app.poll.backLabel": "Bir Anket Başlat",
|
||||
"app.poll.closeLabel": "Kapat",
|
||||
"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": "Herhangi bir sunum seçilmemiş! Lütfen bir sunum seçin.",
|
||||
"app.poll.clickHereToSelect": "Seçmek için buraya tıklayın",
|
||||
"app.poll.question.label" : "Sorunuzu yazın...",
|
||||
"app.poll.optionalQuestion.label" : "Sorunuzu yazın (isteğe bağlı)...",
|
||||
"app.poll.userResponse.label" : "Kullanıcı Yanıtı",
|
||||
"app.poll.responseTypes.label" : "Cevap Türleri",
|
||||
"app.poll.optionDelete.label" : "Sil",
|
||||
"app.poll.responseChoices.label" : "Cevap Seçenekleri",
|
||||
"app.poll.typedResponse.desc" : "Kullanıcılara cevapları için bir metin kutusu sunulacak.",
|
||||
"app.poll.addItem.label" : "Öge Ekleyin",
|
||||
"app.poll.start.label" : "Anketi Başlatın",
|
||||
"app.poll.secretPoll.label" : "Anonim Anket",
|
||||
"app.poll.secretPoll.isSecretLabel": "Anket isimsizdir - bireysel yanıtları göremezsiniz.",
|
||||
"app.poll.questionErr": "Bir soru sormak zorunludur.",
|
||||
"app.poll.optionErr": "Bir anket seçeneği girin",
|
||||
"app.poll.startPollDesc": "Anketi başlatır",
|
||||
"app.poll.showRespDesc": "Yanıt yapılandırmasını görüntüler",
|
||||
"app.poll.addRespDesc": "Anket yanıt seçeneği ekler",
|
||||
"app.poll.deleteRespDesc": "{0} seçeneğini kaldırır",
|
||||
"app.poll.t": "Doğru",
|
||||
"app.poll.f": "Yanlış",
|
||||
"app.poll.tf": "Doğru / Yanlış",
|
||||
"app.poll.y": "Evet",
|
||||
"app.poll.n": "Hayır",
|
||||
"app.poll.abstention": "Çekimser",
|
||||
"app.poll.yna": "Evet / Hayır / Çekimser",
|
||||
"app.poll.a2": "A / B",
|
||||
"app.poll.a3": "A / B / C",
|
||||
"app.poll.a4": "A / B / C / D",
|
||||
@ -231,6 +282,7 @@
|
||||
"app.poll.answer.false": "Yanlış",
|
||||
"app.poll.answer.yes": "Evet",
|
||||
"app.poll.answer.no": "Hayır",
|
||||
"app.poll.answer.abstention": "Çekimser",
|
||||
"app.poll.answer.a": "A",
|
||||
"app.poll.answer.b": "B",
|
||||
"app.poll.answer.c": "C",
|
||||
@ -238,7 +290,16 @@
|
||||
"app.poll.answer.e": "E",
|
||||
"app.poll.liveResult.usersTitle": "Kullanıcılar",
|
||||
"app.poll.liveResult.responsesTitle": "Yanıt",
|
||||
"app.poll.liveResult.secretLabel": "Bu isimsiz bir ankettir. Bireysel cevaplar gösterilmez.",
|
||||
"app.poll.removePollOpt": "Kaldırılan Anket seçenekleri {0}",
|
||||
"app.poll.emptyPollOpt": "Boş",
|
||||
"app.polling.pollingTitle": "Anket seçenekleri",
|
||||
"app.polling.pollQuestionTitle": "Anket Sorusu",
|
||||
"app.polling.submitLabel": "Teslim Et",
|
||||
"app.polling.submitAriaLabel": "Anket cevaplarını teslim edin",
|
||||
"app.polling.responsePlaceholder": "Cevap girin",
|
||||
"app.polling.responseSecret": "İsimsiz anket – sunucu cevabınızı göremez.",
|
||||
"app.polling.responseNotSecret": "Normal anket – sunucu cevabınızı görebilir.",
|
||||
"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.",
|
||||
@ -247,10 +308,13 @@
|
||||
"app.waitingMessage": "Bağlantı kesildi. {0} saniye içinde yeniden bağlantı kurulmaya çalışılacak ...",
|
||||
"app.retryNow": "Şimdi yeniden dene",
|
||||
"app.muteWarning.label": "Sesli katılımı açmak için {0} düğmesine tıklayın.",
|
||||
"app.muteWarning.disableMessage": "Sesi açılıncaya kadar uyarıların sesini kapatma devre dışı bırakıldı",
|
||||
"app.muteWarning.tooltip": "Kapatmak için tıklayın ve bir sonraki sessize alınana kadar uyarıyı devre dışı bırakın",
|
||||
"app.navBar.settingsDropdown.optionsLabel": "Seçenekler",
|
||||
"app.navBar.settingsDropdown.fullscreenLabel": "Tam ekrana geç",
|
||||
"app.navBar.settingsDropdown.settingsLabel": "Ayarlar",
|
||||
"app.navBar.settingsDropdown.aboutLabel": "Hakkında",
|
||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Toplantıdan Ayrıl",
|
||||
"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",
|
||||
@ -272,6 +336,10 @@
|
||||
"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": "{0} sonlandır",
|
||||
"app.endMeeting.description": "Bu işlem, aktif {0} kullanıcı için oturumu sonlandıracak. Bu oturumu sonlandırmak istediğinizden emin misiniz?",
|
||||
"app.endMeeting.noUserDescription": "Bu oturumu sonlandırmak istediğinizden emin misiniz?",
|
||||
"app.endMeeting.contentWarning": "Bu oturum için sohbet mesajlarına, notlara, beyaz tahta içeriğine ve paylaşılan belgelere artık doğrudan erişilemeyecek",
|
||||
"app.endMeeting.yesLabel": "Evet",
|
||||
"app.endMeeting.noLabel": "Hayır",
|
||||
"app.about.title": "Hakkında",
|
||||
@ -288,9 +356,13 @@
|
||||
"app.actionsBar.raiseLabel": "El kaldır",
|
||||
"app.actionsBar.label": "Eylemler çubuğu",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationLabel": "Sunumu geri yükle",
|
||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Küçültüldükten sonra sunumu geri yükleyen düğme",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Sunumu simge durumuna küçült",
|
||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Sunumu simge durumuna küçültmek için kullanılan düğme",
|
||||
"app.screenshare.screenShareLabel" : "Ekran paylaşımı",
|
||||
"app.submenu.application.applicationSectionTitle": "Uygulama",
|
||||
"app.submenu.application.animationsLabel": "Canlandırmalar",
|
||||
"app.submenu.application.audioFilterLabel": "Mikrofon için Ses Filtreleri",
|
||||
"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",
|
||||
@ -299,12 +371,15 @@
|
||||
"app.submenu.application.languageOptionLabel": "Dil seçin",
|
||||
"app.submenu.application.noLocaleOptionLabel": "Etkin bir dil bulunamadı",
|
||||
"app.submenu.application.paginationEnabledLabel": "Video sayfalama",
|
||||
"app.submenu.application.layoutOptionLabel": "Yerleşim Türü",
|
||||
"app.submenu.notification.SectionTitle": "Bildirimler",
|
||||
"app.submenu.notification.Desc": "Nasıl ve neye bildirileceğinizi tanımlayın.",
|
||||
"app.submenu.notification.audioAlertLabel": "Sesli Uyarılar",
|
||||
"app.submenu.notification.pushAlertLabel": "Açılır Pencere Uyarıları",
|
||||
"app.submenu.notification.messagesLabel": "Sohbet Mesajları",
|
||||
"app.submenu.notification.userJoinLabel": "Kullanıcı Katılımı",
|
||||
"app.submenu.notification.userLeaveLabel": "Kullanıcı Ayrıldı",
|
||||
"app.submenu.notification.guestWaitingLabel": "Onay Bekleyen Misafir",
|
||||
"app.submenu.audio.micSourceLabel": "Mikrofon kaynağı",
|
||||
"app.submenu.audio.speakerSourceLabel": "Hoparlör kaynağı",
|
||||
"app.submenu.audio.streamVolumeLabel": "Sesinizin düzeyi",
|
||||
@ -330,13 +405,18 @@
|
||||
"app.settings.save-notification.label": "Ayarlar kaydedildi",
|
||||
"app.statusNotifier.lowerHands": "İndirilmiş Eller",
|
||||
"app.statusNotifier.raisedHandsTitle": "Kaldırılmış Eller",
|
||||
"app.statusNotifier.raisedHandDesc": "{0} kişi ellini kaldırdı",
|
||||
"app.statusNotifier.raisedHandDescOneUser": "{0} el kaldırma",
|
||||
"app.statusNotifier.and": "ve",
|
||||
"app.switch.onLabel": "AÇIK",
|
||||
"app.switch.offLabel": "KAPALI",
|
||||
"app.talkingIndicator.ariaMuteDesc" : "Sesini kapatacağınız kullanıcıyı seçin",
|
||||
"app.talkingIndicator.isTalking" : "{0} konuşuyor",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsTalking" : "{0}+ konuşuyor",
|
||||
"app.talkingIndicator.moreThanMaxIndicatorsWereTalking" : "{0}+ konuşuyordu",
|
||||
"app.talkingIndicator.wasTalking" : "{0} sustu",
|
||||
"app.actionsBar.actionsDropdown.actionsLabel": "Eylemler",
|
||||
"app.actionsBar.actionsDropdown.presentationLabel": "Sunumları Yönet",
|
||||
"app.actionsBar.actionsDropdown.initPollLabel": "Oylama başlat",
|
||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ekranını paylaş",
|
||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Ekran paylaşımı kilitli",
|
||||
@ -354,9 +434,13 @@
|
||||
"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.actionsDropdown.selectRandUserLabel": "Rastgele Kullanıcı Seç",
|
||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Mevcut katılımcılardan rastgele bir kullanıcı seçer",
|
||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Durumu ayarla",
|
||||
"app.actionsBar.emojiMenu.awayLabel": "Uzakta",
|
||||
"app.actionsBar.emojiMenu.awayDesc": "Durumunuzu uzakta yapar",
|
||||
"app.actionsBar.emojiMenu.raiseHandLabel": "El kaldır",
|
||||
"app.actionsBar.emojiMenu.lowerHandLabel": "Elini indir",
|
||||
"app.actionsBar.emojiMenu.raiseHandDesc": "Soru sormak için el kaldırır",
|
||||
"app.actionsBar.emojiMenu.neutralLabel": "Kararsız",
|
||||
"app.actionsBar.emojiMenu.neutralDesc": "Durumunuzu kararsız yapar",
|
||||
@ -405,6 +489,8 @@
|
||||
"app.audioModal.ariaTitle": "Ses modunda katılın",
|
||||
"app.audioModal.microphoneLabel": "Mikrofon",
|
||||
"app.audioModal.listenOnlyLabel": "Yalnız dinleme",
|
||||
"app.audioModal.microphoneDesc": "Mikrofonla katıl",
|
||||
"app.audioModal.listenOnlyDesc": "Dinleyici olarak katıl",
|
||||
"app.audioModal.audioChoiceLabel": "Sesli katılımınızı nasıl yapmak istersiniz?",
|
||||
"app.audioModal.iOSBrowser": "Ses/Görüntü desteklenmiyor",
|
||||
"app.audioModal.iOSErrorDescription": "Şu anda iOS için Chrome üzerinde ses ve görüntü desteklenmiyor.",
|
||||
@ -430,6 +516,7 @@
|
||||
"app.audioModal.playAudio.arialabel" : "Sesi oynat",
|
||||
"app.audioDial.tipIndicator": "İpucu",
|
||||
"app.audioDial.tipMessage": "Kendi sesinizi açmak ya da kapatmak için telefonunuzda '0' tuşuna basın.",
|
||||
"app.audioModal.connecting": "Ses bağlantısı kuruluyor",
|
||||
"app.audioManager.joinedAudio": "Sesli görüşmeye katıldınız",
|
||||
"app.audioManager.joinedEcho": "Yankı testine katıldınız",
|
||||
"app.audioManager.leftAudio": "Sesli görüşmeden ayrıldınız",
|
||||
@ -441,9 +528,14 @@
|
||||
"app.audioManager.mediaError": "Hata: Ortam aygıtlarınıza erişilirken bir sorun çıktı",
|
||||
"app.audio.joinAudio": "Sesli katıl",
|
||||
"app.audio.leaveAudio": "Sesli Katılımı Kapat",
|
||||
"app.audio.changeAudioDevice": "Ses cihazını değiştir",
|
||||
"app.audio.enterSessionLabel": "Oturuma katıl",
|
||||
"app.audio.playSoundLabel": "Sesi oynat",
|
||||
"app.audio.backLabel": "Geri",
|
||||
"app.audio.loading": "Yükleniyor",
|
||||
"app.audio.microphones": "Mikrofonlar",
|
||||
"app.audio.speakers": "Hoparlörler",
|
||||
"app.audio.noDeviceFound": "Cihaz bulunamadı",
|
||||
"app.audio.audioSettings.titleLabel": "Ses ayarlarınızı seçin",
|
||||
"app.audio.audioSettings.descriptionLabel": "Lütfen web tarayıcınızda mikrofonunuzu paylaşmanızı isteyen bir pencere görüntüleneceğini unutmayın.",
|
||||
"app.audio.audioSettings.microphoneSourceLabel": "Mikrofon kaynağı",
|
||||
@ -468,18 +560,42 @@
|
||||
"app.modal.confirm": "Tamamlandı",
|
||||
"app.modal.newTab": "(yeni sekme açar)",
|
||||
"app.modal.confirm.description": "Değişiklikleri kaydeder ve üste açılan pencereyi kapatır",
|
||||
"app.modal.randomUser.noViewers.description": "Aralarından rastgele seçim yapabileceğiniz katılımcı yok",
|
||||
"app.modal.randomUser.selected.description": "Rastgele Seçildiniz",
|
||||
"app.modal.randomUser.title": "Rastgele Seçilen Kullanıcı",
|
||||
"app.modal.randomUser.who": "Kim seçilecek ..?",
|
||||
"app.modal.randomUser.alone": "Sadece bir izleyici var",
|
||||
"app.modal.randomUser.reselect.label": "Tekrar seç",
|
||||
"app.modal.randomUser.ariaLabel.title": "Rastgele Seçilen Kullanıcı Modeli",
|
||||
"app.dropdown.close": "Kapat",
|
||||
"app.dropdown.list.item.activeLabel": "Aktif",
|
||||
"app.error.400": "İstek Hatalı",
|
||||
"app.error.401": "Yetkisiz",
|
||||
"app.error.403": "Toplantıdan çıkarıldınız",
|
||||
"app.error.404": "Bulunamadı",
|
||||
"app.error.408": "Doğrulama başarısız",
|
||||
"app.error.410": "Toplantı bitti",
|
||||
"app.error.500": "Maalesef, bir şeyler ters gitti",
|
||||
"app.error.userLoggedOut": "Kullanıcı oturumu kapattığı için geçersiz bir sessionToken'a sahip",
|
||||
"app.error.ejectedUser": "Kullanıcı, çıkarma nedeniyle geçersiz bir sessionToken'a sahip",
|
||||
"app.error.userBanned": "Kullanıcı yasaklandı",
|
||||
"app.error.leaveLabel": "Yeniden gir",
|
||||
"app.error.fallback.presentation.title": "Bir sorun çıktı",
|
||||
"app.error.fallback.presentation.description": "Giriş yapıldı. Lütfen sayfayı yeniden yüklemeyi deneyin.",
|
||||
"app.error.fallback.presentation.reloadButton": "Yeniden yükle",
|
||||
"app.guest.waiting": "Katılma onayı bekleniyor",
|
||||
"app.guest.errorSeeConsole": "Hata: konsolda daha fazla ayrıntı.",
|
||||
"app.guest.noModeratorResponse": "Moderatörden cevap yok.",
|
||||
"app.guest.noSessionToken": "Oturum izni alınmadı.",
|
||||
"app.guest.windowTitle": "BigBlueButton - Misafir Lobisi",
|
||||
"app.guest.missingToken": "Konuk eksik oturum izni.",
|
||||
"app.guest.missingSession": "Misafir oturumu eksik.",
|
||||
"app.guest.missingMeeting": "Toplantı bulunmamaktadır.",
|
||||
"app.guest.meetingEnded": "Toplantı sona erdi.",
|
||||
"app.guest.guestWait": "Lütfen bir moderatörün toplantıya katılmanızı onaylamasını bekleyin.",
|
||||
"app.guest.guestDeny": "Misafir toplantıya katılmayı reddetti.",
|
||||
"app.guest.seatWait": "Toplantıda katılmayı bekleyen bir misafir var.",
|
||||
"app.guest.allow": "Misafir onaylandı ve toplantıya yönlendiriliyor.",
|
||||
"app.userList.guest.waitingUsers": "Kullanıcılar Bekleniyor",
|
||||
"app.userList.guest.waitingUsersTitle": "Kullanıcı Yönetimi",
|
||||
"app.userList.guest.optionTitle": "Bekleyen Kullanıcılara Bakın",
|
||||
@ -491,6 +607,8 @@
|
||||
"app.userList.guest.pendingGuestUsers": "{0} Konuk Kullanıcı Bekliyor",
|
||||
"app.userList.guest.pendingGuestAlert": "Oturuma katıldı ve onayınızı bekliyor.",
|
||||
"app.userList.guest.rememberChoice": "Seçim hatırlansın",
|
||||
"app.userList.guest.emptyMessage": "Şu anda mesaj yok",
|
||||
"app.userList.guest.inputPlaceholder": "Misafir lobisine mesaj",
|
||||
"app.userList.guest.acceptLabel": "Kabul Et",
|
||||
"app.userList.guest.denyLabel": "Reddet",
|
||||
"app.user-info.title": "Dizinde Arama",
|
||||
@ -502,11 +620,14 @@
|
||||
"app.toast.setEmoji.label": "Emoji durumu {0} olarak ayarlandı",
|
||||
"app.toast.meetingMuteOn.label": "Tüm kullanıcıların sesi kapatıldı",
|
||||
"app.toast.meetingMuteOff.label": "Toplantının sesi açıldı",
|
||||
"app.toast.setEmoji.raiseHand": "Elinizi kaldırdınız",
|
||||
"app.toast.setEmoji.lowerHand": "Elinizi indirdiniz",
|
||||
"app.notification.recordingStart": "Bu oturum şu anda kaydediliyor",
|
||||
"app.notification.recordingStop": "Bu oturum kaydedilmiyor",
|
||||
"app.notification.recordingPaused": "Bu oturum artık kaydedilmiyor",
|
||||
"app.notification.recordingAriaLabel": "Kaydedilen süre",
|
||||
"app.notification.userJoinPushAlert": "{0} oturuma katıldı",
|
||||
"app.notification.userLeavePushAlert": "{0} toplantıdan ayrıldı",
|
||||
"app.submenu.notification.raiseHandLabel": "El kaldır",
|
||||
"app.shortcut-help.title": "Tuş takımı kısayolları",
|
||||
"app.shortcut-help.accessKeyNotAvailable": "Erişim tuşları kullanılamıyor",
|
||||
@ -521,8 +642,11 @@
|
||||
"app.shortcut-help.hidePrivateChat": "Özel sohbeti gizle",
|
||||
"app.shortcut-help.closePrivateChat": "Özel sohbeti kapat",
|
||||
"app.shortcut-help.openActions": " Eylemler menüsünü aç",
|
||||
"app.shortcut-help.raiseHand": "El Kaldırmayı Açın/Kapatın",
|
||||
"app.shortcut-help.openDebugWindow": "Hata ayıklama penceresini aç",
|
||||
"app.shortcut-help.openStatus": "Durum menüsünü aç",
|
||||
"app.shortcut-help.togglePan": "Sunum araçlarını etkinleştir (Eğitimci)",
|
||||
"app.shortcut-help.toggleFullscreen": "Tam ekranı açın/kapatın (Sunum yapan kişi)",
|
||||
"app.shortcut-help.nextSlideDesc": "Sonraki slayt (Sunucu)",
|
||||
"app.shortcut-help.previousSlideDesc": "Önceki slayt (Sunucu)",
|
||||
"app.lock-viewers.title": "Katılımcıları kilitle",
|
||||
@ -541,10 +665,31 @@
|
||||
"app.lock-viewers.button.cancel": "Vazgeç",
|
||||
"app.lock-viewers.locked": "Kilitli",
|
||||
"app.lock-viewers.unlocked": "Kilidi açık",
|
||||
"app.guest-policy.ariaTitle": "Misafir politikası ayarları modeli",
|
||||
"app.guest-policy.title": "Misafir politikası",
|
||||
"app.guest-policy.description": "Toplantı misafir politika ayarını değiştirin",
|
||||
"app.guest-policy.button.askModerator": "Moderatöre sorun",
|
||||
"app.guest-policy.button.alwaysAccept": "Her zaman kabul edin",
|
||||
"app.guest-policy.button.alwaysDeny": "Her zaman reddedin",
|
||||
"app.guest-policy.policyBtnDesc": "Toplantı misafir politikasını ayarla",
|
||||
"app.connection-status.ariaTitle": "Bağlantı durumu modeli",
|
||||
"app.connection-status.title": "Bağlantı durumu",
|
||||
"app.connection-status.description": "Kullanıcıların bağlantı durumunu görüntüle",
|
||||
"app.connection-status.empty": "Şu anda bildirilen bağlantı sorunu yok",
|
||||
"app.connection-status.more": "daha çok",
|
||||
"app.connection-status.copy": "Ağ verilerini kopyala",
|
||||
"app.connection-status.copied": "Kopyalandı!",
|
||||
"app.connection-status.jitter": "Sapma",
|
||||
"app.connection-status.label": "Bağlantı durumu",
|
||||
"app.connection-status.no": "Hayır",
|
||||
"app.connection-status.notification": "Bağlantınızda kayıp tespit edildi",
|
||||
"app.connection-status.offline": "çevrim dışı",
|
||||
"app.connection-status.lostPackets": "Kayıp Paketler",
|
||||
"app.connection-status.usingTurn": "TURN Kullanımı",
|
||||
"app.connection-status.yes": "Evet",
|
||||
"app.learning-dashboard.label": "Katılım Panosu",
|
||||
"app.learning-dashboard.description": "Kullanıcı etkinlikleriyle birlikte katılım panosunu aç",
|
||||
"app.learning-dashboard.clickHereToOpen": "Katılım Panosunu Aç",
|
||||
"app.recording.startTitle": "Kaydı başlat",
|
||||
"app.recording.stopTitle": "Kaydı durdur",
|
||||
"app.recording.resumeTitle": "Kaydı sürdür",
|
||||
@ -566,19 +711,29 @@
|
||||
"app.videoPreview.webcamOptionLabel": "Kamera seçin",
|
||||
"app.videoPreview.webcamPreviewLabel": "Kamera ön izlemesi",
|
||||
"app.videoPreview.webcamSettingsTitle": "Kamera ayarları",
|
||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Sanal arka plan ayarları",
|
||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Bu cihaz sanal arka planları desteklemiyor",
|
||||
"app.videoPreview.webcamNotFoundLabel": "Kamera bulunamadı",
|
||||
"app.videoPreview.profileNotFoundLabel": "Desteklenen bir kamera profili yok",
|
||||
"app.video.joinVideo": "Kamerayı paylaş",
|
||||
"app.video.connecting": "Web kamerası paylaşımı başlıyor ...",
|
||||
"app.video.leaveVideo": "Kamerası paylaşımını durdur",
|
||||
"app.video.advancedVideo": "Gelişmiş ayarları aç",
|
||||
"app.video.iceCandidateError": "ICE adayı ekleme hatası",
|
||||
"app.video.iceConnectionStateError": "Bağlantı kurulamadı (ICE 1107 hatası)",
|
||||
"app.video.permissionError": "Kamera paylaşılırken sorun çıktı. Lütfen izinleri denetleyin",
|
||||
"app.video.sharingError": "Kamera paylaşılırken sorun çıktı",
|
||||
"app.video.abortError": "Kameranızın kullanılmasını engelleyen bilinmeyen bir sorun oluştu",
|
||||
"app.video.overconstrainedError": "Kameranız bu kalite profilini desteklemiyor",
|
||||
"app.video.securityError": "Tarayıcınız kamera kullanımını devre dışı bıraktı. Farklı bir tarayıcı deneyin",
|
||||
"app.video.typeError": "Geçersiz kamera kalite profili. Yöneticiniz ile iletişime geçin",
|
||||
"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.timeoutError": "Tarayıcı gerekli zaman içersinde yanıt vermedi.",
|
||||
"app.video.genericError": "Cihazda bilinmeyen bir hata oluştu ({0})",
|
||||
"app.video.mediaTimedOutError": "Web kamerası akışı kesildi. Tekrar paylaşmayı deneyin",
|
||||
"app.video.mediaFlowTimeout1020": "Ortam sunucuya ulaşamadı (hata 1020)",
|
||||
"app.video.suggestWebcamLock": "İzleyicilerin kameraları kilitlenmeye zorlansın mı?",
|
||||
"app.video.suggestWebcamLockReason": "(bu, toplantının kararlılığını artıracak)",
|
||||
@ -594,7 +749,15 @@
|
||||
"app.video.pagination.prevPage": "Önceki videoları gör",
|
||||
"app.video.pagination.nextPage": "Sonraki videoları gör",
|
||||
"app.video.clientDisconnected": "Bağlantı sorunları nedeniyle web kamerası paylaşılamıyor",
|
||||
"app.video.virtualBackground.none": "Hiçbiri",
|
||||
"app.video.virtualBackground.blur": "Bulanık",
|
||||
"app.video.virtualBackground.genericError": "Kamera efekti uygulanamadı. Tekrar deneyin.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Web kamerası sanal arka planını {0} olarak ayarlar",
|
||||
"app.video.dropZoneLabel": "Buraya bırakın",
|
||||
"app.fullscreenButton.label": "{0} tam ekran yap",
|
||||
"app.fullscreenUndoButton.label": "{0} tam ekranı geri al",
|
||||
"app.switchButton.expandLabel": "Ekran paylaşım videosunu genişlet",
|
||||
"app.switchButton.shrinkLabel": "Ekran paylaşım videosunu küçült",
|
||||
"app.sfu.mediaServerConnectionError2000": "Ortam sunucusu ile bağlantı kurulamadı (hata 2000)",
|
||||
"app.sfu.mediaServerOffline2001": "Ortam sunucusu çevrimdışı. Lütfen daha sonra yeniden deneyin (hata 2001)",
|
||||
"app.sfu.mediaServerNoResources2002": "Ortam sunucunda kullanılabilecek kaynak yok (hata 2002)",
|
||||
@ -607,6 +770,7 @@
|
||||
"app.meeting.endNotification.ok.label": "Tamam",
|
||||
"app.whiteboard.annotations.poll": "Anket sonuçları yayınlandı",
|
||||
"app.whiteboard.annotations.pollResult": "Anket Sonuçları",
|
||||
"app.whiteboard.annotations.noResponses": "Cevap yok",
|
||||
"app.whiteboard.toolbar.tools": "Araçlar",
|
||||
"app.whiteboard.toolbar.tools.hand": "Sunum araçları",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Kalem",
|
||||
@ -635,12 +799,17 @@
|
||||
"app.whiteboard.toolbar.clear": "Tüm Ek Açıklamaları Temizle",
|
||||
"app.whiteboard.toolbar.multiUserOn": "Çoklu kullanıcı modunu aç",
|
||||
"app.whiteboard.toolbar.multiUserOff": "Çoklu kullanıcı modunu kapat",
|
||||
"app.whiteboard.toolbar.palmRejectionOn": "Avuç içi reddetmeyi aç",
|
||||
"app.whiteboard.toolbar.palmRejectionOff": "Avuç içi reddetmeyi kapat",
|
||||
"app.whiteboard.toolbar.fontSize": "Yazı tipi listesi",
|
||||
"app.whiteboard.toolbarAriaLabel": "Sunum araçları",
|
||||
"app.feedback.title": "Görüşmeden çıktınız",
|
||||
"app.feedback.subtitle": "BigBlueButton deneyiminizi bizimle paylaşın (isteğe bağlı)",
|
||||
"app.feedback.textarea": "BigBlueButton'ı nasıl daha iyi yapabiliriz?",
|
||||
"app.feedback.sendFeedback": "Geri Bildirim Gönder",
|
||||
"app.feedback.sendFeedbackDesc": "Bir geri bildirim gönderip toplantıdan çıkın",
|
||||
"app.videoDock.webcamMirrorLabel": "Yansıt",
|
||||
"app.videoDock.webcamMirrorDesc": "Seçilen web kamerasını yansıt",
|
||||
"app.videoDock.webcamFocusLabel": "Odakla",
|
||||
"app.videoDock.webcamFocusDesc": "Seçilmiş kameraya odaklan",
|
||||
"app.videoDock.webcamUnfocusLabel": "Uzaklaş",
|
||||
@ -652,7 +821,9 @@
|
||||
"app.createBreakoutRoom.title": "Grup Odaları",
|
||||
"app.createBreakoutRoom.ariaTitle": "Grup Odalarını Gizle",
|
||||
"app.createBreakoutRoom.breakoutRoomLabel": "Grup Odaları {0}",
|
||||
"app.createBreakoutRoom.askToJoin": "Katılmayı İste",
|
||||
"app.createBreakoutRoom.generatingURL": "Adres oluşturuluyor",
|
||||
"app.createBreakoutRoom.generatingURLMessage": "Seçilen çalışma odası için bir katılım URL'si oluşturuyoruz. Birkaç saniye sürebilir...",
|
||||
"app.createBreakoutRoom.duration": "Süre {0}",
|
||||
"app.createBreakoutRoom.room": "Oda {0}",
|
||||
"app.createBreakoutRoom.notAssigned": "Atanmamış ({0})",
|
||||
@ -665,6 +836,7 @@
|
||||
"app.createBreakoutRoom.numberOfRooms": "Oda sayısı",
|
||||
"app.createBreakoutRoom.durationInMinutes": "Süre (dakika)",
|
||||
"app.createBreakoutRoom.randomlyAssign": "Rastgele atama",
|
||||
"app.createBreakoutRoom.randomlyAssignDesc": "Kullanıcıları çalışma odalarına rastgele atar",
|
||||
"app.createBreakoutRoom.endAllBreakouts": "Tüm grup odalarını kapat",
|
||||
"app.createBreakoutRoom.roomName": "{0} (Oda - {1})",
|
||||
"app.createBreakoutRoom.doneLabel": "Tamamlandı",
|
||||
@ -674,9 +846,17 @@
|
||||
"app.createBreakoutRoom.addParticipantLabel": "+ Katılımcı ekle",
|
||||
"app.createBreakoutRoom.freeJoin": "Kullanıcılar katılacakları grup odasını seçebilsin",
|
||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Bir grup odasına en az bir kullanıcı atamalısınız..",
|
||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Çalışma odası için minimum süre {0} dakikadır.",
|
||||
"app.createBreakoutRoom.modalDesc": "İpucu: Herhangi bir grup odasına atamak için kullanıcıların adını sürükleyip bırakabilirsiniz.",
|
||||
"app.createBreakoutRoom.roomTime": "{0} dakika",
|
||||
"app.createBreakoutRoom.numberOfRoomsError": "Oda sayısı geçersiz.",
|
||||
"app.createBreakoutRoom.duplicatedRoomNameError": "Birden fazla aynı ada sahip oda olamaz.",
|
||||
"app.createBreakoutRoom.emptyRoomNameError": "Oda adı boş olamaz.",
|
||||
"app.createBreakoutRoom.extendTimeInMinutes": "Uzatma süresi (dakika)",
|
||||
"app.createBreakoutRoom.extendTimeLabel": "Uzat",
|
||||
"app.createBreakoutRoom.extendTimeCancel": "İptal",
|
||||
"app.createBreakoutRoom.extendTimeHigherThanMeetingTimeError": "Çalışma odalarının süresi, kalan toplantı süresini aşamaz.",
|
||||
"app.createBreakoutRoom.roomNameInputDesc": "Çalışma odasının ismini güncelle",
|
||||
"app.externalVideo.start": "Yeni bir görüntü paylaş",
|
||||
"app.externalVideo.title": "Dışarıdan bir görüntü paylaş",
|
||||
"app.externalVideo.input": "Dış Görüntü Adresi",
|
||||
@ -684,13 +864,86 @@
|
||||
"app.externalVideo.urlError": "Bu görüntü adresi desteklenmiyor",
|
||||
"app.externalVideo.close": "Kapat",
|
||||
"app.externalVideo.autoPlayWarning": "Medya eşleştirmesini etkinleştirmek için videoyu oynatın",
|
||||
"app.externalVideo.refreshLabel": "Video Oynatıcısını Yenile",
|
||||
"app.externalVideo.fullscreenLabel": "Video Oynatıcı",
|
||||
"app.externalVideo.noteLabel": "Not: Paylaşılan harici videolar kayıtta görünmeyecektir. YouTube, Vimeo, Instructure Media, Twitch, Dailymotion ve medya dosyası URL'leri (ör. https://ornek.com/xy.mp4) desteklenir.",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Dışarıdan bir görüntü paylaşın",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Dış görüntü paylaşımını durdur",
|
||||
"app.iOSWarning.label": "Lütfen iOS 12.2 ya da üzerindeki bir sürüme yükseltin",
|
||||
"app.legacy.unsupportedBrowser": "Tam olarak desteklenmeyen bir tarayıcı kullanıyorsunuz. Lütfen tam destek için {0} veya {1} kullanın.",
|
||||
"app.legacy.upgradeBrowser": "Desteklenen bir tarayıcının eski bir sürümünü kullanıyor gibi görünüyorsunuz. Lütfen tam destek için tarayıcınızı güncelleyin.",
|
||||
"app.legacy.criosBrowser": "Lütfen iOS üzerinde tam destek almak için Safari kullanın."
|
||||
"app.legacy.criosBrowser": "Lütfen iOS üzerinde tam destek almak için Safari kullanın.",
|
||||
"app.debugWindow.windowTitle": "Hata ayıklama",
|
||||
"app.debugWindow.form.userAgentLabel": "Kullanıcı Aracısı",
|
||||
"app.debugWindow.form.button.copy": "Kopyala",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutLabel": "Otomatik Düzenleme Yerleşimini Etkinleştir",
|
||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(web kamerası alanını sürüklerseniz veya yeniden boyutlandırırsanız devre dışı bırakılır)",
|
||||
"app.debugWindow.form.chatLoggerLabel": "Sohbet Kaydedici Düzeylerini Test Edin",
|
||||
"app.debugWindow.form.button.apply": "Uygula",
|
||||
"app.layout.style.custom": "Özel",
|
||||
"app.layout.style.smart": "Akıllı Yerleşim",
|
||||
"app.layout.style.presentationFocus": "Sunuma Odakla",
|
||||
"app.layout.style.videoFocus": "Videoya Odakla",
|
||||
"app.layout.style.customPush": "Özel (düzeni herkese uygula)",
|
||||
"app.layout.style.smartPush": "Akıllı Yerleşim (düzeni herkese uygula)",
|
||||
"app.layout.style.presentationFocusPush": "Sunuma Odaklanın (düzeni herkese uygula)",
|
||||
"app.layout.style.videoFocusPush": "Videoya Odaklan (düzeni herkese uygula)",
|
||||
"playback.button.about.aria": "Hakkında",
|
||||
"playback.button.clear.aria": "Aramayı Temizle",
|
||||
"playback.button.close.aria": "Modu kapat",
|
||||
"playback.button.fullscreen.aria": "Tam ekran içerik",
|
||||
"playback.button.restore.aria": "İçeriği geri yükle",
|
||||
"playback.button.search.aria": "Ara",
|
||||
"playback.button.section.aria": "Yan bölüm",
|
||||
"playback.button.swap.aria": "İçeriği değiştir",
|
||||
"playback.error.wrapper.aria": "Hata alanı",
|
||||
"playback.loader.wrapper.aria": "Yükleyici alanı",
|
||||
"playback.player.wrapper.aria": "Oynatıcı alanı",
|
||||
"playback.player.chat.message.poll.name": "Anket sonucu",
|
||||
"playback.player.chat.message.poll.question": "Soru",
|
||||
"playback.player.chat.message.poll.options": "Seçenekler",
|
||||
"playback.player.chat.message.poll.option.yes": "Evet",
|
||||
"playback.player.chat.message.poll.option.no": "Hayır",
|
||||
"playback.player.chat.message.poll.option.abstention": "Çekimser",
|
||||
"playback.player.chat.message.poll.option.true": "Doğru",
|
||||
"playback.player.chat.message.poll.option.false": "Yanlış",
|
||||
"playback.player.chat.message.externalVideo.name": "Harici Video",
|
||||
"playback.player.chat.wrapper.aria": "Sohbet alanı",
|
||||
"playback.player.notes.wrapper.aria": "Notlar alanı",
|
||||
"playback.player.presentation.wrapper.aria": "Sunum alanı",
|
||||
"playback.player.screenshare.wrapper.aria": "Ekran paylaşım alanı",
|
||||
"playback.player.search.modal.title": "Ara",
|
||||
"playback.player.search.modal.subtitle": "Sunum slaytları içeriğini bul",
|
||||
"playback.player.thumbnails.wrapper.aria": "Küçük resim alanı",
|
||||
"playback.player.video.wrapper.aria": "Video alanı",
|
||||
"app.learningDashboard.dashboardTitle": "Katılım Panosu",
|
||||
"app.learningDashboard.user": "Kullanıcı",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Sonlandı",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Aktif",
|
||||
"app.learningDashboard.indicators.usersOnline": "Aktif Kullanıcılar",
|
||||
"app.learningDashboard.indicators.usersTotal": "Katılımcıların Toplam Sayısı",
|
||||
"app.learningDashboard.indicators.polls": "Anketler",
|
||||
"app.learningDashboard.indicators.raiseHand": "El Kaldırma",
|
||||
"app.learningDashboard.indicators.activityScore": "Etkinlik Puanı",
|
||||
"app.learningDashboard.indicators.duration": "Süre",
|
||||
"app.learningDashboard.usersTable.title": "Genel bakış",
|
||||
"app.learningDashboard.usersTable.colOnline": "Çevrim İçi Süre",
|
||||
"app.learningDashboard.usersTable.colTalk": "Konuşma Süresi",
|
||||
"app.learningDashboard.usersTable.colWebcam": "Web Kamera Süresi",
|
||||
"app.learningDashboard.usersTable.colMessages": "Mesajlar",
|
||||
"app.learningDashboard.usersTable.colEmojis": "Emojiler",
|
||||
"app.learningDashboard.usersTable.colRaiseHands": "El Kaldırma",
|
||||
"app.learningDashboard.usersTable.colActivityScore": "Etkinlik Puanı",
|
||||
"app.learningDashboard.usersTable.colStatus": "Durum",
|
||||
"app.learningDashboard.usersTable.userStatusOnline": "Çevrim İçi",
|
||||
"app.learningDashboard.usersTable.userStatusOffline": "Çevrim Dışı",
|
||||
"app.learningDashboard.usersTable.noUsers": "Henüz kullanıcı yok",
|
||||
"app.learningDashboard.pollsTable.title": "Anket",
|
||||
"app.learningDashboard.pollsTable.anonymousAnswer": "İsimsiz Anket (cevaplar son satırda)",
|
||||
"app.learningDashboard.pollsTable.anonymousRowName": "İsimsiz",
|
||||
"app.learningDashboard.statusTimelineTable.title": "Durum Zaman Çizelgesi",
|
||||
"app.learningDashboard.errors.invalidToken": "Geçersiz oturum anahtarı.",
|
||||
"app.learningDashboard.errors.dataUnavailable": "Veri artık erişilebilir değil"
|
||||
|
||||
}
|
||||
|
||||
|
@ -587,7 +587,7 @@
|
||||
"app.guest.errorSeeConsole": "Hata: konsolda daha fazla ayrıntı.",
|
||||
"app.guest.noModeratorResponse": "Moderatörden cevap yok.",
|
||||
"app.guest.noSessionToken": "Oturum izni alınmadı.",
|
||||
"app.guest.windowTitle": "Misafir Lobisi",
|
||||
"app.guest.windowTitle": "BigBlueButton - Misafir Lobisi",
|
||||
"app.guest.missingToken": "Konuk eksik oturum izni.",
|
||||
"app.guest.missingSession": "Misafir oturumu eksik.",
|
||||
"app.guest.missingMeeting": "Toplantı bulunmamaktadır.",
|
||||
@ -718,6 +718,7 @@
|
||||
"app.video.joinVideo": "Web kamerası paylaş",
|
||||
"app.video.connecting": "Web kamerası paylaşımı başlıyor ...",
|
||||
"app.video.leaveVideo": "Web kamerası paylaşımını durdur",
|
||||
"app.video.advancedVideo": "Gelişmiş ayarları aç",
|
||||
"app.video.iceCandidateError": "ICE adayı ekleme hatası",
|
||||
"app.video.iceConnectionStateError": "Bağlantı başarısız (ICE hatası 1107)",
|
||||
"app.video.permissionError": "Web kamerası paylaşılırken hata oluştu. Lütfen izinleri kontrol et",
|
||||
@ -769,6 +770,7 @@
|
||||
"app.meeting.endNotification.ok.label": "TAMAM",
|
||||
"app.whiteboard.annotations.poll": "Anket sonuçları yayınlandı",
|
||||
"app.whiteboard.annotations.pollResult": "Anket Sonucu",
|
||||
"app.whiteboard.annotations.noResponses": "Cevap yok",
|
||||
"app.whiteboard.toolbar.tools": "Araçlar",
|
||||
"app.whiteboard.toolbar.tools.hand": "Sunum araçları",
|
||||
"app.whiteboard.toolbar.tools.pencil": "Kalem",
|
||||
@ -863,6 +865,7 @@
|
||||
"app.externalVideo.close": "Kapat",
|
||||
"app.externalVideo.autoPlayWarning": "Medya senkronizasyonunu etkinleştirmek için videoyu oynatın",
|
||||
"app.externalVideo.refreshLabel": "Video Oynatıcısını Yenile",
|
||||
"app.externalVideo.fullscreenLabel": "Video Oynatıcı",
|
||||
"app.externalVideo.noteLabel": "Not: Paylaşılan harici videolar kayıtta görünmeyecektir. YouTube, Vimeo, Instructure Media, Twitch, Dailymotion ve medya dosyası bağlantıları (Ör: https://example.com/xy.mp4) desteklenir.",
|
||||
"app.actionsBar.actionsDropdown.shareExternalVideo": "Harici Video Paylaş",
|
||||
"app.actionsBar.actionsDropdown.stopShareExternalVideo": "Harici Video Paylaşını Durdur",
|
||||
@ -915,8 +918,6 @@
|
||||
"playback.player.video.wrapper.aria": "Video alanı",
|
||||
"app.learningDashboard.dashboardTitle": "Katılım Panosu",
|
||||
"app.learningDashboard.user": "Kullanıcı",
|
||||
"app.learningDashboard.shareButton": "Diğerleri ile paylaş",
|
||||
"app.learningDashboard.shareLinkCopied": "Bağlantı başarıyla kopyalandı!",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Sonlandı",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Devam Ediyor",
|
||||
"app.learningDashboard.indicators.usersOnline": "Aktif Kullanıcı",
|
||||
|
@ -90,6 +90,7 @@
|
||||
"app.userList.menu.unmuteUserAudio.label": "Увімкнути мікрофон",
|
||||
"app.userList.menu.giveWhiteboardAccess.label" : "Надати доступ до дошки",
|
||||
"app.userList.menu.removeWhiteboardAccess.label": "Заборонити доступ до дошки",
|
||||
"app.userList.menu.ejectUserCameras.label": "Відключити вебкамери",
|
||||
"app.userList.userAriaLabel": "{0} {1} {2} Статус {3}",
|
||||
"app.userList.menu.promoteUser.label": "Зробити модератором",
|
||||
"app.userList.menu.demoteUser.label": "Понизити до глядача",
|
||||
@ -292,6 +293,7 @@
|
||||
"app.poll.liveResult.responsesTitle": "Відповідь",
|
||||
"app.poll.liveResult.secretLabel": "Це анонімне опитування. Окремі відповіді не показано.",
|
||||
"app.poll.removePollOpt": "Видалено варіант відповіді {0}",
|
||||
"app.poll.emptyPollOpt": "Порожньо",
|
||||
"app.polling.pollingTitle": "Варіанти опитування",
|
||||
"app.polling.pollQuestionTitle": "Питання голосування",
|
||||
"app.polling.submitLabel": "Відправити",
|
||||
@ -586,7 +588,7 @@
|
||||
"app.guest.errorSeeConsole": "Помилка: більш детально в консолі",
|
||||
"app.guest.noModeratorResponse": "Немає відповіді модератора.",
|
||||
"app.guest.noSessionToken": "Не отримано лексему сеансу",
|
||||
"app.guest.windowTitle": "Кімната очікування для гостей",
|
||||
"app.guest.windowTitle": "BigBlueButton - Гостьова вітальня",
|
||||
"app.guest.missingToken": "Для гостя не вказано лексему сеансу",
|
||||
"app.guest.missingSession": "Для гостя не вказано сеанс",
|
||||
"app.guest.missingMeeting": "Зустріч не існує",
|
||||
@ -717,6 +719,7 @@
|
||||
"app.video.joinVideo": "Увімкнути вебкамеру",
|
||||
"app.video.connecting": "Веб камера підключається ...",
|
||||
"app.video.leaveVideo": "Вимкнути вебкамеру",
|
||||
"app.video.advancedVideo": "Відкрити розширені налаштування",
|
||||
"app.video.iceCandidateError": "Помилка додавання ICE кандидата",
|
||||
"app.video.iceConnectionStateError": "Не вдалося з'єднатися (ICE помилка 1107)",
|
||||
"app.video.permissionError": "Помилка при трансляції вебкамери. Будь ласка перевірте дозволи",
|
||||
@ -749,6 +752,10 @@
|
||||
"app.video.clientDisconnected": "Вебкамера не може бути показана через проблеми підключення",
|
||||
"app.video.virtualBackground.none": "Немає",
|
||||
"app.video.virtualBackground.blur": "Розмивання",
|
||||
"app.video.virtualBackground.home": "Будинок",
|
||||
"app.video.virtualBackground.board": "Дошка",
|
||||
"app.video.virtualBackground.coffeeshop": "Кав`ярня",
|
||||
"app.video.virtualBackground.background": "Задній фон",
|
||||
"app.video.virtualBackground.genericError": "Не вдалось застосувати ефект для камери. Спробуйте знову.",
|
||||
"app.video.virtualBackground.camBgAriaDesc": "Встановлює віртуальне тло для вебкамери: {0}",
|
||||
"app.video.dropZoneLabel": "Перетягніть сюди",
|
||||
@ -916,8 +923,6 @@
|
||||
"playback.player.video.wrapper.aria": "Область відео",
|
||||
"app.learningDashboard.dashboardTitle": "Панель навчання",
|
||||
"app.learningDashboard.user": "Користувач",
|
||||
"app.learningDashboard.shareButton": "Поділитись з іншими",
|
||||
"app.learningDashboard.shareLinkCopied": "Посилання успішно скопійовано",
|
||||
"app.learningDashboard.indicators.meetingStatusEnded": "Закінчилась",
|
||||
"app.learningDashboard.indicators.meetingStatusActive": "Активна",
|
||||
"app.learningDashboard.indicators.usersOnline": "Користувачі онлайн",
|
||||
|
@ -581,7 +581,6 @@
|
||||
"app.guest.errorSeeConsole": "Lỗi: xem thêm ở console",
|
||||
"app.guest.noModeratorResponse": "Không có phản hồi từ Điều hành viên",
|
||||
"app.guest.noSessionToken": "Không có Mã thông báo phiên nào nhận được.",
|
||||
"app.guest.windowTitle": "Phòng chờ của khách",
|
||||
"app.guest.missingToken": "Khách bị thiếu mã thông báo phiên.",
|
||||
"app.guest.missingSession": "Khách bỏ lỡ phiên.",
|
||||
"app.guest.missingMeeting": "Phòng họp này không tồn tại",
|
||||
|
@ -743,7 +743,6 @@
|
||||
"playback.player.search.modal.title": "搜索",
|
||||
"playback.player.thumbnails.wrapper.aria": "缩略图区域",
|
||||
"playback.player.video.wrapper.aria": "视频区域",
|
||||
"app.learningDashboard.shareButton": "分享给其他人",
|
||||
"app.learningDashboard.indicators.usersOnline": "活跃用户",
|
||||
"app.learningDashboard.indicators.usersTotal": "参会人员总数",
|
||||
"app.learningDashboard.indicators.polls": "投票",
|
||||
|
@ -561,7 +561,6 @@
|
||||
"app.guest.errorSeeConsole": "錯誤:控制台中有更多詳細信息。",
|
||||
"app.guest.noModeratorResponse": "沒有主持人的回應。",
|
||||
"app.guest.noSessionToken": "未收到session Token。",
|
||||
"app.guest.windowTitle": "訪客大廳",
|
||||
"app.guest.missingToken": "訪客缺少session token.",
|
||||
"app.guest.missingSession": "訪客缺少session.",
|
||||
"app.guest.missingMeeting": "會議不存在。",
|
||||
|
@ -2,7 +2,6 @@
|
||||
exports.ELEMENT_WAIT_TIME = 5000;
|
||||
exports.ELEMENT_WAIT_LONGER_TIME = 10000;
|
||||
exports.LOOP_INTERVAL = 1200;
|
||||
exports.NOTIFICATION_WAIT_TIME = 6000;
|
||||
exports.USER_LIST_VLIST_BOTS_LISTENING = 50;
|
||||
|
||||
// STRESS TESTS VARS
|
||||
|
@ -2,6 +2,7 @@
|
||||
exports.actions = 'button[aria-label="Actions"]';
|
||||
exports.pollMenuButton = 'div[data-test="pollMenuButton"]';
|
||||
exports.options = 'button[aria-label="Options"]';
|
||||
exports.optionsButton = 'button[data-test="optionsButton"]';
|
||||
exports.settings = 'li[data-test="settings"]';
|
||||
exports.modalConfirmButton = 'button[data-test="modalConfirmButton"]';
|
||||
exports.screenshareConnecting = 'div[data-test="screenshareConnecting"]';
|
||||
@ -9,18 +10,29 @@ exports.screenShareVideo = 'video[id="screenshareVideo"]';
|
||||
exports.closeModal = 'button[data-test="modalDismissButton"]';
|
||||
exports.isSharingScreen = 'div[data-test="isSharingScreen"]';
|
||||
exports.pdfFileName = '100PagesFile.pdf';
|
||||
exports.raiseHandLabel = 'button[data-test="raiseHandLabel"]';
|
||||
exports.lowerHandLabel = 'button[data-test="lowerHandLabel"]';
|
||||
exports.meetingEndedModal = 'div[data-test="meetingEndedModal"]';
|
||||
exports.logout = 'li[data-test="logout"]';
|
||||
exports.rating = 'div[data-test="rating"]';
|
||||
// Accesskey
|
||||
exports.chatButtonKey = '[accesskey="P"]';
|
||||
exports.userListButton = '[accesskey="U"]';
|
||||
|
||||
// Audio
|
||||
exports.joinAudio = 'button[data-test="joinAudio"]';
|
||||
exports.audioModal = 'div[aria-label="Join audio modal"]';
|
||||
exports.closeAudioButton = 'button[aria-label="Close Join audio modal"]';
|
||||
exports.listenOnlyButton = 'button[aria-label="Listen only"]';
|
||||
exports.connecting = 'span[data-test="connecting"]';
|
||||
exports.connectingStatus = 'div[class^="connecting--"]';
|
||||
exports.leaveAudio = 'button[data-test="leaveAudio"]';
|
||||
exports.microphoneButton = 'button[aria-label="Microphone"]';
|
||||
exports.echoYesButton = 'button[aria-label="Echo is audible"]';
|
||||
exports.connectingToEchoTest = 'span[data-test="connectingToEchoTest"]';
|
||||
exports.isTalking = '[data-test="isTalking"]';
|
||||
exports.talkingIndicator = 'div[class^="isTalkingWrapper--"] > div[class^="speaking--"]';
|
||||
exports.audioModalHeader = '[data-test="audioModalHeader"]';
|
||||
|
||||
// Breakout
|
||||
exports.createBreakoutRooms = 'li[data-test="createBreakoutRooms"]';
|
||||
@ -46,6 +58,7 @@ exports.chatSave = 'li[data-test="chatSave"]';
|
||||
exports.chatCopy = 'li[data-test="chatCopy"]';
|
||||
exports.chatTitle = 'div[data-test="chatTitle"]';
|
||||
exports.activeChat = 'li[data-test="activeChat"]';
|
||||
exports.hidePrivateChat = 'button[aria-label^="Hide Private Chat with"]';
|
||||
// Messages
|
||||
exports.message = 'Hello World!';
|
||||
exports.message1 = 'Hello User2';
|
||||
@ -56,8 +69,19 @@ exports.publicMessage2 = 'This is a Public Message from User2';
|
||||
exports.chatUserMessageText = 'p[data-test="chatUserMessageText"]';
|
||||
exports.chatClearMessageText = 'p[data-test="chatClearMessageText"]';
|
||||
|
||||
// Messages
|
||||
exports.message = 'Hello World!';
|
||||
// CustomParameters
|
||||
exports.audioOptionsButtons = '[class^="audioOptions"] > button';
|
||||
exports.userListContent = 'div[data-test="userListContent"]';
|
||||
exports.brandingAreaLogo = 'div[class^="branding--"]';
|
||||
exports.multiUsersWhiteboard = 'button[aria-label="Turn multi-user whiteboard on"]';
|
||||
exports.toolbarListClass = '[class^="toolbarList--"]';
|
||||
exports.notificationBar = 'div[class^="notificationsBar--"]';
|
||||
exports.chat = 'section[aria-label="Chat"]';
|
||||
exports.defaultContent = 'div[class^="defaultContent--"]';
|
||||
exports.zoomIn = 'button[aria-label="Zoom in"]';
|
||||
exports.recordingIndicator = 'div[class^="recordingIndicator--"]';
|
||||
exports.webcamMirroredVideoContainer = 'video[data-test="mirroredVideoContainer"]';
|
||||
exports.userslistContainer = 'div[aria-label="User list"]';
|
||||
|
||||
// Notes
|
||||
exports.sharedNotes = 'div[data-test="sharedNotes"]';
|
||||
@ -77,6 +101,8 @@ exports.joinAudioToast = 'You have joined the audio conference';
|
||||
exports.pollPublishedToast = 'Poll results were published';
|
||||
exports.startScreenshareToast = 'Screenshare has started';
|
||||
exports.endScreenshareToast = 'Screenshare has ended';
|
||||
exports.toastContainer = 'div[class^="toastContainer--"]';
|
||||
exports.joiningMessageLabel = 'You have joined the audio conference';
|
||||
|
||||
// Polling
|
||||
exports.polling = 'li[data-test="polling"]';
|
||||
@ -103,6 +129,8 @@ exports.addPollItem = 'button[data-test="addPollItem"]';
|
||||
exports.deletePollOption = 'button[data-test="deletePollOption"]';
|
||||
exports.cancelPollBtn = 'button[data-test="cancelPollLabel"]';
|
||||
exports.questionSlideFileName = 'mockPollSlide.pdf';
|
||||
exports.pollYesNoAbstentionBtn = 'button[aria-label="Yes / No / Abstention"]';
|
||||
exports.yesBtn = 'button[aria-label="Yes"]';
|
||||
|
||||
// Presentation
|
||||
exports.startScreenSharing = 'button[data-test="startScreenShare"]';
|
||||
@ -131,6 +159,7 @@ exports.externalVideoModalHeader = 'header[data-test="videoModalHeader"]';
|
||||
exports.videoModalInput = 'input[id="video-modal-input"]';
|
||||
exports.startShareVideoBtn = 'button[aria-label="Share a new video"]';
|
||||
exports.videoPlayer = 'div[data-test="videoPlayer"]';
|
||||
exports.presentationTitle = '[class^="presentationTitle--"]';
|
||||
// YouTube frame
|
||||
exports.youtubeLink = 'https://www.youtube.com/watch?v=Hso8yLzkqj8&ab_channel=BigBlueButton';
|
||||
exports.youtubeFrame = 'iframe[title^="YouTube"]';
|
||||
@ -149,6 +178,26 @@ exports.multiWhiteboardTool = 'span[data-test="multiWhiteboardTool"]';
|
||||
exports.manageUsers = 'button[data-test="manageUsers"]';
|
||||
exports.presenterClassName = 'presenter--';
|
||||
exports.anyUser = '[data-test^="userListItem"]';
|
||||
exports.userList = 'button[aria-label="Users and messages toggle"]';
|
||||
exports.mobileUser = 'span[data-test="mobileUser"]';
|
||||
exports.connectionStatusBtn = 'button[data-test="connectionStatusButton"]';
|
||||
exports.connectionStatusModal = 'div[aria-label="Connection status modal"]';
|
||||
exports.dataSavingScreenshare = 'input[data-test="dataSavingScreenshare"]';
|
||||
exports.closeConnectionStatusModal = 'button[aria-label="Close Connection status modal"]';
|
||||
exports.screenshareLocked = 'button[aria-label="Screenshare locked"]';
|
||||
exports.connectionStatusItemEmpty = 'div[data-test="connectionStatusItemEmpty"]';
|
||||
exports.connectionStatusItemUser = 'div[data-test="connectionStatusItemUser"]';
|
||||
exports.dataSavingWebcams = 'input[data-test="dataSavingWebcams"]';
|
||||
exports.connectionStatusOfflineUser = 'div[data-test="offlineUser"]';
|
||||
exports.connectionDataContainer = '[class^=networkDataContainer--]';
|
||||
exports.connectionNetwordData = '[class^=networkData--]';
|
||||
exports.avatarsWrapperAvatar = 'div[data-test="avatarsWrapperAvatar"]';
|
||||
exports.guestPolicyLabel = 'li[data-test="guestPolicyLabel"]';
|
||||
exports.waitingUsersBtn = 'div[data-test="waitingUsersBtn"]';
|
||||
exports.joinMeetingDemoPage = 'div[class^="join-meeting"]';
|
||||
exports.askModerator = 'button[data-test="askModerator"]';
|
||||
exports.alwaysAccept = 'button[data-test="alwaysAccept"]';
|
||||
exports.alwaysDeny = 'button[data-test="alwaysDeny"]';
|
||||
|
||||
// Locales
|
||||
exports.locales = ['af', 'ar', 'az', 'bg-BG', 'bn', 'ca', 'cs-CZ', 'da', 'de',
|
||||
@ -168,6 +217,8 @@ exports.webcamConnecting = 'div[data-test="webcamConnecting"]';
|
||||
exports.webcamVideo = 'video[data-test="videoContainer"]';
|
||||
exports.videoContainer = 'div[class^="videoListItem"]';
|
||||
exports.webcamItemTalkingUser = 'div[data-test="webcamItemTalkingUser"]';
|
||||
exports.webcamSettingsModal = 'div[aria-label="Webcam settings"]';
|
||||
exports.webcamMirroredVideoPreview = 'video[data-test="mirroredVideoPreview"]';
|
||||
|
||||
// Whiteboard
|
||||
exports.whiteboard = 'svg[data-test="whiteboard"]';
|
||||
@ -176,3 +227,4 @@ exports.rectangle = 'button[aria-label="Rectangle"]';
|
||||
exports.drawnRectangle = 'svg g[clip-path] > g:nth-child(2) rect[data-test="drawnRectangle"]';
|
||||
exports.whiteboardViewBox = 'svg g[clip-path="url(#viewBox)"]';
|
||||
exports.changeWhiteboardAccess = 'li[data-test="changeWhiteboardAccess"]';
|
||||
exports.pencil = 'button[aria-label="Pencil"]';
|
||||
|
@ -17,9 +17,9 @@ async function createMeeting(params, customParameter) {
|
||||
const mp = params.moderatorPW;
|
||||
const ap = params.attendeePW;
|
||||
const query = customParameter !== undefined ? `name=${meetingID}&meetingID=${meetingID}&attendeePW=${ap}&moderatorPW=${mp}&joinViaHtml5=true`
|
||||
+ `&record=false&allowStartStopRecording=true&${customParameter}&autoStartRecording=false&welcome=${params.welcome}`
|
||||
+ `&allowStartStopRecording=true&${customParameter}&autoStartRecording=false&welcome=${params.welcome}`
|
||||
: `name=${meetingID}&meetingID=${meetingID}&attendeePW=${ap}&moderatorPW=${mp}&joinViaHtml5=true`
|
||||
+ `&record=false&allowStartStopRecording=true&autoStartRecording=false&welcome=${params.welcome}`;
|
||||
+ `&allowStartStopRecording=true&autoStartRecording=false&welcome=${params.welcome}`;
|
||||
const apicall = `create${query}${params.secret}`;
|
||||
const checksum = sha1(apicall);
|
||||
const url = `${params.server}/create?${query}&checksum=${checksum}`;
|
||||
|
@ -42,7 +42,6 @@ class Page {
|
||||
this.meetingId = (meetingId) ? meetingId : await helpers.createMeeting(parameters, customParameter);
|
||||
const joinUrl = helpers.getJoinURL(this.meetingId, this.initParameters, isModerator, customParameter);
|
||||
await this.page.goto(joinUrl);
|
||||
|
||||
if (shouldCloseAudioModal) await this.closeAudioModal();
|
||||
}
|
||||
|
||||
@ -56,6 +55,16 @@ class Page {
|
||||
await this.waitForSelector(e.isTalking);
|
||||
}
|
||||
|
||||
async leaveAudio() {
|
||||
await this.waitAndClick(e.leaveAudio);
|
||||
await this.waitForSelector(e.joinAudio);
|
||||
}
|
||||
|
||||
async logoutFromMeeting() {
|
||||
await this.waitAndClick(e.options);
|
||||
await this.waitAndClick(e.logout);
|
||||
}
|
||||
|
||||
async shareWebcam(shouldConfirmSharing, videoPreviewTimeout = ELEMENT_WAIT_TIME) {
|
||||
await this.waitAndClick(e.joinVideo);
|
||||
if (shouldConfirmSharing) {
|
||||
@ -67,13 +76,12 @@ class Page {
|
||||
await this.waitForSelector(e.leaveVideo, VIDEO_LOADING_WAIT_TIME);
|
||||
}
|
||||
|
||||
async getLocator(selector, { timeout, hidden } = { timeout: ELEMENT_WAIT_TIME, hidden: false }) {
|
||||
if (!hidden) await this.waitForSelector(selector, timeout);
|
||||
async getLocator(selector) {
|
||||
return this.page.locator(selector);
|
||||
}
|
||||
|
||||
async getSelectorCount(selector, timeout = ELEMENT_WAIT_TIME) {
|
||||
const locator = await this.getLocator(selector, timeout);
|
||||
async getSelectorCount(selector) {
|
||||
const locator = await this.getLocator(selector);
|
||||
return locator.count();
|
||||
}
|
||||
|
||||
@ -102,7 +110,7 @@ class Page {
|
||||
async waitAndClick(selector, timeout = ELEMENT_WAIT_TIME) {
|
||||
await this.waitForSelector(selector, timeout);
|
||||
await this.page.focus(selector);
|
||||
await this.page.click(selector);
|
||||
await this.page.click(selector, { timeout });
|
||||
}
|
||||
|
||||
async checkElement(selector, index = 0) {
|
||||
@ -110,7 +118,7 @@ class Page {
|
||||
}
|
||||
|
||||
async wasRemoved(selector, timeout = ELEMENT_WAIT_TIME) {
|
||||
const locator = await this.getLocator(selector, { hidden: true });
|
||||
const locator = await this.getLocator(selector);
|
||||
await expect(locator).toBeHidden({ timeout });
|
||||
}
|
||||
|
||||
|
65
bigbluebutton-tests/playwright/customparameters/constants.js
Normal file
65
bigbluebutton-tests/playwright/customparameters/constants.js
Normal file
@ -0,0 +1,65 @@
|
||||
exports.autoJoin = 'userdata-bbb_auto_join_audio=false';
|
||||
exports.listenOnlyMode = 'userdata-bbb_listen_only_mode=false';
|
||||
exports.forceListenOnly = 'userdata-bbb_force_listen_only=true';
|
||||
exports.skipCheck = 'userdata-bbb_skip_check_audio=true';
|
||||
exports.skipCheckOnFirstJoin = 'userdata-bbb_skip_check_audio_on_first_join=true';
|
||||
exports.docTitle = 'playwright';
|
||||
exports.clientTitle = `userdata-bbb_client_title=${this.docTitle}`;
|
||||
exports.askForFeedbackOnLogout = 'userdata-bbb_ask_for_feedback_on_logout=true';
|
||||
exports.displayBrandingArea = 'userdata-bbb_display_branding_area=true';
|
||||
exports.logo = 'logo=https://bigbluebutton.org/wp-content/themes/bigbluebutton/library/images/bigbluebutton-logo.png';
|
||||
exports.enableScreensharing = 'userdata-bbb_enable_screen_sharing=false';
|
||||
exports.enableVideo = 'userdata-bbb_enable_video=false';
|
||||
exports.autoShareWebcam = 'userdata-bbb_auto_share_webcam=true';
|
||||
exports.multiUserPenOnly = 'userdata-bbb_multi_user_pen_only=true';
|
||||
exports.presenterTools = 'userdata-bbb_presenter_tools=["pencil", "hand"]';
|
||||
exports.multiUserTools = 'userdata-bbb_multi_user_tools=["pencil", "hand"]';
|
||||
const cssCode = '.presentationTitle--1LT79g{display: none;}';
|
||||
exports.customStyle = `userdata-bbb_custom_style=${cssCode}`;
|
||||
exports.customStyleUrl = 'userdata-bbb_custom_style_url=https://develop.bigbluebutton.org/css-test-file.css';
|
||||
exports.autoSwapLayout = 'userdata-bbb_auto_swap_layout=true';
|
||||
exports.hidePresentation = 'userdata-bbb_hide_presentation=true';
|
||||
exports.outsideToggleSelfVoice = 'userdata-bbb_outside_toggle_self_voice=true';
|
||||
exports.outsideToggleRecording = 'userdata-bbb_outside_toggle_recording=true';
|
||||
exports.showPublicChatOnLogin = 'userdata-bbb_show_public_chat_on_login=false';
|
||||
exports.forceRestorePresentationOnNewEvents = 'userdata-bbb_force_restore_presentation_on_new_events=true';
|
||||
exports.bannerText = 'bannerText=some text';
|
||||
exports.color = 'FFFF00';
|
||||
exports.bannerColor = `bannerColor=%23${this.color}`;
|
||||
exports.recordMeeting = 'record=true';
|
||||
exports.skipVideoPreview = 'userdata-bbb_skip_video_preview=true';
|
||||
exports.skipVideoPreviewOnFirstJoin = 'userdata-bbb_skip_video_preview_on_first_join=true';
|
||||
exports.mirrorOwnWebcam = 'userdata-bbb_mirror_own_webcam=true';
|
||||
exports.showParticipantsOnLogin = 'userdata-bbb_show_participants_on_login=false';
|
||||
|
||||
// Shortcuts
|
||||
exports.shortcuts = 'userdata-bbb_shortcuts=[$]';
|
||||
exports.initialShortcuts = [{
|
||||
param: 'openOptions',
|
||||
key: 'O'
|
||||
}, {
|
||||
param: 'toggleUserList',
|
||||
key: 'U'
|
||||
}, {
|
||||
param: 'togglePublicChat',
|
||||
key: 'P'
|
||||
}, {
|
||||
param: 'openActions',
|
||||
key: 'A'
|
||||
}, {
|
||||
param: 'joinAudio',
|
||||
key: 'J'
|
||||
}];
|
||||
exports.laterShortcuts = [{
|
||||
param: 'toggleMute',
|
||||
key: 'M'
|
||||
}, {
|
||||
param: 'leaveAudio',
|
||||
key: 'L'
|
||||
}, {
|
||||
param: 'hidePrivateChat',
|
||||
key: 'H'
|
||||
}, {
|
||||
param: 'closePrivateChat',
|
||||
key: 'G'
|
||||
}];
|
@ -0,0 +1,210 @@
|
||||
const { expect } = require('@playwright/test');
|
||||
const { MultiUsers } = require('../user/multiusers');
|
||||
const e = require('../core/elements');
|
||||
const c = require('./constants');
|
||||
const { VIDEO_LOADING_WAIT_TIME, ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
||||
const util = require('./util');
|
||||
|
||||
class CustomParameters extends MultiUsers {
|
||||
constructor(browser, context) {
|
||||
super(browser, context);
|
||||
}
|
||||
|
||||
async autoJoin() {
|
||||
await this.modPage.waitForSelector(e.chatMessages);
|
||||
await this.modPage.wasRemoved(e.audioModal);
|
||||
}
|
||||
|
||||
async listenOnlyMode() {
|
||||
await this.modPage.waitForSelector(e.audioModal);
|
||||
const audioOptionsCount = await this.modPage.getSelectorCount(e.audioOptionsButtons);
|
||||
await expect(audioOptionsCount).toBe(1);
|
||||
}
|
||||
|
||||
async forceListenOnly() {
|
||||
await this.userPage.wasRemoved(e.audioModalHeader);
|
||||
await this.userPage.waitForSelector(e.toastContainer);
|
||||
await util.forceListenOnly(this.userPage);
|
||||
}
|
||||
|
||||
async skipCheck() {
|
||||
await this.modPage.waitAndClick(e.microphoneButton);
|
||||
await this.modPage.waitForSelector(e.connectingStatus);
|
||||
await this.modPage.wasRemoved(e.connectingStatus, ELEMENT_WAIT_LONGER_TIME);
|
||||
await this.modPage.wasRemoved(e.echoYesButton);
|
||||
await this.modPage.hasElement(e.smallToastMsg);
|
||||
await this.modPage.hasElement(e.isTalking);
|
||||
}
|
||||
|
||||
async skipCheckOnFirstJoin() {
|
||||
await this.modPage.waitAndClick(e.microphoneButton);
|
||||
await this.modPage.hasElement(e.connecting);
|
||||
await this.modPage.leaveAudio();
|
||||
await this.modPage.waitAndClick(e.joinAudio);
|
||||
await this.modPage.waitAndClick(e.microphoneButton);
|
||||
await this.modPage.hasElement(e.connectingToEchoTest);
|
||||
}
|
||||
|
||||
async clientTitle() {
|
||||
const pageTitle = await this.modPage.page.title();
|
||||
await expect(pageTitle).toContain(`${c.docTitle} - `);
|
||||
}
|
||||
|
||||
async askForFeedbackOnLogout() {
|
||||
await this.modPage.logoutFromMeeting();
|
||||
await this.modPage.waitForSelector(e.meetingEndedModal);
|
||||
await this.modPage.hasElement(e.rating);
|
||||
}
|
||||
|
||||
async displayBrandingArea() {
|
||||
await this.modPage.waitForSelector(e.userListContent);
|
||||
await this.modPage.hasElement(e.brandingAreaLogo);
|
||||
}
|
||||
|
||||
async shortcuts() {
|
||||
// Check the initial shortcuts that can be used right after joining the meeting
|
||||
await util.checkShortcutsArray(this.modPage, c.initialShortcuts);
|
||||
// Join audio
|
||||
await this.modPage.waitAndClick(e.joinAudio);
|
||||
await this.modPage.joinMicrophone();
|
||||
// Open private chat
|
||||
await this.modPage.waitAndClick(e.userListItem);
|
||||
await this.modPage.waitAndClick(e.activeChat);
|
||||
await this.modPage.waitForSelector(e.hidePrivateChat);
|
||||
// Check the later shortcuts that can be used after joining audio and opening private chat
|
||||
await util.checkShortcutsArray(this.modPage, c.laterShortcuts);
|
||||
}
|
||||
|
||||
async disableScreensharing() {
|
||||
await this.modPage.wasRemoved(e.startScreenSharing);
|
||||
}
|
||||
|
||||
async enableVideo() {
|
||||
await this.modPage.wasRemoved(e.joinVideo);
|
||||
}
|
||||
|
||||
async autoShareWebcam() {
|
||||
await this.modPage.hasElement(e.webcamSettingsModal);
|
||||
}
|
||||
|
||||
async multiUserPenOnly() {
|
||||
await this.modPage.waitAndClick(e.multiUsersWhiteboard);
|
||||
await this.userPage.waitAndClick(e.tools);
|
||||
const resp = await this.userPage.page.evaluate((toolsElement) => {
|
||||
return document.querySelectorAll(toolsElement)[0].parentElement.childElementCount === 1;
|
||||
}, e.tools);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
|
||||
async presenterTools() {
|
||||
await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME);
|
||||
await this.modPage.waitAndClick(e.tools);
|
||||
const resp = await this.modPage.page.evaluate(([toolsElement, toolbarListSelector]) => {
|
||||
return document.querySelectorAll(toolsElement)[0].parentElement.querySelector(toolbarListSelector).childElementCount === 2;
|
||||
}, [e.tools, e.toolbarListClass]);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
|
||||
async multiUserTools() {
|
||||
await this.modPage.waitAndClick(e.multiUsersWhiteboard);
|
||||
await this.userPage.waitAndClick(e.tools);
|
||||
const resp = await this.userPage.page.evaluate(([toolsElement, toolbarListSelector]) => {
|
||||
return document.querySelectorAll(toolsElement)[0].parentElement.querySelector(toolbarListSelector).childElementCount === 2;
|
||||
}, [e.tools, e.toolbarListClass]);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
|
||||
async customStyle() {
|
||||
await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME);
|
||||
const resp = await this.modPage.page.evaluate((elem) => {
|
||||
return document.querySelectorAll(elem)[0].offsetHeight == 0;
|
||||
}, e.presentationTitle);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
|
||||
async autoSwapLayout() {
|
||||
await this.modPage.waitForSelector(e.actions);
|
||||
const resp = await this.modPage.page.evaluate((elem) => {
|
||||
return document.querySelectorAll(elem)[0].offsetHeight !== 0;
|
||||
}, e.restorePresentation);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
|
||||
async hidePresentation() {
|
||||
await this.modPage.waitForSelector(e.actions);
|
||||
const checkPresentationButton = await this.modPage.checkElement(e.restorePresentation);
|
||||
await expect(checkPresentationButton).toBeTruthy();
|
||||
await this.modPage.wasRemoved(e.presentationPlaceholder);
|
||||
}
|
||||
|
||||
async bannerText() {
|
||||
await this.modPage.waitForSelector(e.actions);
|
||||
await this.modPage.hasElement(e.notificationBar);
|
||||
}
|
||||
|
||||
async bannerColor(colorToRGB) {
|
||||
await this.modPage.waitForSelector(e.notificationBar);
|
||||
const notificationLocator = await this.modPage.getLocator(e.notificationBar);
|
||||
const notificationBarColor = await notificationLocator.evaluate((elem) => {
|
||||
return getComputedStyle(elem).backgroundColor;
|
||||
}, e.notificationBar);
|
||||
await expect(notificationBarColor).toBe(colorToRGB);
|
||||
}
|
||||
|
||||
async showPublicChatOnLogin() {
|
||||
await this.modPage.waitForSelector(e.actions);
|
||||
await this.modPage.wasRemoved(e.chat);
|
||||
}
|
||||
|
||||
async forceRestorePresentationOnNewEvents(customParameter) {
|
||||
await this.initUserPage(true, this.context, { useModMeetingId: true, customParameter });
|
||||
await this.userPage.waitAndClick(e.minimizePresentation);
|
||||
const zoomInCase = await util.zoomIn(this.modPage);
|
||||
await expect(zoomInCase).toBeTruthy();
|
||||
const zoomOutCase = await util.zoomOut(this.modPage);
|
||||
await expect(zoomOutCase).toBeTruthy();
|
||||
await util.poll(this.modPage, this.userPage);
|
||||
await util.previousSlide(this.modPage);
|
||||
await util.nextSlide(this.modPage);
|
||||
await util.annotation(this.modPage);
|
||||
await this.userPage.checkElement(e.restorePresentation);
|
||||
}
|
||||
|
||||
async forceRestorePresentationOnNewPollResult(customParameter) {
|
||||
await this.initUserPage(true, this.context, { useModMeetingId: true, customParameter })
|
||||
await this.userPage.waitAndClick(e.minimizePresentation);
|
||||
await util.poll(this.modPage, this.userPage);
|
||||
await this.userPage.waitForSelector(e.smallToastMsg);
|
||||
await this.userPage.checkElement(e.restorePresentation);
|
||||
}
|
||||
|
||||
async recordMeeting() {
|
||||
await this.modPage.hasElement(e.recordingIndicator);
|
||||
}
|
||||
|
||||
async skipVideoPreview() {
|
||||
await this.modPage.shareWebcam(false);
|
||||
}
|
||||
|
||||
async skipVideoPreviewOnFirstJoin() {
|
||||
await this.modPage.shareWebcam(false);
|
||||
await this.modPage.waitAndClick(e.leaveVideo, VIDEO_LOADING_WAIT_TIME);
|
||||
await this.modPage.waitForSelector(e.joinVideo);
|
||||
const parsedSettings = await this.modPage.getSettingsYaml();
|
||||
const videoPreviewTimeout = parseInt(parsedSettings.public.kurento.gUMTimeout);
|
||||
await this.modPage.shareWebcam(true, videoPreviewTimeout);
|
||||
}
|
||||
|
||||
async mirrorOwnWebcam() {
|
||||
await this.modPage.waitAndClick(e.joinVideo);
|
||||
await this.modPage.waitForSelector(e.webcamMirroredVideoPreview);
|
||||
await this.modPage.waitAndClick(e.startSharingWebcam);
|
||||
await this.modPage.hasElement(e.webcamMirroredVideoContainer);
|
||||
}
|
||||
|
||||
async showParticipantsOnLogin() {
|
||||
await this.modPage.wasRemoved(e.userslistContainer);
|
||||
}
|
||||
}
|
||||
|
||||
exports.CustomParameters = CustomParameters;
|
@ -0,0 +1,182 @@
|
||||
const { test } = require('@playwright/test');
|
||||
const { CustomParameters } = require('./customparameters');
|
||||
const c = require('./constants');
|
||||
const { encodeCustomParams, getAllShortcutParams, hexToRgb } = require('./util');
|
||||
|
||||
test.describe.parallel('CustomParameters', () => {
|
||||
test('Auto join', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, false, { customParameter: c.autoJoin });
|
||||
await customParam.autoJoin();
|
||||
});
|
||||
|
||||
test('Listen Only Mode', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, false, { customParameter: c.listenOnlyMode });
|
||||
await customParam.listenOnlyMode();
|
||||
});
|
||||
|
||||
test('Force Listen Only', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initUserPage(false, context, { useModMeetingId: false, customParameter: c.forceListenOnly });
|
||||
await customParam.forceListenOnly(page);
|
||||
});
|
||||
|
||||
test('Skip audio check', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, false, { customParameter: c.skipCheck });
|
||||
await customParam.skipCheck();
|
||||
});
|
||||
|
||||
test('Skip audio check on first join', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, false, { customParameter: c.skipCheckOnFirstJoin });
|
||||
await customParam.skipCheckOnFirstJoin();
|
||||
});
|
||||
|
||||
test('Client title', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.clientTitle });
|
||||
await customParam.clientTitle();
|
||||
});
|
||||
|
||||
test('Ask For Feedback On Logout', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.askForFeedbackOnLogout });
|
||||
await customParam.askForFeedbackOnLogout();
|
||||
});
|
||||
|
||||
test('Display Branding Area', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: `${c.displayBrandingArea}&${encodeCustomParams(c.logo)}` });
|
||||
await customParam.displayBrandingArea();
|
||||
});
|
||||
|
||||
test('Shortcuts', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
const shortcutParam = getAllShortcutParams();
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(shortcutParam) });
|
||||
await customParam.initUserPage(true, context, { useModMeetingId: true });
|
||||
await customParam.shortcuts();
|
||||
});
|
||||
|
||||
test('Disable screensharing', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.enableScreensharing });
|
||||
await customParam.disableScreensharing();
|
||||
});
|
||||
|
||||
test('Disable Webcam Sharing', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.enableVideo });
|
||||
await customParam.enableVideo();
|
||||
});
|
||||
|
||||
test('Multi Users Pen Only', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.multiUserPenOnly });
|
||||
await customParam.initUserPage(true, context, { useModMeetingId: true, customParameter: c.multiUserPenOnly });
|
||||
await customParam.multiUserPenOnly();
|
||||
});
|
||||
|
||||
test('Presenter Tools', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.presenterTools) });
|
||||
await customParam.presenterTools();
|
||||
});
|
||||
|
||||
test('Multi Users Tools', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.multiUserTools) });
|
||||
await customParam.initUserPage(true, context, { useModMeetingId: true, customParameter: encodeCustomParams(c.multiUserTools) });
|
||||
await customParam.multiUserTools();
|
||||
});
|
||||
|
||||
test('Custom Styles: CSS code', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.customStyle) });
|
||||
await customParam.customStyle();
|
||||
});
|
||||
|
||||
test('Custom Styles: URL', async ({ browser, context, page }) => {
|
||||
test.fixme();
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.customStyleUrl) });
|
||||
await customParam.customStyle();
|
||||
});
|
||||
|
||||
test('Auto Swap Layout', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.autoSwapLayout });
|
||||
await customParam.autoSwapLayout();
|
||||
});
|
||||
|
||||
test('Hide Presentation', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.hidePresentation) });
|
||||
await customParam.hidePresentation();
|
||||
});
|
||||
|
||||
test('Banner Text', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: encodeCustomParams(c.bannerText) });
|
||||
await customParam.bannerText();
|
||||
});
|
||||
|
||||
test('Banner Color', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
const colorToRGB = hexToRgb(c.color);
|
||||
await customParam.initModPage(page, true, { customParameter: `${c.bannerColor}&${encodeCustomParams(c.bannerText)}` });
|
||||
await customParam.bannerColor(colorToRGB);
|
||||
});
|
||||
|
||||
test('Show Public Chat On Login', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.showPublicChatOnLogin });
|
||||
await customParam.showPublicChatOnLogin();
|
||||
});
|
||||
|
||||
test('Force Restore Presentation On New Events', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
const customParameter = c.forceRestorePresentationOnNewEvents;
|
||||
await customParam.initModPage(page, true, { customParameter });
|
||||
await customParam.forceRestorePresentationOnNewEvents(customParameter);
|
||||
});
|
||||
|
||||
test('Force Restore Presentation On New Poll Result', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
const customParameter = c.forceRestorePresentationOnNewEvents;
|
||||
await customParam.initModPage(page, true, { customParameter });
|
||||
await customParam.forceRestorePresentationOnNewPollResult(customParameter);
|
||||
});
|
||||
|
||||
test('Record Meeting', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.recordMeeting });
|
||||
await customParam.recordMeeting();
|
||||
});
|
||||
|
||||
test('Skip Video Preview', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.skipVideoPreview });
|
||||
await customParam.skipVideoPreview();
|
||||
});
|
||||
|
||||
test('Skip Video Preview on First Join', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.skipVideoPreviewOnFirstJoin });
|
||||
await customParam.skipVideoPreviewOnFirstJoin();
|
||||
});
|
||||
|
||||
test('Mirror Own Webcam', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.mirrorOwnWebcam });
|
||||
await customParam.mirrorOwnWebcam();
|
||||
});
|
||||
|
||||
test('Show Participants on Login', async ({ browser, context, page }) => {
|
||||
const customParam = new CustomParameters(browser, context);
|
||||
await customParam.initModPage(page, true, { customParameter: c.showParticipantsOnLogin });
|
||||
await customParam.showParticipantsOnLogin();
|
||||
});
|
||||
});
|
116
bigbluebutton-tests/playwright/customparameters/util.js
Normal file
116
bigbluebutton-tests/playwright/customparameters/util.js
Normal file
@ -0,0 +1,116 @@
|
||||
const { expect } = require('@playwright/test');
|
||||
const e = require('../core/elements');
|
||||
const c = require('./constants');
|
||||
const { ELEMENT_WAIT_TIME, ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
||||
|
||||
async function forceListenOnly(test) {
|
||||
await test.wasRemoved(e.echoYesButton);
|
||||
await test.hasText(e.toastContainer, e.joiningMessageLabel);
|
||||
}
|
||||
|
||||
function hexToRgb(hex) {
|
||||
const bigint = parseInt(hex, 16);
|
||||
const r = (bigint >> 16) & 255;
|
||||
const g = (bigint >> 8) & 255;
|
||||
const b = bigint & 255;
|
||||
return `rgb(${r}, ${g}, ${b})`;
|
||||
}
|
||||
|
||||
async function zoomIn(test) {
|
||||
try {
|
||||
await test.page.evaluate((selector) => {
|
||||
setInterval(() => {
|
||||
document.querySelector(selector).scrollBy(0, 10);
|
||||
}, 100);
|
||||
}, e.zoomIn);
|
||||
return true;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function zoomOut(test) {
|
||||
try {
|
||||
await test.page.evaluate((selector) => {
|
||||
setInterval(() => {
|
||||
document.querySelector(selector).scrollBy(10, 0);
|
||||
}, 100);
|
||||
}, e.zoomIn);
|
||||
return true;
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
async function poll(page1, page2) {
|
||||
await page1.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME);
|
||||
await page1.waitAndClick(e.actions);
|
||||
await page1.waitAndClick(e.polling);
|
||||
await page1.waitAndClick(e.pollYesNoAbstentionBtn);
|
||||
await page1.waitAndClick(e.startPoll);
|
||||
await page2.waitForSelector(e.pollingContainer);
|
||||
await page2.waitAndClick(e.yesBtn);
|
||||
await page1.waitAndClick(e.publishPollingLabel);
|
||||
}
|
||||
|
||||
async function previousSlide(test) {
|
||||
await test.waitAndClick(e.prevSlide);
|
||||
}
|
||||
|
||||
async function nextSlide(test) {
|
||||
await test.waitAndClick(e.nextSlide);
|
||||
}
|
||||
|
||||
async function annotation(test) {
|
||||
await test.waitAndClick(e.tools);
|
||||
await test.waitAndClick(e.pencil);
|
||||
await test.waitAndClick(e.whiteboard);
|
||||
await test.page.waitForFunction(
|
||||
(whiteboard) => document.querySelectorAll(`${whiteboard} > g > g`)[1].innerHTML !== '',
|
||||
e.whiteboard,
|
||||
{ timeout: ELEMENT_WAIT_TIME }
|
||||
);
|
||||
}
|
||||
|
||||
function encodeCustomParams(param) {
|
||||
try {
|
||||
let splited = param.split('=');
|
||||
splited[1] = encodeURIComponent(splited[1]).replace(/%20/g, '+');
|
||||
return splited.join('=');
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
|
||||
function getAllShortcutParams() {
|
||||
const getParams = (shortcutArray) => {
|
||||
return Object.values(shortcutArray.map(elem => `"${elem.param}"`));
|
||||
}
|
||||
return c.shortcuts.replace('$', [...getParams(c.initialShortcuts), ...getParams(c.laterShortcuts)]);
|
||||
}
|
||||
|
||||
async function checkAccesskey(test, key) {
|
||||
return test.checkElement(`[accesskey="${key}"]`);
|
||||
}
|
||||
|
||||
async function checkShortcutsArray(test, shortcut) {
|
||||
for (const { key } of shortcut) {
|
||||
const resp = await checkAccesskey(test, key);
|
||||
await expect(resp).toBeTruthy();
|
||||
}
|
||||
}
|
||||
|
||||
exports.zoomIn = zoomIn;
|
||||
exports.zoomOut = zoomOut;
|
||||
exports.poll = poll;
|
||||
exports.previousSlide = previousSlide;
|
||||
exports.nextSlide = nextSlide;
|
||||
exports.annotation = annotation;
|
||||
exports.hexToRgb = hexToRgb;
|
||||
exports.forceListenOnly = forceListenOnly;
|
||||
exports.encodeCustomParams = encodeCustomParams;
|
||||
exports.getAllShortcutParams = getAllShortcutParams;
|
||||
exports.checkAccesskey = checkAccesskey;
|
||||
exports.checkShortcutsArray = checkShortcutsArray;
|
@ -4,7 +4,7 @@ const utilPolling = require('../polling/util');
|
||||
const utilScreenShare = require('../screenshare/util');
|
||||
const utilPresentation = require('../presentation/util');
|
||||
const e = require('../core/elements');
|
||||
const { ELEMENT_WAIT_LONGER_TIME, UPLOAD_PDF_WAIT_TIME, NOTIFICATION_WAIT_TIME } = require('../core/constants');
|
||||
const { ELEMENT_WAIT_LONGER_TIME, UPLOAD_PDF_WAIT_TIME } = require('../core/constants');
|
||||
|
||||
class Notifications extends MultiUsers {
|
||||
constructor(browser, context) {
|
||||
@ -35,6 +35,7 @@ class Notifications extends MultiUsers {
|
||||
await util.popupMenu(this.modPage);
|
||||
await util.enableChatPopup(this.modPage);
|
||||
await util.saveSettings(this.modPage);
|
||||
await util.waitAndClearNotification(this.modPage);
|
||||
await util.privateChatMessageToast(this.userPage);
|
||||
await this.modPage.waitForSelector(e.smallToastMsg);
|
||||
await this.modPage.waitForSelector(e.hasUnreadMessages);
|
||||
@ -71,7 +72,7 @@ class Notifications extends MultiUsers {
|
||||
async screenshareToast() {
|
||||
await utilScreenShare.startScreenshare(this.modPage);
|
||||
await util.checkNotificationText(this.modPage, e.startScreenshareToast);
|
||||
await this.modPage.wasRemoved(e.smallToastMsg, NOTIFICATION_WAIT_TIME);
|
||||
await util.waitAndClearNotification(this.modPage);
|
||||
await this.modPage.waitAndClick(e.stopScreenSharing);
|
||||
await util.checkNotificationText(this.modPage, e.endScreenshareToast);
|
||||
}
|
||||
|
@ -49,6 +49,11 @@ async function privateChatMessageToast(page2) {
|
||||
await page2.waitAndClick(e.sendButton);
|
||||
}
|
||||
|
||||
async function waitAndClearNotification(test) {
|
||||
await test.waitAndClick(e.smallToastMsg);
|
||||
await test.wasRemoved(e.smallToastMsg);
|
||||
}
|
||||
|
||||
exports.privateChatMessageToast = privateChatMessageToast;
|
||||
exports.publicChatMessageToast = publicChatMessageToast;
|
||||
exports.enableUserJoinPopup = enableUserJoinPopup;
|
||||
@ -56,3 +61,4 @@ exports.checkNotificationText = checkNotificationText;
|
||||
exports.enableChatPopup = enableChatPopup;
|
||||
exports.saveSettings = saveSettings;
|
||||
exports.popupMenu = popupMenu;
|
||||
exports.waitAndClearNotification = waitAndClearNotification;
|
||||
|
@ -2,6 +2,7 @@ require('dotenv').config();
|
||||
|
||||
const config = {
|
||||
workers: 1,
|
||||
timeout: 3 * 60 * 1000,
|
||||
use: {
|
||||
headless: true,
|
||||
},
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user