Merge remote-tracking branch 'upstream/v2.6.x-release' into disabled-transcriptions
This commit is contained in:
commit
78b165ed7c
2
.github/workflows/automated-tests.yml
vendored
2
.github/workflows/automated-tests.yml
vendored
@ -13,7 +13,7 @@ jobs:
|
|||||||
build-install-and-test:
|
build-install-and-test:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- run: ./build/get_external_dependencies.sh
|
- run: ./build/get_external_dependencies.sh
|
||||||
- run: ./build/setup.sh bbb-apps-akka
|
- run: ./build/setup.sh bbb-apps-akka
|
||||||
- run: ./build/setup.sh bbb-config
|
- run: ./build/setup.sh bbb-config
|
||||||
|
5
.github/workflows/check-merge-conflict.yml
vendored
5
.github/workflows/check-merge-conflict.yml
vendored
@ -6,8 +6,13 @@ on:
|
|||||||
- opened
|
- opened
|
||||||
- synchronize
|
- synchronize
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
main:
|
main:
|
||||||
|
permissions:
|
||||||
|
pull-requests: write # for eps1lon/actions-label-merge-conflict to label PRs
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check for dirty pull requests
|
- name: Check for dirty pull requests
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
# set up stages
|
# set up stages
|
||||||
|
#
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_STRATEGY: fetch
|
GIT_STRATEGY: fetch
|
||||||
@ -11,7 +12,7 @@ stages:
|
|||||||
|
|
||||||
# define which docker image to use for builds
|
# define which docker image to use for builds
|
||||||
default:
|
default:
|
||||||
image: gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:v2022-12-08-meteor-290
|
image: gitlab.senfcall.de:5050/senfcall-public/docker-bbb-build:v2022-12-29-grails-524
|
||||||
|
|
||||||
# This stage uses git to find out since when each package has been unmodified.
|
# This stage uses git to find out since when each package has been unmodified.
|
||||||
# it then checks an API endpoint on the package server to find out for which of
|
# it then checks an API endpoint on the package server to find out for which of
|
||||||
@ -99,7 +100,7 @@ bbb-html5-build:
|
|||||||
script:
|
script:
|
||||||
- build/setup-inside-docker.sh bbb-html5
|
- build/setup-inside-docker.sh bbb-html5
|
||||||
|
|
||||||
bbb-learning-dashboard:
|
bbb-learning-dashboard-build:
|
||||||
extends: .build_job
|
extends: .build_job
|
||||||
script:
|
script:
|
||||||
- build/setup-inside-docker.sh bbb-learning-dashboard
|
- build/setup-inside-docker.sh bbb-learning-dashboard
|
||||||
|
@ -18,7 +18,7 @@ val compileSettings = Seq(
|
|||||||
"-Xlint",
|
"-Xlint",
|
||||||
"-Ywarn-dead-code",
|
"-Ywarn-dead-code",
|
||||||
"-language:_",
|
"-language:_",
|
||||||
"-target:jvm-1.11",
|
"-target:11",
|
||||||
"-encoding", "UTF-8"
|
"-encoding", "UTF-8"
|
||||||
),
|
),
|
||||||
javacOptions ++= List(
|
javacOptions ++= List(
|
||||||
@ -48,7 +48,7 @@ lazy val bbbAppsAkka = (project in file(".")).settings(name := "bbb-apps-akka",
|
|||||||
// Config file is in ./.scalariform.conf
|
// Config file is in ./.scalariform.conf
|
||||||
scalariformAutoformat := true
|
scalariformAutoformat := true
|
||||||
|
|
||||||
scalaVersion := "2.13.4"
|
scalaVersion := "2.13.9"
|
||||||
//-----------
|
//-----------
|
||||||
// Packaging
|
// Packaging
|
||||||
//
|
//
|
||||||
|
@ -7,7 +7,7 @@ sudo dpkg -i target/bbb-apps-akka_*.deb
|
|||||||
echo ''
|
echo ''
|
||||||
echo ''
|
echo ''
|
||||||
echo '----------------'
|
echo '----------------'
|
||||||
echo 'bbb-web updated'
|
echo 'bbb-apps-akka updated'
|
||||||
|
|
||||||
sudo service bbb-apps-akka start
|
sudo service bbb-apps-akka start
|
||||||
echo 'starting service bbb-web'
|
echo 'starting service bbb-apps-akka'
|
||||||
|
@ -7,7 +7,7 @@ object Dependencies {
|
|||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
// Scala
|
// Scala
|
||||||
val scala = "2.13.4"
|
val scala = "2.13.9"
|
||||||
val junit = "4.12"
|
val junit = "4.12"
|
||||||
val junitInterface = "0.11"
|
val junitInterface = "0.11"
|
||||||
val scalactic = "3.0.8"
|
val scalactic = "3.0.8"
|
||||||
@ -26,7 +26,7 @@ object Dependencies {
|
|||||||
val codec = "1.15"
|
val codec = "1.15"
|
||||||
|
|
||||||
// BigBlueButton
|
// BigBlueButton
|
||||||
val bbbCommons = "0.0.21-SNAPSHOT"
|
val bbbCommons = "0.0.22-SNAPSHOT"
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
val scalaTest = "3.2.11"
|
val scalaTest = "3.2.11"
|
||||||
|
@ -13,6 +13,12 @@ import java.io.File
|
|||||||
trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
||||||
this: PresentationPodHdlrs =>
|
this: PresentationPodHdlrs =>
|
||||||
|
|
||||||
|
object JobTypes {
|
||||||
|
val DOWNLOAD = "PresentationWithAnnotationDownloadJob"
|
||||||
|
val CAPTURE_PRESENTATION = "PresentationWithAnnotationExportJob"
|
||||||
|
val CAPTURE_NOTES = "PadCaptureJob"
|
||||||
|
}
|
||||||
|
|
||||||
def buildStoreAnnotationsInRedisSysMsg(annotations: StoredAnnotations, liveMeeting: LiveMeeting): BbbCommonEnvCoreMsg = {
|
def buildStoreAnnotationsInRedisSysMsg(annotations: StoredAnnotations, liveMeeting: LiveMeeting): BbbCommonEnvCoreMsg = {
|
||||||
val routing = collection.immutable.HashMap("sender" -> "bbb-apps-akka")
|
val routing = collection.immutable.HashMap("sender" -> "bbb-apps-akka")
|
||||||
val envelope = BbbCoreEnvelope(StoreAnnotationsInRedisSysMsg.NAME, routing)
|
val envelope = BbbCoreEnvelope(StoreAnnotationsInRedisSysMsg.NAME, routing)
|
||||||
@ -111,7 +117,6 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
|||||||
log.error(s"Presentation ${presId} not found in meeting ${meetingId}")
|
log.error(s"Presentation ${presId} not found in meeting ${meetingId}")
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
val jobType: String = "PresentationWithAnnotationDownloadJob"
|
|
||||||
val jobId: String = RandomStringGenerator.randomAlphanumericString(16);
|
val jobId: String = RandomStringGenerator.randomAlphanumericString(16);
|
||||||
val allPages: Boolean = m.body.allPages
|
val allPages: Boolean = m.body.allPages
|
||||||
val pageCount = currentPres.get.pages.size
|
val pageCount = currentPres.get.pages.size
|
||||||
@ -120,7 +125,7 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
|||||||
val pages: List[Int] = m.body.pages // Desired presentation pages for export
|
val pages: List[Int] = m.body.pages // Desired presentation pages for export
|
||||||
val pagesRange: List[Int] = if (allPages) (1 to pageCount).toList else pages
|
val pagesRange: List[Int] = if (allPages) (1 to pageCount).toList else pages
|
||||||
|
|
||||||
val exportJob: ExportJob = new ExportJob(jobId, jobType, "annotated_slides", presId, presLocation, allPages, pagesRange, meetingId, "");
|
val exportJob: ExportJob = new ExportJob(jobId, JobTypes.DOWNLOAD, "annotated_slides", presId, presLocation, allPages, pagesRange, meetingId, "");
|
||||||
val storeAnnotationPages: List[PresentationPageForExport] = getPresentationPagesForExport(pagesRange, pageCount, presId, currentPres, liveMeeting);
|
val storeAnnotationPages: List[PresentationPageForExport] = getPresentationPagesForExport(pagesRange, pageCount, presId, currentPres, liveMeeting);
|
||||||
|
|
||||||
// Send Export Job to Redis
|
// Send Export Job to Redis
|
||||||
@ -147,7 +152,6 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
|||||||
} else {
|
} else {
|
||||||
|
|
||||||
val jobId: String = RandomStringGenerator.randomAlphanumericString(16);
|
val jobId: String = RandomStringGenerator.randomAlphanumericString(16);
|
||||||
val jobType = "PresentationWithAnnotationExportJob"
|
|
||||||
val allPages: Boolean = m.allPages
|
val allPages: Boolean = m.allPages
|
||||||
val pageCount = currentPres.get.pages.size
|
val pageCount = currentPres.get.pages.size
|
||||||
|
|
||||||
@ -172,7 +176,7 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
|||||||
// Informs bbb-web about the token so that when we use it to upload the presentation, it is able to look it up in the list of tokens
|
// Informs bbb-web about the token so that when we use it to upload the presentation, it is able to look it up in the list of tokens
|
||||||
bus.outGW.send(buildPresentationUploadTokenSysPubMsg(parentMeetingId, userId, presentationUploadToken, filename))
|
bus.outGW.send(buildPresentationUploadTokenSysPubMsg(parentMeetingId, userId, presentationUploadToken, filename))
|
||||||
|
|
||||||
val exportJob: ExportJob = new ExportJob(jobId, jobType, filename, presId, presLocation, allPages, pagesRange, parentMeetingId, presentationUploadToken)
|
val exportJob: ExportJob = new ExportJob(jobId, JobTypes.CAPTURE_PRESENTATION, filename, presId, presLocation, allPages, pagesRange, parentMeetingId, presentationUploadToken)
|
||||||
val storeAnnotationPages: List[PresentationPageForExport] = getPresentationPagesForExport(pagesRange, pageCount, presId, currentPres, liveMeeting);
|
val storeAnnotationPages: List[PresentationPageForExport] = getPresentationPagesForExport(pagesRange, pageCount, presId, currentPres, liveMeeting);
|
||||||
|
|
||||||
// Send Export Job to Redis
|
// Send Export Job to Redis
|
||||||
@ -210,13 +214,12 @@ trait PresentationWithAnnotationsMsgHdlr extends RightsManagementTrait {
|
|||||||
|
|
||||||
val userId: String = "system"
|
val userId: String = "system"
|
||||||
val jobId: String = s"${m.body.breakoutId}-notes" // Used as the temporaryPresentationId upon upload
|
val jobId: String = s"${m.body.breakoutId}-notes" // Used as the temporaryPresentationId upon upload
|
||||||
val jobType = "PadCaptureJob"
|
|
||||||
val filename = m.body.filename
|
val filename = m.body.filename
|
||||||
val presentationUploadToken: String = PresentationPodsApp.generateToken("DEFAULT_PRESENTATION_POD", userId)
|
val presentationUploadToken: String = PresentationPodsApp.generateToken("DEFAULT_PRESENTATION_POD", userId)
|
||||||
|
|
||||||
bus.outGW.send(buildPresentationUploadTokenSysPubMsg(m.body.parentMeetingId, userId, presentationUploadToken, filename))
|
bus.outGW.send(buildPresentationUploadTokenSysPubMsg(m.body.parentMeetingId, userId, presentationUploadToken, filename))
|
||||||
|
|
||||||
val exportJob = new ExportJob(jobId, jobType, filename, m.body.padId, "", true, List(), m.body.parentMeetingId, presentationUploadToken)
|
val exportJob = new ExportJob(jobId, JobTypes.CAPTURE_NOTES, filename, m.body.padId, "", true, List(), m.body.parentMeetingId, presentationUploadToken)
|
||||||
val job = buildStoreExportJobInRedisSysMsg(exportJob, liveMeeting)
|
val job = buildStoreExportJobInRedisSysMsg(exportJob, liveMeeting)
|
||||||
|
|
||||||
bus.outGW.send(job)
|
bus.outGW.send(job)
|
||||||
|
@ -42,6 +42,17 @@ trait ChangeLockSettingsInMeetingCmdMsgHdlr extends RightsManagementTrait {
|
|||||||
|
|
||||||
MeetingStatus2x.setPermissions(liveMeeting.status, settings)
|
MeetingStatus2x.setPermissions(liveMeeting.status, settings)
|
||||||
|
|
||||||
|
// Dial-in
|
||||||
|
def buildLockMessage(meetingId: String, userId: String, lockedBy: String, locked: Boolean): BbbCommonEnvCoreMsg = {
|
||||||
|
val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, meetingId, userId)
|
||||||
|
val envelope = BbbCoreEnvelope(UserLockedInMeetingEvtMsg.NAME, routing)
|
||||||
|
val body = UserLockedInMeetingEvtMsgBody(userId, locked, lockedBy)
|
||||||
|
val header = BbbClientMsgHeader(UserLockedInMeetingEvtMsg.NAME, meetingId, userId)
|
||||||
|
val event = UserLockedInMeetingEvtMsg(header, body)
|
||||||
|
|
||||||
|
BbbCommonEnvCoreMsg(envelope, event)
|
||||||
|
}
|
||||||
|
|
||||||
if (oldPermissions.disableCam != settings.disableCam) {
|
if (oldPermissions.disableCam != settings.disableCam) {
|
||||||
if (settings.disableCam) {
|
if (settings.disableCam) {
|
||||||
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
||||||
@ -55,24 +66,6 @@ trait ChangeLockSettingsInMeetingCmdMsgHdlr extends RightsManagementTrait {
|
|||||||
outGW.send(notifyEvent)
|
outGW.send(notifyEvent)
|
||||||
|
|
||||||
LockSettingsUtil.enforceCamLockSettingsForAllUsers(liveMeeting, outGW)
|
LockSettingsUtil.enforceCamLockSettingsForAllUsers(liveMeeting, outGW)
|
||||||
|
|
||||||
// Dial-in
|
|
||||||
def buildLockMessage(meetingId: String, userId: String, lockedBy: String, locked: Boolean): BbbCommonEnvCoreMsg = {
|
|
||||||
val routing = Routing.addMsgToClientRouting(MessageTypes.BROADCAST_TO_MEETING, meetingId, userId)
|
|
||||||
val envelope = BbbCoreEnvelope(UserLockedInMeetingEvtMsg.NAME, routing)
|
|
||||||
val body = UserLockedInMeetingEvtMsgBody(userId, locked, lockedBy)
|
|
||||||
val header = BbbClientMsgHeader(UserLockedInMeetingEvtMsg.NAME, meetingId, userId)
|
|
||||||
val event = UserLockedInMeetingEvtMsg(header, body)
|
|
||||||
|
|
||||||
BbbCommonEnvCoreMsg(envelope, event)
|
|
||||||
}
|
|
||||||
|
|
||||||
VoiceUsers.findAll(liveMeeting.voiceUsers) foreach { vu =>
|
|
||||||
if (vu.intId.startsWith(IntIdPrefixType.DIAL_IN)) { // only Dial-in users need this
|
|
||||||
val eventExplicitLock = buildLockMessage(liveMeeting.props.meetingProp.intId, vu.intId, msg.body.setBy, settings.disableMic)
|
|
||||||
outGW.send(eventExplicitLock)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
||||||
liveMeeting.props.meetingProp.intId,
|
liveMeeting.props.meetingProp.intId,
|
||||||
@ -97,8 +90,12 @@ trait ChangeLockSettingsInMeetingCmdMsgHdlr extends RightsManagementTrait {
|
|||||||
Vector()
|
Vector()
|
||||||
)
|
)
|
||||||
outGW.send(notifyEvent)
|
outGW.send(notifyEvent)
|
||||||
|
VoiceUsers.findAll(liveMeeting.voiceUsers) foreach { vu =>
|
||||||
// Apply lock settings when disableMic from false to true.
|
if (vu.intId.startsWith(IntIdPrefixType.DIAL_IN)) { // only Dial-in users need this
|
||||||
|
val eventExplicitLock = buildLockMessage(liveMeeting.props.meetingProp.intId, vu.intId, msg.body.setBy, settings.disableMic)
|
||||||
|
outGW.send(eventExplicitLock)
|
||||||
|
}
|
||||||
|
}
|
||||||
LockSettingsUtil.enforceLockSettingsForAllVoiceUsers(liveMeeting, outGW)
|
LockSettingsUtil.enforceLockSettingsForAllVoiceUsers(liveMeeting, outGW)
|
||||||
} else {
|
} else {
|
||||||
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
val notifyEvent = MsgBuilder.buildNotifyAllInMeetingEvtMsg(
|
||||||
|
@ -18,7 +18,7 @@ val compileSettings = Seq(
|
|||||||
"-Xlint",
|
"-Xlint",
|
||||||
"-Ywarn-dead-code",
|
"-Ywarn-dead-code",
|
||||||
"-language:_",
|
"-language:_",
|
||||||
"-target:jvm-1.11",
|
"-target:11",
|
||||||
"-encoding", "UTF-8"
|
"-encoding", "UTF-8"
|
||||||
),
|
),
|
||||||
javacOptions ++= List(
|
javacOptions ++= List(
|
||||||
@ -27,7 +27,7 @@ val compileSettings = Seq(
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
scalaVersion := "2.13.4"
|
scalaVersion := "2.13.9"
|
||||||
|
|
||||||
resolvers += Resolver.sonatypeRepo("releases")
|
resolvers += Resolver.sonatypeRepo("releases")
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ object Dependencies {
|
|||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
// Scala
|
// Scala
|
||||||
val scala = "2.13.4"
|
val scala = "2.13.9"
|
||||||
val junitInterface = "0.11"
|
val junitInterface = "0.11"
|
||||||
val scalactic = "3.0.8"
|
val scalactic = "3.0.8"
|
||||||
|
|
||||||
@ -21,8 +21,8 @@ object Dependencies {
|
|||||||
val codec = "1.15"
|
val codec = "1.15"
|
||||||
|
|
||||||
// BigBlueButton
|
// BigBlueButton
|
||||||
val bbbCommons = "0.0.21-SNAPSHOT"
|
val bbbCommons = "0.0.22-SNAPSHOT"
|
||||||
val bbbFsesl = "0.0.8-SNAPSHOT"
|
val bbbFsesl = "0.0.9-SNAPSHOT"
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
val scalaTest = "3.2.11"
|
val scalaTest = "3.2.11"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import org.bigbluebutton.build._
|
import org.bigbluebutton.build._
|
||||||
|
|
||||||
|
|
||||||
version := "0.0.21-SNAPSHOT"
|
version := "0.0.22-SNAPSHOT"
|
||||||
|
|
||||||
val compileSettings = Seq(
|
val compileSettings = Seq(
|
||||||
organization := "org.bigbluebutton",
|
organization := "org.bigbluebutton",
|
||||||
@ -12,7 +12,7 @@ val compileSettings = Seq(
|
|||||||
"-Xlint",
|
"-Xlint",
|
||||||
"-Ywarn-dead-code",
|
"-Ywarn-dead-code",
|
||||||
"-language:_",
|
"-language:_",
|
||||||
"-target:jvm-1.11",
|
"-target:11",
|
||||||
"-encoding", "UTF-8"
|
"-encoding", "UTF-8"
|
||||||
),
|
),
|
||||||
javacOptions ++= List(
|
javacOptions ++= List(
|
||||||
@ -55,7 +55,7 @@ scalariformAutoformat := true
|
|||||||
// Do not append Scala versions to the generated artifacts
|
// Do not append Scala versions to the generated artifacts
|
||||||
//crossPaths := false
|
//crossPaths := false
|
||||||
|
|
||||||
scalaVersion := "2.13.4"
|
scalaVersion := "2.13.9"
|
||||||
|
|
||||||
// This forbids including Scala related libraries into the dependency
|
// This forbids including Scala related libraries into the dependency
|
||||||
//autoScalaLibrary := false
|
//autoScalaLibrary := false
|
||||||
|
@ -7,7 +7,7 @@ object Dependencies {
|
|||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
// Scala
|
// Scala
|
||||||
val scala = "2.13.4"
|
val scala = "2.13.9"
|
||||||
val junit = "4.12"
|
val junit = "4.12"
|
||||||
val junitInterface = "0.11"
|
val junitInterface = "0.11"
|
||||||
val scalactic = "3.0.8"
|
val scalactic = "3.0.8"
|
||||||
|
@ -9,16 +9,16 @@ case class DurationProps(duration: Int, createdTime: Long, createdDate: String,
|
|||||||
endWhenNoModerator: Boolean, endWhenNoModeratorDelayInMinutes: Int)
|
endWhenNoModerator: Boolean, endWhenNoModeratorDelayInMinutes: Int)
|
||||||
|
|
||||||
case class MeetingProp(
|
case class MeetingProp(
|
||||||
name: String,
|
name: String,
|
||||||
extId: String,
|
extId: String,
|
||||||
intId: String,
|
intId: String,
|
||||||
meetingCameraCap: Int,
|
meetingCameraCap: Int,
|
||||||
maxPinnedCameras: Int,
|
maxPinnedCameras: Int,
|
||||||
isBreakout: Boolean,
|
isBreakout: Boolean,
|
||||||
disabledFeatures: Vector[String],
|
disabledFeatures: Vector[String],
|
||||||
notifyRecordingIsOn: Boolean,
|
notifyRecordingIsOn: Boolean,
|
||||||
uploadExternalDescription: String,
|
presentationUploadExternalDescription: String,
|
||||||
uploadExternalUrl: String,
|
presentationUploadExternalUrl: String,
|
||||||
)
|
)
|
||||||
|
|
||||||
case class BreakoutProps(
|
case class BreakoutProps(
|
||||||
|
@ -11,7 +11,7 @@ val compileSettings = Seq(
|
|||||||
"-Xlint",
|
"-Xlint",
|
||||||
"-Ywarn-dead-code",
|
"-Ywarn-dead-code",
|
||||||
"-language:_",
|
"-language:_",
|
||||||
"-target:jvm-1.11",
|
"-target:11",
|
||||||
"-encoding", "UTF-8"
|
"-encoding", "UTF-8"
|
||||||
),
|
),
|
||||||
javacOptions ++= List(
|
javacOptions ++= List(
|
||||||
@ -40,7 +40,7 @@ lazy val commonWeb = (project in file(".")).settings(name := "bbb-common-web", l
|
|||||||
// Config file is in ./.scalariform.conf
|
// Config file is in ./.scalariform.conf
|
||||||
scalariformAutoformat := true
|
scalariformAutoformat := true
|
||||||
|
|
||||||
scalaVersion := "2.13.4"
|
scalaVersion := "2.13.9"
|
||||||
//-----------
|
//-----------
|
||||||
// Packaging
|
// Packaging
|
||||||
//
|
//
|
||||||
@ -101,15 +101,10 @@ licenses := Seq("LGPL-3.0" -> url("http://opensource.org/licenses/LGPL-3.0"))
|
|||||||
|
|
||||||
homepage := Some(url("http://www.bigbluebutton.org"))
|
homepage := Some(url("http://www.bigbluebutton.org"))
|
||||||
|
|
||||||
libraryDependencies += "javax.validation" % "validation-api" % "2.0.1.Final"
|
|
||||||
libraryDependencies += "org.springframework.boot" % "spring-boot-starter-validation" % "2.7.1"
|
|
||||||
libraryDependencies += "org.glassfish" % "javax.el" % "3.0.1-b12"
|
|
||||||
libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.5.13"
|
|
||||||
|
|
||||||
libraryDependencies ++= Seq(
|
libraryDependencies ++= Seq(
|
||||||
"javax.validation" % "validation-api" % "2.0.1.Final",
|
"javax.validation" % "validation-api" % "2.0.1.Final",
|
||||||
"org.springframework.boot" % "spring-boot-starter-validation" % "2.6.1",
|
"org.springframework.boot" % "spring-boot-starter-validation" % "2.7.1",
|
||||||
"org.springframework.data" % "spring-data-commons" % "2.6.1",
|
"org.springframework.data" % "spring-data-commons" % "2.7.6",
|
||||||
"org.glassfish" % "javax.el" % "3.0.1-b12",
|
"org.glassfish" % "javax.el" % "3.0.1-b12",
|
||||||
"org.apache.httpcomponents" % "httpclient" % "4.5.13",
|
"org.apache.httpcomponents" % "httpclient" % "4.5.13",
|
||||||
"org.postgresql" % "postgresql" % "42.2.16",
|
"org.postgresql" % "postgresql" % "42.2.16",
|
||||||
|
@ -7,7 +7,7 @@ object Dependencies {
|
|||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
// Scala
|
// Scala
|
||||||
val scala = "2.13.4"
|
val scala = "2.13.9"
|
||||||
val junit = "4.12"
|
val junit = "4.12"
|
||||||
val junitInterface = "0.11"
|
val junitInterface = "0.11"
|
||||||
val scalactic = "3.0.8"
|
val scalactic = "3.0.8"
|
||||||
@ -34,7 +34,7 @@ object Dependencies {
|
|||||||
val text = "1.10.0"
|
val text = "1.10.0"
|
||||||
|
|
||||||
// BigBlueButton
|
// BigBlueButton
|
||||||
val bbbCommons = "0.0.21-SNAPSHOT"
|
val bbbCommons = "0.0.22-SNAPSHOT"
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
val scalaTest = "3.2.11"
|
val scalaTest = "3.2.11"
|
||||||
|
@ -73,8 +73,8 @@ public class ApiParams {
|
|||||||
public static final String DISABLED_FEATURES = "disabledFeatures";
|
public static final String DISABLED_FEATURES = "disabledFeatures";
|
||||||
public static final String NOTIFY_RECORDING_IS_ON = "notifyRecordingIsOn";
|
public static final String NOTIFY_RECORDING_IS_ON = "notifyRecordingIsOn";
|
||||||
|
|
||||||
public static final String UPLOAD_EXTERNAL_DESCRIPTION = "uploadExternalDescription";
|
public static final String PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION = "presentationUploadExternalDescription";
|
||||||
public static final String UPLOAD_EXTERNAL_URL = "uploadExternalUrl";
|
public static final String PRESENTATION_UPLOAD_EXTERNAL_URL = "presentationUploadExternalUrl";
|
||||||
|
|
||||||
public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES = "breakoutRoomsCaptureSlides";
|
public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES = "breakoutRoomsCaptureSlides";
|
||||||
public static final String BREAKOUT_ROOMS_CAPTURE_NOTES = "breakoutRoomsCaptureNotes";
|
public static final String BREAKOUT_ROOMS_CAPTURE_NOTES = "breakoutRoomsCaptureNotes";
|
||||||
|
@ -419,7 +419,7 @@ public class MeetingService implements MessageListener {
|
|||||||
m.getMuteOnStart(), m.getAllowModsToUnmuteUsers(), m.getAllowModsToEjectCameras(), m.getMeetingKeepEvents(),
|
m.getMuteOnStart(), m.getAllowModsToUnmuteUsers(), m.getAllowModsToEjectCameras(), m.getMeetingKeepEvents(),
|
||||||
m.breakoutRoomsParams, m.lockSettingsParams, m.getHtml5InstanceId(),
|
m.breakoutRoomsParams, m.lockSettingsParams, m.getHtml5InstanceId(),
|
||||||
m.getGroups(), m.getDisabledFeatures(), m.getNotifyRecordingIsOn(),
|
m.getGroups(), m.getDisabledFeatures(), m.getNotifyRecordingIsOn(),
|
||||||
m.getUploadExternalDescription(), m.getUploadExternalUrl());
|
m.getPresentationUploadExternalDescription(), m.getPresentationUploadExternalUrl());
|
||||||
}
|
}
|
||||||
|
|
||||||
private String formatPrettyDate(Long timestamp) {
|
private String formatPrettyDate(Long timestamp) {
|
||||||
|
@ -81,6 +81,7 @@ public class ParamsProcessorUtil {
|
|||||||
private String defaultHTML5ClientUrl;
|
private String defaultHTML5ClientUrl;
|
||||||
private String defaultGuestWaitURL;
|
private String defaultGuestWaitURL;
|
||||||
private Boolean allowRequestsWithoutSession = false;
|
private Boolean allowRequestsWithoutSession = false;
|
||||||
|
private Integer defaultHttpSessionTimeout = 14400;
|
||||||
private Boolean useDefaultAvatar = false;
|
private Boolean useDefaultAvatar = false;
|
||||||
private String defaultAvatarURL;
|
private String defaultAvatarURL;
|
||||||
private String defaultGuestPolicy;
|
private String defaultGuestPolicy;
|
||||||
@ -104,8 +105,8 @@ public class ParamsProcessorUtil {
|
|||||||
private boolean defaultKeepEvents = false;
|
private boolean defaultKeepEvents = false;
|
||||||
private Boolean useDefaultLogo;
|
private Boolean useDefaultLogo;
|
||||||
private String defaultLogoURL;
|
private String defaultLogoURL;
|
||||||
private String defaultUploadExternalDescription = "";
|
private String defaultPresentationUploadExternalDescription = "";
|
||||||
private String defaultUploadExternalUrl = "";
|
private String defaultPresentationUploadExternalUrl = "";
|
||||||
|
|
||||||
private boolean defaultBreakoutRoomsEnabled = true;
|
private boolean defaultBreakoutRoomsEnabled = true;
|
||||||
private boolean defaultBreakoutRoomsRecord;
|
private boolean defaultBreakoutRoomsRecord;
|
||||||
@ -639,14 +640,14 @@ public class ParamsProcessorUtil {
|
|||||||
guestPolicy = params.get(ApiParams.GUEST_POLICY);
|
guestPolicy = params.get(ApiParams.GUEST_POLICY);
|
||||||
}
|
}
|
||||||
|
|
||||||
String uploadExternalDescription = defaultUploadExternalDescription;
|
String presentationUploadExternalDescription = defaultPresentationUploadExternalDescription;
|
||||||
if (!StringUtils.isEmpty(params.get(ApiParams.UPLOAD_EXTERNAL_DESCRIPTION))) {
|
if (!StringUtils.isEmpty(params.get(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION))) {
|
||||||
uploadExternalDescription = params.get(ApiParams.UPLOAD_EXTERNAL_DESCRIPTION);
|
presentationUploadExternalDescription = params.get(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
String uploadExternalUrl = defaultUploadExternalUrl;
|
String presentationUploadExternalUrl = defaultPresentationUploadExternalUrl;
|
||||||
if (!StringUtils.isEmpty(params.get(ApiParams.UPLOAD_EXTERNAL_URL))) {
|
if (!StringUtils.isEmpty(params.get(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL))) {
|
||||||
uploadExternalUrl = params.get(ApiParams.UPLOAD_EXTERNAL_URL);
|
presentationUploadExternalUrl = params.get(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL);
|
||||||
}
|
}
|
||||||
|
|
||||||
String meetingLayout = defaultMeetingLayout;
|
String meetingLayout = defaultMeetingLayout;
|
||||||
@ -737,8 +738,8 @@ public class ParamsProcessorUtil {
|
|||||||
.withGroups(groups)
|
.withGroups(groups)
|
||||||
.withDisabledFeatures(listOfDisabledFeatures)
|
.withDisabledFeatures(listOfDisabledFeatures)
|
||||||
.withNotifyRecordingIsOn(notifyRecordingIsOn)
|
.withNotifyRecordingIsOn(notifyRecordingIsOn)
|
||||||
.withUploadExternalDescription(uploadExternalDescription)
|
.withPresentationUploadExternalDescription(presentationUploadExternalDescription)
|
||||||
.withUploadExternalUrl(uploadExternalUrl)
|
.withPresentationUploadExternalUrl(presentationUploadExternalUrl)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
if (!StringUtils.isEmpty(params.get(ApiParams.MODERATOR_ONLY_MESSAGE))) {
|
if (!StringUtils.isEmpty(params.get(ApiParams.MODERATOR_ONLY_MESSAGE))) {
|
||||||
@ -846,6 +847,14 @@ public class ParamsProcessorUtil {
|
|||||||
return allowRequestsWithoutSession;
|
return allowRequestsWithoutSession;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Integer getDefaultHttpSessionTimeout() {
|
||||||
|
return defaultHttpSessionTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultHttpSessionTimeout(Integer value) {
|
||||||
|
this.defaultHttpSessionTimeout = value;
|
||||||
|
}
|
||||||
|
|
||||||
public String getDefaultLogoutUrl() {
|
public String getDefaultLogoutUrl() {
|
||||||
if ((StringUtils.isEmpty(defaultLogoutUrl)) || "default".equalsIgnoreCase(defaultLogoutUrl)) {
|
if ((StringUtils.isEmpty(defaultLogoutUrl)) || "default".equalsIgnoreCase(defaultLogoutUrl)) {
|
||||||
return defaultServerUrl;
|
return defaultServerUrl;
|
||||||
@ -1445,12 +1454,12 @@ public class ParamsProcessorUtil {
|
|||||||
this.defaultNotifyRecordingIsOn = notifyRecordingIsOn;
|
this.defaultNotifyRecordingIsOn = notifyRecordingIsOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUploadExternalDescription(String uploadExternalDescription) {
|
public void setPresentationUploadExternalDescription(String presentationUploadExternalDescription) {
|
||||||
this.defaultUploadExternalDescription = uploadExternalDescription;
|
this.defaultPresentationUploadExternalDescription = presentationUploadExternalDescription;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUploadExternalUrl(String uploadExternalUrl) {
|
public void setPresentationUploadExternalUrl(String presentationUploadExternalUrl) {
|
||||||
this.defaultUploadExternalUrl = uploadExternalUrl;
|
this.defaultPresentationUploadExternalUrl = presentationUploadExternalUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBbbVersion(String version) {
|
public void setBbbVersion(String version) {
|
||||||
|
@ -97,8 +97,8 @@ public class Meeting {
|
|||||||
private Boolean allowRequestsWithoutSession = false;
|
private Boolean allowRequestsWithoutSession = false;
|
||||||
private Boolean allowModsToEjectCameras = false;
|
private Boolean allowModsToEjectCameras = false;
|
||||||
private Boolean meetingKeepEvents;
|
private Boolean meetingKeepEvents;
|
||||||
private String uploadExternalDescription;
|
private String presentationUploadExternalDescription;
|
||||||
private String uploadExternalUrl;
|
private String presentationUploadExternalUrl;
|
||||||
|
|
||||||
private Integer meetingExpireIfNoUserJoinedInMinutes = 5;
|
private Integer meetingExpireIfNoUserJoinedInMinutes = 5;
|
||||||
private Integer meetingExpireWhenLastUserLeftInMinutes = 1;
|
private Integer meetingExpireWhenLastUserLeftInMinutes = 1;
|
||||||
@ -123,8 +123,8 @@ public class Meeting {
|
|||||||
intMeetingId = builder.internalId;
|
intMeetingId = builder.internalId;
|
||||||
disabledFeatures = builder.disabledFeatures;
|
disabledFeatures = builder.disabledFeatures;
|
||||||
notifyRecordingIsOn = builder.notifyRecordingIsOn;
|
notifyRecordingIsOn = builder.notifyRecordingIsOn;
|
||||||
uploadExternalDescription = builder.uploadExternalDescription;
|
presentationUploadExternalDescription = builder.presentationUploadExternalDescription;
|
||||||
uploadExternalUrl = builder.uploadExternalUrl;
|
presentationUploadExternalUrl = builder.presentationUploadExternalUrl;
|
||||||
if (builder.viewerPass == null){
|
if (builder.viewerPass == null){
|
||||||
viewerPass = "";
|
viewerPass = "";
|
||||||
} else {
|
} else {
|
||||||
@ -424,11 +424,11 @@ public class Meeting {
|
|||||||
return notifyRecordingIsOn;
|
return notifyRecordingIsOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUploadExternalDescription() {
|
public String getPresentationUploadExternalDescription() {
|
||||||
return uploadExternalDescription;
|
return presentationUploadExternalDescription;
|
||||||
}
|
}
|
||||||
public String getUploadExternalUrl() {
|
public String getPresentationUploadExternalUrl() {
|
||||||
return uploadExternalUrl;
|
return presentationUploadExternalUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getWelcomeMessageTemplate() {
|
public String getWelcomeMessageTemplate() {
|
||||||
@ -863,8 +863,8 @@ public class Meeting {
|
|||||||
private String learningDashboardAccessToken;
|
private String learningDashboardAccessToken;
|
||||||
private ArrayList<String> disabledFeatures;
|
private ArrayList<String> disabledFeatures;
|
||||||
private Boolean notifyRecordingIsOn;
|
private Boolean notifyRecordingIsOn;
|
||||||
private String uploadExternalDescription;
|
private String presentationUploadExternalDescription;
|
||||||
private String uploadExternalUrl;
|
private String presentationUploadExternalUrl;
|
||||||
private int duration;
|
private int duration;
|
||||||
private String webVoice;
|
private String webVoice;
|
||||||
private String telVoice;
|
private String telVoice;
|
||||||
@ -993,13 +993,13 @@ public class Meeting {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder withUploadExternalDescription(String d) {
|
public Builder withPresentationUploadExternalDescription(String d) {
|
||||||
this.uploadExternalDescription = d;
|
this.presentationUploadExternalDescription = d;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder withUploadExternalUrl(String u) {
|
public Builder withPresentationUploadExternalUrl(String u) {
|
||||||
this.uploadExternalUrl = u;
|
this.presentationUploadExternalUrl = u;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,8 +25,8 @@ public class CreateMeetingMessage {
|
|||||||
public final String learningDashboardAccessToken;
|
public final String learningDashboardAccessToken;
|
||||||
public final ArrayList<String> disabledFeatures;
|
public final ArrayList<String> disabledFeatures;
|
||||||
public final Boolean notifyRecordingIsOn;
|
public final Boolean notifyRecordingIsOn;
|
||||||
public final String uploadExternalDescription;
|
public final String presentationUploadExternalDescription;
|
||||||
public final String uploadExternalUrl;
|
public final String presentationUploadExternalUrl;
|
||||||
public final Long createTime;
|
public final Long createTime;
|
||||||
public final String createDate;
|
public final String createDate;
|
||||||
public final Map<String, String> metadata;
|
public final Map<String, String> metadata;
|
||||||
@ -38,8 +38,8 @@ public class CreateMeetingMessage {
|
|||||||
String viewerPass, String learningDashboardAccessToken,
|
String viewerPass, String learningDashboardAccessToken,
|
||||||
ArrayList<String> disabledFeatures,
|
ArrayList<String> disabledFeatures,
|
||||||
Boolean notifyRecordingIsOn,
|
Boolean notifyRecordingIsOn,
|
||||||
String uploadExternalDescription,
|
String presentationUploadExternalDescription,
|
||||||
String uploadExternalUrl,
|
String presentationUploadExternalUrl,
|
||||||
Long createTime, String createDate, Map<String, String> metadata) {
|
Long createTime, String createDate, Map<String, String> metadata) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.externalId = externalId;
|
this.externalId = externalId;
|
||||||
@ -58,8 +58,8 @@ public class CreateMeetingMessage {
|
|||||||
this.learningDashboardAccessToken = learningDashboardAccessToken;
|
this.learningDashboardAccessToken = learningDashboardAccessToken;
|
||||||
this.disabledFeatures = disabledFeatures;
|
this.disabledFeatures = disabledFeatures;
|
||||||
this.notifyRecordingIsOn = notifyRecordingIsOn;
|
this.notifyRecordingIsOn = notifyRecordingIsOn;
|
||||||
this.uploadExternalDescription = uploadExternalDescription;
|
this.presentationUploadExternalDescription = presentationUploadExternalDescription;
|
||||||
this.uploadExternalUrl = uploadExternalUrl;
|
this.presentationUploadExternalUrl = presentationUploadExternalUrl;
|
||||||
this.createTime = createTime;
|
this.createTime = createTime;
|
||||||
this.createDate = createDate;
|
this.createDate = createDate;
|
||||||
this.metadata = metadata;
|
this.metadata = metadata;
|
||||||
|
@ -18,7 +18,7 @@ public class ParamsUtil {
|
|||||||
public static final String INVALID_CHARS = ",";
|
public static final String INVALID_CHARS = ",";
|
||||||
|
|
||||||
public static String stripControlChars(String text) {
|
public static String stripControlChars(String text) {
|
||||||
return text.replaceAll("\\p{Cc}", "");
|
return text.replaceAll("\\p{Cc}", "").trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String escapeHTMLTags(String value) {
|
public static String escapeHTMLTags(String value) {
|
||||||
|
@ -43,8 +43,8 @@ public interface IBbbWebApiGWApp {
|
|||||||
ArrayList<Group> groups,
|
ArrayList<Group> groups,
|
||||||
ArrayList<String> disabledFeatures,
|
ArrayList<String> disabledFeatures,
|
||||||
Boolean notifyRecordingIsOn,
|
Boolean notifyRecordingIsOn,
|
||||||
String uploadExternalDescription,
|
String presentationUploadExternalDescription,
|
||||||
String uploadExternalUrl);
|
String presentationUploadExternalUrl);
|
||||||
|
|
||||||
void registerUser(String meetingID, String internalUserId, String fullname, String role,
|
void registerUser(String meetingID, String internalUserId, String fullname, String role,
|
||||||
String externUserID, String authToken, String avatarURL,
|
String externUserID, String authToken, String avatarURL,
|
||||||
|
@ -150,8 +150,8 @@ class BbbWebApiGWApp(
|
|||||||
groups: java.util.ArrayList[Group],
|
groups: java.util.ArrayList[Group],
|
||||||
disabledFeatures: java.util.ArrayList[String],
|
disabledFeatures: java.util.ArrayList[String],
|
||||||
notifyRecordingIsOn: java.lang.Boolean,
|
notifyRecordingIsOn: java.lang.Boolean,
|
||||||
uploadExternalDescription: String,
|
presentationUploadExternalDescription: String,
|
||||||
uploadExternalUrl: String): Unit = {
|
presentationUploadExternalUrl: String): Unit = {
|
||||||
|
|
||||||
val disabledFeaturesAsVector: Vector[String] = disabledFeatures.asScala.toVector
|
val disabledFeaturesAsVector: Vector[String] = disabledFeatures.asScala.toVector
|
||||||
|
|
||||||
@ -164,8 +164,8 @@ class BbbWebApiGWApp(
|
|||||||
isBreakout = isBreakout.booleanValue(),
|
isBreakout = isBreakout.booleanValue(),
|
||||||
disabledFeaturesAsVector,
|
disabledFeaturesAsVector,
|
||||||
notifyRecordingIsOn,
|
notifyRecordingIsOn,
|
||||||
uploadExternalDescription,
|
presentationUploadExternalDescription,
|
||||||
uploadExternalUrl
|
presentationUploadExternalUrl
|
||||||
)
|
)
|
||||||
|
|
||||||
val durationProps = DurationProps(
|
val durationProps = DurationProps(
|
||||||
|
1
bbb-export-annotations/.npmrc
Normal file
1
bbb-export-annotations/.npmrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
engine-strict=true
|
@ -1,13 +1,13 @@
|
|||||||
const config = require('../../config');
|
const config = require('../../config');
|
||||||
|
|
||||||
const { level } = config.log;
|
const {level} = config.log;
|
||||||
const trace = level.toLowerCase() === 'trace';
|
const trace = level.toLowerCase() === 'trace';
|
||||||
const debug = trace || level.toLowerCase() === 'debug';
|
const debug = trace || level.toLowerCase() === 'debug';
|
||||||
|
|
||||||
const date = () => new Date().toISOString();
|
const date = () => new Date().toISOString();
|
||||||
|
|
||||||
const parse = (messages) => {
|
const parse = (messages) => {
|
||||||
return messages.map(message => {
|
return messages.map((message) => {
|
||||||
if (typeof message === 'object') return JSON.stringify(message);
|
if (typeof message === 'object') return JSON.stringify(message);
|
||||||
|
|
||||||
return message;
|
return message;
|
||||||
|
88
bbb-export-annotations/lib/utils/message-builder.js
Normal file
88
bbb-export-annotations/lib/utils/message-builder.js
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
const config = require('../../config');
|
||||||
|
|
||||||
|
const EXPORT_STATUSES = Object.freeze({
|
||||||
|
COLLECTING: 'COLLECTING',
|
||||||
|
PROCESSING: 'PROCESSING',
|
||||||
|
});
|
||||||
|
|
||||||
|
class PresAnnStatusMsg {
|
||||||
|
constructor(exportJob, status = EXPORT_STATUSES.COLLECTING) {
|
||||||
|
this.message = {
|
||||||
|
envelope: {
|
||||||
|
name: config.log.msgName,
|
||||||
|
routing: {
|
||||||
|
sender: exportJob.module,
|
||||||
|
},
|
||||||
|
timestamp: (new Date()).getTime(),
|
||||||
|
},
|
||||||
|
core: {
|
||||||
|
header: {
|
||||||
|
name: config.log.msgName,
|
||||||
|
meetingId: exportJob.parentMeetingId,
|
||||||
|
userId: '',
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
presId: exportJob.presId,
|
||||||
|
pageNumber: 1,
|
||||||
|
totalPages: JSON.parse(exportJob.pages).length,
|
||||||
|
status,
|
||||||
|
error: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
build = (pageNumber = 1) => {
|
||||||
|
this.message.core.body.pageNumber = pageNumber;
|
||||||
|
this.message.envelope.timestamp = (new Date()).getTime();
|
||||||
|
const event = JSON.stringify(this.message);
|
||||||
|
this.message.core.body.error = false;
|
||||||
|
return event;
|
||||||
|
};
|
||||||
|
|
||||||
|
setError = (error = true) => {
|
||||||
|
this.message.core.body.error = error;
|
||||||
|
};
|
||||||
|
|
||||||
|
setStatus = (status) => {
|
||||||
|
this.message.core.body.status = status;
|
||||||
|
};
|
||||||
|
|
||||||
|
static get EXPORT_STATUSES() {
|
||||||
|
return EXPORT_STATUSES;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class NewPresAnnFileAvailableMsg {
|
||||||
|
constructor(exportJob, link) {
|
||||||
|
this.message = {
|
||||||
|
envelope: {
|
||||||
|
name: config.notifier.msgName,
|
||||||
|
routing: {
|
||||||
|
sender: exportJob.module,
|
||||||
|
},
|
||||||
|
timestamp: (new Date()).getTime(),
|
||||||
|
},
|
||||||
|
core: {
|
||||||
|
header: {
|
||||||
|
name: config.notifier.msgName,
|
||||||
|
meetingId: exportJob.parentMeetingId,
|
||||||
|
userId: '',
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
fileURI: link,
|
||||||
|
presId: exportJob.presId,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
build = () => {
|
||||||
|
return JSON.stringify(this.message);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
PresAnnStatusMsg,
|
||||||
|
NewPresAnnFileAvailableMsg,
|
||||||
|
};
|
15
bbb-export-annotations/package-lock.json
generated
15
bbb-export-annotations/package-lock.json
generated
@ -10,6 +10,7 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.26.0",
|
"axios": "^0.26.0",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
|
"lodash": "^4.17.21",
|
||||||
"perfect-freehand": "^1.0.16",
|
"perfect-freehand": "^1.0.16",
|
||||||
"probe-image-size": "^7.2.3",
|
"probe-image-size": "^7.2.3",
|
||||||
"redis": "^4.0.3",
|
"redis": "^4.0.3",
|
||||||
@ -19,6 +20,10 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.20.0",
|
"eslint": "^8.20.0",
|
||||||
"eslint-config-google": "^0.14.0"
|
"eslint-config-google": "^0.14.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^16.16.0",
|
||||||
|
"npm": "^8.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/eslintrc": {
|
"node_modules/@eslint/eslintrc": {
|
||||||
@ -920,6 +925,11 @@
|
|||||||
"node": ">= 0.8.0"
|
"node": ">= 0.8.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||||
|
},
|
||||||
"node_modules/lodash.merge": {
|
"node_modules/lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
@ -2044,6 +2054,11 @@
|
|||||||
"type-check": "~0.4.0"
|
"type-check": "~0.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||||
|
},
|
||||||
"lodash.merge": {
|
"lodash.merge": {
|
||||||
"version": "4.6.2",
|
"version": "4.6.2",
|
||||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
|
||||||
|
@ -19,5 +19,9 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"eslint": "^8.20.0",
|
"eslint": "^8.20.0",
|
||||||
"eslint-config-google": "^0.14.0"
|
"eslint-config-google": "^0.14.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "^16.16.0",
|
||||||
|
"npm": "^8.5.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,6 +8,7 @@ const redis = require('redis');
|
|||||||
const sanitize = require('sanitize-filename');
|
const sanitize = require('sanitize-filename');
|
||||||
const stream = require('stream');
|
const stream = require('stream');
|
||||||
const WorkerStarter = require('../lib/utils/worker-starter');
|
const WorkerStarter = require('../lib/utils/worker-starter');
|
||||||
|
const {PresAnnStatusMsg} = require('../lib/utils/message-builder');
|
||||||
const {workerData} = require('worker_threads');
|
const {workerData} = require('worker_threads');
|
||||||
const {promisify} = require('util');
|
const {promisify} = require('util');
|
||||||
|
|
||||||
@ -55,29 +56,7 @@ async function collectAnnotationsFromRedis() {
|
|||||||
const pdfFile = `${presFile}.pdf`;
|
const pdfFile = `${presFile}.pdf`;
|
||||||
|
|
||||||
// Message to display conversion progress toast
|
// Message to display conversion progress toast
|
||||||
const statusUpdate = {
|
const statusUpdate = new PresAnnStatusMsg(exportJob);
|
||||||
envelope: {
|
|
||||||
name: config.log.msgName,
|
|
||||||
routing: {
|
|
||||||
sender: exportJob.module,
|
|
||||||
},
|
|
||||||
timestamp: (new Date()).getTime(),
|
|
||||||
},
|
|
||||||
core: {
|
|
||||||
header: {
|
|
||||||
name: config.log.msgName,
|
|
||||||
meetingId: exportJob.parentMeetingId,
|
|
||||||
userId: '',
|
|
||||||
},
|
|
||||||
body: {
|
|
||||||
presId: exportJob.presId,
|
|
||||||
pageNumber: 1,
|
|
||||||
totalPages: pages.length,
|
|
||||||
status: 'COLLECTING',
|
|
||||||
error: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
if (fs.existsSync(pdfFile)) {
|
if (fs.existsSync(pdfFile)) {
|
||||||
for (const p of pages) {
|
for (const p of pages) {
|
||||||
@ -103,35 +82,32 @@ async function collectAnnotationsFromRedis() {
|
|||||||
try {
|
try {
|
||||||
cp.spawnSync(config.shared.pdftocairo, extract_png_from_pdf, {shell: false});
|
cp.spawnSync(config.shared.pdftocairo, extract_png_from_pdf, {shell: false});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const error_reason = `PDFtoCairo failed extracting slide ${pageNumber}`;
|
logger.error(`PDFtoCairo failed extracting slide ${pageNumber} in job ${jobId}: ${error.message}`);
|
||||||
logger.error(`${error_reason} in job ${jobId}: ${error.message}`);
|
statusUpdate.setError();
|
||||||
statusUpdate.core.body.status = error_reason;
|
|
||||||
statusUpdate.core.body.error = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
statusUpdate.core.body.pageNumber = pageNumber;
|
await client.publish(config.redis.channels.publish, statusUpdate.build(pageNumber));
|
||||||
statusUpdate.envelope.timestamp = (new Date()).getTime();
|
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
|
||||||
statusUpdate.core.body.error = false;
|
|
||||||
}
|
}
|
||||||
// If PNG file already available
|
|
||||||
} else if (fs.existsSync(`${presFile}.png`)) {
|
|
||||||
fs.copyFileSync(`${presFile}.png`, path.join(dropbox, 'slide1.png'));
|
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
|
||||||
// If JPEG file available
|
|
||||||
} else if (fs.existsSync(`${presFile}.jpeg`)) {
|
|
||||||
fs.copyFileSync(`${presFile}.jpeg`, path.join(dropbox, 'slide1.jpeg'));
|
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
|
||||||
} else {
|
} else {
|
||||||
statusUpdate.core.body.error = true;
|
if (fs.existsSync(`${presFile}.png`)) {
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
// PNG file available
|
||||||
client.disconnect();
|
fs.copyFileSync(`${presFile}.png`, path.join(dropbox, 'slide1.png'));
|
||||||
return logger.error(`Presentation file missing for job ${exportJob.jobId}`);
|
} else if (fs.existsSync(`${presFile}.jpeg`)) {
|
||||||
|
// JPEG file available
|
||||||
|
fs.copyFileSync(`${presFile}.jpeg`, path.join(dropbox, 'slide1.jpeg'));
|
||||||
|
await client.publish(config.redis.channels.publish, statusUpdate.build());
|
||||||
|
} else {
|
||||||
|
await client.publish(config.redis.channels.publish, statusUpdate.build());
|
||||||
|
client.disconnect();
|
||||||
|
return logger.error(`No PDF, PNG or JPEG file available for job ${jobId}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
await client.publish(config.redis.channels.publish, statusUpdate.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
|
|
||||||
const process = new WorkerStarter({jobId, statusUpdate});
|
const process = new WorkerStarter({jobId});
|
||||||
process.process();
|
process.process();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ const FormData = require('form-data');
|
|||||||
const redis = require('redis');
|
const redis = require('redis');
|
||||||
const axios = require('axios').default;
|
const axios = require('axios').default;
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const {NewPresAnnFileAvailableMsg} = require('../lib/utils/message-builder');
|
||||||
|
|
||||||
const {workerData} = require('worker_threads');
|
const {workerData} = require('worker_threads');
|
||||||
const [jobType, jobId, filename] = [workerData.jobType, workerData.jobId, workerData.filename];
|
const [jobType, jobId, filename] = [workerData.jobType, workerData.jobId, workerData.filename];
|
||||||
@ -31,30 +32,10 @@ async function notifyMeetingActor() {
|
|||||||
exportJob.parentMeetingId, exportJob.parentMeetingId,
|
exportJob.parentMeetingId, exportJob.parentMeetingId,
|
||||||
exportJob.presId, 'pdf', jobId, filename);
|
exportJob.presId, 'pdf', jobId, filename);
|
||||||
|
|
||||||
const notification = {
|
const notification = new NewPresAnnFileAvailableMsg(exportJob, link);
|
||||||
envelope: {
|
|
||||||
name: config.notifier.msgName,
|
|
||||||
routing: {
|
|
||||||
sender: exportJob.module,
|
|
||||||
},
|
|
||||||
timestamp: (new Date()).getTime(),
|
|
||||||
},
|
|
||||||
core: {
|
|
||||||
header: {
|
|
||||||
name: config.notifier.msgName,
|
|
||||||
meetingId: exportJob.parentMeetingId,
|
|
||||||
userId: '',
|
|
||||||
},
|
|
||||||
body: {
|
|
||||||
fileURI: link,
|
|
||||||
presId: exportJob.presId,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
logger.info(`Annotated PDF available at ${link}`);
|
logger.info(`Annotated PDF available at ${link}`);
|
||||||
await client.publish(config.redis.channels.publish,
|
await client.publish(config.redis.channels.publish, notification.build());
|
||||||
JSON.stringify(notification));
|
|
||||||
client.disconnect();
|
client.disconnect();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,14 +10,16 @@ const sanitize = require('sanitize-filename');
|
|||||||
const {getStrokePoints, getStrokeOutlinePoints} = require('perfect-freehand');
|
const {getStrokePoints, getStrokeOutlinePoints} = require('perfect-freehand');
|
||||||
const probe = require('probe-image-size');
|
const probe = require('probe-image-size');
|
||||||
const redis = require('redis');
|
const redis = require('redis');
|
||||||
|
const {PresAnnStatusMsg} = require('../lib/utils/message-builder');
|
||||||
|
|
||||||
const [jobId, statusUpdate] = [workerData.jobId, workerData.statusUpdate];
|
const jobId = workerData.jobId;
|
||||||
|
|
||||||
const logger = new Logger('presAnn Process Worker');
|
const logger = new Logger('presAnn Process Worker');
|
||||||
logger.info('Processing PDF for job ' + jobId);
|
logger.info('Processing PDF for job ' + jobId);
|
||||||
statusUpdate.core.body.status = 'PROCESSING';
|
|
||||||
|
|
||||||
const dropbox = path.join(config.shared.presAnnDropboxDir, jobId);
|
const dropbox = path.join(config.shared.presAnnDropboxDir, jobId);
|
||||||
|
const job = fs.readFileSync(path.join(dropbox, 'job'));
|
||||||
|
const exportJob = JSON.parse(job);
|
||||||
|
const statusUpdate = new PresAnnStatusMsg(exportJob, PresAnnStatusMsg.EXPORT_STATUSES.PROCESSING);
|
||||||
|
|
||||||
// General utilities for rendering SVGs resembling Tldraw as much as possible
|
// General utilities for rendering SVGs resembling Tldraw as much as possible
|
||||||
function align_to_pango(alignment) {
|
function align_to_pango(alignment) {
|
||||||
@ -157,10 +159,8 @@ function render_textbox(textColor, font, fontSize, textAlign, text, id, textBoxW
|
|||||||
try {
|
try {
|
||||||
cp.spawnSync(config.shared.imagemagick, commands, {shell: false});
|
cp.spawnSync(config.shared.imagemagick, commands, {shell: false});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const error_reason = 'ImageMagick failed to render textbox';
|
logger.error(`ImageMagick failed to render textbox in job ${jobId}: ${error.message}`);
|
||||||
logger.error(`${error_reason} in job ${jobId}: ${error.message}`);
|
statusUpdate.setError();
|
||||||
statusUpdate.core.body.status = error_reason;
|
|
||||||
statusUpdate.core.body.error = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -596,7 +596,7 @@ function overlay_shape_label(svg, annotation) {
|
|||||||
const fontSize = text_size_to_px(annotation.style.size, annotation.style.scale);
|
const fontSize = text_size_to_px(annotation.style.size, annotation.style.scale);
|
||||||
const textAlign = 'center';
|
const textAlign = 'center';
|
||||||
const text = annotation.label;
|
const text = annotation.label;
|
||||||
const id = annotation.id;
|
const id = sanitize(annotation.id);
|
||||||
const rotation = rad_to_degree(annotation.rotation);
|
const rotation = rad_to_degree(annotation.rotation);
|
||||||
|
|
||||||
const [shape_width, shape_height] = annotation.size;
|
const [shape_width, shape_height] = annotation.size;
|
||||||
@ -641,7 +641,7 @@ function overlay_sticky(svg, annotation) {
|
|||||||
|
|
||||||
const textColor = '#0d0d0d'; // For sticky notes
|
const textColor = '#0d0d0d'; // For sticky notes
|
||||||
const text = annotation.text;
|
const text = annotation.text;
|
||||||
const id = annotation.id;
|
const id = sanitize(annotation.id);
|
||||||
|
|
||||||
render_textbox(textColor, font, fontSize, textAlign, text, id, textBoxWidth);
|
render_textbox(textColor, font, fontSize, textAlign, text, id, textBoxWidth);
|
||||||
|
|
||||||
@ -701,7 +701,7 @@ function overlay_text(svg, annotation) {
|
|||||||
const fontSize = text_size_to_px(annotation.style.size, annotation.style.scale);
|
const fontSize = text_size_to_px(annotation.style.size, annotation.style.scale);
|
||||||
const textAlign = align_to_pango(annotation.style.textAlign);
|
const textAlign = align_to_pango(annotation.style.textAlign);
|
||||||
const text = annotation.text;
|
const text = annotation.text;
|
||||||
const id = annotation.id;
|
const id = sanitize(annotation.id);
|
||||||
|
|
||||||
const rotation = rad_to_degree(annotation.rotation);
|
const rotation = rad_to_degree(annotation.rotation);
|
||||||
const [textBox_x, textBox_y] = annotation.point;
|
const [textBox_x, textBox_y] = annotation.point;
|
||||||
@ -787,17 +787,13 @@ async function process_presentation_annotations() {
|
|||||||
|
|
||||||
client.on('error', (err) => logger.info('Redis Client Error', err));
|
client.on('error', (err) => logger.info('Redis Client Error', err));
|
||||||
|
|
||||||
// 1. Get the job
|
// Get the annotations
|
||||||
const job = fs.readFileSync(path.join(dropbox, 'job'));
|
|
||||||
const exportJob = JSON.parse(job);
|
|
||||||
|
|
||||||
// 2. Get the annotations
|
|
||||||
const annotations = fs.readFileSync(path.join(dropbox, 'whiteboard'));
|
const annotations = fs.readFileSync(path.join(dropbox, 'whiteboard'));
|
||||||
const whiteboard = JSON.parse(annotations);
|
const whiteboard = JSON.parse(annotations);
|
||||||
const pages = JSON.parse(whiteboard.pages);
|
const pages = JSON.parse(whiteboard.pages);
|
||||||
const ghostScriptInput = [];
|
const ghostScriptInput = [];
|
||||||
|
|
||||||
// 3. Convert annotations to SVG
|
// Convert annotations to SVG
|
||||||
for (const currentSlide of pages) {
|
for (const currentSlide of pages) {
|
||||||
const bgImagePath = path.join(dropbox, `slide${currentSlide.page}`);
|
const bgImagePath = path.join(dropbox, `slide${currentSlide.page}`);
|
||||||
const svgBackgroundSlide = path.join(exportJob.presLocation,
|
const svgBackgroundSlide = path.join(exportJob.presLocation,
|
||||||
@ -854,14 +850,7 @@ async function process_presentation_annotations() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Dimensions converted to a pixel size which,
|
// Scale slide back to its original size
|
||||||
// when converted to points, will yield the desired
|
|
||||||
// dimension in pixels when read without conversion
|
|
||||||
|
|
||||||
// e.g. say the background SVG dimensions are set to 1920x1080 pt
|
|
||||||
// Resize output to 2560x1440 px so that the SVG
|
|
||||||
// generates with the original size in pt.
|
|
||||||
|
|
||||||
const convertAnnotatedSlide = [
|
const convertAnnotatedSlide = [
|
||||||
SVGfile,
|
SVGfile,
|
||||||
'--output-width', to_px(slideWidth),
|
'--output-width', to_px(slideWidth),
|
||||||
@ -873,15 +862,11 @@ async function process_presentation_annotations() {
|
|||||||
cp.spawnSync(config.shared.cairosvg, convertAnnotatedSlide, {shell: false});
|
cp.spawnSync(config.shared.cairosvg, convertAnnotatedSlide, {shell: false});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`Processing slide ${currentSlide.page} failed for job ${jobId}: ${error.message}`);
|
logger.error(`Processing slide ${currentSlide.page} failed for job ${jobId}: ${error.message}`);
|
||||||
statusUpdate.core.body.error = true;
|
statusUpdate.setError();
|
||||||
}
|
}
|
||||||
|
|
||||||
statusUpdate.core.body.pageNumber = currentSlide.page;
|
await client.publish(config.redis.channels.publish, statusUpdate.build(currentSlide.page));
|
||||||
statusUpdate.envelope.timestamp = (new Date()).getTime();
|
|
||||||
|
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
|
||||||
ghostScriptInput.push(PDFfile);
|
ghostScriptInput.push(PDFfile);
|
||||||
statusUpdate.core.body.error = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create PDF output directory if it doesn't exist
|
// Create PDF output directory if it doesn't exist
|
||||||
@ -903,11 +888,7 @@ async function process_presentation_annotations() {
|
|||||||
try {
|
try {
|
||||||
cp.spawnSync(config.shared.ghostscript, mergePDFs, {shell: false});
|
cp.spawnSync(config.shared.ghostscript, mergePDFs, {shell: false});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const error_reason = 'GhostScript failed to merge PDFs';
|
return logger.error(`GhostScript failed to merge PDFs in job ${jobId}: ${error.message}`);
|
||||||
logger.error(`${error_reason} in job ${jobId}: ${error.message}`);
|
|
||||||
statusUpdate.core.body.status = error_reason;
|
|
||||||
statusUpdate.core.body.error = true;
|
|
||||||
await client.publish(config.redis.channels.publish, JSON.stringify(statusUpdate));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Launch Notifier Worker depending on job type
|
// Launch Notifier Worker depending on job type
|
||||||
|
@ -2,7 +2,7 @@ import org.bigbluebutton.build._
|
|||||||
|
|
||||||
description := "BigBlueButton custom FS-ESL client built on top of FS-ESL Java library."
|
description := "BigBlueButton custom FS-ESL client built on top of FS-ESL Java library."
|
||||||
|
|
||||||
version := "0.0.8-SNAPSHOT"
|
version := "0.0.9-SNAPSHOT"
|
||||||
|
|
||||||
val compileSettings = Seq(
|
val compileSettings = Seq(
|
||||||
organization := "org.bigbluebutton",
|
organization := "org.bigbluebutton",
|
||||||
@ -13,7 +13,7 @@ val compileSettings = Seq(
|
|||||||
"-Xlint",
|
"-Xlint",
|
||||||
"-Ywarn-dead-code",
|
"-Ywarn-dead-code",
|
||||||
"-language:_",
|
"-language:_",
|
||||||
"-target:jvm-1.11",
|
"-target:11",
|
||||||
"-encoding", "UTF-8"
|
"-encoding", "UTF-8"
|
||||||
),
|
),
|
||||||
javacOptions ++= List(
|
javacOptions ++= List(
|
||||||
@ -52,7 +52,7 @@ crossPaths := false
|
|||||||
// This forbids including Scala related libraries into the dependency
|
// This forbids including Scala related libraries into the dependency
|
||||||
autoScalaLibrary := false
|
autoScalaLibrary := false
|
||||||
|
|
||||||
scalaVersion := "2.13.4"
|
scalaVersion := "2.13.9"
|
||||||
|
|
||||||
publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath + "/.m2/repository")))
|
publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath + "/.m2/repository")))
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ object Dependencies {
|
|||||||
|
|
||||||
object Versions {
|
object Versions {
|
||||||
// Scala
|
// Scala
|
||||||
val scala = "2.13.4"
|
val scala = "2.13.9"
|
||||||
|
|
||||||
// Libraries
|
// Libraries
|
||||||
val netty = "3.2.10.Final"
|
val netty = "3.2.10.Final"
|
||||||
|
@ -5,15 +5,17 @@ Learning Analytics Dashboard will be accessible through https://yourdomain/learn
|
|||||||
## Prepare destination directory
|
## Prepare destination directory
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir /var/bigbluebutton/learning-dashboard
|
mkdir -p /var/bigbluebutton/learning-dashboard
|
||||||
chown bigbluebutton /var/bigbluebutton/learning-dashboard/
|
chown bigbluebutton /var/bigbluebutton/learning-dashboard/
|
||||||
```
|
```
|
||||||
|
|
||||||
## Build instructions
|
## Build instructions
|
||||||
|
|
||||||
```
|
```
|
||||||
cd bbb-learning-dashboard
|
# verify we are in the bbb-learning-dashboard directory ~/src/bbb-learning-dashboard
|
||||||
rm -r node_modules
|
pwd
|
||||||
|
|
||||||
|
if [ -d node_modules ]; then rm -r node_modules; fi
|
||||||
npm install
|
npm install
|
||||||
npm run build
|
npm run build
|
||||||
cp -r build/* /var/bigbluebutton/learning-dashboard
|
cp -r build/* /var/bigbluebutton/learning-dashboard
|
||||||
@ -22,5 +24,5 @@ cp -r build/* /var/bigbluebutton/learning-dashboard
|
|||||||
## Update nginx config
|
## Update nginx config
|
||||||
|
|
||||||
```
|
```
|
||||||
cp bbb-learning-dashboard/learning-dashboard.nginx /usr/share/bigbluebutton/nginx/
|
cp learning-dashboard.nginx /usr/share/bigbluebutton/nginx/
|
||||||
```
|
```
|
||||||
|
@ -1 +1 @@
|
|||||||
git clone --branch v5.0.0-beta.1 --depth 1 https://github.com/bigbluebutton/bbb-playback bbb-playback
|
git clone --branch v5.0.0-beta.2 --depth 1 https://github.com/bigbluebutton/bbb-playback bbb-playback
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<condition field="${bbb_authorized}" expression="true" break="on-false" />
|
<condition field="${bbb_authorized}" expression="true" break="on-false" />
|
||||||
<condition field="${sip_via_protocol}" expression="^wss?$" />
|
<condition field="${sip_via_protocol}" expression="^wss?$" />
|
||||||
<condition field="destination_number" expression="^(\d{5,11})$">
|
<condition field="destination_number" expression="^(\d{5,11})$">
|
||||||
<action application="set" data="jitterbuffer_msec=60:120" />
|
<action application="set" data="jitterbuffer_msec=100:250" />
|
||||||
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
||||||
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
||||||
<action application="set" data="suppress_cng=true" />
|
<action application="set" data="suppress_cng=true" />
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<extension name="bbb_conferences">
|
<extension name="bbb_conferences">
|
||||||
<condition field="${bbb_authorized}" expression="true" break="on-false" />
|
<condition field="${bbb_authorized}" expression="true" break="on-false" />
|
||||||
<condition field="destination_number" expression="^(\d{5,11})$">
|
<condition field="destination_number" expression="^(\d{5,11})$">
|
||||||
<action application="set" data="jitterbuffer_msec=60:120" />
|
<action application="set" data="jitterbuffer_msec=100:250" />
|
||||||
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
||||||
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
||||||
<action application="set" data="suppress_cng=true" />
|
<action application="set" data="suppress_cng=true" />
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<extension name="ECHO_TO_CONFERENCE">
|
<extension name="ECHO_TO_CONFERENCE">
|
||||||
<condition field="${bbb_from_echo}" expression="true" break="on-false"/>
|
<condition field="${bbb_from_echo}" expression="true" break="on-false"/>
|
||||||
<condition field="destination_number" expression="^(ECHO_TO_CONFERENCE)$">
|
<condition field="destination_number" expression="^(ECHO_TO_CONFERENCE)$">
|
||||||
<action application="set" data="jitterbuffer_msec=60:120" />
|
<action application="set" data="jitterbuffer_msec=100:250" />
|
||||||
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
<action application="set" data="rtp_jitter_buffer_plc=true" />
|
||||||
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
<action application="set" data="rtp_jitter_buffer_during_bridge=true" />
|
||||||
<action application="set" data="suppress_cng=true" />
|
<action application="set" data="suppress_cng=true" />
|
||||||
|
@ -1 +1 @@
|
|||||||
BIGBLUEBUTTON_RELEASE=2.6.0-beta.3
|
BIGBLUEBUTTON_RELEASE=2.6.0-beta.5
|
||||||
|
@ -109,6 +109,15 @@ enableUFWRules() {
|
|||||||
ufw allow OpenSSH
|
ufw allow OpenSSH
|
||||||
ufw allow "Nginx Full"
|
ufw allow "Nginx Full"
|
||||||
ufw allow 16384:32768/udp
|
ufw allow 16384:32768/udp
|
||||||
|
|
||||||
|
# Check if coturn is running on this server and, if so, open firewall port
|
||||||
|
if systemctl status coturn > /dev/null; then
|
||||||
|
echo " - Local turnserver detected -- opening port 3478"
|
||||||
|
ufw allow 3478
|
||||||
|
# echo " - Forcing FireFox to use turn server"
|
||||||
|
# yq w -i $HTML5_CONFIG public.kurento.forceRelayOnFirefox true
|
||||||
|
fi
|
||||||
|
|
||||||
ufw --force enable
|
ufw --force enable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1686,8 +1686,7 @@ if [ -n "$HOST" ]; then
|
|||||||
|
|
||||||
|
|
||||||
echo "Restarting BigBlueButton $BIGBLUEBUTTON_RELEASE ..."
|
echo "Restarting BigBlueButton $BIGBLUEBUTTON_RELEASE ..."
|
||||||
stop_bigbluebutton
|
systemctl restart bigbluebutton.target
|
||||||
start_bigbluebutton
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@ -1699,8 +1698,7 @@ if [ $RESTART ]; then
|
|||||||
|
|
||||||
echo "Restarting BigBlueButton $BIGBLUEBUTTON_RELEASE ..."
|
echo "Restarting BigBlueButton $BIGBLUEBUTTON_RELEASE ..."
|
||||||
|
|
||||||
stop_bigbluebutton
|
systemctl restart bigbluebutton.target
|
||||||
start_bigbluebutton
|
|
||||||
check_state
|
check_state
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -127,7 +127,9 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
|
|||||||
</head>
|
</head>
|
||||||
<body style="background-color: #06172A">
|
<body style="background-color: #06172A">
|
||||||
<div id="aria-polite-alert" aria-live="polite" aria-atomic="false" class="sr-only"></div>
|
<div id="aria-polite-alert" aria-live="polite" aria-atomic="false" class="sr-only"></div>
|
||||||
<div id="app" role="document">
|
<main>
|
||||||
|
<div id="app" role="document">
|
||||||
|
</main>
|
||||||
</div>
|
</div>
|
||||||
<span id="destination"></span>
|
<span id="destination"></span>
|
||||||
<audio id="remote-media" autoplay>
|
<audio id="remote-media" autoplay>
|
||||||
|
@ -1296,6 +1296,8 @@ export default class SIPBridge extends BaseAudioBridge {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exitAudio() {
|
exitAudio() {
|
||||||
|
if (this.activeSession == null) return Promise.resolve();
|
||||||
|
|
||||||
return this.activeSession.exitAudio();
|
return this.activeSession.exitAudio();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import Breakouts from '/imports/api/breakouts';
|
|||||||
import updateUserBreakoutRoom from '/imports/api/users-persistent-data/server/modifiers/updateUserBreakoutRoom';
|
import updateUserBreakoutRoom from '/imports/api/users-persistent-data/server/modifiers/updateUserBreakoutRoom';
|
||||||
import Logger from '/imports/startup/server/logger';
|
import Logger from '/imports/startup/server/logger';
|
||||||
import { check } from 'meteor/check';
|
import { check } from 'meteor/check';
|
||||||
|
import { lowercaseTrim } from '/imports/utils/string-utils';
|
||||||
|
|
||||||
export default function joinedUsersChanged({ body }) {
|
export default function joinedUsersChanged({ body }) {
|
||||||
check(body, Object);
|
check(body, Object);
|
||||||
@ -21,7 +22,7 @@ export default function joinedUsersChanged({ body }) {
|
|||||||
breakoutId,
|
breakoutId,
|
||||||
};
|
};
|
||||||
|
|
||||||
const usersMapped = users.map(user => ({ userId: user.id, name: user.name }));
|
const usersMapped = users.map(user => ({ userId: user.id, name: user.name, sortName: lowercaseTrim(user.name) }));
|
||||||
const modifier = {
|
const modifier = {
|
||||||
$set: {
|
$set: {
|
||||||
joinedUsers: usersMapped,
|
joinedUsers: usersMapped,
|
||||||
|
@ -86,8 +86,8 @@ export default function addMeeting(meeting) {
|
|||||||
name: String,
|
name: String,
|
||||||
disabledFeatures: Array,
|
disabledFeatures: Array,
|
||||||
notifyRecordingIsOn: Boolean,
|
notifyRecordingIsOn: Boolean,
|
||||||
uploadExternalDescription: String,
|
presentationUploadExternalDescription: String,
|
||||||
uploadExternalUrl: String,
|
presentationUploadExternalUrl: String,
|
||||||
},
|
},
|
||||||
usersProp: {
|
usersProp: {
|
||||||
maxUsers: Number,
|
maxUsers: Number,
|
||||||
|
@ -6,6 +6,7 @@ import VoiceUsers from '/imports/api/voice-users/';
|
|||||||
import addUserPsersistentData from '/imports/api/users-persistent-data/server/modifiers/addUserPersistentData';
|
import addUserPsersistentData from '/imports/api/users-persistent-data/server/modifiers/addUserPersistentData';
|
||||||
import stringHash from 'string-hash';
|
import stringHash from 'string-hash';
|
||||||
import flat from 'flat';
|
import flat from 'flat';
|
||||||
|
import { lowercaseTrim } from '/imports/utils/string-utils';
|
||||||
|
|
||||||
import addVoiceUser from '/imports/api/voice-users/server/modifiers/addVoiceUser';
|
import addVoiceUser from '/imports/api/voice-users/server/modifiers/addVoiceUser';
|
||||||
|
|
||||||
@ -51,7 +52,7 @@ export default function addUser(meetingId, userData) {
|
|||||||
|
|
||||||
const userInfos = {
|
const userInfos = {
|
||||||
meetingId,
|
meetingId,
|
||||||
sortName: user.name.trim().toLowerCase(),
|
sortName: lowercaseTrim(user.name),
|
||||||
color,
|
color,
|
||||||
speechLocale: '',
|
speechLocale: '',
|
||||||
mobile: false,
|
mobile: false,
|
||||||
|
@ -7,6 +7,7 @@ import {
|
|||||||
} from '/imports/api/video-streams/server/helpers';
|
} from '/imports/api/video-streams/server/helpers';
|
||||||
import VoiceUsers from '/imports/api/voice-users/';
|
import VoiceUsers from '/imports/api/voice-users/';
|
||||||
import Users from '/imports/api/users/';
|
import Users from '/imports/api/users/';
|
||||||
|
import { lowercaseTrim } from '/imports/utils/string-utils';
|
||||||
|
|
||||||
const BASE_FLOOR_TIME = "0";
|
const BASE_FLOOR_TIME = "0";
|
||||||
|
|
||||||
@ -40,6 +41,7 @@ export default function sharedWebcam(meetingId, userId, stream) {
|
|||||||
$set: {
|
$set: {
|
||||||
stream,
|
stream,
|
||||||
name,
|
name,
|
||||||
|
sortName: lowercaseTrim(name),
|
||||||
lastFloorTime,
|
lastFloorTime,
|
||||||
floor,
|
floor,
|
||||||
pin,
|
pin,
|
||||||
|
@ -261,6 +261,7 @@ class ActionsDropdown extends PureComponent {
|
|||||||
customStyles: p.current ? customStyles : null,
|
customStyles: p.current ? customStyles : null,
|
||||||
icon: "file",
|
icon: "file",
|
||||||
iconRight: p.current ? 'check' : null,
|
iconRight: p.current ? 'check' : null,
|
||||||
|
selected: p.current ? true : false,
|
||||||
label: p.name,
|
label: p.name,
|
||||||
description: "uploaded presentation file",
|
description: "uploaded presentation file",
|
||||||
key: `uploaded-presentation-${p.id}`,
|
key: `uploaded-presentation-${p.id}`,
|
||||||
|
@ -723,8 +723,7 @@ class BreakoutRoom extends PureComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
populateWithLastBreakouts(lastBreakouts) {
|
populateWithLastBreakouts(lastBreakouts) {
|
||||||
const { getBreakoutUserWasIn, intl } = this.props;
|
const { getBreakoutUserWasIn, users, intl } = this.props;
|
||||||
const { users } = this.state;
|
|
||||||
|
|
||||||
const changedNames = [];
|
const changedNames = [];
|
||||||
lastBreakouts.forEach((breakout) => {
|
lastBreakouts.forEach((breakout) => {
|
||||||
|
@ -74,11 +74,7 @@ class LiveCaptions extends PureComponent {
|
|||||||
<div style={captionStyles}>
|
<div style={captionStyles}>
|
||||||
{clear ? '' : data}
|
{clear ? '' : data}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div style={visuallyHidden}>
|
||||||
style={visuallyHidden}
|
|
||||||
aria-atomic
|
|
||||||
aria-live="polite"
|
|
||||||
>
|
|
||||||
{clear ? '' : data}
|
{clear ? '' : data}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -34,7 +34,7 @@ class TypingIndicator extends PureComponent {
|
|||||||
const { length } = typingUsers;
|
const { length } = typingUsers;
|
||||||
const isSingleTyper = length === 1;
|
const isSingleTyper = length === 1;
|
||||||
const isCoupleTyper = length === 2;
|
const isCoupleTyper = length === 2;
|
||||||
const isMuiltiTypers = length > 2;
|
const isMultiTypers = length > 2;
|
||||||
|
|
||||||
let element = null;
|
let element = null;
|
||||||
|
|
||||||
@ -76,7 +76,7 @@ class TypingIndicator extends PureComponent {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isMuiltiTypers) {
|
if (isMultiTypers) {
|
||||||
element = (
|
element = (
|
||||||
<span>
|
<span>
|
||||||
{`${intl.formatMessage(messages.severalPeople)}`}
|
{`${intl.formatMessage(messages.severalPeople)}`}
|
||||||
|
@ -46,7 +46,7 @@ class LocalesDropdown extends PureComponent {
|
|||||||
|
|
||||||
render() {
|
render() {
|
||||||
const {
|
const {
|
||||||
value, handleChange, elementId, selectMessage,
|
value, handleChange, elementId, selectMessage, ariaLabel,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const defaultLocale = value || DEFAULT_VALUE;
|
const defaultLocale = value || DEFAULT_VALUE;
|
||||||
|
|
||||||
@ -57,6 +57,7 @@ class LocalesDropdown extends PureComponent {
|
|||||||
id={elementId}
|
id={elementId}
|
||||||
onChange={handleChange}
|
onChange={handleChange}
|
||||||
value={defaultLocale}
|
value={defaultLocale}
|
||||||
|
aria-label={ariaLabel||''}
|
||||||
>
|
>
|
||||||
<option disabled key={DEFAULT_KEY} value={DEFAULT_VALUE}>
|
<option disabled key={DEFAULT_KEY} value={DEFAULT_VALUE}>
|
||||||
{selectMessage}
|
{selectMessage}
|
||||||
|
@ -16,6 +16,10 @@ const intlMessages = defineMessages({
|
|||||||
id: 'app.dropdown.close',
|
id: 'app.dropdown.close',
|
||||||
description: 'Close button label',
|
description: 'Close button label',
|
||||||
},
|
},
|
||||||
|
active: {
|
||||||
|
id: 'app.dropdown.list.item.activeLabel',
|
||||||
|
description: 'active item label',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
class BBBMenu extends React.Component {
|
class BBBMenu extends React.Component {
|
||||||
@ -61,11 +65,10 @@ class BBBMenu extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
makeMenuItems() {
|
makeMenuItems() {
|
||||||
const { actions, selectedEmoji } = this.props;
|
const { actions, selectedEmoji, intl } = this.props;
|
||||||
|
|
||||||
return actions?.map(a => {
|
return actions?.map(a => {
|
||||||
const { dataTest, label, onClick, key, disabled, description } = a;
|
const { dataTest, label, onClick, key, disabled, description, selected } = a;
|
||||||
|
|
||||||
const emojiSelected = key?.toLowerCase()?.includes(selectedEmoji?.toLowerCase());
|
const emojiSelected = key?.toLowerCase()?.includes(selectedEmoji?.toLowerCase());
|
||||||
|
|
||||||
let customStyles = {
|
let customStyles = {
|
||||||
@ -101,7 +104,7 @@ class BBBMenu extends React.Component {
|
|||||||
<Styled.MenuItemWrapper>
|
<Styled.MenuItemWrapper>
|
||||||
{a.icon ? <Icon iconName={a.icon} key="icon" /> : null}
|
{a.icon ? <Icon iconName={a.icon} key="icon" /> : null}
|
||||||
<Styled.Option aria-describedby={`${key}-option-desc`}>{label}</Styled.Option>
|
<Styled.Option aria-describedby={`${key}-option-desc`}>{label}</Styled.Option>
|
||||||
{description && <div className="sr-only" id={`${key}-option-desc`}>{description}</div>}
|
{description && <div className="sr-only" id={`${key}-option-desc`}>{`${description}${selected ? ` - ${intl.formatMessage(intlMessages.active)}` : ''}`}</div>}
|
||||||
{a.iconRight ? <Styled.IconRight iconName={a.iconRight} key="iconRight" /> : null}
|
{a.iconRight ? <Styled.IconRight iconName={a.iconRight} key="iconRight" /> : null}
|
||||||
</Styled.MenuItemWrapper>
|
</Styled.MenuItemWrapper>
|
||||||
</Styled.BBBMenuItem>,
|
</Styled.BBBMenuItem>,
|
||||||
|
@ -19,6 +19,7 @@ import Checkbox from '/imports/ui/components/common/checkbox/component';
|
|||||||
const { isMobile } = deviceInfo;
|
const { isMobile } = deviceInfo;
|
||||||
|
|
||||||
const propTypes = {
|
const propTypes = {
|
||||||
|
allowDownloadable: PropTypes.bool.isRequired,
|
||||||
intl: PropTypes.object.isRequired,
|
intl: PropTypes.object.isRequired,
|
||||||
fileUploadConstraintsHint: PropTypes.bool.isRequired,
|
fileUploadConstraintsHint: PropTypes.bool.isRequired,
|
||||||
fileSizeMax: PropTypes.number.isRequired,
|
fileSizeMax: PropTypes.number.isRequired,
|
||||||
@ -954,6 +955,18 @@ class PresentationUploader extends Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
renderDownloadableWithAnnotationsHint() {
|
||||||
|
const {
|
||||||
|
intl,
|
||||||
|
allowDownloadable
|
||||||
|
} = this.props;
|
||||||
|
|
||||||
|
return allowDownloadable ? (
|
||||||
|
<Styled.ExportHint>
|
||||||
|
{intl.formatMessage(intlMessages.exportHint)}
|
||||||
|
</Styled.ExportHint>)
|
||||||
|
: null;
|
||||||
|
}
|
||||||
renderPresentationItem(item) {
|
renderPresentationItem(item) {
|
||||||
const { disableActions } = this.state;
|
const { disableActions } = this.state;
|
||||||
const {
|
const {
|
||||||
@ -1108,9 +1121,9 @@ class PresentationUploader extends Component {
|
|||||||
renderExternalUpload() {
|
renderExternalUpload() {
|
||||||
const { externalUploadData, intl } = this.props;
|
const { externalUploadData, intl } = this.props;
|
||||||
|
|
||||||
const { uploadExternalDescription, uploadExternalUrl } = externalUploadData;
|
const { presentationUploadExternalDescription, presentationUploadExternalUrl } = externalUploadData;
|
||||||
|
|
||||||
if (!uploadExternalDescription || !uploadExternalUrl) return null;
|
if (!presentationUploadExternalDescription || !presentationUploadExternalUrl) return null;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Styled.ExternalUpload>
|
<Styled.ExternalUpload>
|
||||||
@ -1119,11 +1132,11 @@ class PresentationUploader extends Component {
|
|||||||
{intl.formatMessage(intlMessages.externalUploadTitle)}
|
{intl.formatMessage(intlMessages.externalUploadTitle)}
|
||||||
</Styled.ExternalUploadTitle>
|
</Styled.ExternalUploadTitle>
|
||||||
|
|
||||||
<p>{uploadExternalDescription}</p>
|
<p>{presentationUploadExternalDescription}</p>
|
||||||
</div>
|
</div>
|
||||||
<Styled.ExternalUploadButton
|
<Styled.ExternalUploadButton
|
||||||
color="default"
|
color="default"
|
||||||
onClick={() => window.open(`${uploadExternalUrl}`)}
|
onClick={() => window.open(`${presentationUploadExternalUrl}`)}
|
||||||
label={intl.formatMessage(intlMessages.externalUploadLabel)}
|
label={intl.formatMessage(intlMessages.externalUploadLabel)}
|
||||||
aria-describedby={intl.formatMessage(intlMessages.externalUploadLabel)}
|
aria-describedby={intl.formatMessage(intlMessages.externalUploadLabel)}
|
||||||
/>
|
/>
|
||||||
@ -1218,10 +1231,8 @@ class PresentationUploader extends Component {
|
|||||||
{`${intl.formatMessage(intlMessages.message)}`}
|
{`${intl.formatMessage(intlMessages.message)}`}
|
||||||
{fileUploadConstraintsHint ? this.renderExtraHint() : null}
|
{fileUploadConstraintsHint ? this.renderExtraHint() : null}
|
||||||
</Styled.ModalHint>
|
</Styled.ModalHint>
|
||||||
{this.renderPresentationList()}
|
{this.renderPresentationList()}
|
||||||
<Styled.ExportHint>
|
{this.renderDownloadableWithAnnotationsHint()}
|
||||||
{intl.formatMessage(intlMessages.exportHint)}
|
|
||||||
</Styled.ExportHint>
|
|
||||||
{isMobile ? this.renderPicDropzone() : null}
|
{isMobile ? this.renderPicDropzone() : null}
|
||||||
{this.renderDropzone()}
|
{this.renderDropzone()}
|
||||||
{this.renderExternalUpload()}
|
{this.renderExternalUpload()}
|
||||||
|
@ -342,17 +342,17 @@ const getExternalUploadData = () => {
|
|||||||
{ meetingId: Auth.meetingID },
|
{ meetingId: Auth.meetingID },
|
||||||
{
|
{
|
||||||
fields: {
|
fields: {
|
||||||
'meetingProp.uploadExternalDescription': 1,
|
'meetingProp.presentationUploadExternalDescription': 1,
|
||||||
'meetingProp.uploadExternalUrl': 1
|
'meetingProp.presentationUploadExternalUrl': 1
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const { uploadExternalDescription, uploadExternalUrl } = meetingProp;
|
const { presentationUploadExternalDescription, presentationUploadExternalUrl } = meetingProp;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
uploadExternalDescription,
|
presentationUploadExternalDescription,
|
||||||
uploadExternalUrl,
|
presentationUploadExternalUrl,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -150,11 +150,14 @@ class Settings extends Component {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
displaySettingsStatus(status) {
|
displaySettingsStatus(status, textOnly = false) {
|
||||||
const { intl } = this.props;
|
const { intl } = this.props;
|
||||||
|
if (textOnly) {
|
||||||
|
return status ? intl.formatMessage(intlMessages.on)
|
||||||
|
: intl.formatMessage(intlMessages.off)
|
||||||
|
}
|
||||||
return (
|
return (
|
||||||
<Styled.ToggleLabel>
|
<Styled.ToggleLabel aria-hidden>
|
||||||
{status ? intl.formatMessage(intlMessages.on)
|
{status ? intl.formatMessage(intlMessages.on)
|
||||||
: intl.formatMessage(intlMessages.off)}
|
: intl.formatMessage(intlMessages.off)}
|
||||||
</Styled.ToggleLabel>
|
</Styled.ToggleLabel>
|
||||||
|
@ -283,7 +283,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={this.state.audioFilterEnabled}
|
defaultChecked={this.state.audioFilterEnabled}
|
||||||
onChange={() => this.handleAudioFilterChange()}
|
onChange={() => this.handleAudioFilterChange()}
|
||||||
ariaLabel={intl.formatMessage(intlMessages.audioFilterLabel)}
|
ariaLabel={`${intl.formatMessage(intlMessages.audioFilterLabel)} - ${displaySettingsStatus(audioFilterStatus, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
@ -319,7 +319,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.paginationEnabled}
|
defaultChecked={settings.paginationEnabled}
|
||||||
onChange={() => this.handleToggle('paginationEnabled')}
|
onChange={() => this.handleToggle('paginationEnabled')}
|
||||||
ariaLabel={intl.formatMessage(intlMessages.paginationEnabledLabel)}
|
ariaLabel={`${intl.formatMessage(intlMessages.paginationEnabledLabel)} - ${displaySettingsStatus(settings.paginationEnabled, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
@ -353,6 +353,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
defaultChecked={settings.darkTheme}
|
defaultChecked={settings.darkTheme}
|
||||||
onChange={() => this.handleToggle('darkTheme')}
|
onChange={() => this.handleToggle('darkTheme')}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
|
ariaLabel={`${intl.formatMessage(intlMessages.darkThemeLabel)} - ${displaySettingsStatus(settings.darkTheme, true)}`}
|
||||||
data-test="darkModeToggleBtn"
|
data-test="darkModeToggleBtn"
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
@ -408,7 +409,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.animations}
|
defaultChecked={settings.animations}
|
||||||
onChange={() => this.handleToggle('animations')}
|
onChange={() => this.handleToggle('animations')}
|
||||||
ariaLabel={intl.formatMessage(intlMessages.animationsLabel)}
|
ariaLabel={`${intl.formatMessage(intlMessages.animationsLabel)} - ${displaySettingsStatus(settings.animations, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
@ -422,10 +423,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.FormElement>
|
<Styled.FormElement>
|
||||||
<Styled.Label
|
<Styled.Label aria-hidden>
|
||||||
htmlFor="langSelector"
|
|
||||||
aria-label={intl.formatMessage(intlMessages.languageLabel)}
|
|
||||||
>
|
|
||||||
{intl.formatMessage(intlMessages.languageLabel)}
|
{intl.formatMessage(intlMessages.languageLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.FormElement>
|
</Styled.FormElement>
|
||||||
@ -439,6 +437,7 @@ class ApplicationMenu extends BaseMenu {
|
|||||||
handleChange={(e) => this.handleSelectChange('locale', e)}
|
handleChange={(e) => this.handleSelectChange('locale', e)}
|
||||||
value={settings.locale}
|
value={settings.locale}
|
||||||
elementId="langSelector"
|
elementId="langSelector"
|
||||||
|
ariaLabel={intl.formatMessage(intlMessages.languageLabel)}
|
||||||
selectMessage={intl.formatMessage(intlMessages.languageOptionLabel)}
|
selectMessage={intl.formatMessage(intlMessages.languageOptionLabel)}
|
||||||
/>
|
/>
|
||||||
</Styled.LocalesDropdownSelect>
|
</Styled.LocalesDropdownSelect>
|
||||||
|
@ -54,7 +54,7 @@ class DataSaving extends BaseMenu {
|
|||||||
{isVideoEnabled
|
{isVideoEnabled
|
||||||
? (
|
? (
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col aria-hidden="true">
|
<Styled.Col aria-hidden>
|
||||||
<Styled.FormElement>
|
<Styled.FormElement>
|
||||||
<Styled.Label>
|
<Styled.Label>
|
||||||
{intl.formatMessage(intlMessages.webcamLabel)}
|
{intl.formatMessage(intlMessages.webcamLabel)}
|
||||||
@ -69,7 +69,7 @@ class DataSaving extends BaseMenu {
|
|||||||
defaultChecked={viewParticipantsWebcams}
|
defaultChecked={viewParticipantsWebcams}
|
||||||
onChange={() => this.handleToggle('viewParticipantsWebcams')}
|
onChange={() => this.handleToggle('viewParticipantsWebcams')}
|
||||||
ariaLabelledBy="webcamToggle"
|
ariaLabelledBy="webcamToggle"
|
||||||
ariaLabel={intl.formatMessage(intlMessages.webcamLabel)}
|
ariaLabel={`${intl.formatMessage(intlMessages.webcamLabel)} - ${displaySettingsStatus(viewParticipantsWebcams, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
@ -80,7 +80,7 @@ class DataSaving extends BaseMenu {
|
|||||||
{isScreenSharingEnabled
|
{isScreenSharingEnabled
|
||||||
? (
|
? (
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col aria-hidden="true">
|
<Styled.Col aria-hidden>
|
||||||
<Styled.FormElement>
|
<Styled.FormElement>
|
||||||
<Styled.Label>
|
<Styled.Label>
|
||||||
{intl.formatMessage(intlMessages.screenShareLabel)}
|
{intl.formatMessage(intlMessages.screenShareLabel)}
|
||||||
@ -95,7 +95,7 @@ class DataSaving extends BaseMenu {
|
|||||||
defaultChecked={viewScreenshare}
|
defaultChecked={viewScreenshare}
|
||||||
onChange={() => this.handleToggle('viewScreenshare')}
|
onChange={() => this.handleToggle('viewScreenshare')}
|
||||||
ariaLabelledBy="screenShare"
|
ariaLabelledBy="screenShare"
|
||||||
ariaLabel={intl.formatMessage(intlMessages.screenShareLabel)}
|
ariaLabel={`${intl.formatMessage(intlMessages.screenShareLabel)} - ${displaySettingsStatus(viewScreenshare, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementRight>
|
</Styled.FormElementRight>
|
||||||
|
@ -77,7 +77,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<Styled.Form>
|
<Styled.Form>
|
||||||
<Styled.Row>
|
<Styled.Row aria-hidden>
|
||||||
<Styled.Col />
|
<Styled.Col />
|
||||||
<Styled.ColHeading>
|
<Styled.ColHeading>
|
||||||
{intl.formatMessage(intlMessages.audioAlertLabel)}
|
{intl.formatMessage(intlMessages.audioAlertLabel)}
|
||||||
@ -90,7 +90,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
{isChatEnabled() ? (
|
{isChatEnabled() ? (
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.Label>
|
<Styled.Label aria-hidden>
|
||||||
{intl.formatMessage(intlMessages.messagesLabel)}
|
{intl.formatMessage(intlMessages.messagesLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.Col>
|
</Styled.Col>
|
||||||
@ -101,7 +101,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.chatAudioAlerts}
|
defaultChecked={settings.chatAudioAlerts}
|
||||||
onChange={() => this.handleToggle('chatAudioAlerts')}
|
onChange={() => this.handleToggle('chatAudioAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.messagesLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.messagesLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)} - ${displaySettingsStatus(settings.chatAudioAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -113,7 +113,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.chatPushAlerts}
|
defaultChecked={settings.chatPushAlerts}
|
||||||
onChange={() => this.handleToggle('chatPushAlerts')}
|
onChange={() => this.handleToggle('chatPushAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.messagesLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.messagesLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)} - ${displaySettingsStatus(settings.chatPushAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
data-test="chatPopupAlertsBtn"
|
data-test="chatPopupAlertsBtn"
|
||||||
/>
|
/>
|
||||||
@ -124,7 +124,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
|
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.Label>
|
<Styled.Label aria-hidden>
|
||||||
{intl.formatMessage(intlMessages.userJoinLabel)}
|
{intl.formatMessage(intlMessages.userJoinLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.Col>
|
</Styled.Col>
|
||||||
@ -135,7 +135,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.userJoinAudioAlerts}
|
defaultChecked={settings.userJoinAudioAlerts}
|
||||||
onChange={() => this.handleToggle('userJoinAudioAlerts')}
|
onChange={() => this.handleToggle('userJoinAudioAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.userJoinLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.userJoinLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)} - ${displaySettingsStatus(settings.userJoinAudioAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -147,7 +147,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.userJoinPushAlerts}
|
defaultChecked={settings.userJoinPushAlerts}
|
||||||
onChange={() => this.handleToggle('userJoinPushAlerts')}
|
onChange={() => this.handleToggle('userJoinPushAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.userJoinLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.userJoinLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)} - ${displaySettingsStatus(settings.userJoinPushAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
data-test="userJoinPopupAlerts"
|
data-test="userJoinPopupAlerts"
|
||||||
/>
|
/>
|
||||||
@ -157,7 +157,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
|
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.Label>
|
<Styled.Label aria-hidden>
|
||||||
{intl.formatMessage(intlMessages.userLeaveLabel)}
|
{intl.formatMessage(intlMessages.userLeaveLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.Col>
|
</Styled.Col>
|
||||||
@ -168,7 +168,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.userLeaveAudioAlerts}
|
defaultChecked={settings.userLeaveAudioAlerts}
|
||||||
onChange={() => this.handleToggle('userLeaveAudioAlerts')}
|
onChange={() => this.handleToggle('userLeaveAudioAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.userLeaveLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.userLeaveLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)} - ${displaySettingsStatus(settings.userLeaveAudioAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -180,7 +180,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.userLeavePushAlerts}
|
defaultChecked={settings.userLeavePushAlerts}
|
||||||
onChange={() => this.handleToggle('userLeavePushAlerts')}
|
onChange={() => this.handleToggle('userLeavePushAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.userLeaveLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.userLeaveLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)} - ${displaySettingsStatus(settings.userLeavePushAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -190,7 +190,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
{isModerator && showGuestNotification ? (
|
{isModerator && showGuestNotification ? (
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.Label>
|
<Styled.Label aria-hidden>
|
||||||
{intl.formatMessage(intlMessages.guestWaitingLabel)}
|
{intl.formatMessage(intlMessages.guestWaitingLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.Col>
|
</Styled.Col>
|
||||||
@ -201,7 +201,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.guestWaitingAudioAlerts}
|
defaultChecked={settings.guestWaitingAudioAlerts}
|
||||||
onChange={() => this.handleToggle('guestWaitingAudioAlerts')}
|
onChange={() => this.handleToggle('guestWaitingAudioAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.guestWaitingLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.guestWaitingLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)} - ${displaySettingsStatus(settings.guestWaitingAudioAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -213,7 +213,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.guestWaitingPushAlerts}
|
defaultChecked={settings.guestWaitingPushAlerts}
|
||||||
onChange={() => this.handleToggle('guestWaitingPushAlerts')}
|
onChange={() => this.handleToggle('guestWaitingPushAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.guestWaitingLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.guestWaitingLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)} - ${displaySettingsStatus(settings.guestWaitingPushAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -224,7 +224,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
{isModerator ? (
|
{isModerator ? (
|
||||||
<Styled.Row>
|
<Styled.Row>
|
||||||
<Styled.Col>
|
<Styled.Col>
|
||||||
<Styled.Label>
|
<Styled.Label aria-hidden>
|
||||||
{intl.formatMessage(intlMessages.raiseHandLabel)}
|
{intl.formatMessage(intlMessages.raiseHandLabel)}
|
||||||
</Styled.Label>
|
</Styled.Label>
|
||||||
</Styled.Col>
|
</Styled.Col>
|
||||||
@ -235,7 +235,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.raiseHandAudioAlerts}
|
defaultChecked={settings.raiseHandAudioAlerts}
|
||||||
onChange={() => this.handleToggle('raiseHandAudioAlerts')}
|
onChange={() => this.handleToggle('raiseHandAudioAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.raiseHandLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.raiseHandLabel)} ${intl.formatMessage(intlMessages.audioAlertLabel)} - ${displaySettingsStatus(settings.raiseHandAudioAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
@ -247,7 +247,7 @@ class NotificationMenu extends BaseMenu {
|
|||||||
icons={false}
|
icons={false}
|
||||||
defaultChecked={settings.raiseHandPushAlerts}
|
defaultChecked={settings.raiseHandPushAlerts}
|
||||||
onChange={() => this.handleToggle('raiseHandPushAlerts')}
|
onChange={() => this.handleToggle('raiseHandPushAlerts')}
|
||||||
ariaLabel={`${intl.formatMessage(intlMessages.raiseHandLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)}`}
|
ariaLabel={`${intl.formatMessage(intlMessages.raiseHandLabel)} ${intl.formatMessage(intlMessages.pushAlertLabel)} - ${displaySettingsStatus(settings.raiseHandPushAlerts, true)}`}
|
||||||
showToggleLabel={showToggleLabel}
|
showToggleLabel={showToggleLabel}
|
||||||
/>
|
/>
|
||||||
</Styled.FormElementCenter>
|
</Styled.FormElementCenter>
|
||||||
|
@ -316,19 +316,19 @@ const ShortcutHelpComponent = (props) => {
|
|||||||
//views
|
//views
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomIn), 'Ctrl +'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomIn), 'Ctrl +'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomOut), 'Ctrl -'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomOut), 'Ctrl -'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomFit), '↑ + 1'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomFit), 'Shift 1'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomSelect), '↑ + 2'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.zoomSelect), 'Shift 2'));
|
||||||
//transform
|
//transform
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.flipH), '↑ + H'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.flipH), 'Shift H'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.flipV), '↑ + V'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.flipV), 'Shift V'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.lock), 'Ctrl ↑ L'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.lock), 'Ctrl Shift L'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveToFront), '↑ ]'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveToFront), 'Shift ]'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveForward), ']'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveForward), ']'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveBackward), '['));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveBackward), '['));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveToBack), '↑ ['));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.moveToBack), 'Shift ['));
|
||||||
//edit
|
//edit
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.undo), 'Ctrl Z'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.undo), 'Ctrl Z'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.redo), 'Ctrl ↑ Z'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.redo), 'Ctrl Shift Z'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.cut), 'Ctrl X'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.cut), 'Ctrl X'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.copy), 'Ctrl C'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.copy), 'Ctrl C'));
|
||||||
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.paste), 'Ctrl V'));
|
whiteboardShortcutItems.push(renderItem(intl.formatMessage(intlMessages.paste), 'Ctrl V'));
|
||||||
|
@ -60,8 +60,8 @@ const sortUsersByUserId = (a, b) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const sortUsersByName = (a, b) => {
|
const sortUsersByName = (a, b) => {
|
||||||
const aName = a.name ? a.name.toLowerCase() : '';
|
const aName = a.sortName || '';
|
||||||
const bName = b.name ? b.name.toLowerCase() : '';
|
const bName = b.sortName || '';
|
||||||
|
|
||||||
// Extending for sorting strings with non-ASCII characters
|
// Extending for sorting strings with non-ASCII characters
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#sorting_non-ascii_characters
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#sorting_non-ascii_characters
|
||||||
|
@ -235,6 +235,7 @@ class UserOptions extends PureComponent {
|
|||||||
description: intl.formatMessage(intlMessages[isMeetingMuted ? 'unmuteAllDesc' : 'muteAllDesc']),
|
description: intl.formatMessage(intlMessages[isMeetingMuted ? 'unmuteAllDesc' : 'muteAllDesc']),
|
||||||
onClick: toggleMuteAllUsers,
|
onClick: toggleMuteAllUsers,
|
||||||
icon: isMeetingMuted ? 'unmute' : 'mute',
|
icon: isMeetingMuted ? 'unmute' : 'mute',
|
||||||
|
dataTest: 'muteAll',
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!isMeetingMuted) {
|
if (!isMeetingMuted) {
|
||||||
@ -244,6 +245,7 @@ class UserOptions extends PureComponent {
|
|||||||
description: intl.formatMessage(intlMessages.muteAllExceptPresenterDesc),
|
description: intl.formatMessage(intlMessages.muteAllExceptPresenterDesc),
|
||||||
onClick: toggleMuteAllUsersExceptPresenter,
|
onClick: toggleMuteAllUsersExceptPresenter,
|
||||||
icon: 'mute',
|
icon: 'mute',
|
||||||
|
dataTest: 'muteAllExceptPresenter',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -533,6 +533,7 @@ class VideoProvider extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const peer = new WebRtcPeer('sendonly', peerOptions);
|
const peer = new WebRtcPeer('sendonly', peerOptions);
|
||||||
|
peer.bbbVideoStream = bbbVideoStream;
|
||||||
this.webRtcPeers[stream] = peer;
|
this.webRtcPeers[stream] = peer;
|
||||||
peer.stream = stream;
|
peer.stream = stream;
|
||||||
peer.started = false;
|
peer.started = false;
|
||||||
@ -546,7 +547,7 @@ class VideoProvider extends Component {
|
|||||||
peer.generateOffer().then((offer) => {
|
peer.generateOffer().then((offer) => {
|
||||||
// Store the media stream if necessary. The scenario here is one where
|
// Store the media stream if necessary. The scenario here is one where
|
||||||
// there is no preloaded stream stored.
|
// there is no preloaded stream stored.
|
||||||
if (bbbVideoStream == null) {
|
if (peer.bbbVideoStream == null) {
|
||||||
bbbVideoStream = new BBBVideoStream(peer.getLocalStream());
|
bbbVideoStream = new BBBVideoStream(peer.getLocalStream());
|
||||||
VideoPreviewService.storeStream(
|
VideoPreviewService.storeStream(
|
||||||
MediaStreamUtils.extractDeviceIdFromStream(
|
MediaStreamUtils.extractDeviceIdFromStream(
|
||||||
@ -614,7 +615,6 @@ class VideoProvider extends Component {
|
|||||||
},
|
},
|
||||||
onicecandidate: this._getOnIceCandidateCallback(stream, isLocal),
|
onicecandidate: this._getOnIceCandidateCallback(stream, isLocal),
|
||||||
configuration: {
|
configuration: {
|
||||||
iceTransportPolicy: shouldForceRelay() ? 'relay' : undefined,
|
|
||||||
},
|
},
|
||||||
trace: TRACE_LOGS,
|
trace: TRACE_LOGS,
|
||||||
networkPriorities: NETWORK_PRIORITY ? { video: NETWORK_PRIORITY } : undefined,
|
networkPriorities: NETWORK_PRIORITY ? { video: NETWORK_PRIORITY } : undefined,
|
||||||
@ -635,6 +635,9 @@ class VideoProvider extends Component {
|
|||||||
// Use fallback STUN server
|
// Use fallback STUN server
|
||||||
iceServers = getMappedFallbackStun();
|
iceServers = getMappedFallbackStun();
|
||||||
} finally {
|
} finally {
|
||||||
|
// we need to set iceTransportPolicy after `fetchWebRTCMappedStunTurnServers`
|
||||||
|
// because `shouldForceRelay` uses the information from the stun API
|
||||||
|
peerOptions.configuration.iceTransportPolicy = shouldForceRelay() ? 'relay' : undefined;
|
||||||
if (iceServers.length > 0) {
|
if (iceServers.length > 0) {
|
||||||
peerOptions.configuration.iceServers = iceServers;
|
peerOptions.configuration.iceServers = iceServers;
|
||||||
}
|
}
|
||||||
@ -928,6 +931,11 @@ class VideoProvider extends Component {
|
|||||||
peer.attached = true;
|
peer.attached = true;
|
||||||
|
|
||||||
if (isLocal) {
|
if (isLocal) {
|
||||||
|
if (peer.bbbVideoStream == null) {
|
||||||
|
this.handleVirtualBgError(new TypeError('Undefined media stream'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const deviceId = MediaStreamUtils.extractDeviceIdFromStream(
|
const deviceId = MediaStreamUtils.extractDeviceIdFromStream(
|
||||||
peer.bbbVideoStream.mediaStream,
|
peer.bbbVideoStream.mediaStream,
|
||||||
'video',
|
'video',
|
||||||
@ -994,7 +1002,7 @@ class VideoProvider extends Component {
|
|||||||
},
|
},
|
||||||
}, `Failed to restore virtual background after reentering the room: ${error.message}`);
|
}, `Failed to restore virtual background after reentering the room: ${error.message}`);
|
||||||
|
|
||||||
notify(intl.formatMessage(intlMessages.virtualBgGenericError), 'error', 'video');
|
notify(intl.formatMessage(intlClientErrors.virtualBgGenericError), 'error', 'video');
|
||||||
}
|
}
|
||||||
|
|
||||||
createVideoTag(stream, video) {
|
createVideoTag(stream, video) {
|
||||||
|
@ -86,7 +86,7 @@ export const sortLocalPresenterAlphabetical = (s1, s2) => mandatorySorting(s1, s
|
|||||||
// 2 - add an entry to SORTING_METHODS, the key being the name to be used
|
// 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
|
// in settings.yml and the value object like the aforementioned
|
||||||
const MANDATORY_DATA_TYPES = {
|
const MANDATORY_DATA_TYPES = {
|
||||||
userId: 1, stream: 1, name: 1, deviceId: 1, floor: 1, pin: 1,
|
userId: 1, stream: 1, name: 1, sortName: 1, deviceId: 1, floor: 1, pin: 1,
|
||||||
};
|
};
|
||||||
const SORTING_METHODS = Object.freeze({
|
const SORTING_METHODS = Object.freeze({
|
||||||
// Default
|
// Default
|
||||||
@ -132,6 +132,7 @@ export const sortVideoStreams = (streams, mode) => {
|
|||||||
stream: videoStream.stream,
|
stream: videoStream.stream,
|
||||||
userId: videoStream.userId,
|
userId: videoStream.userId,
|
||||||
name: videoStream.name,
|
name: videoStream.name,
|
||||||
|
sortName: videoStream.sortName,
|
||||||
floor: videoStream.floor,
|
floor: videoStream.floor,
|
||||||
pin: videoStream.pin,
|
pin: videoStream.pin,
|
||||||
}));
|
}));
|
||||||
|
@ -452,6 +452,14 @@ export default function Whiteboard(props) {
|
|||||||
tldrawAPI?.setSetting('language', language);
|
tldrawAPI?.setSetting('language', language);
|
||||||
}, [language]);
|
}, [language]);
|
||||||
|
|
||||||
|
// Reset zoom to default when current presentation changes.
|
||||||
|
React.useEffect(() => {
|
||||||
|
if (isPresenter && slidePosition && tldrawAPI) {
|
||||||
|
const zoom = calculateZoom(slidePosition.width, slidePosition.height);
|
||||||
|
tldrawAPI.zoomTo(zoom);
|
||||||
|
}
|
||||||
|
}, [curPres?.id]);
|
||||||
|
|
||||||
const onMount = (app) => {
|
const onMount = (app) => {
|
||||||
const menu = document.getElementById("TD-Styles")?.parentElement;
|
const menu = document.getElementById("TD-Styles")?.parentElement;
|
||||||
if (menu) {
|
if (menu) {
|
||||||
@ -696,30 +704,44 @@ export default function Whiteboard(props) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onPaste = (e) => {
|
||||||
|
// disable file pasting
|
||||||
|
const clipboardData = e.clipboardData || window.clipboardData;
|
||||||
|
const { types } = clipboardData;
|
||||||
|
const hasFiles = types && types.indexOf && types.indexOf('Files') !== -1;
|
||||||
|
|
||||||
|
if (hasFiles) {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const webcams = document.getElementById('cameraDock');
|
const webcams = document.getElementById('cameraDock');
|
||||||
const dockPos = webcams?.getAttribute("data-position");
|
const dockPos = webcams?.getAttribute("data-position");
|
||||||
const editableWB = (
|
const editableWB = (
|
||||||
<Tldraw
|
<div onPaste={onPaste}>
|
||||||
key={`wb-${isRTL}-${dockPos}-${forcePanning}`}
|
<Tldraw
|
||||||
document={doc}
|
key={`wb-${isRTL}-${dockPos}-${forcePanning}`}
|
||||||
// disable the ability to drag and drop files onto the whiteboard
|
document={doc}
|
||||||
// until we handle saving of assets in akka.
|
// disable the ability to drag and drop files onto the whiteboard
|
||||||
disableAssets={true}
|
// until we handle saving of assets in akka.
|
||||||
// Disable automatic focus. Users were losing focus on shared notes
|
disableAssets={true}
|
||||||
// and chat on presentation mount.
|
// Disable automatic focus. Users were losing focus on shared notes
|
||||||
autofocus={false}
|
// and chat on presentation mount.
|
||||||
onMount={onMount}
|
autofocus={false}
|
||||||
showPages={false}
|
onMount={onMount}
|
||||||
showZoom={false}
|
showPages={false}
|
||||||
showUI={curPres ? (isPresenter || hasWBAccess) : true}
|
showZoom={false}
|
||||||
showMenu={curPres ? false : true}
|
showUI={curPres ? (isPresenter || hasWBAccess) : true}
|
||||||
showMultiplayerMenu={false}
|
showMenu={curPres ? false : true}
|
||||||
readOnly={false}
|
showMultiplayerMenu={false}
|
||||||
onPatch={onPatch}
|
readOnly={false}
|
||||||
onUndo={onUndo}
|
onPatch={onPatch}
|
||||||
onRedo={onRedo}
|
onUndo={onUndo}
|
||||||
onCommand={onCommand}
|
onRedo={onRedo}
|
||||||
/>
|
onCommand={onCommand}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
const readOnlyWB = (
|
const readOnlyWB = (
|
||||||
|
@ -187,9 +187,9 @@ export default function Cursors(props) {
|
|||||||
if (panel) xOffset += parseFloat(panel?.style?.width);
|
if (panel) xOffset += parseFloat(panel?.style?.width);
|
||||||
if (subPanel) xOffset += parseFloat(subPanel?.style?.width);
|
if (subPanel) xOffset += parseFloat(subPanel?.style?.width);
|
||||||
|
|
||||||
// disable native tldraw eraser animation
|
// offset native tldraw eraser animation container
|
||||||
const eraserLine = document.getElementsByClassName('tl-erase-line')[0];
|
const overlay = document.getElementsByClassName('tl-overlay')[0];
|
||||||
if (eraserLine) eraserLine.style.display = 'none';
|
if (overlay) overlay.style.left = '0px';
|
||||||
|
|
||||||
if (type === 'touchmove') {
|
if (type === 'touchmove') {
|
||||||
calcPresOffset();
|
calcPresOffset();
|
||||||
|
@ -9,6 +9,7 @@ import PollService from '/imports/ui/components/poll/service';
|
|||||||
import logger from '/imports/startup/client/logger';
|
import logger from '/imports/startup/client/logger';
|
||||||
import { defineMessages } from 'react-intl';
|
import { defineMessages } from 'react-intl';
|
||||||
import { notify } from '/imports/ui/services/notification';
|
import { notify } from '/imports/ui/services/notification';
|
||||||
|
import caseInsensitiveReducer from '/imports/utils/caseInsensitiveReducer';
|
||||||
|
|
||||||
const Annotations = new Mongo.Collection(null);
|
const Annotations = new Mongo.Collection(null);
|
||||||
|
|
||||||
@ -340,6 +341,7 @@ const getShapes = (whiteboardId, curPageId, intl) => {
|
|||||||
annotations.forEach((annotation) => {
|
annotations.forEach((annotation) => {
|
||||||
if (annotation.annotationInfo.questionType) {
|
if (annotation.annotationInfo.questionType) {
|
||||||
// poll result, convert it to text and create tldraw shape
|
// poll result, convert it to text and create tldraw shape
|
||||||
|
annotation.annotationInfo.answers = annotation.annotationInfo.answers.reduce(caseInsensitiveReducer, []);
|
||||||
const pollResult = PollService.getPollResultString(annotation.annotationInfo, intl)
|
const pollResult = PollService.getPollResultString(annotation.annotationInfo, intl)
|
||||||
.split('<br/>').join('\n').replace( /(<([^>]+)>)/ig, '');
|
.split('<br/>').join('\n').replace( /(<([^>]+)>)/ig, '');
|
||||||
annotation.annotationInfo = {
|
annotation.annotationInfo = {
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import browserInfo from '/imports/utils/browserInfo';
|
import browserInfo from '/imports/utils/browserInfo';
|
||||||
import deviceInfo from '/imports/utils/deviceInfo';
|
import deviceInfo from '/imports/utils/deviceInfo';
|
||||||
|
import { hasTurnServer } from '/imports/utils/fetchStunTurnServers';
|
||||||
|
|
||||||
const FORCE_RELAY_ON_FF = Meteor.settings.public.kurento.forceRelayOnFirefox;
|
const FORCE_RELAY_ON_FF = Meteor.settings.public.media.forceRelayOnFirefox;
|
||||||
const FORCE_RELAY = Meteor.settings.public.media.forceRelay;
|
const FORCE_RELAY = Meteor.settings.public.media.forceRelay;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -16,7 +17,7 @@ const shouldForceRelay = () => {
|
|||||||
const { isFirefox } = browserInfo;
|
const { isFirefox } = browserInfo;
|
||||||
const { isIos } = deviceInfo;
|
const { isIos } = deviceInfo;
|
||||||
|
|
||||||
return FORCE_RELAY || ((isFirefox && !isIos) && FORCE_RELAY_ON_FF);
|
return FORCE_RELAY || ((isFirefox && !isIos) && FORCE_RELAY_ON_FF && hasTurnServer());
|
||||||
};
|
};
|
||||||
|
|
||||||
export {
|
export {
|
||||||
|
@ -7,9 +7,12 @@ const FALLBACK_STUN_SERVER = MEDIA.fallbackStunServer;
|
|||||||
|
|
||||||
let STUN_TURN_DICT;
|
let STUN_TURN_DICT;
|
||||||
let MAPPED_STUN_TURN_DICT;
|
let MAPPED_STUN_TURN_DICT;
|
||||||
|
let TURN_CACHE_VALID_UNTIL = Math.floor(Date.now() / 1000);
|
||||||
|
let HAS_SEEN_TURN_SERVER = false;
|
||||||
|
|
||||||
const fetchStunTurnServers = function (sessionToken) {
|
const fetchStunTurnServers = function (sessionToken) {
|
||||||
if (STUN_TURN_DICT && CACHE_STUN_TURN) return Promise.resolve(STUN_TURN_DICT);
|
const now = Math.floor(Date.now() / 1000);
|
||||||
|
if (STUN_TURN_DICT && CACHE_STUN_TURN && now < TURN_CACHE_VALID_UNTIL) return Promise.resolve(STUN_TURN_DICT);
|
||||||
|
|
||||||
const handleStunTurnResponse = ({ stunServers, turnServers }) => {
|
const handleStunTurnResponse = ({ stunServers, turnServers }) => {
|
||||||
if (!stunServers && !turnServers) {
|
if (!stunServers && !turnServers) {
|
||||||
@ -17,14 +20,23 @@ const fetchStunTurnServers = function (sessionToken) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const turnReply = [];
|
const turnReply = [];
|
||||||
|
let max_ttl = null;
|
||||||
_.each(turnServers, (turnEntry) => {
|
_.each(turnServers, (turnEntry) => {
|
||||||
const { password, url, username } = turnEntry;
|
const { password, url, username } = turnEntry;
|
||||||
|
const valid_until = parseInt(username.split(':')[0]);
|
||||||
|
if (!max_ttl) {
|
||||||
|
max_ttl = valid_until;
|
||||||
|
} else if (valid_until < max_ttl) {
|
||||||
|
max_ttl = valid_until;
|
||||||
|
}
|
||||||
turnReply.push({
|
turnReply.push({
|
||||||
urls: url,
|
urls: url,
|
||||||
password,
|
password,
|
||||||
username,
|
username,
|
||||||
});
|
});
|
||||||
|
HAS_SEEN_TURN_SERVER = true;
|
||||||
});
|
});
|
||||||
|
TURN_CACHE_VALID_UNTIL = max_ttl;
|
||||||
|
|
||||||
const stDictionary = {
|
const stDictionary = {
|
||||||
stun: stunServers.map(server => server.url),
|
stun: stunServers.map(server => server.url),
|
||||||
@ -58,7 +70,8 @@ const getMappedFallbackStun = () => (FALLBACK_STUN_SERVER ? [{ urls: FALLBACK_ST
|
|||||||
const fetchWebRTCMappedStunTurnServers = function (sessionToken) {
|
const fetchWebRTCMappedStunTurnServers = function (sessionToken) {
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
try {
|
try {
|
||||||
if (MAPPED_STUN_TURN_DICT && CACHE_STUN_TURN) {
|
const now = Math.floor(Date.now() / 1000);
|
||||||
|
if (MAPPED_STUN_TURN_DICT && CACHE_STUN_TURN && now < TURN_CACHE_VALID_UNTIL) {
|
||||||
return resolve(MAPPED_STUN_TURN_DICT);
|
return resolve(MAPPED_STUN_TURN_DICT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,9 +85,14 @@ const fetchWebRTCMappedStunTurnServers = function (sessionToken) {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const hasTurnServer = () => {
|
||||||
|
return HAS_SEEN_TURN_SERVER;
|
||||||
|
}
|
||||||
|
|
||||||
export {
|
export {
|
||||||
fetchStunTurnServers,
|
fetchStunTurnServers,
|
||||||
fetchWebRTCMappedStunTurnServers,
|
fetchWebRTCMappedStunTurnServers,
|
||||||
getFallbackStun,
|
getFallbackStun,
|
||||||
getMappedFallbackStun,
|
getMappedFallbackStun,
|
||||||
|
hasTurnServer,
|
||||||
};
|
};
|
||||||
|
@ -47,6 +47,10 @@ export const safeMatch = (regex, content, defaultValue) => {
|
|||||||
return content.match(regex) || defaultValue;
|
return content.match(regex) || defaultValue;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const lowercaseTrim = (text) => {
|
||||||
|
return text.trim().toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
capitalizeFirstLetter,
|
capitalizeFirstLetter,
|
||||||
getDateString,
|
getDateString,
|
||||||
@ -55,4 +59,5 @@ export default {
|
|||||||
unescapeHtml,
|
unescapeHtml,
|
||||||
formatLocaleCode,
|
formatLocaleCode,
|
||||||
safeMatch,
|
safeMatch,
|
||||||
|
lowercaseTrim,
|
||||||
};
|
};
|
||||||
|
326
bigbluebutton-html5/package-lock.json
generated
326
bigbluebutton-html5/package-lock.json
generated
@ -445,6 +445,31 @@
|
|||||||
"use-isomorphic-layout-effect": "^1.1.1"
|
"use-isomorphic-layout-effect": "^1.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@fontsource/caveat-brush": {
|
||||||
|
"version": "4.5.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/caveat-brush/-/caveat-brush-4.5.9.tgz",
|
||||||
|
"integrity": "sha512-H4uDBRSmTYX0Pman53VO8IP8JVnGd2wD4YyXHY0KTQX6jE0rs+UHuzraKGF8WTqBO7854VRCq09sPDhvLvqicQ=="
|
||||||
|
},
|
||||||
|
"@fontsource/crimson-pro": {
|
||||||
|
"version": "4.5.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/crimson-pro/-/crimson-pro-4.5.10.tgz",
|
||||||
|
"integrity": "sha512-4L7B+woKIWiwOQrCvvpAQeEob3xoq5fVLTyt0YhXVafy2KWBTCcFVo/Y9n0UpDtGso9jN8pMo3SrYa3V6IayVw=="
|
||||||
|
},
|
||||||
|
"@fontsource/recursive": {
|
||||||
|
"version": "4.5.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/recursive/-/recursive-4.5.11.tgz",
|
||||||
|
"integrity": "sha512-pAb+Qk1J0BysC6NTaaGDnhoorT4F8ZZKScWRUfqLpXP/wqH/lp9ccUcTxpS/pMawvmjZyNoKvQucvOvZNscUgw=="
|
||||||
|
},
|
||||||
|
"@fontsource/source-code-pro": {
|
||||||
|
"version": "4.5.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/source-code-pro/-/source-code-pro-4.5.12.tgz",
|
||||||
|
"integrity": "sha512-6r1dykX7SH1Orm7xUh4sA8pjM1uNPKo9fV+y9/wxS+y/fwN+sMf6b1jHDUTmfEtw1OxlTaHGrr2I7dGeNqxdPA=="
|
||||||
|
},
|
||||||
|
"@fontsource/source-sans-pro": {
|
||||||
|
"version": "4.5.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fontsource/source-sans-pro/-/source-sans-pro-4.5.11.tgz",
|
||||||
|
"integrity": "sha512-f7iw44q1EjBv3MNcHCGAgrW/QVyweaEouFsJzykPhTOGnZFSwFJRISToXornOmuAy7xUUGiVdqOLiykgZoYB8A=="
|
||||||
|
},
|
||||||
"@formatjs/ecma402-abstract": {
|
"@formatjs/ecma402-abstract": {
|
||||||
"version": "1.12.0",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz",
|
||||||
@ -1379,9 +1404,9 @@
|
|||||||
"integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA=="
|
"integrity": "sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA=="
|
||||||
},
|
},
|
||||||
"@tldraw/core": {
|
"@tldraw/core": {
|
||||||
"version": "1.20.0",
|
"version": "1.20.3",
|
||||||
"resolved": "https://registry.npmjs.org/@tldraw/core/-/core-1.20.0.tgz",
|
"resolved": "https://registry.npmjs.org/@tldraw/core/-/core-1.20.3.tgz",
|
||||||
"integrity": "sha512-zOQMS0bVj9x1RCCu7GzjjKzu36P577/BCuA9HF4Q9GNyZocvdoqGe0hv82AbDQIO8ktDfFSKPUGdGtlno0n+Lw==",
|
"integrity": "sha512-R/HqtQOg8yedcN70m75ekdm2u6dAHQpg3uxmzd7/TsdUnbfZc5UMp3TakYlTD6JwSSRV0n2huI4AD8D/NJ5jEw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tldraw/intersect": "^1.8.0",
|
"@tldraw/intersect": "^1.8.0",
|
||||||
"@tldraw/vec": "^1.8.0",
|
"@tldraw/vec": "^1.8.0",
|
||||||
@ -1398,10 +1423,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tldraw/tldraw": {
|
"@tldraw/tldraw": {
|
||||||
"version": "1.26.1",
|
"version": "1.26.4",
|
||||||
"resolved": "https://registry.npmjs.org/@tldraw/tldraw/-/tldraw-1.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/@tldraw/tldraw/-/tldraw-1.26.4.tgz",
|
||||||
"integrity": "sha512-SHskYUuZxvL0ugYeBnQ8o7UAs1yhfx/IQsmnolryPqmcFDoZ1y5K5lnkSAclDliv2HTbl9jZ/p85Zul9T4i+CQ==",
|
"integrity": "sha512-hD1lyM+TvaWkAtDKRXHu3Vt2a7OhJOlyEeaNoe0Nhgxb8BbrcdS8sTPKYL4CWjKmdFjYJ2ZfPlaiF2Dzvwk3JA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
|
"@fontsource/caveat-brush": "^4.5.9",
|
||||||
|
"@fontsource/crimson-pro": "^4.5.10",
|
||||||
|
"@fontsource/recursive": "^4.5.11",
|
||||||
|
"@fontsource/source-code-pro": "^4.5.12",
|
||||||
|
"@fontsource/source-sans-pro": "^4.5.11",
|
||||||
"@radix-ui/react-alert-dialog": "^1.0.0",
|
"@radix-ui/react-alert-dialog": "^1.0.0",
|
||||||
"@radix-ui/react-context-menu": "^1.0.0",
|
"@radix-ui/react-context-menu": "^1.0.0",
|
||||||
"@radix-ui/react-dialog": "^1.0.0",
|
"@radix-ui/react-dialog": "^1.0.0",
|
||||||
@ -1410,7 +1440,7 @@
|
|||||||
"@radix-ui/react-popover": "^1.0.0",
|
"@radix-ui/react-popover": "^1.0.0",
|
||||||
"@radix-ui/react-tooltip": "^1.0.0",
|
"@radix-ui/react-tooltip": "^1.0.0",
|
||||||
"@stitches/react": "^1.2.8",
|
"@stitches/react": "^1.2.8",
|
||||||
"@tldraw/core": "^1.20.0",
|
"@tldraw/core": "^1.20.3",
|
||||||
"@tldraw/intersect": "^1.8.0",
|
"@tldraw/intersect": "^1.8.0",
|
||||||
"@tldraw/vec": "^1.8.0",
|
"@tldraw/vec": "^1.8.0",
|
||||||
"browser-fs-access": "^0.31.0",
|
"browser-fs-access": "^0.31.0",
|
||||||
@ -1424,149 +1454,109 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@formatjs/ecma402-abstract": {
|
"@formatjs/ecma402-abstract": {
|
||||||
"version": "1.13.0",
|
"version": "1.14.3",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz",
|
||||||
"integrity": "sha512-CQ8Ykd51jYD1n05dtoX6ns6B9n/+6ZAxnWUAonvHC4kkuAemROYBhHkEB4tm1uVrRlE7gLDqXkAnY51Y0pRCWQ==",
|
"integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/intl-localematcher": "0.2.31",
|
"@formatjs/intl-localematcher": "0.2.32",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
}
|
||||||
"dependencies": {
|
},
|
||||||
"tslib": {
|
"@formatjs/fast-memoize": {
|
||||||
"version": "2.4.0",
|
"version": "1.2.7",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.7.tgz",
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
"integrity": "sha512-hPeM5LXUUjtCKPybWOUAWpv8lpja8Xz+uKprFPJcg5F2Rd+/bf1E0UUsLRpaAgOReAf5HMRtoIgv/UcyPICrTQ==",
|
||||||
}
|
"requires": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@formatjs/icu-messageformat-parser": {
|
"@formatjs/icu-messageformat-parser": {
|
||||||
"version": "2.1.10",
|
"version": "2.1.14",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.14.tgz",
|
||||||
"integrity": "sha512-KkRMxhifWkRC45dhM9tqm0GXbb6NPYTGVYY3xx891IKc6p++DQrZTnmkVSNNO47OEERLfuP2KkPFPJBuu8z/wg==",
|
"integrity": "sha512-0KqeVOb72losEhUW+59vhZGGd14s1f35uThfEMVKZHKLEObvJdFTiI3ZQwvTMUCzLEMxnS6mtnYPmG4mTvwd3Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/icu-skeleton-parser": "1.3.14",
|
"@formatjs/icu-skeleton-parser": "1.3.18",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@formatjs/icu-skeleton-parser": {
|
"@formatjs/icu-skeleton-parser": {
|
||||||
"version": "1.3.14",
|
"version": "1.3.18",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.14.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz",
|
||||||
"integrity": "sha512-7bv60HQQcBb3+TSj+45tOb/CHV5z1hOpwdtS50jsSBXfB+YpGhnoRsZxSRksXeCxMy6xn6tA6VY2601BrrK+OA==",
|
"integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@formatjs/intl": {
|
"@formatjs/intl": {
|
||||||
"version": "2.5.1",
|
"version": "2.6.3",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.6.3.tgz",
|
||||||
"integrity": "sha512-P01ZGuDDlcN8bHHBCEHspJPvs8WJeO8SXlUIcVGWhS3IN5vUgz0QKUXcKBFnJbEHhONJ+azlObVwvlDKsE+kUg==",
|
"integrity": "sha512-JaVZk14U/GypVfCZPevQ0KdruFkq16FXx7g398/Dm+YEx/W7sRiftbZeDy4wQ7WGryb45e763XycxD9o/vm9BA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/fast-memoize": "1.2.6",
|
"@formatjs/fast-memoize": "1.2.7",
|
||||||
"@formatjs/icu-messageformat-parser": "2.1.10",
|
"@formatjs/icu-messageformat-parser": "2.1.14",
|
||||||
"@formatjs/intl-displaynames": "6.1.4",
|
"@formatjs/intl-displaynames": "6.2.3",
|
||||||
"@formatjs/intl-listformat": "7.1.3",
|
"@formatjs/intl-listformat": "7.1.7",
|
||||||
"intl-messageformat": "10.2.1",
|
"intl-messageformat": "10.2.5",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@formatjs/intl-displaynames": {
|
"@formatjs/intl-displaynames": {
|
||||||
"version": "6.1.4",
|
"version": "6.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.2.3.tgz",
|
||||||
"integrity": "sha512-sEbziGLsWQo6nA8ZUBcsDRlZzPg+uMVjDmbTalgGqRWLbdXuxMldTYdaCK+UptyJhkmNVM/erz3csTiyqamXHQ==",
|
"integrity": "sha512-teB0L68MDGM8jEKQg55w7nvFjzeLHE6e3eK/04s+iuEVYYmvjjiHJKHrthKENzcJ0F6mHf/AwXrbX+1mKxT6AQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/intl-localematcher": "0.2.31",
|
"@formatjs/intl-localematcher": "0.2.32",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@formatjs/intl-listformat": {
|
"@formatjs/intl-listformat": {
|
||||||
"version": "7.1.3",
|
"version": "7.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.7.tgz",
|
||||||
"integrity": "sha512-rs0Kxl78PeRCedx2cmFoBqcun2Kf0bCQrF8ycna54sfePpDhMskvODWeI4G/xBioW01FjK7CJSvtJJ87hrr79A==",
|
"integrity": "sha512-Zzf5ruPpfJnrAA2hGgf/6pMgQ3tx9oJVhpqycFDavHl3eEzrwdHddGqGdSNwhd0bB4NAFttZNQdmKDldc5iDZw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/intl-localematcher": "0.2.31",
|
"@formatjs/intl-localematcher": "0.2.32",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
}
|
||||||
"dependencies": {
|
},
|
||||||
"tslib": {
|
"@formatjs/intl-localematcher": {
|
||||||
"version": "2.4.0",
|
"version": "0.2.32",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz",
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
"integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==",
|
||||||
}
|
"requires": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"intl-messageformat": {
|
"intl-messageformat": {
|
||||||
"version": "10.2.1",
|
"version": "10.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.2.5.tgz",
|
||||||
"integrity": "sha512-1lrJG2qKzcC1TVzYu1VuB1yiY68LU5rwpbHa2THCzA67Vutkz7+1lv5U20K3Lz5RAiH78zxNztMEtchokMWv8A==",
|
"integrity": "sha512-AievYMN6WLLHwBeCTv4aRKG+w3ZNyZtkObwgsKk3Q7GNTq8zDRvDbJSBQkb2OPeVCcAKcIXvak9FF/bRNavoww==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/fast-memoize": "1.2.6",
|
"@formatjs/fast-memoize": "1.2.7",
|
||||||
"@formatjs/icu-messageformat-parser": "2.1.10",
|
"@formatjs/icu-messageformat-parser": "2.1.14",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-intl": {
|
"react-intl": {
|
||||||
"version": "6.2.1",
|
"version": "6.2.5",
|
||||||
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.2.5.tgz",
|
||||||
"integrity": "sha512-hYxcSamgoA3Mvc55nwhTF1v15T0NUSkaV/EScMNVZXg0kRyaMAoNHkCi9/9H+TnXWNiWrcWH9bjlMlJwrG2V7g==",
|
"integrity": "sha512-nz21POTKbE0sPEuEJU4o5YTZYY7VlIYCPNJaD6D2+xKyk6Noj6DoUK0LRO9LXuQNUuQ044IZl3m6ymzZRj8XFQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@formatjs/ecma402-abstract": "1.13.0",
|
"@formatjs/ecma402-abstract": "1.14.3",
|
||||||
"@formatjs/icu-messageformat-parser": "2.1.10",
|
"@formatjs/icu-messageformat-parser": "2.1.14",
|
||||||
"@formatjs/intl": "2.5.1",
|
"@formatjs/intl": "2.6.3",
|
||||||
"@formatjs/intl-displaynames": "6.1.4",
|
"@formatjs/intl-displaynames": "6.2.3",
|
||||||
"@formatjs/intl-listformat": "7.1.3",
|
"@formatjs/intl-listformat": "7.1.7",
|
||||||
"@types/hoist-non-react-statics": "^3.3.1",
|
"@types/hoist-non-react-statics": "^3.3.1",
|
||||||
"@types/react": "16 || 17 || 18",
|
"@types/react": "16 || 17 || 18",
|
||||||
"hoist-non-react-statics": "^3.3.2",
|
"hoist-non-react-statics": "^3.3.2",
|
||||||
"intl-messageformat": "10.2.1",
|
"intl-messageformat": "10.2.5",
|
||||||
"tslib": "2.4.0"
|
"tslib": "^2.4.0"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"tslib": {
|
|
||||||
"version": "2.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
|
||||||
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
@ -1631,16 +1621,16 @@
|
|||||||
"integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA=="
|
"integrity": "sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA=="
|
||||||
},
|
},
|
||||||
"@use-gesture/core": {
|
"@use-gesture/core": {
|
||||||
"version": "10.2.20",
|
"version": "10.2.23",
|
||||||
"resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/@use-gesture/core/-/core-10.2.23.tgz",
|
||||||
"integrity": "sha512-4lFhHc8so4yIHkBEs641DnEsBxPyhJ5GEjB4PURFDH4p/FcZriH6w99knZgI63zN/MBFfylMyb8+PDuj6RIXKQ=="
|
"integrity": "sha512-Ynap/Uh6RX1Vgn3zNmFTyKapapdf7Av+GzAe6h+RsBZaxMF1z3cK6aohHPJP6T1hLrPyH/yehxa7RBqyESG9RA=="
|
||||||
},
|
},
|
||||||
"@use-gesture/react": {
|
"@use-gesture/react": {
|
||||||
"version": "10.2.20",
|
"version": "10.2.23",
|
||||||
"resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.20.tgz",
|
"resolved": "https://registry.npmjs.org/@use-gesture/react/-/react-10.2.23.tgz",
|
||||||
"integrity": "sha512-KnJq9ZSqprWA6uNhWTUHZqTCh+rfa0j8ehTzqeBhktUPrmTj7yVOBvEQ/vSFU/7d72cGgWSsJ0f5T6GQCHXnvg==",
|
"integrity": "sha512-anj9j3Lm4l+/s60Jv1FD2m13r+T+aYstSHUT62hTugojM64LPe9XatfEVHRyWOrGjRU2buQhlm03xN8oxkg/OQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@use-gesture/core": "10.2.20"
|
"@use-gesture/core": "10.2.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"acorn": {
|
"acorn": {
|
||||||
@ -1750,9 +1740,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"aria-hidden": {
|
"aria-hidden": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.2.tgz",
|
||||||
"integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==",
|
"integrity": "sha512-6y/ogyDTk/7YAe91T3E2PR1ALVKyM2QbTio5HwM+N1Q6CMlCKhvClyIjkckBswa0f2xJhjsfzIGa1yVSe1UMVA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^2.0.0"
|
"tslib": "^2.0.0"
|
||||||
}
|
}
|
||||||
@ -2592,9 +2582,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dom-serializer": {
|
"dom-serializer": {
|
||||||
"version": "1.3.2",
|
"version": "1.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||||
"integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
|
"integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"domelementtype": "^2.0.1",
|
"domelementtype": "^2.0.1",
|
||||||
"domhandler": "^4.2.0",
|
"domhandler": "^4.2.0",
|
||||||
@ -2602,22 +2592,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"domelementtype": {
|
"domelementtype": {
|
||||||
"version": "2.2.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
|
||||||
"integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A=="
|
"integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
|
||||||
},
|
},
|
||||||
"domhandler": {
|
"domhandler": {
|
||||||
"version": "4.2.0",
|
"version": "4.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
|
||||||
"integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
|
"integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"domelementtype": "^2.2.0"
|
"domelementtype": "^2.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"domutils": {
|
"domutils": {
|
||||||
"version": "2.6.0",
|
"version": "2.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
|
||||||
"integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==",
|
"integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"dom-serializer": "^1.0.1",
|
"dom-serializer": "^1.0.1",
|
||||||
"domelementtype": "^2.2.0",
|
"domelementtype": "^2.2.0",
|
||||||
@ -3415,12 +3405,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flat": {
|
"flat": {
|
||||||
"version": "4.1.1",
|
"version": "5.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
|
||||||
"integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
|
"integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ=="
|
||||||
"requires": {
|
|
||||||
"is-buffer": "~2.0.3"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"flat-cache": {
|
"flat-cache": {
|
||||||
"version": "3.0.4",
|
"version": "3.0.4",
|
||||||
@ -3843,11 +3830,6 @@
|
|||||||
"call-bind": "^1.0.2"
|
"call-bind": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"is-buffer": {
|
|
||||||
"version": "2.0.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
|
|
||||||
"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
|
|
||||||
},
|
|
||||||
"is-callable": {
|
"is-callable": {
|
||||||
"version": "1.2.3",
|
"version": "1.2.3",
|
||||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
|
||||||
@ -4044,9 +4026,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"json5": {
|
"json5": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
|
||||||
"integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
|
"integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"minimist": "^1.2.0"
|
"minimist": "^1.2.0"
|
||||||
@ -4140,11 +4122,6 @@
|
|||||||
"object.assign": "^4.1.2"
|
"object.assign": "^4.1.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"klona": {
|
|
||||||
"version": "2.0.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz",
|
|
||||||
"integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA=="
|
|
||||||
},
|
|
||||||
"kuler": {
|
"kuler": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
|
||||||
@ -5271,9 +5248,9 @@
|
|||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||||
},
|
},
|
||||||
"nanoid": {
|
"nanoid": {
|
||||||
"version": "3.3.3",
|
"version": "3.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||||
"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w=="
|
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
|
||||||
},
|
},
|
||||||
"natural-compare": {
|
"natural-compare": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
@ -5751,7 +5728,7 @@
|
|||||||
"parse-srcset": {
|
"parse-srcset": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz",
|
||||||
"integrity": "sha1-8r0iH2zJcKk42IVWq8WJyqqiveE="
|
"integrity": "sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q=="
|
||||||
},
|
},
|
||||||
"path-exists": {
|
"path-exists": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
@ -5820,11 +5797,11 @@
|
|||||||
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
|
"integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.12",
|
"version": "8.4.20",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
|
||||||
"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
|
"integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanoid": "^3.3.1",
|
"nanoid": "^3.3.4",
|
||||||
"picocolors": "^1.0.0",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^1.0.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
@ -6313,17 +6290,16 @@
|
|||||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||||
},
|
},
|
||||||
"sanitize-html": {
|
"sanitize-html": {
|
||||||
"version": "2.3.3",
|
"version": "2.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.3.3.tgz",
|
"resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.7.1.tgz",
|
||||||
"integrity": "sha512-DCFXPt7Di0c6JUnlT90eIgrjs6TsJl/8HYU3KLdmrVclFN4O0heTcVbJiMa23OKVr6aR051XYtsgd8EWwEBwUA==",
|
"integrity": "sha512-oOpe8l4J8CaBk++2haoN5yNI5beekjuHv3JRPKUx/7h40Rdr85pemn4NkvUB3TcBP7yjat574sPlcMAyv4UQig==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"deepmerge": "^4.2.2",
|
"deepmerge": "^4.2.2",
|
||||||
"escape-string-regexp": "^4.0.0",
|
"escape-string-regexp": "^4.0.0",
|
||||||
"htmlparser2": "^6.0.0",
|
"htmlparser2": "^6.0.0",
|
||||||
"is-plain-object": "^5.0.0",
|
"is-plain-object": "^5.0.0",
|
||||||
"klona": "^2.0.3",
|
|
||||||
"parse-srcset": "^1.0.2",
|
"parse-srcset": "^1.0.2",
|
||||||
"postcss": "^8.0.2"
|
"postcss": "^8.3.11"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"escape-string-regexp": {
|
"escape-string-regexp": {
|
||||||
@ -7119,9 +7095,9 @@
|
|||||||
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
|
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
|
||||||
},
|
},
|
||||||
"zustand": {
|
"zustand": {
|
||||||
"version": "4.1.4",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/zustand/-/zustand-4.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/zustand/-/zustand-4.2.0.tgz",
|
||||||
"integrity": "sha512-k2jVOlWo8p4R83mQ+/uyB8ILPO2PCJOf+QVjcL+1PbMCk1w5OoPYpAIxy9zd93FSfmJqoH6lGdwzzjwqJIRU5A==",
|
"integrity": "sha512-eNwaDoD2FYVnMgtNxiMUhTJO780wonZUzJrPQTLYI0erSIMZF8cniWFW22kGQUECd8rdHRJ/ZJL2XO54c9Ttuw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"use-sync-external-store": "1.2.0"
|
"use-sync-external-store": "1.2.0"
|
||||||
}
|
}
|
||||||
|
8
bigbluebutton-html5/package.json
Executable file → Normal file
8
bigbluebutton-html5/package.json
Executable file → Normal file
@ -33,8 +33,8 @@
|
|||||||
"@jitsi/sdp-interop": "0.1.14",
|
"@jitsi/sdp-interop": "0.1.14",
|
||||||
"@material-ui/core": "^4.12.4",
|
"@material-ui/core": "^4.12.4",
|
||||||
"@mconf/bbb-diff": "^1.2.0",
|
"@mconf/bbb-diff": "^1.2.0",
|
||||||
"@tldraw/core": "1.20.0",
|
"@tldraw/core": "1.20.3",
|
||||||
"@tldraw/tldraw": "1.26.1",
|
"@tldraw/tldraw": "1.26.4",
|
||||||
"autoprefixer": "^10.4.4",
|
"autoprefixer": "^10.4.4",
|
||||||
"axios": "^0.21.3",
|
"axios": "^0.21.3",
|
||||||
"babel-runtime": "~6.26.0",
|
"babel-runtime": "~6.26.0",
|
||||||
@ -46,7 +46,7 @@
|
|||||||
"eventemitter2": "~6.4.6",
|
"eventemitter2": "~6.4.6",
|
||||||
"fastdom": "^1.0.10",
|
"fastdom": "^1.0.10",
|
||||||
"fibers": "^4.0.2",
|
"fibers": "^4.0.2",
|
||||||
"flat": "^4.1.1",
|
"flat": "^5.0.2",
|
||||||
"hark": "^1.2.3",
|
"hark": "^1.2.3",
|
||||||
"html-to-image": "^1.9.0",
|
"html-to-image": "^1.9.0",
|
||||||
"immutability-helper": "~2.8.1",
|
"immutability-helper": "~2.8.1",
|
||||||
@ -79,7 +79,7 @@
|
|||||||
"react-virtualized": "^9.22.3",
|
"react-virtualized": "^9.22.3",
|
||||||
"reconnecting-websocket": "~v4.4.0",
|
"reconnecting-websocket": "~v4.4.0",
|
||||||
"redis": "^3.1.2",
|
"redis": "^3.1.2",
|
||||||
"sanitize-html": "2.3.3",
|
"sanitize-html": "2.7.1",
|
||||||
"scheduler": "^0.20.2",
|
"scheduler": "^0.20.2",
|
||||||
"sdp-transform": "2.7.0",
|
"sdp-transform": "2.7.0",
|
||||||
"smile2emoji": "^2.8.0",
|
"smile2emoji": "^2.8.0",
|
||||||
|
@ -30,7 +30,7 @@ public:
|
|||||||
appName: BigBlueButton HTML5 Client
|
appName: BigBlueButton HTML5 Client
|
||||||
bbbServerVersion: HTML5_FULL_BBB_VERSION
|
bbbServerVersion: HTML5_FULL_BBB_VERSION
|
||||||
displayBbbServerVersion: true
|
displayBbbServerVersion: true
|
||||||
copyright: '©2022 BigBlueButton Inc.'
|
copyright: '©2023 BigBlueButton Inc.'
|
||||||
html5ClientBuild: HTML5_CLIENT_VERSION
|
html5ClientBuild: HTML5_CLIENT_VERSION
|
||||||
helpLink: https://bigbluebutton.org/html5/
|
helpLink: https://bigbluebutton.org/html5/
|
||||||
bbbTabletApp:
|
bbbTabletApp:
|
||||||
@ -267,8 +267,6 @@ public:
|
|||||||
# Controls whether ICE candidates should be signaled to bbb-webrtc-sfu.
|
# Controls whether ICE candidates should be signaled to bbb-webrtc-sfu.
|
||||||
# Enable this if you want to use Kurento as the media server.
|
# Enable this if you want to use Kurento as the media server.
|
||||||
signalCandidates: false
|
signalCandidates: false
|
||||||
# Forces relay usage only on Firefox. Applies to listen only, webcams and screenshare.
|
|
||||||
forceRelayOnFirefox: false
|
|
||||||
# traceLogs: <Boolean> - enable trace logs in SFU peers
|
# traceLogs: <Boolean> - enable trace logs in SFU peers
|
||||||
traceLogs: false
|
traceLogs: false
|
||||||
cameraTimeouts:
|
cameraTimeouts:
|
||||||
@ -587,6 +585,9 @@ public:
|
|||||||
# Forces relay usage on all browsers, environments and media modules.
|
# Forces relay usage on all browsers, environments and media modules.
|
||||||
# If true, supersedes public.kurento.forceRelayOnFirefox
|
# If true, supersedes public.kurento.forceRelayOnFirefox
|
||||||
forceRelay: false
|
forceRelay: false
|
||||||
|
# Firefox has a buggy ICE implementation. With mediasoup this leads to
|
||||||
|
# connection problems unless all traffic is relayed through a turn server.
|
||||||
|
forceRelayOnFirefox: true
|
||||||
mediaTag: '#remote-media'
|
mediaTag: '#remote-media'
|
||||||
callTransferTimeout: 5000
|
callTransferTimeout: 5000
|
||||||
callHangupTimeout: 2000
|
callHangupTimeout: 2000
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "Ihre Präsentation beginnt in Kürze...",
|
"app.home.greeting": "Ihre Präsentation beginnt in Kürze...",
|
||||||
"app.chat.submitLabel": "Nachricht senden",
|
"app.chat.submitLabel": "Nachricht senden",
|
||||||
"app.chat.loading": "Chatnachrichten geladen: {0}%",
|
"app.chat.loading": "Chatnachrichten geladen: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "Die Nachricht ist {0} Buchstabe(n) zu lang",
|
"app.chat.errorMaxMessageLength": "Die Nachricht ist zu lang. Sie darf maximal {0} Zeichen haben.",
|
||||||
"app.chat.disconnected": "Nicht verbunden, es können keine Nachrichten gesendet werden",
|
"app.chat.disconnected": "Nicht verbunden, es können keine Nachrichten gesendet werden",
|
||||||
"app.chat.locked": "Der Chat ist gesperrt. Es können keine Nachrichten gesendet werden.",
|
"app.chat.locked": "Der Chat ist gesperrt. Es können keine Nachrichten gesendet werden.",
|
||||||
"app.chat.inputLabel": "Chatnachricht eingeben für {0}",
|
"app.chat.inputLabel": "Chatnachricht eingeben für {0}",
|
||||||
|
"app.chat.emojiButtonLabel": "Emoji-Auswahl",
|
||||||
"app.chat.inputPlaceholder": "Nachricht {0}",
|
"app.chat.inputPlaceholder": "Nachricht {0}",
|
||||||
"app.chat.titlePublic": "Öffentlicher Chat",
|
"app.chat.titlePublic": "Öffentlicher Chat",
|
||||||
"app.chat.titlePrivate": "Privater Chat mit {0}",
|
"app.chat.titlePrivate": "Privater Chat mit {0}",
|
||||||
@ -21,6 +22,7 @@
|
|||||||
"app.chat.offline": "Offline",
|
"app.chat.offline": "Offline",
|
||||||
"app.chat.pollResult": "Umfrageergebnisse",
|
"app.chat.pollResult": "Umfrageergebnisse",
|
||||||
"app.chat.breakoutDurationUpdated": "Gruppenzeit beträgt jetzt {0} Minuten",
|
"app.chat.breakoutDurationUpdated": "Gruppenzeit beträgt jetzt {0} Minuten",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "Gruppenraumzeit beträgt nun {0} und eine Benachrichtigung wurde versendet.",
|
||||||
"app.chat.emptyLogLabel": "Chatprotokoll ist leer",
|
"app.chat.emptyLogLabel": "Chatprotokoll ist leer",
|
||||||
"app.chat.clearPublicChatMessage": "Der öffentliche Chatverlauf wurde durch einen Moderator gelöscht",
|
"app.chat.clearPublicChatMessage": "Der öffentliche Chatverlauf wurde durch einen Moderator gelöscht",
|
||||||
"app.chat.multi.typing": "Mehrere Teilnehmer tippen",
|
"app.chat.multi.typing": "Mehrere Teilnehmer tippen",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} und {1} tippen",
|
"app.chat.two.typing": "{0} und {1} tippen",
|
||||||
"app.chat.copySuccess": "Chatprotokoll kopiert",
|
"app.chat.copySuccess": "Chatprotokoll kopiert",
|
||||||
"app.chat.copyErr": "Kopieren des Chatprotokolls fehlgeschlagen",
|
"app.chat.copyErr": "Kopieren des Chatprotokolls fehlgeschlagen",
|
||||||
|
"app.emojiPicker.search": "Suche",
|
||||||
|
"app.emojiPicker.notFound": "Kein Emoji gefunden",
|
||||||
|
"app.emojiPicker.skintext": "Wähle die standardmäßige Hautfarbe",
|
||||||
|
"app.emojiPicker.clear": "Leeren",
|
||||||
|
"app.emojiPicker.categories.label": "Emoji-Kategorien",
|
||||||
|
"app.emojiPicker.categories.people": "Menschen & Körper",
|
||||||
|
"app.emojiPicker.categories.nature": "Tiere & Natur",
|
||||||
|
"app.emojiPicker.categories.foods": "Essen & Trinken",
|
||||||
|
"app.emojiPicker.categories.places": "Reisen & Orte",
|
||||||
|
"app.emojiPicker.categories.activity": "Aktivitäten",
|
||||||
|
"app.emojiPicker.categories.objects": "Objekte",
|
||||||
|
"app.emojiPicker.categories.symbols": "Symbole",
|
||||||
|
"app.emojiPicker.categories.flags": "Flaggen",
|
||||||
|
"app.emojiPicker.categories.recent": "Häufig genutzt",
|
||||||
|
"app.emojiPicker.categories.search": "Suchergebnisse",
|
||||||
|
"app.emojiPicker.skintones.1": "Standardmäßige Hautfarbe",
|
||||||
|
"app.emojiPicker.skintones.2": "Heller Hautton",
|
||||||
|
"app.emojiPicker.skintones.3": "Mittelheller Hautton",
|
||||||
|
"app.emojiPicker.skintones.4": "Mittlerer Hautton",
|
||||||
|
"app.emojiPicker.skintones.5": "Mitteldunkler Hautton",
|
||||||
|
"app.emojiPicker.skintones.6": "Dunkler Hautton",
|
||||||
"app.captions.label": "Untertitel",
|
"app.captions.label": "Untertitel",
|
||||||
"app.captions.menu.close": "Schließen",
|
"app.captions.menu.close": "Schließen",
|
||||||
"app.captions.menu.start": "Start",
|
"app.captions.menu.start": "Start",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Spracherkennung gestartet",
|
"app.captions.speech.start": "Spracherkennung gestartet",
|
||||||
"app.captions.speech.stop": "Spracherkennung gestoppt",
|
"app.captions.speech.stop": "Spracherkennung gestoppt",
|
||||||
"app.captions.speech.error": "Spracherkennung wurde aufgrund der Inkompatibilität des Browsers oder einer längeren Zeit der Stille angehalten",
|
"app.captions.speech.error": "Spracherkennung wurde aufgrund der Inkompatibilität des Browsers oder einer längeren Zeit der Stille angehalten",
|
||||||
|
"app.confirmation.skipConfirm": "Nicht nochmal fragen",
|
||||||
|
"app.confirmation.virtualBackground.title": "Neuen virtuellen Hintergrund starten",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} wird als virtueller Hintergrund hinzufügt. Fortsetzen?",
|
||||||
|
"app.confirmationModal.yesLabel": "Ja",
|
||||||
"app.textInput.sendLabel": "Absenden",
|
"app.textInput.sendLabel": "Absenden",
|
||||||
"app.title.defaultViewLabel": "Standardpräsentation",
|
"app.title.defaultViewLabel": "Standardpräsentation",
|
||||||
"app.notes.title": "Geteilte Notizen",
|
"app.notes.title": "Geteilte Notizen",
|
||||||
"app.notes.label": "Notizen",
|
"app.notes.label": "Notizen",
|
||||||
"app.notes.hide": "Notizen verbergen",
|
"app.notes.hide": "Notizen verbergen",
|
||||||
"app.notes.locked": "Gesperrt",
|
"app.notes.locked": "Gesperrt",
|
||||||
|
"app.notes.disabled": "Im Medienbereich angeheftet",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Notizen in Präsentation umwandeln",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Notizen an das Whiteboard heften",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Notizen loslösen",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Notizoptionen",
|
||||||
"app.pads.hint": "Esc drücken, um die Symbolleiste des Pads auszuwählen",
|
"app.pads.hint": "Esc drücken, um die Symbolleiste des Pads auszuwählen",
|
||||||
"app.user.activityCheck": "Teilnehmeraktivitätsprüfung",
|
"app.user.activityCheck": "Teilnehmeraktivitätsprüfung",
|
||||||
"app.user.activityCheck.label": "Prüfen, ob der Teilnehmer noch in der Konferenz ist ({0})",
|
"app.user.activityCheck.label": "Prüfen, ob der Teilnehmer noch in der Konferenz ist ({0})",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Ende des Folieninhalts",
|
"app.presentation.endSlideContent": "Ende des Folieninhalts",
|
||||||
"app.presentation.changedSlideContent": "Präsentation gewechselt zur Folie: {0}",
|
"app.presentation.changedSlideContent": "Präsentation gewechselt zur Folie: {0}",
|
||||||
"app.presentation.emptySlideContent": "Kein Inhalt für aktuelle Folie",
|
"app.presentation.emptySlideContent": "Kein Inhalt für aktuelle Folie",
|
||||||
"app.presentation.options.fullscreen": "Vollbild",
|
"app.presentation.options.fullscreen": "Vollbild-Präsentation",
|
||||||
"app.presentation.options.exitFullscreen": "Vollbilddarstellung beenden",
|
"app.presentation.options.exitFullscreen": "Vollbilddarstellung beenden",
|
||||||
"app.presentation.options.minimize": "Minimieren",
|
"app.presentation.options.minimize": "Minimieren",
|
||||||
"app.presentation.options.snapshot": "Aktuelle Folie herunterladen",
|
"app.presentation.options.snapshot": "Aktuelle Folie herunterladen",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "Folie {0}",
|
"app.presentation.presentationToolbar.goToSlide": "Folie {0}",
|
||||||
"app.presentation.placeholder": "Es gibt derzeit keine aktive Präsentation",
|
"app.presentation.placeholder": "Es gibt derzeit keine aktive Präsentation",
|
||||||
"app.presentationUploder.title": "Präsentation",
|
"app.presentationUploder.title": "Präsentation",
|
||||||
"app.presentationUploder.message": "Als Präsentator können Präsentationen als Office-Dokumente oder PDF-Dateien hochgeladen werden. PDF-Dateien haben dabei die bessere Qualität. Bitte achten Sie darauf, dass eine Präsentation über das runde Auswahlfeld auf der rechten Seite ausgewählt ist.",
|
"app.presentationUploder.message": "Es können Office-Dokumente oder PDFs als Präsentation hochgeladen werden. Wir empfehlen PDF für beste Ergebnisse. Bitte sicherstellen, dass die richtige Präsentation mit runden Auswahlfeld auf der linken Seite ausgewählt ist.",
|
||||||
|
"app.presentationUploader.exportHint": "Wenn Sie \"An den Chat senden\" wählen, erhalten die Nutzer einen herunterladbaren Link mit Kommentaren im öffentlichen Chat.",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Sende an Chat ({0} Element)",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Sende an Chat ({0} Elemente)",
|
||||||
|
"app.presentationUploader.exporting": "Sende an Chat…",
|
||||||
|
"app.presentationUploader.sending": "Sende…",
|
||||||
|
"app.presentationUploader.collecting": "Extrahiere Folie {0} von {1}…",
|
||||||
|
"app.presentationUploader.processing": "Annotiere Folie {0} von {1}...",
|
||||||
|
"app.presentationUploader.sent": "Gesendet",
|
||||||
|
"app.presentationUploader.exportingTimeout": "Der Export dauert zu lange…",
|
||||||
|
"app.presentationUploader.export": "An Chat senden",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Aktuelle Präsentation",
|
||||||
"app.presentationUploder.extraHint": "WICHTIG: Jede Datei darf {0} MB und {1} Seiten nicht überschreiten.",
|
"app.presentationUploder.extraHint": "WICHTIG: Jede Datei darf {0} MB und {1} Seiten nicht überschreiten.",
|
||||||
"app.presentationUploder.uploadLabel": "Hochladen",
|
"app.presentationUploder.uploadLabel": "Hochladen",
|
||||||
"app.presentationUploder.confirmLabel": "Bestätigen",
|
"app.presentationUploder.confirmLabel": "Bestätigen",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Bilder zum Hochladen hierhin ziehen",
|
"app.presentationUploder.dropzoneImagesLabel": "Bilder zum Hochladen hierhin ziehen",
|
||||||
"app.presentationUploder.browseFilesLabel": "oder nach Dateien suchen",
|
"app.presentationUploder.browseFilesLabel": "oder nach Dateien suchen",
|
||||||
"app.presentationUploder.browseImagesLabel": "oder nach Bildern suchen/aufnehmen",
|
"app.presentationUploder.browseImagesLabel": "oder nach Bildern suchen/aufnehmen",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "Füge Inhalte aus anderen Apps hinzu",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Dateien durchsuchen",
|
||||||
"app.presentationUploder.fileToUpload": "Bereit zum Hochladen...",
|
"app.presentationUploder.fileToUpload": "Bereit zum Hochladen...",
|
||||||
"app.presentationUploder.currentBadge": "Aktuell",
|
"app.presentationUploder.currentBadge": "Aktuell",
|
||||||
"app.presentationUploder.rejectedError": "Die ausgewählten Dateien wurden zurückgewiesen. Bitte die zulässigen Dateitypen prüfen.",
|
"app.presentationUploder.rejectedError": "Die ausgewählten Dateien wurden zurückgewiesen. Bitte die zulässigen Dateitypen prüfen.",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Folien wurden generiert...",
|
"app.presentationUploder.conversion.generatedSlides": "Folien wurden generiert...",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "SVG-Bilder werden generiert...",
|
"app.presentationUploder.conversion.generatingSvg": "SVG-Bilder werden generiert...",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "Maximale Seitenanzahl von {0} Seiten wurde überschritten",
|
"app.presentationUploder.conversion.pageCountExceeded": "Maximale Seitenanzahl von {0} Seiten wurde überschritten",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Ungültiges Format entdeckt (Dateiendung={0}, Content-Type={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "Folie {0} konnte nicht innerhalb von {1} Versuchen konvertiert werden.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Die Verarbeitung des Office-Dokuments ist fehlgeschlagen, bitte eine PDF-Datei hochladen versuchen.",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Die Verarbeitung des Office-Dokuments ist fehlgeschlagen, bitte eine PDF-Datei hochladen versuchen.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Die Verarbeitung des Office-Dokuments ist fehlgeschlagen, bitte eine PDF-Datei hochladen.",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Die Verarbeitung des Office-Dokuments ist fehlgeschlagen, bitte eine PDF-Datei hochladen.",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "Die PDF-Datei konnte nicht konvertiert werden, bitte versuchen Sie die Datei zu optimieren. Die maximale Seitenzahl beträgt {0} Seiten.",
|
"app.presentationUploder.conversion.pdfHasBigPage": "Die PDF-Datei konnte nicht konvertiert werden, bitte versuchen Sie die Datei zu optimieren. Die maximale Seitenzahl beträgt {0} Seiten.",
|
||||||
"app.presentationUploder.conversion.timeout": "Ups, die Konvertierung hat zu lange gedauert",
|
"app.presentationUploder.conversion.timeout": "Ups, die Konvertierung hat zu lange gedauert",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "Die Seitenanzahl konnte nicht ermittelt werden.",
|
"app.presentationUploder.conversion.pageCountFailed": "Die Seitenanzahl konnte nicht ermittelt werden.",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Dateityp wird nicht unterstützt",
|
"app.presentationUploder.conversion.unsupportedDocument": "Dateityp wird nicht unterstützt",
|
||||||
"app.presentationUploder.isDownloadableLabel": "Das Herunterladen der Präsentation ist nicht zugelassen - hier das Herunterladen der Präsentation erlauben",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Das Herunterladen der Präsentation ist zugelassen - hier das Herunterladen der Präsentation verbieten",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Präsentation entfernen",
|
"app.presentationUploder.removePresentationLabel": "Präsentation entfernen",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Diese Präsentation auswählen",
|
"app.presentationUploder.setAsCurrentPresentation": "Diese Präsentation auswählen",
|
||||||
"app.presentationUploder.tableHeading.filename": "Dateiname",
|
"app.presentationUploder.tableHeading.filename": "Dateiname",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Fehler löschen",
|
"app.presentationUploder.clearErrors": "Fehler löschen",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Löscht fehlgeschlagene Präsentationsuploads",
|
"app.presentationUploder.clearErrorsDesc": "Löscht fehlgeschlagene Präsentationsuploads",
|
||||||
"app.presentationUploder.uploadViewTitle": "Präsentation hochladen",
|
"app.presentationUploder.uploadViewTitle": "Präsentation hochladen",
|
||||||
|
"app.poll.questionAndoptions.label" : "Zu zeigender Fragetext.\nA. Umfrageoption *\nB. Umfrageoption (optional)\nC. Abfrageoption (optional)\nD. Abfrageoption (optional)\nE. Abfrageoption (optional)",
|
||||||
|
"app.poll.customInput.label": "benutzerdefinierte Eingabe",
|
||||||
|
"app.poll.customInputInstructions.label": "Die benutzerdefinierte Eingabe ist aktiviert - schreiben Sie die Frage und die Option(en) der Umfrage im vorgegebenen Format oder wählen Sie eine Textdatei im gleichen Format per Drag & Drop aus. ",
|
||||||
|
"app.poll.maxOptionsWarning.label": "Nur die ersten fünf Optionen können genutzt werden!",
|
||||||
"app.poll.pollPaneTitle": "Umfrage",
|
"app.poll.pollPaneTitle": "Umfrage",
|
||||||
"app.poll.enableMultipleResponseLabel": "Mehrere Antworten pro Befragten zulassen?",
|
"app.poll.enableMultipleResponseLabel": "Mehrere Antworten pro Befragten zulassen?",
|
||||||
"app.poll.quickPollTitle": "Schnellumfrage",
|
"app.poll.quickPollTitle": "Schnellumfrage",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "Zum Auswählen hier klicken",
|
"app.poll.clickHereToSelect": "Zum Auswählen hier klicken",
|
||||||
"app.poll.question.label" : "Eine Frage stellen...",
|
"app.poll.question.label" : "Eine Frage stellen...",
|
||||||
"app.poll.optionalQuestion.label" : "Eine Frage stellen (optional)...",
|
"app.poll.optionalQuestion.label" : "Eine Frage stellen (optional)...",
|
||||||
"app.poll.userResponse.label" : "Teilnehmerantwort",
|
"app.poll.userResponse.label" : "Freie Antwort",
|
||||||
"app.poll.responseTypes.label" : "Antworttypen",
|
"app.poll.responseTypes.label" : "Antworttypen",
|
||||||
"app.poll.optionDelete.label" : "Löschen",
|
"app.poll.optionDelete.label" : "Löschen",
|
||||||
"app.poll.responseChoices.label" : "Antwortmöglichkeiten",
|
"app.poll.responseChoices.label" : "Antwortmöglichkeiten",
|
||||||
@ -311,8 +360,8 @@
|
|||||||
"app.poll.liveResult.secretLabel": "Dies ist eine anonyme Umfrage. Individuelle Antworten werden nicht angezeigt.",
|
"app.poll.liveResult.secretLabel": "Dies ist eine anonyme Umfrage. Individuelle Antworten werden nicht angezeigt.",
|
||||||
"app.poll.removePollOpt": "Entfernt die Option {0}",
|
"app.poll.removePollOpt": "Entfernt die Option {0}",
|
||||||
"app.poll.emptyPollOpt": "Leer",
|
"app.poll.emptyPollOpt": "Leer",
|
||||||
"app.polling.pollingTitle": "Umfrageoptionen",
|
"app.polling.pollingTitle": "Antworten",
|
||||||
"app.polling.pollQuestionTitle": "Frage der Umfrage",
|
"app.polling.pollQuestionTitle": "Umfrage",
|
||||||
"app.polling.submitLabel": "Absenden",
|
"app.polling.submitLabel": "Absenden",
|
||||||
"app.polling.submitAriaLabel": "Umfrageantwort absenden",
|
"app.polling.submitAriaLabel": "Umfrageantwort absenden",
|
||||||
"app.polling.responsePlaceholder": "Antwort eingeben",
|
"app.polling.responsePlaceholder": "Antwort eingeben",
|
||||||
@ -329,11 +378,11 @@
|
|||||||
"app.muteWarning.disableMessage": "Hinweis auf Stummschaltung deaktiviert, bis die Stummschaltung aufgehoben wird",
|
"app.muteWarning.disableMessage": "Hinweis auf Stummschaltung deaktiviert, bis die Stummschaltung aufgehoben wird",
|
||||||
"app.muteWarning.tooltip": "Klicken, um den Hinweis bis zur nächsten Aufhebung der Stummschaltung zu schließen",
|
"app.muteWarning.tooltip": "Klicken, um den Hinweis bis zur nächsten Aufhebung der Stummschaltung zu schließen",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Optionen",
|
"app.navBar.settingsDropdown.optionsLabel": "Optionen",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Als Vollbild darstellen",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Vollbild-Anwendung",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Einstellungen öffnen",
|
"app.navBar.settingsDropdown.settingsLabel": "Einstellungen öffnen",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Versionsinfo",
|
"app.navBar.settingsDropdown.aboutLabel": "Versionsinfo",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Konferenz verlassen",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Konferenz verlassen",
|
||||||
"app.navBar.settingsDropdown.exitFullscreenLabel": "Vollbilddarstellung beenden",
|
"app.navBar.settingsDropdown.exitFullscreenLabel": "Vollbild beenden",
|
||||||
"app.navBar.settingsDropdown.fullscreenDesc": "Einstellungsmenü als Vollbild darstellen",
|
"app.navBar.settingsDropdown.fullscreenDesc": "Einstellungsmenü als Vollbild darstellen",
|
||||||
"app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen ändern",
|
"app.navBar.settingsDropdown.settingsDesc": "Basiseinstellungen ändern",
|
||||||
"app.navBar.settingsDropdown.aboutDesc": "Informationen über den Client anzeigen",
|
"app.navBar.settingsDropdown.aboutDesc": "Informationen über den Client anzeigen",
|
||||||
@ -342,6 +391,7 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Tastenkombinationen",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Tastenkombinationen",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Liste verfügbarer Tastenkombinationen",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Liste verfügbarer Tastenkombinationen",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Hilfe",
|
"app.navBar.settingsDropdown.helpLabel": "Hilfe",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "In \"BigBlueButton Tablet\"-App öffnen",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Link zu Videoanleitungen (öffnet neuen Browsertab)",
|
"app.navBar.settingsDropdown.helpDesc": "Link zu Videoanleitungen (öffnet neuen Browsertab)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Beendet die aktuelle Konferenz",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Beendet die aktuelle Konferenz",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Konferenz beenden",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Konferenz beenden",
|
||||||
@ -359,7 +409,7 @@
|
|||||||
"app.endMeeting.description": "Mit dieser Aktion wird die Konferenz für {0} aktive(n) Teilnehmer beendet. Sind Sie sicher, dass Sie diese Konferenz beenden möchten?",
|
"app.endMeeting.description": "Mit dieser Aktion wird die Konferenz für {0} aktive(n) Teilnehmer beendet. Sind Sie sicher, dass Sie diese Konferenz beenden möchten?",
|
||||||
"app.endMeeting.noUserDescription": "Sind Sie sicher, dass Sie die Konferenz beenden wollen?",
|
"app.endMeeting.noUserDescription": "Sind Sie sicher, dass Sie die Konferenz beenden wollen?",
|
||||||
"app.endMeeting.contentWarning": "Chatnachrichten, geteilte Notizen, Whiteboard-Inhalte und geteilte Dokumente dieser Konferenz sind nicht mehr direkt zugänglich",
|
"app.endMeeting.contentWarning": "Chatnachrichten, geteilte Notizen, Whiteboard-Inhalte und geteilte Dokumente dieser Konferenz sind nicht mehr direkt zugänglich",
|
||||||
"app.endMeeting.yesLabel": "Ja",
|
"app.endMeeting.yesLabel": "Sitzung für alle beenden",
|
||||||
"app.endMeeting.noLabel": "Nein",
|
"app.endMeeting.noLabel": "Nein",
|
||||||
"app.about.title": "Versionsinfo",
|
"app.about.title": "Versionsinfo",
|
||||||
"app.about.version": "Clientversion:",
|
"app.about.version": "Clientversion:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "OK",
|
"app.about.confirmDesc": "OK",
|
||||||
"app.about.dismissLabel": "Abbrechen",
|
"app.about.dismissLabel": "Abbrechen",
|
||||||
"app.about.dismissDesc": "Informationen über Client schließen",
|
"app.about.dismissDesc": "Informationen über Client schließen",
|
||||||
|
"app.mobileAppModal.title": "\"BigBlueButton Tablet\"-App öffnen",
|
||||||
|
"app.mobileAppModal.description": "Ist die \"BigBlueButton Tablet\"-App auf diesem Gerät installiert?",
|
||||||
|
"app.mobileAppModal.openApp": "Ja, App jetzt öffnen.",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Hole Sitzungs-URL",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Fehler beim Versuch, die URL einer Sitzung abzurufen",
|
||||||
|
"app.mobileAppModal.openStore": "Nein, App-Store öffnen",
|
||||||
|
"app.mobileAppModal.dismissLabel": "Abbrechen",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Schließen",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "Der Teilnehmer {0} hat sich gerade mit der gleichen ID wie Sie verbunden.",
|
||||||
"app.actionsBar.changeStatusLabel": "Status ändern",
|
"app.actionsBar.changeStatusLabel": "Status ändern",
|
||||||
"app.actionsBar.muteLabel": "Stummschalten",
|
"app.actionsBar.muteLabel": "Stummschalten",
|
||||||
"app.actionsBar.unmuteLabel": "Freischalten",
|
"app.actionsBar.unmuteLabel": "Freischalten",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Schaltfläche zum Wiederherstellen der Präsentation, nachdem sie minimiert wurde",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Schaltfläche zum Wiederherstellen der Präsentation, nachdem sie minimiert wurde",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Präsentation minimieren",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Präsentation minimieren",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Schaltfläche zum Minimieren der Präsentation",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Schaltfläche zum Minimieren der Präsentation",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Layout-Einstellungen",
|
||||||
"app.screenshare.screenShareLabel" : "Bildschirmfreigabe",
|
"app.screenshare.screenShareLabel" : "Bildschirmfreigabe",
|
||||||
"app.submenu.application.applicationSectionTitle": "Anwendung",
|
"app.submenu.application.applicationSectionTitle": "Anwendung",
|
||||||
"app.submenu.application.animationsLabel": "Animationen",
|
"app.submenu.application.animationsLabel": "Animationen",
|
||||||
"app.submenu.application.audioFilterLabel": "Audiofilter für das Mikrofon",
|
"app.submenu.application.audioFilterLabel": "Audiofilter für das Mikrofon",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Dark-Mode",
|
||||||
"app.submenu.application.fontSizeControlLabel": "Schriftgröße",
|
"app.submenu.application.fontSizeControlLabel": "Schriftgröße",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Schriftgröße erhöhen",
|
"app.submenu.application.increaseFontBtnLabel": "Schriftgröße erhöhen",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Schriftgröße verringern",
|
"app.submenu.application.decreaseFontBtnLabel": "Schriftgröße verringern",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "Keine Sprachschemata verfügbar",
|
"app.submenu.application.noLocaleOptionLabel": "Keine Sprachschemata verfügbar",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Seitenweises Anzeigen von Webcams",
|
"app.submenu.application.paginationEnabledLabel": "Seitenweises Anzeigen von Webcams",
|
||||||
"app.submenu.application.layoutOptionLabel": "Layout-Modus",
|
"app.submenu.application.layoutOptionLabel": "Layout-Modus",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Layout verteilen",
|
||||||
"app.submenu.notification.SectionTitle": "Benachrichtigungen",
|
"app.submenu.notification.SectionTitle": "Benachrichtigungen",
|
||||||
"app.submenu.notification.Desc": "Bitte definieren, wie und was mitgeteilt werden soll.",
|
"app.submenu.notification.Desc": "Bitte definieren, wie und was mitgeteilt werden soll.",
|
||||||
"app.submenu.notification.audioAlertLabel": "Audio-Hinweise",
|
"app.submenu.notification.audioAlertLabel": "Audio-Hinweise",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Speichert die Einstellungen und schließt das Einstellungsmenü",
|
"app.settings.main.save.label.description": "Speichert die Einstellungen und schließt das Einstellungsmenü",
|
||||||
"app.settings.dataSavingTab.label": "Datensparmodus",
|
"app.settings.dataSavingTab.label": "Datensparmodus",
|
||||||
"app.settings.dataSavingTab.webcam": "Webcams aktiviert",
|
"app.settings.dataSavingTab.webcam": "Webcams aktiviert",
|
||||||
"app.settings.dataSavingTab.screenShare": "Bildschirmfreigabe aktiviert",
|
"app.settings.dataSavingTab.screenShare": "Freigabe des Desktops für andere Teilnehmer",
|
||||||
"app.settings.dataSavingTab.description": "Um Datentransfervolumen zu sparen, können hier eingestellt werden, was angezeigt wird.",
|
"app.settings.dataSavingTab.description": "Um Datentransfervolumen zu sparen, können hier eingestellt werden, was angezeigt wird.",
|
||||||
"app.settings.save-notification.label": "Einstellungen wurden gespeichert",
|
"app.settings.save-notification.label": "Einstellungen wurden gespeichert",
|
||||||
"app.statusNotifier.lowerHands": "Hände senken",
|
"app.statusNotifier.lowerHands": "Hände senken",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Präsentationen verwalten",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Präsentationen verwalten",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Eine Umfrage starten",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Eine Umfrage starten",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Bildschirm freigeben",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Bildschirm freigeben",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Bildschirmfreigabe gesperrt",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Bildschirmfreigabe beenden",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Bildschirmfreigabe beenden",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Präsentation hochladen",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Präsentation hochladen",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Eine Umfrage starten",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Eine Umfrage starten",
|
||||||
@ -457,6 +518,7 @@
|
|||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Sich selbst zum neuen Präsentator machen",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Sich selbst zum neuen Präsentator machen",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Zufälligen Teilnehmer auswählen",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Zufälligen Teilnehmer auswählen",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Wählt einen Teilnehmer nach dem Zufallsprinzip aus",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Wählt einen Teilnehmer nach dem Zufallsprinzip aus",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Layout verbreiten",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Status setzen",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Status setzen",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Abwesend",
|
"app.actionsBar.emojiMenu.awayLabel": "Abwesend",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Ihren Status auf abwesend setzen",
|
"app.actionsBar.emojiMenu.awayDesc": "Ihren Status auf abwesend setzen",
|
||||||
@ -496,6 +558,7 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Verbindung beendet (Fehler 1012)",
|
"app.audioNotification.audioFailedError1012": "Verbindung beendet (Fehler 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "Audioverbindung konnte nicht hergestellt werden",
|
"app.audioNotification.audioFailedMessage": "Audioverbindung konnte nicht hergestellt werden",
|
||||||
"app.audioNotification.mediaFailedMessage": "getUserMicMedia fehlgeschlagen, weil nur sichere Quellen erlaubt sind",
|
"app.audioNotification.mediaFailedMessage": "getUserMicMedia fehlgeschlagen, weil nur sichere Quellen erlaubt sind",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Wechsel des Audiogeräts gescheitert. Bite prüfen, ob das gewählte Gerät korrekt eingerichtet und verfügbar ist.",
|
||||||
"app.audioNotification.closeLabel": "Schließen",
|
"app.audioNotification.closeLabel": "Schließen",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "Mikrofone sind für Teilnehmer:innen gesperrt, in dieser Konferenz ist nur Zuhören möglich",
|
"app.audioNotificaion.reconnectingAsListenOnly": "Mikrofone sind für Teilnehmer:innen gesperrt, in dieser Konferenz ist nur Zuhören möglich",
|
||||||
"app.breakoutJoinConfirmation.title": "Gruppenraum beitreten",
|
"app.breakoutJoinConfirmation.title": "Gruppenraum beitreten",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "Dauer ändern",
|
"app.breakout.dropdown.manageDuration": "Dauer ändern",
|
||||||
"app.breakout.dropdown.destroyAll": "Gruppenräume beenden",
|
"app.breakout.dropdown.destroyAll": "Gruppenräume beenden",
|
||||||
"app.breakout.dropdown.options": "Gruppenraumoptionen",
|
"app.breakout.dropdown.options": "Gruppenraumoptionen",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Benutzer verwalten",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Berechne verbleibende Zeit...",
|
"app.calculatingBreakoutTimeRemaining": "Berechne verbleibende Zeit...",
|
||||||
"app.audioModal.ariaTitle": "Audioteilnahmedialog",
|
"app.audioModal.ariaTitle": "Audioteilnahmedialog",
|
||||||
"app.audioModal.microphoneLabel": "Mit Mikrofon",
|
"app.audioModal.microphoneLabel": "Mit Mikrofon",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Audiogerät wechseln",
|
"app.audio.changeAudioDevice": "Audiogerät wechseln",
|
||||||
"app.audio.enterSessionLabel": "An Konferenz teilnehmen",
|
"app.audio.enterSessionLabel": "An Konferenz teilnehmen",
|
||||||
"app.audio.playSoundLabel": "Testton abspielen",
|
"app.audio.playSoundLabel": "Testton abspielen",
|
||||||
|
"app.audio.stopAudioFeedback": "Audio Feedback stoppen",
|
||||||
"app.audio.backLabel": "Zurück",
|
"app.audio.backLabel": "Zurück",
|
||||||
"app.audio.loading": "Laden",
|
"app.audio.loading": "Laden",
|
||||||
"app.audio.microphones": "Mikrofone",
|
"app.audio.microphones": "Mikrofone",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Lautsprecher testen",
|
"app.audio.audioSettings.testSpeakerLabel": "Lautsprecher testen",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "Lautstärke des Audiosignals",
|
"app.audio.audioSettings.microphoneStreamLabel": "Lautstärke des Audiosignals",
|
||||||
"app.audio.audioSettings.retryLabel": "Erneut versuchen",
|
"app.audio.audioSettings.retryLabel": "Erneut versuchen",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "Audioeingabe {0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "Audioausgabe {0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Standard",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Suche Geräte…",
|
||||||
"app.audio.listenOnly.backLabel": "Zurück",
|
"app.audio.listenOnly.backLabel": "Zurück",
|
||||||
"app.audio.listenOnly.closeLabel": "Schließen",
|
"app.audio.listenOnly.closeLabel": "Schließen",
|
||||||
"app.audio.permissionsOverlay.title": "Zugriff auf das Mikrofon erlauben",
|
"app.audio.permissionsOverlay.title": "Zugriff auf das Mikrofon erlauben",
|
||||||
"app.audio.permissionsOverlay.hint": "Zugriff auf die Mediengeräte muss im Browser erlaubt werden, um an einer Audiokonferenz teilnehmen zu können.",
|
"app.audio.permissionsOverlay.hint": "Zugriff auf die Mediengeräte muss im Browser erlaubt werden, um an einer Audiokonferenz teilnehmen zu können.",
|
||||||
|
"app.audio.captions.button.start": "Untertitel anzeigen",
|
||||||
|
"app.audio.captions.button.stop": "Untertitel verbergen",
|
||||||
|
"app.audio.captions.button.language": "Sprache",
|
||||||
|
"app.audio.captions.button.transcription": "Transkription",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Transkriptions-Einstellungen",
|
||||||
|
"app.audio.captions.speech.title": "automatische Transkription",
|
||||||
|
"app.audio.captions.speech.disabled": "Deaktiviert",
|
||||||
|
"app.audio.captions.speech.unsupported": "Dieser Browser unterstützt keine Spracherkennung. Ihr Audio wird nicht untertitelt.",
|
||||||
|
"app.audio.captions.select.de-DE": "Deutsch",
|
||||||
|
"app.audio.captions.select.en-US": "Englisch",
|
||||||
|
"app.audio.captions.select.es-ES": "Spanisch",
|
||||||
|
"app.audio.captions.select.fr-FR": "Französisch",
|
||||||
|
"app.audio.captions.select.hi-ID": "Hindi",
|
||||||
|
"app.audio.captions.select.it-IT": "Italienisch",
|
||||||
|
"app.audio.captions.select.ja-JP": "Japanisch",
|
||||||
|
"app.audio.captions.select.pt-BR": "Portugiesisch",
|
||||||
|
"app.audio.captions.select.ru-RU": "Russisch",
|
||||||
|
"app.audio.captions.select.zh-CN": "Chinesisch/Mandarin",
|
||||||
"app.error.removed": "Sie wurden aus der Konferenz entfernt",
|
"app.error.removed": "Sie wurden aus der Konferenz entfernt",
|
||||||
"app.error.meeting.ended": "Sie haben die Konferenz verlassen",
|
"app.error.meeting.ended": "Sie haben die Konferenz verlassen",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Bereits anwesender Teilnehmer versucht erneut der Konferenz beizutreten",
|
"app.meeting.logout.duplicateUserEjectReason": "Bereits anwesender Teilnehmer versucht erneut der Konferenz beizutreten",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Sie wurden aus der Konferenz entfernt",
|
"app.meeting.logout.ejectedFromMeeting": "Sie wurden aus der Konferenz entfernt",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Verifikation des Autorisierungsmerkmals fehlgeschlagen",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Verifikation des Autorisierungsmerkmals fehlgeschlagen",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Teilnehmer war zu lange inaktiv",
|
"app.meeting.logout.userInactivityEjectReason": "Teilnehmer war zu lange inaktiv",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Die maximal zulässige Teilnehmerzahl für diese Sitzung ist erreicht",
|
||||||
"app.meeting-ended.rating.legendLabel": "Feedbackbewertung",
|
"app.meeting-ended.rating.legendLabel": "Feedbackbewertung",
|
||||||
"app.meeting-ended.rating.starLabel": "Stern",
|
"app.meeting-ended.rating.starLabel": "Stern",
|
||||||
"app.modal.close": "Schließen",
|
"app.modal.close": "Schließen",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Sie wurden aus der Konferenz entfernt",
|
"app.error.403": "Sie wurden aus der Konferenz entfernt",
|
||||||
"app.error.404": "Nicht gefunden",
|
"app.error.404": "Nicht gefunden",
|
||||||
"app.error.408": "Authentifizierung fehlgeschlagen",
|
"app.error.408": "Authentifizierung fehlgeschlagen",
|
||||||
|
"app.error.409": "Konflikt",
|
||||||
"app.error.410": "Die Konferenz ist zu Ende",
|
"app.error.410": "Die Konferenz ist zu Ende",
|
||||||
"app.error.500": "Ups, irgendwas ist schiefgelaufen",
|
"app.error.500": "Ups, irgendwas ist schiefgelaufen",
|
||||||
|
"app.error.503": "Verbindung wurde getrennt",
|
||||||
|
"app.error.disconnected.rejoin": "Bitte Seite neu laden um wieder beizutreten.",
|
||||||
"app.error.userLoggedOut": "Teilnehmer hat einen ungültigen Konferenz-Token, weil er sich ausgeloggt hat",
|
"app.error.userLoggedOut": "Teilnehmer hat einen ungültigen Konferenz-Token, weil er sich ausgeloggt hat",
|
||||||
"app.error.ejectedUser": "Teilnehmer hat einen ungültigen Konferenz-Token, weil er gesperrt wurde",
|
"app.error.ejectedUser": "Teilnehmer hat einen ungültigen Konferenz-Token, weil er gesperrt wurde",
|
||||||
"app.error.joinedAnotherWindow": "Diese Konferenz scheint in einem anderen Browserfenster geöffnet zu sein.",
|
"app.error.joinedAnotherWindow": "Diese Konferenz scheint in einem anderen Browserfenster geöffnet zu sein.",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "Nachricht",
|
"app.userList.guest.privateMessageLabel": "Nachricht",
|
||||||
"app.userList.guest.acceptLabel": "Akzeptieren",
|
"app.userList.guest.acceptLabel": "Akzeptieren",
|
||||||
"app.userList.guest.denyLabel": "Ablehnen",
|
"app.userList.guest.denyLabel": "Ablehnen",
|
||||||
|
"app.userList.guest.feedbackMessage": "Angewendet:",
|
||||||
"app.user-info.title": "Verzeichnissuche",
|
"app.user-info.title": "Verzeichnissuche",
|
||||||
"app.toast.breakoutRoomEnded": "Gruppenraum wurde geschlossen. Bitte treten der Audiokonferenz erneut beitreten.",
|
"app.toast.breakoutRoomEnded": "Gruppenraum wurde geschlossen. Bitte treten der Audiokonferenz erneut beitreten.",
|
||||||
"app.toast.chat.public": "Neue öffentliche Chatnachricht",
|
"app.toast.chat.public": "Neue öffentliche Chatnachricht",
|
||||||
"app.toast.chat.private": "Neue private Chatnachricht",
|
"app.toast.chat.private": "Neue private Chatnachricht",
|
||||||
"app.toast.chat.system": "System",
|
"app.toast.chat.system": "System",
|
||||||
|
"app.toast.chat.poll": "Umfrageergebnisse",
|
||||||
|
"app.toast.chat.pollClick": "Umfrageergebnisse wurden veröffentlicht. Hier klicken, um sie anzusehen.",
|
||||||
"app.toast.clearedEmoji.label": "Emojistatus zurückgesetzt",
|
"app.toast.clearedEmoji.label": "Emojistatus zurückgesetzt",
|
||||||
"app.toast.setEmoji.label": "Emojistatus auf {0} gesetzt",
|
"app.toast.setEmoji.label": "Emojistatus auf {0} gesetzt",
|
||||||
"app.toast.meetingMuteOn.label": "Alle Teilnehmer wurden stummgeschaltet",
|
"app.toast.meetingMuteOn.label": "Alle Teilnehmer wurden stummgeschaltet",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Alle Teilnehmer wurden stummgeschaltet",
|
||||||
"app.toast.meetingMuteOff.label": "Konferenz-Stummschaltung ausgeschaltet",
|
"app.toast.meetingMuteOff.label": "Konferenz-Stummschaltung ausgeschaltet",
|
||||||
"app.toast.setEmoji.raiseHand": "Sie haben Ihre Hand gehoben",
|
"app.toast.setEmoji.raiseHand": "Sie haben Ihre Hand gehoben",
|
||||||
"app.toast.setEmoji.lowerHand": "Ihre Hand wurde gesenkt",
|
"app.toast.setEmoji.lowerHand": "Ihre Hand wurde gesenkt",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
||||||
"app.shortcut-help.nextSlideKey": "Pfeil rechts",
|
"app.shortcut-help.nextSlideKey": "Pfeil rechts",
|
||||||
"app.shortcut-help.previousSlideKey": "Pfeil links",
|
"app.shortcut-help.previousSlideKey": "Pfeil links",
|
||||||
|
"app.shortcut-help.select": "Werkzeug auswählen",
|
||||||
|
"app.shortcut-help.pencil": "Stift",
|
||||||
|
"app.shortcut-help.eraser": "Radierer",
|
||||||
|
"app.shortcut-help.rectangle": "Rechteck",
|
||||||
|
"app.shortcut-help.elipse": "Ellipse",
|
||||||
|
"app.shortcut-help.triangle": "Dreieck",
|
||||||
|
"app.shortcut-help.line": "Linie",
|
||||||
|
"app.shortcut-help.arrow": "Pfeil",
|
||||||
|
"app.shortcut-help.text": "Text",
|
||||||
|
"app.shortcut-help.note": "Haftnotiz",
|
||||||
|
"app.shortcut-help.general": "Allgemein",
|
||||||
|
"app.shortcut-help.presentation": "Präsentation",
|
||||||
|
"app.shortcut-help.whiteboard": "Whiteboard",
|
||||||
|
"app.shortcut-help.zoomIn": "Vergrößern",
|
||||||
|
"app.shortcut-help.zoomOut": "Verkleinern",
|
||||||
|
"app.shortcut-help.zoomFit": "Zoom zurücksetzen",
|
||||||
|
"app.shortcut-help.zoomSelect": "Auf Auswahl zoomen",
|
||||||
|
"app.shortcut-help.flipH": "Horizontal wenden",
|
||||||
|
"app.shortcut-help.flipV": "Vertikal spiegeln",
|
||||||
|
"app.shortcut-help.lock": "Sperren / Entsperren",
|
||||||
|
"app.shortcut-help.moveToFront": "Ganz nach vorne bringen",
|
||||||
|
"app.shortcut-help.moveToBack": "Ganz nach hinten schieben",
|
||||||
|
"app.shortcut-help.moveForward": "Eine Ebene nach vorne",
|
||||||
|
"app.shortcut-help.moveBackward": "Eine Ebene nach hinten",
|
||||||
|
"app.shortcut-help.undo": "Rückgängig",
|
||||||
|
"app.shortcut-help.redo": "Wiederherstellen",
|
||||||
|
"app.shortcut-help.cut": "Ausschneiden",
|
||||||
|
"app.shortcut-help.copy": "Kopieren",
|
||||||
|
"app.shortcut-help.paste": "Einfügen",
|
||||||
|
"app.shortcut-help.selectAll": "Alles auswählen",
|
||||||
|
"app.shortcut-help.delete": "Löschen",
|
||||||
|
"app.shortcut-help.duplicate": "Duplizieren",
|
||||||
"app.lock-viewers.title": "Teilnehmerrechte einschränken",
|
"app.lock-viewers.title": "Teilnehmerrechte einschränken",
|
||||||
"app.lock-viewers.description": "Diese Optionen ermöglichen es, bestimmte Funktionen für Teilnehmer einzuschränken.",
|
"app.lock-viewers.description": "Diese Optionen ermöglichen es, bestimmte Funktionen für Teilnehmer einzuschränken.",
|
||||||
"app.lock-viewers.featuresLable": "Funktion",
|
"app.lock-viewers.featuresLable": "Funktion",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Nächste Seite",
|
"app.connection-status.next": "Nächste Seite",
|
||||||
"app.connection-status.prev": "Vorherige Seite",
|
"app.connection-status.prev": "Vorherige Seite",
|
||||||
"app.learning-dashboard.label": "Lernanalyse-Dashboard",
|
"app.learning-dashboard.label": "Lernanalyse-Dashboard",
|
||||||
"app.learning-dashboard.description": "Übersichtsseite mit Benutzeraktivitäten öffnen",
|
"app.learning-dashboard.description": "Dashboard mit Nutzeraktivitäten",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Lernanalyse-Dashboard öffnen",
|
"app.learning-dashboard.clickHereToOpen": "Lernanalyse-Dashboard öffnen",
|
||||||
"app.recording.startTitle": "Aufzeichnung starten",
|
"app.recording.startTitle": "Aufzeichnung starten",
|
||||||
"app.recording.stopTitle": "Aufzeichnung pausieren",
|
"app.recording.stopTitle": "Aufzeichnung pausieren",
|
||||||
"app.recording.resumeTitle": "Aufzeichnung fortsetzen",
|
"app.recording.resumeTitle": "Aufzeichnung fortsetzen",
|
||||||
"app.recording.startDescription": "Durch erneutes Drücken des Aufnahmeknopfs Aufnahme pausieren.",
|
"app.recording.startDescription": "Durch erneutes Drücken des Aufnahmeknopfs Aufnahme pausieren.",
|
||||||
"app.recording.stopDescription": "Aufnahme pausieren? Diese kann durch erneutes Drücken des Aufnahmeknopfs jederzeit fortgesetzt werden.",
|
"app.recording.stopDescription": "Aufnahme pausieren? Diese kann durch erneutes Drücken des Aufnahmeknopfs jederzeit fortgesetzt werden.",
|
||||||
|
"app.recording.notify.title": "Aufzeichnung hat begonnen",
|
||||||
|
"app.recording.notify.description": "Eine Aufzeichnung der restlichen Sitzung wird verfügbar sein",
|
||||||
|
"app.recording.notify.continue": "Fortsetzen",
|
||||||
|
"app.recording.notify.leave": "Konferenz verlassen",
|
||||||
|
"app.recording.notify.continueLabel" : "Aufzeichnung akzeptieren und fortsetzen",
|
||||||
|
"app.recording.notify.leaveLabel" : "Aufzeichnung nicht akzeptieren und Konferenz verlassen",
|
||||||
"app.videoPreview.cameraLabel": "Kamera",
|
"app.videoPreview.cameraLabel": "Kamera",
|
||||||
"app.videoPreview.profileLabel": "Qualität",
|
"app.videoPreview.profileLabel": "Qualität",
|
||||||
"app.videoPreview.quality.low": "Niedrige",
|
"app.videoPreview.quality.low": "Niedrige",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Webcam auswählen",
|
"app.videoPreview.webcamOptionLabel": "Webcam auswählen",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Webcamvorschau",
|
"app.videoPreview.webcamPreviewLabel": "Webcamvorschau",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Webcameinstellungen",
|
"app.videoPreview.webcamSettingsTitle": "Webcameinstellungen",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Grafische Effekte für Webcam",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Einstellungen zum virtuellen Hintergrund",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Einstellungen zum virtuellen Hintergrund",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Dieses Gerät unterstützt keine virtuellen Hintergründe",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Dieses Gerät unterstützt keine virtuellen Hintergründe",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Keine Webcam gefunden",
|
"app.videoPreview.webcamNotFoundLabel": "Keine Webcam gefunden",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Keine unterstützten Kameraprofile",
|
"app.videoPreview.profileNotFoundLabel": "Keine unterstützten Kameraprofile",
|
||||||
|
"app.videoPreview.brightness": "Helligkeit",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Ganzes Bild",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Wendet Helligkeit auf Stream und Hintergrundbild an",
|
||||||
|
"app.videoPreview.sliderDesc": "Helligkeitsstufen regeln",
|
||||||
"app.video.joinVideo": "Webcam freigeben",
|
"app.video.joinVideo": "Webcam freigeben",
|
||||||
"app.video.connecting": "Webcamfreigabe wird gestartet ...",
|
"app.video.connecting": "Webcamfreigabe wird gestartet ...",
|
||||||
"app.video.leaveVideo": "Webcamfreigabe beenden",
|
"app.video.leaveVideo": "Webcamfreigabe beenden",
|
||||||
|
"app.video.videoSettings": "Videoeinstellungen",
|
||||||
|
"app.video.visualEffects": "Grafische Effekte",
|
||||||
"app.video.advancedVideo": "Erweiterte Einstellungen öffnen",
|
"app.video.advancedVideo": "Erweiterte Einstellungen öffnen",
|
||||||
"app.video.iceCandidateError": "Fehler beim Hinzufügen vom ice candidate",
|
"app.video.iceCandidateError": "Fehler beim Hinzufügen vom ice candidate",
|
||||||
"app.video.iceConnectionStateError": "Verbindungsfehler (Fehler 1107)",
|
"app.video.iceConnectionStateError": "Verbindungsfehler (Fehler 1107)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "Konnte nicht auf die Webcam zugreifen. Bitte prüfen, dass kein anderes Programm auf die Webcam zugreift",
|
"app.video.notReadableError": "Konnte nicht auf die Webcam zugreifen. Bitte prüfen, dass kein anderes Programm auf die Webcam zugreift",
|
||||||
"app.video.timeoutError": "Der Browser hat nicht rechtzeitig reagiert.",
|
"app.video.timeoutError": "Der Browser hat nicht rechtzeitig reagiert.",
|
||||||
"app.video.genericError": "Ein unbekannter Fehler ist mit der Kamera aufgetreten (Fehler {0})",
|
"app.video.genericError": "Ein unbekannter Fehler ist mit der Kamera aufgetreten (Fehler {0})",
|
||||||
|
"app.video.inactiveError": "Die Webcam stoppte unerwartet. Bitte die Browserbrechtigungen prüfen.",
|
||||||
"app.video.mediaTimedOutError": "Ihre Webcam-Freigabe wurde unterbrochen. Bitte erneut starten.",
|
"app.video.mediaTimedOutError": "Ihre Webcam-Freigabe wurde unterbrochen. Bitte erneut starten.",
|
||||||
"app.video.mediaFlowTimeout1020": "Verbindung zum Server konnte nicht hergestellt werden (Fehler 1020)",
|
"app.video.mediaFlowTimeout1020": "Verbindung zum Server konnte nicht hergestellt werden (Fehler 1020)",
|
||||||
"app.video.suggestWebcamLock": "Sperrung der Teilnehmerwebcams aktivieren?",
|
"app.video.suggestWebcamLock": "Sperrung der Teilnehmerwebcams aktivieren?",
|
||||||
@ -804,8 +945,17 @@
|
|||||||
"app.video.virtualBackground.board": "Tafel",
|
"app.video.virtualBackground.board": "Tafel",
|
||||||
"app.video.virtualBackground.coffeeshop": "Café",
|
"app.video.virtualBackground.coffeeshop": "Café",
|
||||||
"app.video.virtualBackground.background": "Hintergrund",
|
"app.video.virtualBackground.background": "Hintergrund",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "Hintergrund {0}",
|
||||||
|
"app.video.virtualBackground.custom": "Vom Gerät hochladen",
|
||||||
|
"app.video.virtualBackground.remove": "Hinzugefügtes Bild entfernen",
|
||||||
"app.video.virtualBackground.genericError": "Virtueller Hintergrund konnte nicht angewendet werden. Bitte erneut versuchen.",
|
"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.virtualBackground.camBgAriaDesc": "Setzt den virtuellen Hintergrund der Webcam auf {0}",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Maximale Dateigröße von {0} MB überschritten.",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Dateityp nicht erlaubt.",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Etwas ist beim Verarbeitung der Datei schiefgelaufen.",
|
||||||
|
"app.video.virtualBackground.uploaded": "Hochgeladen",
|
||||||
|
"app.video.virtualBackground.uploading": "Lade hoch…",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Fügt ein neues virtuelles Hintergrundbild hinzu.",
|
||||||
"app.video.camCapReached": "Sie können keine weiteren Kameras freigeben",
|
"app.video.camCapReached": "Sie können keine weiteren Kameras freigeben",
|
||||||
"app.video.meetingCamCapReached": "Konferenz hat die maximale Anzahl gleichzeitiger Kameras erreicht",
|
"app.video.meetingCamCapReached": "Konferenz hat die maximale Anzahl gleichzeitiger Kameras erreicht",
|
||||||
"app.video.dropZoneLabel": "Hier loslassen",
|
"app.video.dropZoneLabel": "Hier loslassen",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Umfrageergebnisse wurden veröffentlicht",
|
"app.whiteboard.annotations.poll": "Umfrageergebnisse wurden veröffentlicht",
|
||||||
"app.whiteboard.annotations.pollResult": "Umfrageergebnis",
|
"app.whiteboard.annotations.pollResult": "Umfrageergebnis",
|
||||||
"app.whiteboard.annotations.noResponses": "Keine Antworten",
|
"app.whiteboard.annotations.noResponses": "Keine Antworten",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "Keine Berechtigung für diese Änderung",
|
||||||
"app.whiteboard.toolbar.tools": "Werkzeuge",
|
"app.whiteboard.toolbar.tools": "Werkzeuge",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Verschieben",
|
"app.whiteboard.toolbar.tools.hand": "Verschieben",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Stift",
|
"app.whiteboard.toolbar.tools.pencil": "Stift",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Silber",
|
"app.whiteboard.toolbar.color.silver": "Silber",
|
||||||
"app.whiteboard.toolbar.undo": "Anmerkung zurücknehmen",
|
"app.whiteboard.toolbar.undo": "Anmerkung zurücknehmen",
|
||||||
"app.whiteboard.toolbar.clear": "Alle Anmerkungen löschen",
|
"app.whiteboard.toolbar.clear": "Alle Anmerkungen löschen",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "Sollen sämtliche Anmerkungen wirklich gelöscht werden?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Mehrbenutzermodus starten",
|
"app.whiteboard.toolbar.multiUserOn": "Mehrbenutzermodus starten",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Mehrbenutzermodus beenden",
|
"app.whiteboard.toolbar.multiUserOff": "Mehrbenutzermodus beenden",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Handballenerkennung einschalten",
|
"app.whiteboard.toolbar.palmRejectionOn": "Handballenerkennung einschalten",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Ausgewählte Webcam auf Normalgröße verkleinern",
|
"app.videoDock.webcamUnfocusDesc": "Ausgewählte Webcam auf Normalgröße verkleinern",
|
||||||
"app.videoDock.webcamPinLabel": "Anheften",
|
"app.videoDock.webcamPinLabel": "Anheften",
|
||||||
"app.videoDock.webcamPinDesc": "Ausgewählte Webcam anheften",
|
"app.videoDock.webcamPinDesc": "Ausgewählte Webcam anheften",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Webcam als Vollbild",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Webcameinstellungen",
|
||||||
"app.videoDock.webcamUnpinLabel": "Lösen",
|
"app.videoDock.webcamUnpinLabel": "Lösen",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Nur Moderatoren können Teilnehmer lösen",
|
"app.videoDock.webcamUnpinLabelDisabled": "Nur Moderatoren können Teilnehmer lösen",
|
||||||
"app.videoDock.webcamUnpinDesc": "Ausgewählte Webcam lösen",
|
"app.videoDock.webcamUnpinDesc": "Ausgewählte Webcam lösen",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Wir benötigen Ihre Zustimmung, um Ihnen die Webcams anderer Teilnehmer zu zeigen.",
|
"app.videoDock.autoplayBlockedDesc": "Wir benötigen Ihre Zustimmung, um Ihnen die Webcams anderer Teilnehmer zu zeigen.",
|
||||||
"app.videoDock.autoplayAllowLabel": "Webcams zeigen",
|
"app.videoDock.autoplayAllowLabel": "Webcams zeigen",
|
||||||
"app.invitation.title": "Gruppenraumeinladung",
|
|
||||||
"app.invitation.confirm": "Einladen",
|
|
||||||
"app.createBreakoutRoom.title": "Gruppenräume",
|
"app.createBreakoutRoom.title": "Gruppenräume",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Gruppenräume verbergen",
|
"app.createBreakoutRoom.ariaTitle": "Gruppenräume verbergen",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Gruppenräume {0}",
|
"app.createBreakoutRoom.breakoutRoomLabel": "Gruppenräume {0}",
|
||||||
@ -909,6 +1061,8 @@
|
|||||||
"app.createBreakoutRoom.addRoomTime": "Gruppenraumzeit erhöhen auf",
|
"app.createBreakoutRoom.addRoomTime": "Gruppenraumzeit erhöhen auf",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ Teilnehmer hinzufügen",
|
"app.createBreakoutRoom.addParticipantLabel": "+ Teilnehmer hinzufügen",
|
||||||
"app.createBreakoutRoom.freeJoin": "Den Teilnehmern erlauben, sich selbst einen Gruppenraum auszusuchen.",
|
"app.createBreakoutRoom.freeJoin": "Den Teilnehmern erlauben, sich selbst einen Gruppenraum auszusuchen.",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "Übertragen der gemeinsamen Notizen nach Beendigung der Arbeitsgruppenräume",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "Whiteboard erfassen, wenn Breakout-Räume enden",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Jedem Gruppenraum muss wenigstens ein Teilnehmer zugeordnet sein.",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "Jedem Gruppenraum muss wenigstens ein Teilnehmer zugeordnet sein.",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Die Mindestdauer für einen Gruppenraum beträgt {0} Minuten.",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Die Mindestdauer für einen Gruppenraum beträgt {0} Minuten.",
|
||||||
"app.createBreakoutRoom.modalDesc": "Tipp: Sie können die Teilnehmer per Drag-and-Drop einem bestimmten Gruppenraum zuweisen.",
|
"app.createBreakoutRoom.modalDesc": "Tipp: Sie können die Teilnehmer per Drag-and-Drop einem bestimmten Gruppenraum zuweisen.",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "Abbrechen",
|
"app.createBreakoutRoom.setTimeCancel": "Abbrechen",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Die Dauer der Gruppenräume darf die verbleibende Zeit der Konferenz nicht überschreiten.",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Die Dauer der Gruppenräume darf die verbleibende Zeit der Konferenz nicht überschreiten.",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Gruppenraumname ändern",
|
"app.createBreakoutRoom.roomNameInputDesc": "Gruppenraumname ändern",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "{0} in Raum {1} verschoben.",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Um einen Teilnehmer zu aktualisieren oder einzuladen, ziehen Sie ihn einfach in den gewünschten Raum.",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "Abbrechen",
|
||||||
|
"app.updateBreakoutRoom.title": "Gruppenräume aktualisieren",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Anwenden",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "Du wurdest in Raum {0} verschoben.",
|
||||||
|
"app.smartMediaShare.externalVideo": "Externe Video(s)",
|
||||||
|
"app.update.resetRoom": "Nutzerraum zurücksetzen",
|
||||||
"app.externalVideo.start": "Neues Video teilen",
|
"app.externalVideo.start": "Neues Video teilen",
|
||||||
"app.externalVideo.title": "Externes Video teilen",
|
"app.externalVideo.title": "Externes Video teilen",
|
||||||
"app.externalVideo.input": "Externe Video-URL",
|
"app.externalVideo.input": "Externe Video-URL",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(es wird deaktiviert, wenn der Webcambereich gezogen oder in der Größe verändert wird)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(es wird deaktiviert, wenn der Webcambereich gezogen oder in der Größe verändert wird)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": "Test der Chatprotokollierungsstufen",
|
"app.debugWindow.form.chatLoggerLabel": "Test der Chatprotokollierungsstufen",
|
||||||
"app.debugWindow.form.button.apply": "Anwenden",
|
"app.debugWindow.form.button.apply": "Anwenden",
|
||||||
|
"app.layout.modal.title": "Layouts",
|
||||||
|
"app.layout.modal.confirm": "Bestätigen",
|
||||||
|
"app.layout.modal.cancel": "Abbrechen",
|
||||||
|
"app.layout.modal.layoutLabel": "Layout auswählen",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Layout bei allen anwenden",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "An alle verteilen",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Layouteinstellungen geändert",
|
||||||
|
"app.layout.modal.layoutSingular": "Layout",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Legt Layout als ausgewählte Option fest",
|
||||||
"app.layout.style.custom": "Benutzerdefiniertes Layout",
|
"app.layout.style.custom": "Benutzerdefiniertes Layout",
|
||||||
"app.layout.style.smart": "Automatisches Layout",
|
"app.layout.style.smart": "Automatisches Layout",
|
||||||
"app.layout.style.presentationFocus": "Präsentation im Zentrum",
|
"app.layout.style.presentationFocus": "Präsentation im Zentrum",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Vorschaubildbereich",
|
"playback.player.thumbnails.wrapper.aria": "Vorschaubildbereich",
|
||||||
"playback.player.webcams.wrapper.aria": "Webcambereich",
|
"playback.player.webcams.wrapper.aria": "Webcambereich",
|
||||||
"app.learningDashboard.dashboardTitle": "Lernanalyse-Dashboard",
|
"app.learningDashboard.dashboardTitle": "Lernanalyse-Dashboard",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Konferenzdaten herunterladen",
|
"app.learningDashboard.downloadSessionDataLabel": "Konferenzdaten herunterladen",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Zuletzt aktualisiert um",
|
"app.learningDashboard.lastUpdatedLabel": "Zuletzt aktualisiert um",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "Heruntergeladen!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "Heruntergeladen!",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Antwort",
|
"app.learningDashboard.userDetails.response": "Antwort",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "Häufigste Antwort",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "Häufigste Antwort",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Anonyme Umfrage",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Anonyme Umfrage",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Sprechzeit",
|
||||||
|
"app.learningDashboard.userDetails.messages": "Nachrichten",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Emojis",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "Hand heben",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Abstimmungen",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": "{0} Online-Zeit",
|
||||||
"app.learningDashboard.usersTable.title": "Übersicht",
|
"app.learningDashboard.usersTable.title": "Übersicht",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Onlinezeit",
|
"app.learningDashboard.usersTable.colOnline": "Onlinezeit",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Redezeit",
|
"app.learningDashboard.usersTable.colTalk": "Redezeit",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anonym",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Anonym",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Es wurden keine Umfragen erstellt",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Es wurden keine Umfragen erstellt",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Sobald eine Umfrage an die Teilnehmer gesendet wurde, werden die Ergebnisse in dieser Liste angezeigt.",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Sobald eine Umfrage an die Teilnehmer gesendet wurde, werden die Ergebnisse in dieser Liste angezeigt.",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Insgesamt",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Teilnehmer",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Zeitverlauf",
|
"app.learningDashboard.statusTimelineTable.title": "Zeitverlauf",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Vorschaubild der Präsentation",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Vorschaubild der Präsentation",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Präsentation",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Seite",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Setzen bei",
|
||||||
"app.learningDashboard.errors.invalidToken": "Ungültiger Konferenz-Token",
|
"app.learningDashboard.errors.invalidToken": "Ungültiger Konferenz-Token",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Die Daten sind nicht mehr verfügbar",
|
"app.learningDashboard.errors.dataUnavailable": "Die Daten sind nicht mehr verfügbar",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Fügen Sie Ihr erstes Portal über die Schaltfläche oben hinzu,",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Fügen Sie Ihr erstes Portal über die Schaltfläche oben hinzu,",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Benötigte Felder",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Benötigte Felder",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Name existiert bereits",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Name existiert bereits",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Fehler beim Laden der Seite - URL und Netzwerkverbindung prüfen"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Fehler beim Laden der Seite - URL und Netzwerkverbindung prüfen"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -652,7 +652,7 @@
|
|||||||
"app.audio.captions.select.en-US": "English",
|
"app.audio.captions.select.en-US": "English",
|
||||||
"app.audio.captions.select.es-ES": "Spanish",
|
"app.audio.captions.select.es-ES": "Spanish",
|
||||||
"app.audio.captions.select.fr-FR": "French",
|
"app.audio.captions.select.fr-FR": "French",
|
||||||
"app.audio.captions.select.hi-ID": "Indian",
|
"app.audio.captions.select.hi-ID": "Hindi",
|
||||||
"app.audio.captions.select.it-IT": "Italian",
|
"app.audio.captions.select.it-IT": "Italian",
|
||||||
"app.audio.captions.select.ja-JP": "Japanese",
|
"app.audio.captions.select.ja-JP": "Japanese",
|
||||||
"app.audio.captions.select.pt-BR": "Portuguese",
|
"app.audio.captions.select.pt-BR": "Portuguese",
|
||||||
@ -798,9 +798,9 @@
|
|||||||
"app.shortcut-help.whiteboard": "Whiteboard",
|
"app.shortcut-help.whiteboard": "Whiteboard",
|
||||||
"app.shortcut-help.zoomIn": "Zoom In",
|
"app.shortcut-help.zoomIn": "Zoom In",
|
||||||
"app.shortcut-help.zoomOut": "Zoom Out",
|
"app.shortcut-help.zoomOut": "Zoom Out",
|
||||||
"app.shortcut-help.zoomFit": "Zoom to Fit",
|
"app.shortcut-help.zoomFit": "Reset Zoom",
|
||||||
"app.shortcut-help.zoomSelect": "Zoom to Selection",
|
"app.shortcut-help.zoomSelect": "Zoom to Selection",
|
||||||
"app.shortcut-help.flipH": "Flip Horozontal",
|
"app.shortcut-help.flipH": "Flip Horizontal",
|
||||||
"app.shortcut-help.flipV": "Flip Vertical",
|
"app.shortcut-help.flipV": "Flip Vertical",
|
||||||
"app.shortcut-help.lock": "Lock / Unlock",
|
"app.shortcut-help.lock": "Lock / Unlock",
|
||||||
"app.shortcut-help.moveToFront": "Move to Front",
|
"app.shortcut-help.moveToFront": "Move to Front",
|
||||||
@ -900,7 +900,7 @@
|
|||||||
"app.videoPreview.profileNotFoundLabel": "No supported camera profile",
|
"app.videoPreview.profileNotFoundLabel": "No supported camera profile",
|
||||||
"app.videoPreview.brightness": "Brightness",
|
"app.videoPreview.brightness": "Brightness",
|
||||||
"app.videoPreview.wholeImageBrightnessLabel": "Whole image",
|
"app.videoPreview.wholeImageBrightnessLabel": "Whole image",
|
||||||
"app.videoPreview.wholeImageBrightnessDesc": "Applies brighteness to stream and background image",
|
"app.videoPreview.wholeImageBrightnessDesc": "Applies brightness to stream and background image",
|
||||||
"app.videoPreview.sliderDesc": "Increase or decrease levels of brightness",
|
"app.videoPreview.sliderDesc": "Increase or decrease levels of brightness",
|
||||||
"app.video.joinVideo": "Share webcam",
|
"app.video.joinVideo": "Share webcam",
|
||||||
"app.video.connecting": "Webcam sharing is starting ...",
|
"app.video.connecting": "Webcam sharing is starting ...",
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "Su presentación se iniciará pronto...",
|
"app.home.greeting": "Su presentación se iniciará pronto...",
|
||||||
"app.chat.submitLabel": "Enviar mensaje",
|
"app.chat.submitLabel": "Enviar mensaje",
|
||||||
"app.chat.loading": "Mensajes de chat cargados: {0}%",
|
"app.chat.loading": "Mensajes de chat cargados: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "El mensaje es {0} carácter(es) más largo de lo esperado",
|
"app.chat.errorMaxMessageLength": "El mensaje es demasiado largo, excedió el máximo de {0} caracteres",
|
||||||
"app.chat.disconnected": "Está desconectado, los mensajes no pueden ser enviados",
|
"app.chat.disconnected": "Está desconectado, los mensajes no pueden ser enviados",
|
||||||
"app.chat.locked": "Chat bloqueado, los mensajes no pueden ser enviados",
|
"app.chat.locked": "Chat bloqueado, los mensajes no pueden ser enviados",
|
||||||
"app.chat.inputLabel": "Entrada de mensaje para chat {0}",
|
"app.chat.inputLabel": "Entrada de mensaje para chat {0}",
|
||||||
|
"app.chat.emojiButtonLabel": "Selector de emojis",
|
||||||
"app.chat.inputPlaceholder": "Mensaje {0}",
|
"app.chat.inputPlaceholder": "Mensaje {0}",
|
||||||
"app.chat.titlePublic": "Chat público",
|
"app.chat.titlePublic": "Chat público",
|
||||||
"app.chat.titlePrivate": "Chat privado con {0}",
|
"app.chat.titlePrivate": "Chat privado con {0}",
|
||||||
@ -21,6 +22,7 @@
|
|||||||
"app.chat.offline": "Desconectado",
|
"app.chat.offline": "Desconectado",
|
||||||
"app.chat.pollResult": "Resultados de la encuesta/votación",
|
"app.chat.pollResult": "Resultados de la encuesta/votación",
|
||||||
"app.chat.breakoutDurationUpdated": "La duración del grupo de trabajo es ahora de {0} minutos",
|
"app.chat.breakoutDurationUpdated": "La duración del grupo de trabajo es ahora de {0} minutos",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "El tiempo de las salas de reuniones ahora es de {0} minutos, y se ha enviado una notificación.",
|
||||||
"app.chat.emptyLogLabel": "Registro de chat vacío",
|
"app.chat.emptyLogLabel": "Registro de chat vacío",
|
||||||
"app.chat.clearPublicChatMessage": "El chat público fue borrado por un moderador",
|
"app.chat.clearPublicChatMessage": "El chat público fue borrado por un moderador",
|
||||||
"app.chat.multi.typing": "Varios usuarios están escribiendo",
|
"app.chat.multi.typing": "Varios usuarios están escribiendo",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} y {1} están escribiendo",
|
"app.chat.two.typing": "{0} y {1} están escribiendo",
|
||||||
"app.chat.copySuccess": "Transcripción de chat copiada",
|
"app.chat.copySuccess": "Transcripción de chat copiada",
|
||||||
"app.chat.copyErr": "Copiar la transcripción del chat ha fallado",
|
"app.chat.copyErr": "Copiar la transcripción del chat ha fallado",
|
||||||
|
"app.emojiPicker.search": "Buscar",
|
||||||
|
"app.emojiPicker.notFound": " No se encontraron emojis",
|
||||||
|
"app.emojiPicker.skintext": " Elige tu tono de piel predeterminado",
|
||||||
|
"app.emojiPicker.clear": "Limpiar",
|
||||||
|
"app.emojiPicker.categories.label": "Categorías de los emojis",
|
||||||
|
"app.emojiPicker.categories.people": "Personas y cuerpo",
|
||||||
|
"app.emojiPicker.categories.nature": "Animales y Naturaleza",
|
||||||
|
"app.emojiPicker.categories.foods": "Comida y bebida",
|
||||||
|
"app.emojiPicker.categories.places": "Viajes y lugares",
|
||||||
|
"app.emojiPicker.categories.activity": "Actividad",
|
||||||
|
"app.emojiPicker.categories.objects": "Objetos",
|
||||||
|
"app.emojiPicker.categories.symbols": "Símbolos",
|
||||||
|
"app.emojiPicker.categories.flags": "Banderas",
|
||||||
|
"app.emojiPicker.categories.recent": "Usados frecuentemente",
|
||||||
|
"app.emojiPicker.categories.search": "Resultados de la búsqueda",
|
||||||
|
"app.emojiPicker.skintones.1": " Tono de piel predeterminado",
|
||||||
|
"app.emojiPicker.skintones.2": "Tono de piel claro",
|
||||||
|
"app.emojiPicker.skintones.3": "Tono de piel medio-claro",
|
||||||
|
"app.emojiPicker.skintones.4": "Tono de piel medio",
|
||||||
|
"app.emojiPicker.skintones.5": "Tono de piel medio-oscuro",
|
||||||
|
"app.emojiPicker.skintones.6": "Tono de piel oscuro",
|
||||||
"app.captions.label": "Subtítulos",
|
"app.captions.label": "Subtítulos",
|
||||||
"app.captions.menu.close": "Cerrar",
|
"app.captions.menu.close": "Cerrar",
|
||||||
"app.captions.menu.start": "Iniciar",
|
"app.captions.menu.start": "Iniciar",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Reconocimiento de voz iniciado",
|
"app.captions.speech.start": "Reconocimiento de voz iniciado",
|
||||||
"app.captions.speech.stop": "Reconocimiento de voz detenido",
|
"app.captions.speech.stop": "Reconocimiento de voz detenido",
|
||||||
"app.captions.speech.error": "Reconocimiento de voz detenido debido a incompatibilidad con el navegador o algún tiempo de silencio",
|
"app.captions.speech.error": "Reconocimiento de voz detenido debido a incompatibilidad con el navegador o algún tiempo de silencio",
|
||||||
|
"app.confirmation.skipConfirm": "No preguntar de nuevo",
|
||||||
|
"app.confirmation.virtualBackground.title": "Comenzar nuevo fondo virtual",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} se añadirá como fondo virtual. ¿Continuar?",
|
||||||
|
"app.confirmationModal.yesLabel": "Sí",
|
||||||
"app.textInput.sendLabel": "Enviar",
|
"app.textInput.sendLabel": "Enviar",
|
||||||
"app.title.defaultViewLabel": "Vista de presentación predeterminada",
|
"app.title.defaultViewLabel": "Vista de presentación predeterminada",
|
||||||
"app.notes.title": "Notas compartidas",
|
"app.notes.title": "Notas compartidas",
|
||||||
"app.notes.label": "Notas",
|
"app.notes.label": "Notas",
|
||||||
"app.notes.hide": "Ocultar notas",
|
"app.notes.hide": "Ocultar notas",
|
||||||
"app.notes.locked": "Bloqueado",
|
"app.notes.locked": "Bloqueado",
|
||||||
|
"app.notes.disabled": "Fijado en el área de medios",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Convertir notas en presentación",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Fijar notas en la pizarra",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Desanclar notas",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Opciones de notas",
|
||||||
"app.pads.hint": "Pulsa Esc para enfocar la barra de herramientas del pad",
|
"app.pads.hint": "Pulsa Esc para enfocar la barra de herramientas del pad",
|
||||||
"app.user.activityCheck": "Comprobar actividad del usuario",
|
"app.user.activityCheck": "Comprobar actividad del usuario",
|
||||||
"app.user.activityCheck.label": "Comprobar si el usuario continúa en la reunión ({0})",
|
"app.user.activityCheck.label": "Comprobar si el usuario continúa en la reunión ({0})",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Fin del pase de diapositivas",
|
"app.presentation.endSlideContent": "Fin del pase de diapositivas",
|
||||||
"app.presentation.changedSlideContent": "Presentación cambiada a diapositiva: {0}",
|
"app.presentation.changedSlideContent": "Presentación cambiada a diapositiva: {0}",
|
||||||
"app.presentation.emptySlideContent": "Diapositiva actual sin contenido",
|
"app.presentation.emptySlideContent": "Diapositiva actual sin contenido",
|
||||||
"app.presentation.options.fullscreen": "Pantalla completa",
|
"app.presentation.options.fullscreen": "Presentación a pantalla completa",
|
||||||
"app.presentation.options.exitFullscreen": "Salir de pantalla completa",
|
"app.presentation.options.exitFullscreen": "Salir de pantalla completa",
|
||||||
"app.presentation.options.minimize": "Minimizar",
|
"app.presentation.options.minimize": "Minimizar",
|
||||||
"app.presentation.options.snapshot": "Realizar instantánea de la diapositiva actual",
|
"app.presentation.options.snapshot": "Realizar instantánea de la diapositiva actual",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
||||||
"app.presentation.placeholder": "No hay actualmente una presentación activa",
|
"app.presentation.placeholder": "No hay actualmente una presentación activa",
|
||||||
"app.presentationUploder.title": "Presentación",
|
"app.presentationUploder.title": "Presentación",
|
||||||
"app.presentationUploder.message": "Como presentador tiene la habilidad de subir cualquier documento ofimático o PDF. Le recomendamos el formato PDF para obtener los mejores resultados. Por favor asegúrese de que la presentación está seleccionada usando el selector circular en la parte derecha.",
|
"app.presentationUploder.message": "Como presentador, tiene la posibilidad de cargar cualquier documento de oficina o archivo PDF. Se recomienda el archivo PDF para obtener los mejores resultados. Asegúrese de seleccionar una presentación usando la casilla de verificación círcular en el lado izquierdo.",
|
||||||
|
"app.presentationUploader.exportHint": "Al seleccionar \"Enviar al chat\", los usuarios recibirán un enlace en el chat público para descargar las anotaciones .",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Enviando al chat (elemento {0})",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Enviando al chat ({0} elementos)",
|
||||||
|
"app.presentationUploader.exporting": "Enviando al chat",
|
||||||
|
"app.presentationUploader.sending": "Enviando...",
|
||||||
|
"app.presentationUploader.collecting": "Extrayendo la diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.processing": "Anotando la diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.sent": "Enviado",
|
||||||
|
"app.presentationUploader.exportingTimeout": "La exportación está tardando demasiado...",
|
||||||
|
"app.presentationUploader.export": "Enviar al chat",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Presentación actual",
|
||||||
"app.presentationUploder.extraHint": "IMPORTANTE: cada fichero no puede exceder {0} MB y {1} páginas",
|
"app.presentationUploder.extraHint": "IMPORTANTE: cada fichero no puede exceder {0} MB y {1} páginas",
|
||||||
"app.presentationUploder.uploadLabel": "Cargar",
|
"app.presentationUploder.uploadLabel": "Cargar",
|
||||||
"app.presentationUploder.confirmLabel": "Confirmar",
|
"app.presentationUploder.confirmLabel": "Confirmar",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Arrastrar imágenes aquí para cargarlas",
|
"app.presentationUploder.dropzoneImagesLabel": "Arrastrar imágenes aquí para cargarlas",
|
||||||
"app.presentationUploder.browseFilesLabel": "o buscar archivos",
|
"app.presentationUploder.browseFilesLabel": "o buscar archivos",
|
||||||
"app.presentationUploder.browseImagesLabel": "o buscar imagenes",
|
"app.presentationUploder.browseImagesLabel": "o buscar imagenes",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "Agregar contenido desde una aplicación de terceros",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Buscar ficheros",
|
||||||
"app.presentationUploder.fileToUpload": "En proceso de ser cargado ...",
|
"app.presentationUploder.fileToUpload": "En proceso de ser cargado ...",
|
||||||
"app.presentationUploder.currentBadge": "Actual",
|
"app.presentationUploder.currentBadge": "Actual",
|
||||||
"app.presentationUploder.rejectedError": "El(los) archivo(s) seleccionado(s) ha(n) sido rechazado(s). Por favor, revise el(los) tipo(s) de archivo.",
|
"app.presentationUploder.rejectedError": "El(los) archivo(s) seleccionado(s) ha(n) sido rechazado(s). Por favor, revise el(los) tipo(s) de archivo.",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Diapositivas han sido generadas ...",
|
"app.presentationUploder.conversion.generatedSlides": "Diapositivas han sido generadas ...",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "Generando imágenes SVG ...",
|
"app.presentationUploder.conversion.generatingSvg": "Generando imágenes SVG ...",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
|
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Formato no válido detectado (extensión={0}, tipo de contenido={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "La diapositiva {0} no se pudo procesar en {1} intentos.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Error en procesar el documento de Office. Por favor, suba un archivo PDF en su lugar.",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
|
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
|
||||||
"app.presentationUploder.conversion.timeout": "La conversión tomó demasiado tiempo ...",
|
"app.presentationUploder.conversion.timeout": "La conversión tomó demasiado tiempo ...",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "Error en determinar el número de páginas.",
|
"app.presentationUploder.conversion.pageCountFailed": "Error en determinar el número de páginas.",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Extensión (tipo) de archivo no soportado",
|
"app.presentationUploder.conversion.unsupportedDocument": "Extensión (tipo) de archivo no soportado",
|
||||||
"app.presentationUploder.isDownloadableLabel": "No se permite la descarga de la presentación - click para permitir descargar la presentación",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Se permite descargar la presentación - click para denegar la descarga de la presentación",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Borrar presentación",
|
"app.presentationUploder.removePresentationLabel": "Borrar presentación",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Establecer presentación como actual",
|
"app.presentationUploder.setAsCurrentPresentation": "Establecer presentación como actual",
|
||||||
"app.presentationUploder.tableHeading.filename": "Nombre de archivo",
|
"app.presentationUploder.tableHeading.filename": "Nombre de archivo",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Limpiar errores",
|
"app.presentationUploder.clearErrors": "Limpiar errores",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Limpiar las presentaciones cuya subida ha fallado",
|
"app.presentationUploder.clearErrorsDesc": "Limpiar las presentaciones cuya subida ha fallado",
|
||||||
"app.presentationUploder.uploadViewTitle": "Subir presentación",
|
"app.presentationUploder.uploadViewTitle": "Subir presentación",
|
||||||
|
"app.poll.questionAndoptions.label" : "Texto de la pregunta que se mostrará.\nA. Opción de encuesta\nB. Opción de encuesta (opcional)\nC. Opción de encuesta (opcional)\nD. Opción de encuesta (opcional )\nE. Opción de encuesta (opcional)",
|
||||||
|
"app.poll.customInput.label": "Entrada personalizada",
|
||||||
|
"app.poll.customInputInstructions.label": "La entrada personalizada está habilitada: escriba la pregunta de la encuesta y las opciones en el formato dado o arrastre y suelte un archivo de texto en el mismo formato.",
|
||||||
|
"app.poll.maxOptionsWarning.label": "¡Solo se pueden usar las primeras 5 opciones!",
|
||||||
"app.poll.pollPaneTitle": "Encuesta",
|
"app.poll.pollPaneTitle": "Encuesta",
|
||||||
"app.poll.enableMultipleResponseLabel": "¿Permitir múltiples respuestas por cada persona?",
|
"app.poll.enableMultipleResponseLabel": "¿Permitir múltiples respuestas por cada persona?",
|
||||||
"app.poll.quickPollTitle": "Encuesta rápida",
|
"app.poll.quickPollTitle": "Encuesta rápida",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "'Click' aquí para seleccionar",
|
"app.poll.clickHereToSelect": "'Click' aquí para seleccionar",
|
||||||
"app.poll.question.label" : "Escribe tu pregunta...",
|
"app.poll.question.label" : "Escribe tu pregunta...",
|
||||||
"app.poll.optionalQuestion.label" : "Escribe tu pregunta (opcional)...",
|
"app.poll.optionalQuestion.label" : "Escribe tu pregunta (opcional)...",
|
||||||
"app.poll.userResponse.label" : "Respuesta del usuario",
|
"app.poll.userResponse.label" : "Respuesta escrita",
|
||||||
"app.poll.responseTypes.label" : "Tipos de respuesta",
|
"app.poll.responseTypes.label" : "Tipos de respuesta",
|
||||||
"app.poll.optionDelete.label" : "Borrar",
|
"app.poll.optionDelete.label" : "Borrar",
|
||||||
"app.poll.responseChoices.label" : "Opciones de respuesta",
|
"app.poll.responseChoices.label" : "Opciones de respuesta",
|
||||||
@ -329,7 +378,7 @@
|
|||||||
"app.muteWarning.disableMessage": "Silenciar alertas inhabilitadas hasta dejar de silenciar",
|
"app.muteWarning.disableMessage": "Silenciar alertas inhabilitadas hasta dejar de silenciar",
|
||||||
"app.muteWarning.tooltip": "Haga clic para cerrar y deshabilitar la advertencia hasta la próxima activación del sonido",
|
"app.muteWarning.tooltip": "Haga clic para cerrar y deshabilitar la advertencia hasta la próxima activación del sonido",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Opciones",
|
"app.navBar.settingsDropdown.optionsLabel": "Opciones",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Desplegar a pantalla completa",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Aplicación a pantalla completa",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Abrir configuración",
|
"app.navBar.settingsDropdown.settingsLabel": "Abrir configuración",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Acerca de",
|
"app.navBar.settingsDropdown.aboutLabel": "Acerca de",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar la reunión",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar la reunión",
|
||||||
@ -342,6 +391,7 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Atajos de teclado",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Atajos de teclado",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Listado de atajos de teclado disponibles",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Listado de atajos de teclado disponibles",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Ayuda",
|
"app.navBar.settingsDropdown.helpLabel": "Ayuda",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "Abrir en la aplicación BigBlueButton Tablet",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Enlaces a videotutoriales (abre una nueva pestaña)",
|
"app.navBar.settingsDropdown.helpDesc": "Enlaces a videotutoriales (abre una nueva pestaña)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza la sesión actual",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza la sesión actual",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Finalizar sesión",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Finalizar sesión",
|
||||||
@ -359,7 +409,7 @@
|
|||||||
"app.endMeeting.description": "Esta acción finalizará la sesión para {0} usuarios activos. ¿Está seguro de querer finalizar esta sesión?",
|
"app.endMeeting.description": "Esta acción finalizará la sesión para {0} usuarios activos. ¿Está seguro de querer finalizar esta sesión?",
|
||||||
"app.endMeeting.noUserDescription": "¿Está seguro/a de querer terminar esta sesión?",
|
"app.endMeeting.noUserDescription": "¿Está seguro/a de querer terminar esta sesión?",
|
||||||
"app.endMeeting.contentWarning": "Ya no se podrá acceder directamente a los mensajes de chat, las notas compartidas, el contenido de la pizarra y los documentos compartidos de esta sesión.",
|
"app.endMeeting.contentWarning": "Ya no se podrá acceder directamente a los mensajes de chat, las notas compartidas, el contenido de la pizarra y los documentos compartidos de esta sesión.",
|
||||||
"app.endMeeting.yesLabel": "Sí",
|
"app.endMeeting.yesLabel": "Finalizar la sesión para todos los usuarios",
|
||||||
"app.endMeeting.noLabel": "No",
|
"app.endMeeting.noLabel": "No",
|
||||||
"app.about.title": "Acerca de",
|
"app.about.title": "Acerca de",
|
||||||
"app.about.version": "Versión del cliente:",
|
"app.about.version": "Versión del cliente:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "OK",
|
"app.about.confirmDesc": "OK",
|
||||||
"app.about.dismissLabel": "Cancelar",
|
"app.about.dismissLabel": "Cancelar",
|
||||||
"app.about.dismissDesc": "Cerrar información acerca del cliente",
|
"app.about.dismissDesc": "Cerrar información acerca del cliente",
|
||||||
|
"app.mobileAppModal.title": "Abrir la aplicación Bigbluebutton Tablet.",
|
||||||
|
"app.mobileAppModal.description": "¿Tienes la aplicación Bigbluebutton Tablet instalada en tu dispositivo?",
|
||||||
|
"app.mobileAppModal.openApp": "Sí, abrir la app ahora.",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Obteniendo URL de la reunión",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Error al tratar de obtener la URL de la reunión",
|
||||||
|
"app.mobileAppModal.openStore": "No, abre la App Store para descargarla",
|
||||||
|
"app.mobileAppModal.dismissLabel": "Cancelar",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Cerrar",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "El usuario {0} acaba de conectarse con el mismo ID que usted.",
|
||||||
"app.actionsBar.changeStatusLabel": "Cambiar estado",
|
"app.actionsBar.changeStatusLabel": "Cambiar estado",
|
||||||
"app.actionsBar.muteLabel": "Deshabilitar audio",
|
"app.actionsBar.muteLabel": "Deshabilitar audio",
|
||||||
"app.actionsBar.unmuteLabel": "Habilitar audio",
|
"app.actionsBar.unmuteLabel": "Habilitar audio",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar la presentación después de haber sido minimizada",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar la presentación después de haber sido minimizada",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar presentación",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar presentación",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Configuración del diseño",
|
||||||
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
||||||
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
||||||
"app.submenu.application.animationsLabel": "Animaciones",
|
"app.submenu.application.animationsLabel": "Animaciones",
|
||||||
"app.submenu.application.audioFilterLabel": "Filtros de audio para el micrófono",
|
"app.submenu.application.audioFilterLabel": "Filtros de audio para el micrófono",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Modo oscuro",
|
||||||
"app.submenu.application.fontSizeControlLabel": "Tamaño de fuente",
|
"app.submenu.application.fontSizeControlLabel": "Tamaño de fuente",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Incrementar tamaño de fuente",
|
"app.submenu.application.increaseFontBtnLabel": "Incrementar tamaño de fuente",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fuente",
|
"app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fuente",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "No hay locales activos",
|
"app.submenu.application.noLocaleOptionLabel": "No hay locales activos",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Paginación de vídeo",
|
"app.submenu.application.paginationEnabledLabel": "Paginación de vídeo",
|
||||||
"app.submenu.application.layoutOptionLabel": "Tipo de diseño",
|
"app.submenu.application.layoutOptionLabel": "Tipo de diseño",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Forzar diseño",
|
||||||
"app.submenu.notification.SectionTitle": "Notificaciones",
|
"app.submenu.notification.SectionTitle": "Notificaciones",
|
||||||
"app.submenu.notification.Desc": "Defina cómo y de qué será notificado.",
|
"app.submenu.notification.Desc": "Defina cómo y de qué será notificado.",
|
||||||
"app.submenu.notification.audioAlertLabel": "Alertas audibles",
|
"app.submenu.notification.audioAlertLabel": "Alertas audibles",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Gurada cambios y cierra el menú de configuración",
|
"app.settings.main.save.label.description": "Gurada cambios y cierra el menú de configuración",
|
||||||
"app.settings.dataSavingTab.label": "Ahorro de datos",
|
"app.settings.dataSavingTab.label": "Ahorro de datos",
|
||||||
"app.settings.dataSavingTab.webcam": "Habilitar webcams",
|
"app.settings.dataSavingTab.webcam": "Habilitar webcams",
|
||||||
"app.settings.dataSavingTab.screenShare": "Habilitar escritorio compartido",
|
"app.settings.dataSavingTab.screenShare": "Permitir que otros participantes compartan el escritorio",
|
||||||
"app.settings.dataSavingTab.description": "Para ahorrar ancho de banda ajusta lo que se se está mostrando",
|
"app.settings.dataSavingTab.description": "Para ahorrar ancho de banda ajusta lo que se se está mostrando",
|
||||||
"app.settings.save-notification.label": "La configuración se ha guardado",
|
"app.settings.save-notification.label": "La configuración se ha guardado",
|
||||||
"app.statusNotifier.lowerHands": "Manos bajadas",
|
"app.statusNotifier.lowerHands": "Manos bajadas",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Gestionar presentaciones",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Gestionar presentaciones",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar una encuesta",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar una encuesta",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir tu pantalla",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir tu pantalla",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Compartir pantalla está bloqueado",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Dejar de compartir tu pantalla",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Dejar de compartir tu pantalla",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Subir tu presentación",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Subir tu presentación",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar una encuesta",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar una encuesta",
|
||||||
@ -457,6 +518,7 @@
|
|||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarte a ti mismo el rol de presentador",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarte a ti mismo el rol de presentador",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar usuario al azar",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar usuario al azar",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Elige a un usuario al azar entre los espectadores",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Elige a un usuario al azar entre los espectadores",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Propagar el diseño",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Establecer estado",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Establecer estado",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Cambiar tu estado a ausente",
|
"app.actionsBar.emojiMenu.awayDesc": "Cambiar tu estado a ausente",
|
||||||
@ -496,6 +558,7 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Conexión cerrada (ICE error 1012)",
|
"app.audioNotification.audioFailedError1012": "Conexión cerrada (ICE error 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "Tu conexión de audio falló en conectarse",
|
"app.audioNotification.audioFailedMessage": "Tu conexión de audio falló en conectarse",
|
||||||
"app.audioNotification.mediaFailedMessage": "getUserMicMedia falló porque sólo se admiten orígenes seguros",
|
"app.audioNotification.mediaFailedMessage": "getUserMicMedia falló porque sólo se admiten orígenes seguros",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Falló el cambio de dispositivo de audio. Compruebe si el dispositivo elegido está correctamente configurado y disponible",
|
||||||
"app.audioNotification.closeLabel": "Cerrar",
|
"app.audioNotification.closeLabel": "Cerrar",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "El micrófono ha sido bloqueado para todos los espectadores, tu conexión es en modo 'solo escuchar'",
|
"app.audioNotificaion.reconnectingAsListenOnly": "El micrófono ha sido bloqueado para todos los espectadores, tu conexión es en modo 'solo escuchar'",
|
||||||
"app.breakoutJoinConfirmation.title": "Ingresar a un grupo de trabajo",
|
"app.breakoutJoinConfirmation.title": "Ingresar a un grupo de trabajo",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "Cambiar duración",
|
"app.breakout.dropdown.manageDuration": "Cambiar duración",
|
||||||
"app.breakout.dropdown.destroyAll": "Finalizar grupos de trabajo",
|
"app.breakout.dropdown.destroyAll": "Finalizar grupos de trabajo",
|
||||||
"app.breakout.dropdown.options": "Opciones de las salas de grupos de trabajo",
|
"app.breakout.dropdown.options": "Opciones de las salas de grupos de trabajo",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Gestionar usuarios",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Calculando tiempo restante ...",
|
"app.calculatingBreakoutTimeRemaining": "Calculando tiempo restante ...",
|
||||||
"app.audioModal.ariaTitle": "Unirse en modo audio",
|
"app.audioModal.ariaTitle": "Unirse en modo audio",
|
||||||
"app.audioModal.microphoneLabel": "Micrófono",
|
"app.audioModal.microphoneLabel": "Micrófono",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Cambiar dispositivo de audio",
|
"app.audio.changeAudioDevice": "Cambiar dispositivo de audio",
|
||||||
"app.audio.enterSessionLabel": "Entrar a la sesión",
|
"app.audio.enterSessionLabel": "Entrar a la sesión",
|
||||||
"app.audio.playSoundLabel": "Reproducir sonido",
|
"app.audio.playSoundLabel": "Reproducir sonido",
|
||||||
|
"app.audio.stopAudioFeedback": "Detener retroalimentación de audio",
|
||||||
"app.audio.backLabel": "Atrás",
|
"app.audio.backLabel": "Atrás",
|
||||||
"app.audio.loading": "Cargando",
|
"app.audio.loading": "Cargando",
|
||||||
"app.audio.microphones": "Micrófonos",
|
"app.audio.microphones": "Micrófonos",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Comprobar tu altavoz",
|
"app.audio.audioSettings.testSpeakerLabel": "Comprobar tu altavoz",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "Tu volúmen del flujo de audio",
|
"app.audio.audioSettings.microphoneStreamLabel": "Tu volúmen del flujo de audio",
|
||||||
"app.audio.audioSettings.retryLabel": "Intentar de nuevo",
|
"app.audio.audioSettings.retryLabel": "Intentar de nuevo",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "Entrada de audio {0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "Salida de audio {0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Por defecto",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Encontrando dispositivos...",
|
||||||
"app.audio.listenOnly.backLabel": "Atrás",
|
"app.audio.listenOnly.backLabel": "Atrás",
|
||||||
"app.audio.listenOnly.closeLabel": "Cerrar",
|
"app.audio.listenOnly.closeLabel": "Cerrar",
|
||||||
"app.audio.permissionsOverlay.title": "Permitir acceso a tu micrófono",
|
"app.audio.permissionsOverlay.title": "Permitir acceso a tu micrófono",
|
||||||
"app.audio.permissionsOverlay.hint": "Necesitamos tu autorización para acceder tus dipositivos de medios para poder ingresar a la conferencia de voz :)",
|
"app.audio.permissionsOverlay.hint": "Necesitamos tu autorización para acceder tus dipositivos de medios para poder ingresar a la conferencia de voz :)",
|
||||||
|
"app.audio.captions.button.start": "Iniciar subtítulos",
|
||||||
|
"app.audio.captions.button.stop": "Detener subtítulos",
|
||||||
|
"app.audio.captions.button.language": "Idioma",
|
||||||
|
"app.audio.captions.button.transcription": "Transcripción",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Ajustes de transcripción",
|
||||||
|
"app.audio.captions.speech.title": "Transcripción automática",
|
||||||
|
"app.audio.captions.speech.disabled": "Desactivado",
|
||||||
|
"app.audio.captions.speech.unsupported": "Su navegador no es compatible con el reconocimiento de voz. Tu audio no se transcribirá",
|
||||||
|
"app.audio.captions.select.de-DE": "Alemán",
|
||||||
|
"app.audio.captions.select.en-US": "Inglés",
|
||||||
|
"app.audio.captions.select.es-ES": "Español",
|
||||||
|
"app.audio.captions.select.fr-FR": "Francés",
|
||||||
|
"app.audio.captions.select.hi-ID": "Hindi",
|
||||||
|
"app.audio.captions.select.it-IT": "Italiano",
|
||||||
|
"app.audio.captions.select.ja-JP": "Japonés",
|
||||||
|
"app.audio.captions.select.pt-BR": "Portugués",
|
||||||
|
"app.audio.captions.select.ru-RU": "Ruso",
|
||||||
|
"app.audio.captions.select.zh-CN": "Chino",
|
||||||
"app.error.removed": "Has sido eliminado de la conferencia",
|
"app.error.removed": "Has sido eliminado de la conferencia",
|
||||||
"app.error.meeting.ended": "Has salido de la conferencia",
|
"app.error.meeting.ended": "Has salido de la conferencia",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado intentando unirse a la reunión",
|
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado intentando unirse a la reunión",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Usted ha sido expulsado/a de la reunión",
|
"app.meeting.logout.ejectedFromMeeting": "Usted ha sido expulsado/a de la reunión",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Error al validar el token de autorización",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Error al validar el token de autorización",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo por mucho tiempo",
|
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo por mucho tiempo",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Se ha alcanzado el número máximo de participantes permitidos para esta reunión",
|
||||||
"app.meeting-ended.rating.legendLabel": "Calificación de votos",
|
"app.meeting-ended.rating.legendLabel": "Calificación de votos",
|
||||||
"app.meeting-ended.rating.starLabel": "Estrella",
|
"app.meeting-ended.rating.starLabel": "Estrella",
|
||||||
"app.modal.close": "Cerrar",
|
"app.modal.close": "Cerrar",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Usted ha sido expulsado/a de la reunión",
|
"app.error.403": "Usted ha sido expulsado/a de la reunión",
|
||||||
"app.error.404": "No se encontró",
|
"app.error.404": "No se encontró",
|
||||||
"app.error.408": "Autentificación fallida",
|
"app.error.408": "Autentificación fallida",
|
||||||
|
"app.error.409": "Conflicto",
|
||||||
"app.error.410": "La reunión ha finalizado",
|
"app.error.410": "La reunión ha finalizado",
|
||||||
"app.error.500": "¡Vaya!, algo salio mal",
|
"app.error.500": "¡Vaya!, algo salio mal",
|
||||||
|
"app.error.503": "Has sido desconectado",
|
||||||
|
"app.error.disconnected.rejoin": "Puedes refrescar la página para unirte de nuevo.",
|
||||||
"app.error.userLoggedOut": "El usuario tiene un Token de sesión no válido debido al cierre de sesión",
|
"app.error.userLoggedOut": "El usuario tiene un Token de sesión no válido debido al cierre de sesión",
|
||||||
"app.error.ejectedUser": "El usuario tiene un Token de sesión no válido debido a su expulsión",
|
"app.error.ejectedUser": "El usuario tiene un Token de sesión no válido debido a su expulsión",
|
||||||
"app.error.joinedAnotherWindow": "Parece que esta sesión ya está abierta en otra ventana del navegador.",
|
"app.error.joinedAnotherWindow": "Parece que esta sesión ya está abierta en otra ventana del navegador.",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "Mensaje",
|
"app.userList.guest.privateMessageLabel": "Mensaje",
|
||||||
"app.userList.guest.acceptLabel": "Aceptar",
|
"app.userList.guest.acceptLabel": "Aceptar",
|
||||||
"app.userList.guest.denyLabel": "Denegar",
|
"app.userList.guest.denyLabel": "Denegar",
|
||||||
|
"app.userList.guest.feedbackMessage": "Acción aplicada:",
|
||||||
"app.user-info.title": "Búsqueda de directorio",
|
"app.user-info.title": "Búsqueda de directorio",
|
||||||
"app.toast.breakoutRoomEnded": "La sesión de grupo de trabajo ha finalizado. Ingresa al audio nuevamente.",
|
"app.toast.breakoutRoomEnded": "La sesión de grupo de trabajo ha finalizado. Ingresa al audio nuevamente.",
|
||||||
"app.toast.chat.public": "Nuevo mensaje en chat público",
|
"app.toast.chat.public": "Nuevo mensaje en chat público",
|
||||||
"app.toast.chat.private": "Nuevo mensaje en chat privado",
|
"app.toast.chat.private": "Nuevo mensaje en chat privado",
|
||||||
"app.toast.chat.system": "Sistema",
|
"app.toast.chat.system": "Sistema",
|
||||||
|
"app.toast.chat.poll": "Resultados de la encuesta",
|
||||||
|
"app.toast.chat.pollClick": "Se han publicado los resultados de la encuesta. Click aquí para verlos.",
|
||||||
"app.toast.clearedEmoji.label": "Estado del emoji borrado",
|
"app.toast.clearedEmoji.label": "Estado del emoji borrado",
|
||||||
"app.toast.setEmoji.label": "Estado del emoji cambiado a {0}",
|
"app.toast.setEmoji.label": "Estado del emoji cambiado a {0}",
|
||||||
"app.toast.meetingMuteOn.label": "Todos los usuarios han sido silenciados",
|
"app.toast.meetingMuteOn.label": "Todos los usuarios han sido silenciados",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Se ha enmudecido a todos los usuarios",
|
||||||
"app.toast.meetingMuteOff.label": "Todos los usuarios pueden hablar",
|
"app.toast.meetingMuteOff.label": "Todos los usuarios pueden hablar",
|
||||||
"app.toast.setEmoji.raiseHand": "Ud. ha levantado la mano",
|
"app.toast.setEmoji.raiseHand": "Ud. ha levantado la mano",
|
||||||
"app.toast.setEmoji.lowerHand": "Se ha bajado tu mano",
|
"app.toast.setEmoji.lowerHand": "Se ha bajado tu mano",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
||||||
"app.shortcut-help.nextSlideKey": "Flecha derecha",
|
"app.shortcut-help.nextSlideKey": "Flecha derecha",
|
||||||
"app.shortcut-help.previousSlideKey": "Flecha izquierda",
|
"app.shortcut-help.previousSlideKey": "Flecha izquierda",
|
||||||
|
"app.shortcut-help.select": "Seleccionar herramienta",
|
||||||
|
"app.shortcut-help.pencil": "Lápiz",
|
||||||
|
"app.shortcut-help.eraser": "Goma de borrar",
|
||||||
|
"app.shortcut-help.rectangle": "Rectángulo",
|
||||||
|
"app.shortcut-help.elipse": "Elipse",
|
||||||
|
"app.shortcut-help.triangle": "Triángulo",
|
||||||
|
"app.shortcut-help.line": "Línea",
|
||||||
|
"app.shortcut-help.arrow": "Flecha",
|
||||||
|
"app.shortcut-help.text": "Herramienta de texto",
|
||||||
|
"app.shortcut-help.note": "Post-it",
|
||||||
|
"app.shortcut-help.general": "General",
|
||||||
|
"app.shortcut-help.presentation": "Presentación",
|
||||||
|
"app.shortcut-help.whiteboard": "Encerado",
|
||||||
|
"app.shortcut-help.zoomIn": "Acercar",
|
||||||
|
"app.shortcut-help.zoomOut": "Alejar",
|
||||||
|
"app.shortcut-help.zoomFit": "Reiniciar zoom",
|
||||||
|
"app.shortcut-help.zoomSelect": "Acercar a la selección",
|
||||||
|
"app.shortcut-help.flipH": "Rotar horizontalmente",
|
||||||
|
"app.shortcut-help.flipV": "Rotar verticalmente",
|
||||||
|
"app.shortcut-help.lock": "Bloquear / Desbloquear",
|
||||||
|
"app.shortcut-help.moveToFront": "Mover al frente",
|
||||||
|
"app.shortcut-help.moveToBack": "Mover detrás",
|
||||||
|
"app.shortcut-help.moveForward": "Mover delante",
|
||||||
|
"app.shortcut-help.moveBackward": "Mover hacia atrás",
|
||||||
|
"app.shortcut-help.undo": "Deshacer",
|
||||||
|
"app.shortcut-help.redo": "Rehacer",
|
||||||
|
"app.shortcut-help.cut": "Cortar",
|
||||||
|
"app.shortcut-help.copy": "Copiar",
|
||||||
|
"app.shortcut-help.paste": "Pegar",
|
||||||
|
"app.shortcut-help.selectAll": "Seleccionar todo",
|
||||||
|
"app.shortcut-help.delete": "Borrar",
|
||||||
|
"app.shortcut-help.duplicate": "Duplicar",
|
||||||
"app.lock-viewers.title": "Bloquear espectadores",
|
"app.lock-viewers.title": "Bloquear espectadores",
|
||||||
"app.lock-viewers.description": "Estas opciones le permiten restringir ciertas características a observadores.",
|
"app.lock-viewers.description": "Estas opciones le permiten restringir ciertas características a observadores.",
|
||||||
"app.lock-viewers.featuresLable": "Función",
|
"app.lock-viewers.featuresLable": "Función",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Página siguiente",
|
"app.connection-status.next": "Página siguiente",
|
||||||
"app.connection-status.prev": "Página anterior",
|
"app.connection-status.prev": "Página anterior",
|
||||||
"app.learning-dashboard.label": "Panel de análisis del aprendizaje",
|
"app.learning-dashboard.label": "Panel de análisis del aprendizaje",
|
||||||
"app.learning-dashboard.description": "Abrir panel con actividades de los usuarios",
|
"app.learning-dashboard.description": "Panel con las actividades de los usuarios",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Abrir Panel de análisis del aprendizaje",
|
"app.learning-dashboard.clickHereToOpen": "Abrir Panel de análisis del aprendizaje",
|
||||||
"app.recording.startTitle": "Iniciar grabación",
|
"app.recording.startTitle": "Iniciar grabación",
|
||||||
"app.recording.stopTitle": "Pausar grabación",
|
"app.recording.stopTitle": "Pausar grabación",
|
||||||
"app.recording.resumeTitle": "Continuar grabación",
|
"app.recording.resumeTitle": "Continuar grabación",
|
||||||
"app.recording.startDescription": "Puede volver a presionar el botón de grabación para pausar la grabación actual.",
|
"app.recording.startDescription": "Puede volver a presionar el botón de grabación para pausar la grabación actual.",
|
||||||
"app.recording.stopDescription": "¿Está seguro de querer pausar la grabación? Puede continuarla volviendo a presionar el botón de grabación nuevamente.",
|
"app.recording.stopDescription": "¿Está seguro de querer pausar la grabación? Puede continuarla volviendo a presionar el botón de grabación nuevamente.",
|
||||||
|
"app.recording.notify.title": "Se ha iniciado la grabación",
|
||||||
|
"app.recording.notify.description": "Habrá una grabación disponible basada en el resto de esta sesión.",
|
||||||
|
"app.recording.notify.continue": "Continuar",
|
||||||
|
"app.recording.notify.leave": "Abandonar la sesión",
|
||||||
|
"app.recording.notify.continueLabel" : "Aceptar la grabación y continuar",
|
||||||
|
"app.recording.notify.leaveLabel" : "No aceptar la grabación y abandonar la reunión",
|
||||||
"app.videoPreview.cameraLabel": "Webcam",
|
"app.videoPreview.cameraLabel": "Webcam",
|
||||||
"app.videoPreview.profileLabel": "Calidad",
|
"app.videoPreview.profileLabel": "Calidad",
|
||||||
"app.videoPreview.quality.low": "Bajo",
|
"app.videoPreview.quality.low": "Bajo",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Selecciona la webcam",
|
"app.videoPreview.webcamOptionLabel": "Selecciona la webcam",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Vista preliminar de webcam",
|
"app.videoPreview.webcamPreviewLabel": "Vista preliminar de webcam",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Configuración de webcam",
|
"app.videoPreview.webcamSettingsTitle": "Configuración de webcam",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Efectos visuales de la cámara web",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Ajustes del fondo virtual",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Ajustes del fondo virtual",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo no soporta fondos virtuales",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo no soporta fondos virtuales",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Webcam no encontrada",
|
"app.videoPreview.webcamNotFoundLabel": "Webcam no encontrada",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Perfil de cámara no soportado",
|
"app.videoPreview.profileNotFoundLabel": "Perfil de cámara no soportado",
|
||||||
|
"app.videoPreview.brightness": "Brillo",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Toda la imagen",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Aplica brillo a la transmisión y a la imagen de fondo.",
|
||||||
|
"app.videoPreview.sliderDesc": "Aumentar o disminuir los niveles de brillo",
|
||||||
"app.video.joinVideo": "Compartir webcam",
|
"app.video.joinVideo": "Compartir webcam",
|
||||||
"app.video.connecting": "Comenzando a compartir la cámara...",
|
"app.video.connecting": "Comenzando a compartir la cámara...",
|
||||||
"app.video.leaveVideo": "Dejar de compartir webcam",
|
"app.video.leaveVideo": "Dejar de compartir webcam",
|
||||||
|
"app.video.videoSettings": "Ajustes de vídeo",
|
||||||
|
"app.video.visualEffects": "Efectos visuales",
|
||||||
"app.video.advancedVideo": "Abrir ajustes avanzados",
|
"app.video.advancedVideo": "Abrir ajustes avanzados",
|
||||||
"app.video.iceCandidateError": "Error al agregar candidato ICE",
|
"app.video.iceCandidateError": "Error al agregar candidato ICE",
|
||||||
"app.video.iceConnectionStateError": "Conexión fallida (ICE error 1107)",
|
"app.video.iceConnectionStateError": "Conexión fallida (ICE error 1107)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "No se pudo obtener video de webcam. Asegurate de que ninguna otra aplicación esté utilizandola.",
|
"app.video.notReadableError": "No se pudo obtener video de webcam. Asegurate de que ninguna otra aplicación esté utilizandola.",
|
||||||
"app.video.timeoutError": "El navegador no respondió a tiempo.",
|
"app.video.timeoutError": "El navegador no respondió a tiempo.",
|
||||||
"app.video.genericError": "Un error desconocido ocurrió con el dispositivo (Error {0})",
|
"app.video.genericError": "Un error desconocido ocurrió con el dispositivo (Error {0})",
|
||||||
|
"app.video.inactiveError": "Su cámara web se detuvo inesperadamente. Por favor revise los permisos de su navegador",
|
||||||
"app.video.mediaTimedOutError": "Se ha interrumpido la transmisión de tu cámara web. Prueba a compartirla de nuevo",
|
"app.video.mediaTimedOutError": "Se ha interrumpido la transmisión de tu cámara web. Prueba a compartirla de nuevo",
|
||||||
"app.video.mediaFlowTimeout1020": "Los datos no alcanzaron el servidor (error 1020)",
|
"app.video.mediaFlowTimeout1020": "Los datos no alcanzaron el servidor (error 1020)",
|
||||||
"app.video.suggestWebcamLock": "¿Aplicar la configuración de bloqueo a las cámaras web de los observadores?",
|
"app.video.suggestWebcamLock": "¿Aplicar la configuración de bloqueo a las cámaras web de los observadores?",
|
||||||
@ -804,8 +945,17 @@
|
|||||||
"app.video.virtualBackground.board": "Pizarra",
|
"app.video.virtualBackground.board": "Pizarra",
|
||||||
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
||||||
"app.video.virtualBackground.background": "Fondo",
|
"app.video.virtualBackground.background": "Fondo",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "Fondo {0}",
|
||||||
|
"app.video.virtualBackground.custom": "Subir desde tu computadora",
|
||||||
|
"app.video.virtualBackground.remove": "Borrar imagen añadida",
|
||||||
"app.video.virtualBackground.genericError": "No se pudo aplicar el efecto de la cámara. Inténtalo de nuevo.",
|
"app.video.virtualBackground.genericError": "No se pudo aplicar el efecto de la cámara. Inténtalo de nuevo.",
|
||||||
"app.video.virtualBackground.camBgAriaDesc": "Ajusta el fondo virtual de la cámara web a {0}",
|
"app.video.virtualBackground.camBgAriaDesc": "Ajusta el fondo virtual de la cámara web a {0}",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Se excedió el tamaño máximo de archivo. ({0}MB)",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Tipo de archivo no permitido.",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Algo salió mal al leer el archivo.",
|
||||||
|
"app.video.virtualBackground.uploaded": "Subido",
|
||||||
|
"app.video.virtualBackground.uploading": "Subiendo...",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Añade una nueva imagen de fondo virtual",
|
||||||
"app.video.camCapReached": "No puedes compartir más cámaras",
|
"app.video.camCapReached": "No puedes compartir más cámaras",
|
||||||
"app.video.meetingCamCapReached": "Se ha alcanzado el límite de cámaras web simultáneas para esta reunión.",
|
"app.video.meetingCamCapReached": "Se ha alcanzado el límite de cámaras web simultáneas para esta reunión.",
|
||||||
"app.video.dropZoneLabel": "Soltar aquí",
|
"app.video.dropZoneLabel": "Soltar aquí",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Se han publicado los resultados de la encuesta",
|
"app.whiteboard.annotations.poll": "Se han publicado los resultados de la encuesta",
|
||||||
"app.whiteboard.annotations.pollResult": "Resultados de la encuesta",
|
"app.whiteboard.annotations.pollResult": "Resultados de la encuesta",
|
||||||
"app.whiteboard.annotations.noResponses": "Sin respuestas",
|
"app.whiteboard.annotations.noResponses": "Sin respuestas",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "No tienes permiso para hacer este cambio.",
|
||||||
"app.whiteboard.toolbar.tools": "Herramientas",
|
"app.whiteboard.toolbar.tools": "Herramientas",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Panorama",
|
"app.whiteboard.toolbar.tools.hand": "Panorama",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Lápiz",
|
"app.whiteboard.toolbar.tools.pencil": "Lápiz",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Plata",
|
"app.whiteboard.toolbar.color.silver": "Plata",
|
||||||
"app.whiteboard.toolbar.undo": "Deshacer anotaciones",
|
"app.whiteboard.toolbar.undo": "Deshacer anotaciones",
|
||||||
"app.whiteboard.toolbar.clear": "Borrar todas las anotaciones",
|
"app.whiteboard.toolbar.clear": "Borrar todas las anotaciones",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "¿Estás seguro/a de que quieres borrar todas las anotaciones?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Activar modo multiusuario de pizarra",
|
"app.whiteboard.toolbar.multiUserOn": "Activar modo multiusuario de pizarra",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Desactivar modo multiusuario de pizarra",
|
"app.whiteboard.toolbar.multiUserOff": "Desactivar modo multiusuario de pizarra",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Activar rechazo de palma (táctiles)",
|
"app.whiteboard.toolbar.palmRejectionOn": "Activar rechazo de palma (táctiles)",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Desenfocar la camara seleccionada",
|
"app.videoDock.webcamUnfocusDesc": "Desenfocar la camara seleccionada",
|
||||||
"app.videoDock.webcamPinLabel": "Bloquear",
|
"app.videoDock.webcamPinLabel": "Bloquear",
|
||||||
"app.videoDock.webcamPinDesc": "Bloquear la cámara web seleccionada",
|
"app.videoDock.webcamPinDesc": "Bloquear la cámara web seleccionada",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Cámara web a pantalla completa",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Opciones de webcam",
|
||||||
"app.videoDock.webcamUnpinLabel": "Desbloquear",
|
"app.videoDock.webcamUnpinLabel": "Desbloquear",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Solo Moderadores pueden desbloquear usuarios",
|
"app.videoDock.webcamUnpinLabelDisabled": "Solo Moderadores pueden desbloquear usuarios",
|
||||||
"app.videoDock.webcamUnpinDesc": "Desbloquear la cámara web seleccionada",
|
"app.videoDock.webcamUnpinDesc": "Desbloquear la cámara web seleccionada",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Necesitamos tu permiso para mostrarle las webcams de otros usuarios.",
|
"app.videoDock.autoplayBlockedDesc": "Necesitamos tu permiso para mostrarle las webcams de otros usuarios.",
|
||||||
"app.videoDock.autoplayAllowLabel": "Ver webcams",
|
"app.videoDock.autoplayAllowLabel": "Ver webcams",
|
||||||
"app.invitation.title": "Invitación a grupo de trabajo",
|
|
||||||
"app.invitation.confirm": "Invitar",
|
|
||||||
"app.createBreakoutRoom.title": "Grupos de trabajo",
|
"app.createBreakoutRoom.title": "Grupos de trabajo",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Ocultar Salas de Descanso",
|
"app.createBreakoutRoom.ariaTitle": "Ocultar Salas de Descanso",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Grupos de trabajo {0}",
|
"app.createBreakoutRoom.breakoutRoomLabel": "Grupos de trabajo {0}",
|
||||||
@ -909,6 +1061,8 @@
|
|||||||
"app.createBreakoutRoom.addRoomTime": "Aumentar tiempo de grupo de trabajo",
|
"app.createBreakoutRoom.addRoomTime": "Aumentar tiempo de grupo de trabajo",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ Agregar participante",
|
"app.createBreakoutRoom.addParticipantLabel": "+ Agregar participante",
|
||||||
"app.createBreakoutRoom.freeJoin": "Permitir a los usuarios seleccionar el grupo de trabajo a ingresar",
|
"app.createBreakoutRoom.freeJoin": "Permitir a los usuarios seleccionar el grupo de trabajo a ingresar",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "Capturar notas compartidas cuando finalicen las salas de reuniones",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "Capturar el encerado cuando finalicen las salas de reuniones",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Debes agregar almenos un usuario a cada grupo de trabajo.",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "Debes agregar almenos un usuario a cada grupo de trabajo.",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "La duración mínima para una sala de un grupo de trabajo es de {0} minutos.",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "La duración mínima para una sala de un grupo de trabajo es de {0} minutos.",
|
||||||
"app.createBreakoutRoom.modalDesc": "Consejo: Puede arrastrar-y-soltar un nombre de usuario para asignarlo a un grupo de trabajo específico.",
|
"app.createBreakoutRoom.modalDesc": "Consejo: Puede arrastrar-y-soltar un nombre de usuario para asignarlo a un grupo de trabajo específico.",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "La duración de los grupos de trabajo no puede exceder el tiempo de reunión restante.",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "La duración de los grupos de trabajo no puede exceder el tiempo de reunión restante.",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza el nombre de la sala de los grupos de trabajo",
|
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza el nombre de la sala de los grupos de trabajo",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "Movido/a {0} a la sala {1}",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Para actualizar o invitar a un/a usuario/a, simplemente arrástrelo/a a la sala deseada.",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "Cancelar",
|
||||||
|
"app.updateBreakoutRoom.title": "Actualizar salas de reuniones",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Aplicar",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "Te trasladaron a la sala {0}.",
|
||||||
|
"app.smartMediaShare.externalVideo": "Vídeo(s) externo(s)",
|
||||||
|
"app.update.resetRoom": "Restablecer sala de usuario",
|
||||||
"app.externalVideo.start": "Compartir un nuevo video",
|
"app.externalVideo.start": "Compartir un nuevo video",
|
||||||
"app.externalVideo.title": "Compartir un video externo",
|
"app.externalVideo.title": "Compartir un video externo",
|
||||||
"app.externalVideo.input": "URL de video externo",
|
"app.externalVideo.input": "URL de video externo",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(se deshabilitará si arrastras o cambias el tamaño del área de las cámaras)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(se deshabilitará si arrastras o cambias el tamaño del área de las cámaras)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": " Probar los niveles de registro de la conversación",
|
"app.debugWindow.form.chatLoggerLabel": " Probar los niveles de registro de la conversación",
|
||||||
"app.debugWindow.form.button.apply": "Aplicar",
|
"app.debugWindow.form.button.apply": "Aplicar",
|
||||||
|
"app.layout.modal.title": "Diseños",
|
||||||
|
"app.layout.modal.confirm": "Confirmar",
|
||||||
|
"app.layout.modal.cancel": "Cancelar",
|
||||||
|
"app.layout.modal.layoutLabel": "Selecciona tu diseño",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Forzar diseño a todos/as",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "Forzar para todos/as",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Ha cambiado la configuración del diseño",
|
||||||
|
"app.layout.modal.layoutSingular": "Diseño",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Establece el diseño como opción seleccionada",
|
||||||
"app.layout.style.custom": "Personalizado",
|
"app.layout.style.custom": "Personalizado",
|
||||||
"app.layout.style.smart": "Diseño inteligente",
|
"app.layout.style.smart": "Diseño inteligente",
|
||||||
"app.layout.style.presentationFocus": "Establecer foco en la presentación",
|
"app.layout.style.presentationFocus": "Establecer foco en la presentación",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Zona de miniaturas",
|
"playback.player.thumbnails.wrapper.aria": "Zona de miniaturas",
|
||||||
"playback.player.webcams.wrapper.aria": "Zona de webcams",
|
"playback.player.webcams.wrapper.aria": "Zona de webcams",
|
||||||
"app.learningDashboard.dashboardTitle": "Panel de análisis del aprendizaje",
|
"app.learningDashboard.dashboardTitle": "Panel de análisis del aprendizaje",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos de la sesión",
|
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos de la sesión",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Última actualización el",
|
"app.learningDashboard.lastUpdatedLabel": "Última actualización el",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "¡Descargado!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "¡Descargado!",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Respuesta",
|
"app.learningDashboard.userDetails.response": "Respuesta",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "Respuesta más común",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "Respuesta más común",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Encuesta anónima",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Encuesta anónima",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Tiempo de conversación",
|
||||||
|
"app.learningDashboard.userDetails.messages": "Mensajes",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Emojis",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "Levantar las manos",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Votaciones en encuestas",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": " {0} tiempo en línea",
|
||||||
"app.learningDashboard.usersTable.title": "Vista general",
|
"app.learningDashboard.usersTable.title": "Vista general",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Tiempo en línea",
|
"app.learningDashboard.usersTable.colOnline": "Tiempo en línea",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Tiempo de conversación",
|
"app.learningDashboard.usersTable.colTalk": "Tiempo de conversación",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anónimo",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Anónimo",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "No se han creado encuestas",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "No se han creado encuestas",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Una vez activada la encuesta, los resultados se mostrarán en esta lista.",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Una vez activada la encuesta, los resultados se mostrarán en esta lista.",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Total",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Usuario/a",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Cronología",
|
"app.learningDashboard.statusTimelineTable.title": "Cronología",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniaturas de la presentación",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniaturas de la presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Página",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Fijado en",
|
||||||
"app.learningDashboard.errors.invalidToken": "Token de sesión inválido",
|
"app.learningDashboard.errors.invalidToken": "Token de sesión inválido",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Los datos ya no están disponibles",
|
"app.learningDashboard.errors.dataUnavailable": "Los datos ya no están disponibles",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Añade tu primer portal usando el botón superior,",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Añade tu primer portal usando el botón superior,",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos requeridos",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos requeridos",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "El nombre ya está en uso",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "El nombre ya está en uso",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Error al intentar cargar la página - comprueba la URL y la conexión de red"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Error al intentar cargar la página - comprueba la URL y la conexión de red"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "Su presentación se iniciará pronto...",
|
"app.home.greeting": "Su presentación se iniciará pronto...",
|
||||||
"app.chat.submitLabel": "Enviar mensaje",
|
"app.chat.submitLabel": "Enviar mensaje",
|
||||||
"app.chat.loading": "Mensajes de chat cargados: {0}%",
|
"app.chat.loading": "Mensajes de chat cargados: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "El mensaje tiene {0} caracteres de exceso",
|
"app.chat.errorMaxMessageLength": "El mensaje es demasiado largo, excedió el máximo de {0} caracteres",
|
||||||
"app.chat.disconnected": "Usted está desconectado. Los mensajes no serán enviados",
|
"app.chat.disconnected": "Usted está desconectado. Los mensajes no serán enviados",
|
||||||
"app.chat.locked": "El chat está bloqueado. Los mensajes no pueden ser enviados",
|
"app.chat.locked": "El chat está bloqueado. Los mensajes no pueden ser enviados",
|
||||||
"app.chat.inputLabel": "Entrada de mensaje para chat {0}",
|
"app.chat.inputLabel": "Entrada de mensaje para chat {0}",
|
||||||
|
"app.chat.emojiButtonLabel": "Selector de emojis",
|
||||||
"app.chat.inputPlaceholder": "Mensaje {0}",
|
"app.chat.inputPlaceholder": "Mensaje {0}",
|
||||||
"app.chat.titlePublic": "Chat público",
|
"app.chat.titlePublic": "Chat público",
|
||||||
"app.chat.titlePrivate": "Chat privado con {0}",
|
"app.chat.titlePrivate": "Chat privado con {0}",
|
||||||
@ -21,6 +22,7 @@
|
|||||||
"app.chat.offline": "Fuera de linea",
|
"app.chat.offline": "Fuera de linea",
|
||||||
"app.chat.pollResult": "Resultados de la encuesta o votación",
|
"app.chat.pollResult": "Resultados de la encuesta o votación",
|
||||||
"app.chat.breakoutDurationUpdated": "La duración del grupo de trabajo es ahora de {0} minutos",
|
"app.chat.breakoutDurationUpdated": "La duración del grupo de trabajo es ahora de {0} minutos",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "El tiempo de las salas de reuniones ahora es de {0} minutos, y se ha enviado una notificación.",
|
||||||
"app.chat.emptyLogLabel": "Registro de chat vacío",
|
"app.chat.emptyLogLabel": "Registro de chat vacío",
|
||||||
"app.chat.clearPublicChatMessage": "El histórico del chat público fue borrado por un moderador",
|
"app.chat.clearPublicChatMessage": "El histórico del chat público fue borrado por un moderador",
|
||||||
"app.chat.multi.typing": "Múltiples usuarios están escribiendo",
|
"app.chat.multi.typing": "Múltiples usuarios están escribiendo",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} y {1} están escribiendo",
|
"app.chat.two.typing": "{0} y {1} están escribiendo",
|
||||||
"app.chat.copySuccess": "Transcripción del chat copiada",
|
"app.chat.copySuccess": "Transcripción del chat copiada",
|
||||||
"app.chat.copyErr": "Error al copiar la transcripción del chat",
|
"app.chat.copyErr": "Error al copiar la transcripción del chat",
|
||||||
|
"app.emojiPicker.search": "Buscar",
|
||||||
|
"app.emojiPicker.notFound": " No se encontraron emojis",
|
||||||
|
"app.emojiPicker.skintext": " Elige tu tono de piel predeterminado",
|
||||||
|
"app.emojiPicker.clear": "Limpiar",
|
||||||
|
"app.emojiPicker.categories.label": "Categorías de los emojis",
|
||||||
|
"app.emojiPicker.categories.people": "Personas y cuerpo",
|
||||||
|
"app.emojiPicker.categories.nature": "Animales y Naturaleza",
|
||||||
|
"app.emojiPicker.categories.foods": "Comida y bebida",
|
||||||
|
"app.emojiPicker.categories.places": "Viajes y lugares",
|
||||||
|
"app.emojiPicker.categories.activity": "Actividad",
|
||||||
|
"app.emojiPicker.categories.objects": "Objetos",
|
||||||
|
"app.emojiPicker.categories.symbols": "Símbolos",
|
||||||
|
"app.emojiPicker.categories.flags": "Banderas",
|
||||||
|
"app.emojiPicker.categories.recent": "Usados frecuentemente",
|
||||||
|
"app.emojiPicker.categories.search": "Resultados de la búsqueda",
|
||||||
|
"app.emojiPicker.skintones.1": " Tono de piel predeterminado",
|
||||||
|
"app.emojiPicker.skintones.2": "Tono de piel claro",
|
||||||
|
"app.emojiPicker.skintones.3": "Tono de piel medio-claro",
|
||||||
|
"app.emojiPicker.skintones.4": "Tono de piel medio",
|
||||||
|
"app.emojiPicker.skintones.5": "Tono de piel medio-oscuro",
|
||||||
|
"app.emojiPicker.skintones.6": "Tono de piel oscuro",
|
||||||
"app.captions.label": "Subtítulos",
|
"app.captions.label": "Subtítulos",
|
||||||
"app.captions.menu.close": "Cerrar",
|
"app.captions.menu.close": "Cerrar",
|
||||||
"app.captions.menu.start": "Iniciar",
|
"app.captions.menu.start": "Iniciar",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Reconocimiento de voz iniciado",
|
"app.captions.speech.start": "Reconocimiento de voz iniciado",
|
||||||
"app.captions.speech.stop": "Reconocimiento de voz detenido",
|
"app.captions.speech.stop": "Reconocimiento de voz detenido",
|
||||||
"app.captions.speech.error": "Reconocimiento de voz detenido debido a incompatibilidad con el navegador o algún tiempo de silencio",
|
"app.captions.speech.error": "Reconocimiento de voz detenido debido a incompatibilidad con el navegador o algún tiempo de silencio",
|
||||||
|
"app.confirmation.skipConfirm": "No preguntar de nuevo",
|
||||||
|
"app.confirmation.virtualBackground.title": "Comenzar nuevo fondo virtual",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} se añadirá como fondo virtual. ¿Continuar?",
|
||||||
|
"app.confirmationModal.yesLabel": "Sí",
|
||||||
"app.textInput.sendLabel": "Enviar",
|
"app.textInput.sendLabel": "Enviar",
|
||||||
"app.title.defaultViewLabel": "Vista de presentación predeterminada",
|
"app.title.defaultViewLabel": "Vista de presentación predeterminada",
|
||||||
"app.notes.title": "Notas compartidas",
|
"app.notes.title": "Notas compartidas",
|
||||||
"app.notes.label": "Notas",
|
"app.notes.label": "Notas",
|
||||||
"app.notes.hide": "Ocultar notas",
|
"app.notes.hide": "Ocultar notas",
|
||||||
"app.notes.locked": "Bloqueado",
|
"app.notes.locked": "Bloqueado",
|
||||||
|
"app.notes.disabled": "Fijado en el área de medios",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Convertir notas en presentación",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Fijar notas en la pizarra",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Desanclar notas",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Opciones de notas",
|
||||||
"app.pads.hint": "Pulsa Esc para enfocar la barra de herramientas del pad",
|
"app.pads.hint": "Pulsa Esc para enfocar la barra de herramientas del pad",
|
||||||
"app.user.activityCheck": "Comprobación de la actividad del usuario",
|
"app.user.activityCheck": "Comprobación de la actividad del usuario",
|
||||||
"app.user.activityCheck.label": "Comprobar si el usuario continúa en la reunión ({0})",
|
"app.user.activityCheck.label": "Comprobar si el usuario continúa en la reunión ({0})",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Fin del contenido de diapositiva",
|
"app.presentation.endSlideContent": "Fin del contenido de diapositiva",
|
||||||
"app.presentation.changedSlideContent": "Presentación cambiada a diapositiva: {0}",
|
"app.presentation.changedSlideContent": "Presentación cambiada a diapositiva: {0}",
|
||||||
"app.presentation.emptySlideContent": "No hay contenido en la diapositiva actual",
|
"app.presentation.emptySlideContent": "No hay contenido en la diapositiva actual",
|
||||||
"app.presentation.options.fullscreen": "Pantalla completa",
|
"app.presentation.options.fullscreen": "Presentación a pantalla completa",
|
||||||
"app.presentation.options.exitFullscreen": "Salir de pantalla completa",
|
"app.presentation.options.exitFullscreen": "Salir de pantalla completa",
|
||||||
"app.presentation.options.minimize": "Minimizar",
|
"app.presentation.options.minimize": "Minimizar",
|
||||||
"app.presentation.options.snapshot": "Realizar instantánea de la diapositiva actual",
|
"app.presentation.options.snapshot": "Realizar instantánea de la diapositiva actual",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
||||||
"app.presentation.placeholder": "No hay actualmente una presentación activa",
|
"app.presentation.placeholder": "No hay actualmente una presentación activa",
|
||||||
"app.presentationUploder.title": "Presentación",
|
"app.presentationUploder.title": "Presentación",
|
||||||
"app.presentationUploder.message": "Como presentador, usted tiene la posibilidad de cargar cualquier documento o archivo PDF. Se recomienda PDF para mejores resultados. Por favor, asegúrese de seleccionar la presentación mediante el círculo de verificación situado en el lado derecho.",
|
"app.presentationUploder.message": "Como presentador, tiene la posibilidad de cargar cualquier documento de oficina o archivo PDF. Se recomienda el archivo PDF para obtener los mejores resultados. Asegúrese de seleccionar una presentación usando la casilla de verificación círcular en el lado izquierdo.",
|
||||||
|
"app.presentationUploader.exportHint": "Al seleccionar \"Enviar al chat\", los usuarios recibirán un enlace en el chat público para descargar las anotaciones .",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Enviando al chat (elemento {0})",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Enviando al chat ({0} elementos)",
|
||||||
|
"app.presentationUploader.exporting": "Enviando al chat",
|
||||||
|
"app.presentationUploader.sending": "Enviando...",
|
||||||
|
"app.presentationUploader.collecting": "Extrayendo la diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.processing": "Anotando la diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.sent": "Enviado",
|
||||||
|
"app.presentationUploader.exportingTimeout": "La exportación está tardando demasiado...",
|
||||||
|
"app.presentationUploader.export": "Enviar al chat",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Presentación actual",
|
||||||
"app.presentationUploder.extraHint": "IMPORTANTE: cada fichero no puede exceder {0} MB y {1} páginas",
|
"app.presentationUploder.extraHint": "IMPORTANTE: cada fichero no puede exceder {0} MB y {1} páginas",
|
||||||
"app.presentationUploder.uploadLabel": "Cargar",
|
"app.presentationUploder.uploadLabel": "Cargar",
|
||||||
"app.presentationUploder.confirmLabel": "Confirmar",
|
"app.presentationUploder.confirmLabel": "Confirmar",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Arrastre las imágenes aquí para subirlas",
|
"app.presentationUploder.dropzoneImagesLabel": "Arrastre las imágenes aquí para subirlas",
|
||||||
"app.presentationUploder.browseFilesLabel": "o buscar archivos ",
|
"app.presentationUploder.browseFilesLabel": "o buscar archivos ",
|
||||||
"app.presentationUploder.browseImagesLabel": "o buscar/capturar imágenes",
|
"app.presentationUploder.browseImagesLabel": "o buscar/capturar imágenes",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "Agregar contenido desde una aplicación de terceros",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Buscar ficheros",
|
||||||
"app.presentationUploder.fileToUpload": "Para ser cargados...",
|
"app.presentationUploder.fileToUpload": "Para ser cargados...",
|
||||||
"app.presentationUploder.currentBadge": "Actual",
|
"app.presentationUploder.currentBadge": "Actual",
|
||||||
"app.presentationUploder.rejectedError": "El(los) archivo(s) seleccionado(s) ha(n) sido rechazado(s). Por favor, revise el(los) tipo(s) de archivo(s).",
|
"app.presentationUploder.rejectedError": "El(los) archivo(s) seleccionado(s) ha(n) sido rechazado(s). Por favor, revise el(los) tipo(s) de archivo(s).",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Diapositivas generadas...",
|
"app.presentationUploder.conversion.generatedSlides": "Diapositivas generadas...",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "Generando imágenes SVG...",
|
"app.presentationUploder.conversion.generatingSvg": "Generando imágenes SVG...",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
|
"app.presentationUploder.conversion.pageCountExceeded": "El número de páginas excede el máximo de {0}",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Formato no válido detectado (extensión={0}, tipo de contenido={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "La diapositiva {0} no se pudo procesar en {1} intentos.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "No se pudo procesar el documento. Por favor, cargue un PDF en su lugar.",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
|
"app.presentationUploder.conversion.pdfHasBigPage": "No se pudo convertir el archivo PDF. Por favor, intente optimizarlo. Máximo número de páginas {0}",
|
||||||
"app.presentationUploder.conversion.timeout": "Oh, la conversión tardó demasiado",
|
"app.presentationUploder.conversion.timeout": "Oh, la conversión tardó demasiado",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "No se pudo determinar el número de páginas.",
|
"app.presentationUploder.conversion.pageCountFailed": "No se pudo determinar el número de páginas.",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Extensión (tipo) de archivo no soportado",
|
"app.presentationUploder.conversion.unsupportedDocument": "Extensión (tipo) de archivo no soportado",
|
||||||
"app.presentationUploder.isDownloadableLabel": "No está permitida la descarga de la presentación - haz clic para permitirla",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Está permitida la descarga de la presentación - haz clic para deshabilitarla",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Borrar presentación",
|
"app.presentationUploder.removePresentationLabel": "Borrar presentación",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Colocar presentación como actual",
|
"app.presentationUploder.setAsCurrentPresentation": "Colocar presentación como actual",
|
||||||
"app.presentationUploder.tableHeading.filename": "Nombre de archivo",
|
"app.presentationUploder.tableHeading.filename": "Nombre de archivo",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Limpiar errores",
|
"app.presentationUploder.clearErrors": "Limpiar errores",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Limpiar subidas de presentación falladas",
|
"app.presentationUploder.clearErrorsDesc": "Limpiar subidas de presentación falladas",
|
||||||
"app.presentationUploder.uploadViewTitle": "Subir presentación",
|
"app.presentationUploder.uploadViewTitle": "Subir presentación",
|
||||||
|
"app.poll.questionAndoptions.label" : "Texto de la pregunta que se mostrará.\nA. Opción de encuesta\nB. Opción de encuesta (opcional)\nC. Opción de encuesta (opcional)\nD. Opción de encuesta (opcional )\nE. Opción de encuesta (opcional)",
|
||||||
|
"app.poll.customInput.label": "Entrada personalizada",
|
||||||
|
"app.poll.customInputInstructions.label": "La entrada personalizada está habilitada: escriba la pregunta de la encuesta y las opciones en el formato dado o arrastre y suelte un archivo de texto en el mismo formato.",
|
||||||
|
"app.poll.maxOptionsWarning.label": "¡Solo se pueden usar las primeras 5 opciones!",
|
||||||
"app.poll.pollPaneTitle": "Votación",
|
"app.poll.pollPaneTitle": "Votación",
|
||||||
"app.poll.enableMultipleResponseLabel": "¿Permitir múltiples respuestas por cada persona?",
|
"app.poll.enableMultipleResponseLabel": "¿Permitir múltiples respuestas por cada persona?",
|
||||||
"app.poll.quickPollTitle": "Encuesta rápida",
|
"app.poll.quickPollTitle": "Encuesta rápida",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "'Click' aquí para seleccionar",
|
"app.poll.clickHereToSelect": "'Click' aquí para seleccionar",
|
||||||
"app.poll.question.label" : "Escribe tu pregunta...",
|
"app.poll.question.label" : "Escribe tu pregunta...",
|
||||||
"app.poll.optionalQuestion.label" : "Escribe tu pregunta (opcional)...",
|
"app.poll.optionalQuestion.label" : "Escribe tu pregunta (opcional)...",
|
||||||
"app.poll.userResponse.label" : "Respuesta del usuario",
|
"app.poll.userResponse.label" : "Respuesta escrita",
|
||||||
"app.poll.responseTypes.label" : "Tipos de respuesta",
|
"app.poll.responseTypes.label" : "Tipos de respuesta",
|
||||||
"app.poll.optionDelete.label" : "Borrar",
|
"app.poll.optionDelete.label" : "Borrar",
|
||||||
"app.poll.responseChoices.label" : "Opciones de respuesta",
|
"app.poll.responseChoices.label" : "Opciones de respuesta",
|
||||||
@ -329,7 +378,7 @@
|
|||||||
"app.muteWarning.disableMessage": "Silenciar alertas inhabilitadas hasta dejar de silenciar",
|
"app.muteWarning.disableMessage": "Silenciar alertas inhabilitadas hasta dejar de silenciar",
|
||||||
"app.muteWarning.tooltip": "Haga clic para cerrar y deshabilitar la advertencia hasta la próxima activación del sonido",
|
"app.muteWarning.tooltip": "Haga clic para cerrar y deshabilitar la advertencia hasta la próxima activación del sonido",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Opciones",
|
"app.navBar.settingsDropdown.optionsLabel": "Opciones",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Desplegar a pantalla completa",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Aplicación a pantalla completa",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Configuración",
|
"app.navBar.settingsDropdown.settingsLabel": "Configuración",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Acerca de",
|
"app.navBar.settingsDropdown.aboutLabel": "Acerca de",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar la reunión",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar la reunión",
|
||||||
@ -342,6 +391,7 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Atajos de teclado",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Atajos de teclado",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Listado de atajos de teclado disponibles",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Listado de atajos de teclado disponibles",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Ayuda",
|
"app.navBar.settingsDropdown.helpLabel": "Ayuda",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "Abrir en la aplicación BigBlueButton Tablet",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Vincula al usuario con video tutoriales (abre nueva pestaña)",
|
"app.navBar.settingsDropdown.helpDesc": "Vincula al usuario con video tutoriales (abre nueva pestaña)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza la reunión actual",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza la reunión actual",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Finalizar reunión",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Finalizar reunión",
|
||||||
@ -359,7 +409,7 @@
|
|||||||
"app.endMeeting.description": "Esta acción finalizará la sesión para {0} usuarios activos. ¿Está seguro de querer finalizar la sesión?",
|
"app.endMeeting.description": "Esta acción finalizará la sesión para {0} usuarios activos. ¿Está seguro de querer finalizar la sesión?",
|
||||||
"app.endMeeting.noUserDescription": "¿Está seguro/a de querer terminar esta sesión?",
|
"app.endMeeting.noUserDescription": "¿Está seguro/a de querer terminar esta sesión?",
|
||||||
"app.endMeeting.contentWarning": "Ya no se podrá acceder directamente a los mensajes de chat, las notas compartidas, el contenido de la pizarra y los documentos compartidos de esta sesión.",
|
"app.endMeeting.contentWarning": "Ya no se podrá acceder directamente a los mensajes de chat, las notas compartidas, el contenido de la pizarra y los documentos compartidos de esta sesión.",
|
||||||
"app.endMeeting.yesLabel": "Sí",
|
"app.endMeeting.yesLabel": "Finalizar la sesión para todos los usuarios",
|
||||||
"app.endMeeting.noLabel": "No",
|
"app.endMeeting.noLabel": "No",
|
||||||
"app.about.title": "Acerca de",
|
"app.about.title": "Acerca de",
|
||||||
"app.about.version": "Versión de la interfaz cliente:",
|
"app.about.version": "Versión de la interfaz cliente:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "OK",
|
"app.about.confirmDesc": "OK",
|
||||||
"app.about.dismissLabel": "Cancelar",
|
"app.about.dismissLabel": "Cancelar",
|
||||||
"app.about.dismissDesc": "Cerrar información acerca del cliente",
|
"app.about.dismissDesc": "Cerrar información acerca del cliente",
|
||||||
|
"app.mobileAppModal.title": "Abrir la aplicación Bigbluebutton Tablet.",
|
||||||
|
"app.mobileAppModal.description": "¿Tienes la aplicación Bigbluebutton Tablet instalada en tu dispositivo?",
|
||||||
|
"app.mobileAppModal.openApp": "Sí, abrir la app ahora.",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Obteniendo URL de la reunión",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Error al tratar de obtener la URL de la reunión",
|
||||||
|
"app.mobileAppModal.openStore": "No, abre la App Store para descargarla",
|
||||||
|
"app.mobileAppModal.dismissLabel": "Cancelar",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Cerrar",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "El usuario {0} acaba de conectarse con el mismo ID que usted.",
|
||||||
"app.actionsBar.changeStatusLabel": "Cambiar estado",
|
"app.actionsBar.changeStatusLabel": "Cambiar estado",
|
||||||
"app.actionsBar.muteLabel": "Silenciar",
|
"app.actionsBar.muteLabel": "Silenciar",
|
||||||
"app.actionsBar.unmuteLabel": "De-silenciar",
|
"app.actionsBar.unmuteLabel": "De-silenciar",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar la presentación después de haber sido minimizada",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar la presentación después de haber sido minimizada",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar presentación",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar presentación",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Configuración del diseño",
|
||||||
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
||||||
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
||||||
"app.submenu.application.animationsLabel": "Animaciones",
|
"app.submenu.application.animationsLabel": "Animaciones",
|
||||||
"app.submenu.application.audioFilterLabel": "Filtros de audio para el micrófono",
|
"app.submenu.application.audioFilterLabel": "Filtros de audio para el micrófono",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Modo oscuro",
|
||||||
"app.submenu.application.fontSizeControlLabel": "Tamaño de fuente",
|
"app.submenu.application.fontSizeControlLabel": "Tamaño de fuente",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Aumentar tamaño de fuente de la aplicación",
|
"app.submenu.application.increaseFontBtnLabel": "Aumentar tamaño de fuente de la aplicación",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fuente de la aplicación",
|
"app.submenu.application.decreaseFontBtnLabel": "Reducir tamaño de fuente de la aplicación",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "No hay locales activos",
|
"app.submenu.application.noLocaleOptionLabel": "No hay locales activos",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Paginación de vídeo",
|
"app.submenu.application.paginationEnabledLabel": "Paginación de vídeo",
|
||||||
"app.submenu.application.layoutOptionLabel": "Tipo de diseño",
|
"app.submenu.application.layoutOptionLabel": "Tipo de diseño",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Forzar diseño",
|
||||||
"app.submenu.notification.SectionTitle": "Notificaciones",
|
"app.submenu.notification.SectionTitle": "Notificaciones",
|
||||||
"app.submenu.notification.Desc": "Define cómo y qué quieres que te sea notificado.",
|
"app.submenu.notification.Desc": "Define cómo y qué quieres que te sea notificado.",
|
||||||
"app.submenu.notification.audioAlertLabel": "Alertas sonoras",
|
"app.submenu.notification.audioAlertLabel": "Alertas sonoras",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Guarda los cambios y cierra el menú de configuración",
|
"app.settings.main.save.label.description": "Guarda los cambios y cierra el menú de configuración",
|
||||||
"app.settings.dataSavingTab.label": "Ahorro de datos",
|
"app.settings.dataSavingTab.label": "Ahorro de datos",
|
||||||
"app.settings.dataSavingTab.webcam": "Habilitar webcams",
|
"app.settings.dataSavingTab.webcam": "Habilitar webcams",
|
||||||
"app.settings.dataSavingTab.screenShare": "Habilitar compartir escritorio",
|
"app.settings.dataSavingTab.screenShare": "Permitir que otros participantes compartan el escritorio",
|
||||||
"app.settings.dataSavingTab.description": "Para ahorrar ancho de banda, ajuste lo que se muestra actualmente.",
|
"app.settings.dataSavingTab.description": "Para ahorrar ancho de banda, ajuste lo que se muestra actualmente.",
|
||||||
"app.settings.save-notification.label": "Las configuraciones han sido guardadas",
|
"app.settings.save-notification.label": "Las configuraciones han sido guardadas",
|
||||||
"app.statusNotifier.lowerHands": "Bajar manos",
|
"app.statusNotifier.lowerHands": "Bajar manos",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Gestionar presentaciones",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Gestionar presentaciones",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar una encuesta",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar una encuesta",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir su pantalla",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir su pantalla",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Compartir pantalla bloqueado",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Detener compartir su pantalla",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Detener compartir su pantalla",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Subir su presentación",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Subir su presentación",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar una encuesta",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar una encuesta",
|
||||||
@ -457,6 +518,7 @@
|
|||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarse a sí mismo como el nuevo presentador",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarse a sí mismo como el nuevo presentador",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar usuario al azar",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar usuario al azar",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Elige a un usuario al azar entre los espectadores",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Elige a un usuario al azar entre los espectadores",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Propagar el diseño",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Establecer estado",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Establecer estado",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Cambiar su estado a ausente",
|
"app.actionsBar.emojiMenu.awayDesc": "Cambiar su estado a ausente",
|
||||||
@ -496,6 +558,7 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Se ha cerrado la conexión (error ICE 1012)",
|
"app.audioNotification.audioFailedError1012": "Se ha cerrado la conexión (error ICE 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "Tu conexión de audio falló al conectarse",
|
"app.audioNotification.audioFailedMessage": "Tu conexión de audio falló al conectarse",
|
||||||
"app.audioNotification.mediaFailedMessage": "getUserMicMedia falló debido a que solo las fuentes de orígenes seguros están permitidas",
|
"app.audioNotification.mediaFailedMessage": "getUserMicMedia falló debido a que solo las fuentes de orígenes seguros están permitidas",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Falló el cambio de dispositivo de audio. Compruebe si el dispositivo elegido está correctamente configurado y disponible",
|
||||||
"app.audioNotification.closeLabel": "Cerrar",
|
"app.audioNotification.closeLabel": "Cerrar",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "Los micrófonos han sido bloqueados a los espectadores. Ud. ha sido conectado solo como oyente",
|
"app.audioNotificaion.reconnectingAsListenOnly": "Los micrófonos han sido bloqueados a los espectadores. Ud. ha sido conectado solo como oyente",
|
||||||
"app.breakoutJoinConfirmation.title": "Unirse a una sala externa",
|
"app.breakoutJoinConfirmation.title": "Unirse a una sala externa",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "Cambiar duración",
|
"app.breakout.dropdown.manageDuration": "Cambiar duración",
|
||||||
"app.breakout.dropdown.destroyAll": "Finalizar grupos de trabajo",
|
"app.breakout.dropdown.destroyAll": "Finalizar grupos de trabajo",
|
||||||
"app.breakout.dropdown.options": "Opciones de las salas de grupos de trabajo",
|
"app.breakout.dropdown.options": "Opciones de las salas de grupos de trabajo",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Gestionar usuarios",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Calculando el tiempo restante...",
|
"app.calculatingBreakoutTimeRemaining": "Calculando el tiempo restante...",
|
||||||
"app.audioModal.ariaTitle": "Cuadro de diálogo para unirse al audio",
|
"app.audioModal.ariaTitle": "Cuadro de diálogo para unirse al audio",
|
||||||
"app.audioModal.microphoneLabel": "Micrófono",
|
"app.audioModal.microphoneLabel": "Micrófono",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Cambiar dispositivo de audio",
|
"app.audio.changeAudioDevice": "Cambiar dispositivo de audio",
|
||||||
"app.audio.enterSessionLabel": "Entrar en la sesión",
|
"app.audio.enterSessionLabel": "Entrar en la sesión",
|
||||||
"app.audio.playSoundLabel": "Reproducir sonido",
|
"app.audio.playSoundLabel": "Reproducir sonido",
|
||||||
|
"app.audio.stopAudioFeedback": "Detener retroalimentación de audio",
|
||||||
"app.audio.backLabel": "Atrás",
|
"app.audio.backLabel": "Atrás",
|
||||||
"app.audio.loading": "Cargando",
|
"app.audio.loading": "Cargando",
|
||||||
"app.audio.microphones": "Micrófonos",
|
"app.audio.microphones": "Micrófonos",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Comprobar tu altavoz",
|
"app.audio.audioSettings.testSpeakerLabel": "Comprobar tu altavoz",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "Su volúmen para el flujo de audio",
|
"app.audio.audioSettings.microphoneStreamLabel": "Su volúmen para el flujo de audio",
|
||||||
"app.audio.audioSettings.retryLabel": "Reintentar",
|
"app.audio.audioSettings.retryLabel": "Reintentar",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "Entrada de audio {0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "Salida de audio {0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Por defecto",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Encontrando dispositivos...",
|
||||||
"app.audio.listenOnly.backLabel": "Atrás",
|
"app.audio.listenOnly.backLabel": "Atrás",
|
||||||
"app.audio.listenOnly.closeLabel": "Cerrar",
|
"app.audio.listenOnly.closeLabel": "Cerrar",
|
||||||
"app.audio.permissionsOverlay.title": "Permitir el acceso a su micrófono",
|
"app.audio.permissionsOverlay.title": "Permitir el acceso a su micrófono",
|
||||||
"app.audio.permissionsOverlay.hint": "Necesitamos nos permita usar sus dispositivos multimedia a fin de unirle a la audio conferencia :)",
|
"app.audio.permissionsOverlay.hint": "Necesitamos nos permita usar sus dispositivos multimedia a fin de unirle a la audio conferencia :)",
|
||||||
|
"app.audio.captions.button.start": "Iniciar subtítulos",
|
||||||
|
"app.audio.captions.button.stop": "Detener subtítulos",
|
||||||
|
"app.audio.captions.button.language": "Idioma",
|
||||||
|
"app.audio.captions.button.transcription": "Transcripción",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Ajustes de transcripción",
|
||||||
|
"app.audio.captions.speech.title": "Transcripción automática",
|
||||||
|
"app.audio.captions.speech.disabled": "Desactivado",
|
||||||
|
"app.audio.captions.speech.unsupported": "Su navegador no es compatible con el reconocimiento de voz. Tu audio no se transcribirá",
|
||||||
|
"app.audio.captions.select.de-DE": "Alemán",
|
||||||
|
"app.audio.captions.select.en-US": "Inglés",
|
||||||
|
"app.audio.captions.select.es-ES": "Español",
|
||||||
|
"app.audio.captions.select.fr-FR": "Francés",
|
||||||
|
"app.audio.captions.select.hi-ID": "Hindi",
|
||||||
|
"app.audio.captions.select.it-IT": "Italiano",
|
||||||
|
"app.audio.captions.select.ja-JP": "Japonés",
|
||||||
|
"app.audio.captions.select.pt-BR": "Portugués",
|
||||||
|
"app.audio.captions.select.ru-RU": "Ruso",
|
||||||
|
"app.audio.captions.select.zh-CN": "Chino",
|
||||||
"app.error.removed": "Ha sido eliminado de la conferencia",
|
"app.error.removed": "Ha sido eliminado de la conferencia",
|
||||||
"app.error.meeting.ended": "Ha salido de la conferencia",
|
"app.error.meeting.ended": "Ha salido de la conferencia",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tratando de unirse a la reunión",
|
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tratando de unirse a la reunión",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Ha sido eliminado de la reunión",
|
"app.meeting.logout.ejectedFromMeeting": "Ha sido eliminado de la reunión",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Error al validar el 'token' de autorización",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Error al validar el 'token' de autorización",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo demasiado tiempo",
|
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo demasiado tiempo",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Se ha alcanzado el número máximo de participantes permitidos para esta reunión",
|
||||||
"app.meeting-ended.rating.legendLabel": "Valoración de comentarios",
|
"app.meeting-ended.rating.legendLabel": "Valoración de comentarios",
|
||||||
"app.meeting-ended.rating.starLabel": "Estrella",
|
"app.meeting-ended.rating.starLabel": "Estrella",
|
||||||
"app.modal.close": "Cerrar",
|
"app.modal.close": "Cerrar",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Ha sido eliminado de la reunión",
|
"app.error.403": "Ha sido eliminado de la reunión",
|
||||||
"app.error.404": "No se encontró",
|
"app.error.404": "No se encontró",
|
||||||
"app.error.408": "Autentificación fallida",
|
"app.error.408": "Autentificación fallida",
|
||||||
|
"app.error.409": "Conflicto",
|
||||||
"app.error.410": "La reunión ha finalizado",
|
"app.error.410": "La reunión ha finalizado",
|
||||||
"app.error.500": "Ups, algo salió mal",
|
"app.error.500": "Ups, algo salió mal",
|
||||||
|
"app.error.503": "Has sido desconectado",
|
||||||
|
"app.error.disconnected.rejoin": "Puedes refrescar la página para unirte de nuevo.",
|
||||||
"app.error.userLoggedOut": "El usuario tiene un Token de sesión no válido debido al cierre de sesión",
|
"app.error.userLoggedOut": "El usuario tiene un Token de sesión no válido debido al cierre de sesión",
|
||||||
"app.error.ejectedUser": "El usuario tiene un Token de sesión no válido debido a su expulsión",
|
"app.error.ejectedUser": "El usuario tiene un Token de sesión no válido debido a su expulsión",
|
||||||
"app.error.joinedAnotherWindow": "Parece que esta sesión ya está abierta en otra ventana del navegador.",
|
"app.error.joinedAnotherWindow": "Parece que esta sesión ya está abierta en otra ventana del navegador.",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "Mensaje",
|
"app.userList.guest.privateMessageLabel": "Mensaje",
|
||||||
"app.userList.guest.acceptLabel": "Aceptar",
|
"app.userList.guest.acceptLabel": "Aceptar",
|
||||||
"app.userList.guest.denyLabel": "Denegar",
|
"app.userList.guest.denyLabel": "Denegar",
|
||||||
|
"app.userList.guest.feedbackMessage": "Acción aplicada:",
|
||||||
"app.user-info.title": "Buscar en directorio",
|
"app.user-info.title": "Buscar en directorio",
|
||||||
"app.toast.breakoutRoomEnded": "La sala de reuniones externa terminó. Por favor, vuelva a unirse al audio.",
|
"app.toast.breakoutRoomEnded": "La sala de reuniones externa terminó. Por favor, vuelva a unirse al audio.",
|
||||||
"app.toast.chat.public": "Nuevo mensaje en el chat público",
|
"app.toast.chat.public": "Nuevo mensaje en el chat público",
|
||||||
"app.toast.chat.private": "Nuevo mensaje en el chat privado",
|
"app.toast.chat.private": "Nuevo mensaje en el chat privado",
|
||||||
"app.toast.chat.system": "Sistema",
|
"app.toast.chat.system": "Sistema",
|
||||||
|
"app.toast.chat.poll": "Resultados de la encuesta",
|
||||||
|
"app.toast.chat.pollClick": "Se han publicado los resultados de la encuesta. Click aquí para verlos.",
|
||||||
"app.toast.clearedEmoji.label": "Estado de Emoji limpio",
|
"app.toast.clearedEmoji.label": "Estado de Emoji limpio",
|
||||||
"app.toast.setEmoji.label": "Estado de Emoji establecido en {0}",
|
"app.toast.setEmoji.label": "Estado de Emoji establecido en {0}",
|
||||||
"app.toast.meetingMuteOn.label": "Todos los usuarios han sido silenciados",
|
"app.toast.meetingMuteOn.label": "Todos los usuarios han sido silenciados",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Se ha enmudecido a todos los usuarios",
|
||||||
"app.toast.meetingMuteOff.label": "Reunión silenciada desactivada",
|
"app.toast.meetingMuteOff.label": "Reunión silenciada desactivada",
|
||||||
"app.toast.setEmoji.raiseHand": "Ud. ha levantado la mano",
|
"app.toast.setEmoji.raiseHand": "Ud. ha levantado la mano",
|
||||||
"app.toast.setEmoji.lowerHand": "Se ha bajado tu mano",
|
"app.toast.setEmoji.lowerHand": "Se ha bajado tu mano",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
||||||
"app.shortcut-help.nextSlideKey": "Flecha derecha",
|
"app.shortcut-help.nextSlideKey": "Flecha derecha",
|
||||||
"app.shortcut-help.previousSlideKey": "Flecha izquierda",
|
"app.shortcut-help.previousSlideKey": "Flecha izquierda",
|
||||||
|
"app.shortcut-help.select": "Seleccionar herramienta",
|
||||||
|
"app.shortcut-help.pencil": "Lápiz",
|
||||||
|
"app.shortcut-help.eraser": "Goma de borrar",
|
||||||
|
"app.shortcut-help.rectangle": "Rectángulo",
|
||||||
|
"app.shortcut-help.elipse": "Elipse",
|
||||||
|
"app.shortcut-help.triangle": "Triángulo",
|
||||||
|
"app.shortcut-help.line": "Línea",
|
||||||
|
"app.shortcut-help.arrow": "Flecha",
|
||||||
|
"app.shortcut-help.text": "Herramienta de texto",
|
||||||
|
"app.shortcut-help.note": "Post-it",
|
||||||
|
"app.shortcut-help.general": "General",
|
||||||
|
"app.shortcut-help.presentation": "Presentación",
|
||||||
|
"app.shortcut-help.whiteboard": "Encerado",
|
||||||
|
"app.shortcut-help.zoomIn": "Acercar",
|
||||||
|
"app.shortcut-help.zoomOut": "Alejar",
|
||||||
|
"app.shortcut-help.zoomFit": "Reiniciar Zoom",
|
||||||
|
"app.shortcut-help.zoomSelect": "Acercar a la selección",
|
||||||
|
"app.shortcut-help.flipH": "Rotar horizontalmente",
|
||||||
|
"app.shortcut-help.flipV": "Rotar verticalmente",
|
||||||
|
"app.shortcut-help.lock": "Bloquear / Desbloquear",
|
||||||
|
"app.shortcut-help.moveToFront": "Mover al frente",
|
||||||
|
"app.shortcut-help.moveToBack": "Mover detrás",
|
||||||
|
"app.shortcut-help.moveForward": "Mover delante",
|
||||||
|
"app.shortcut-help.moveBackward": "Mover hacia atrás",
|
||||||
|
"app.shortcut-help.undo": "Deshacer",
|
||||||
|
"app.shortcut-help.redo": "Rehacer",
|
||||||
|
"app.shortcut-help.cut": "Cortar",
|
||||||
|
"app.shortcut-help.copy": "Copiar",
|
||||||
|
"app.shortcut-help.paste": "Pegar",
|
||||||
|
"app.shortcut-help.selectAll": "Seleccionar todo",
|
||||||
|
"app.shortcut-help.delete": "Borrar",
|
||||||
|
"app.shortcut-help.duplicate": "Duplicar",
|
||||||
"app.lock-viewers.title": "Bloquear espectadores",
|
"app.lock-viewers.title": "Bloquear espectadores",
|
||||||
"app.lock-viewers.description": "Estas opciones le habilitan a restringir el uso de características específicas a los espectadores",
|
"app.lock-viewers.description": "Estas opciones le habilitan a restringir el uso de características específicas a los espectadores",
|
||||||
"app.lock-viewers.featuresLable": "Característica",
|
"app.lock-viewers.featuresLable": "Característica",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Página siguiente",
|
"app.connection-status.next": "Página siguiente",
|
||||||
"app.connection-status.prev": "Página anterior",
|
"app.connection-status.prev": "Página anterior",
|
||||||
"app.learning-dashboard.label": "Panel de análisis del aprendizaje",
|
"app.learning-dashboard.label": "Panel de análisis del aprendizaje",
|
||||||
"app.learning-dashboard.description": "Abrir panel con actividades de los usuarios",
|
"app.learning-dashboard.description": "Panel con las actividades de los usuarios",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Abrir Panel de análisis del aprendizaje",
|
"app.learning-dashboard.clickHereToOpen": "Abrir Panel de análisis del aprendizaje",
|
||||||
"app.recording.startTitle": "Iniciar grabación",
|
"app.recording.startTitle": "Iniciar grabación",
|
||||||
"app.recording.stopTitle": "Pausar grabación",
|
"app.recording.stopTitle": "Pausar grabación",
|
||||||
"app.recording.resumeTitle": "Continuar grabación",
|
"app.recording.resumeTitle": "Continuar grabación",
|
||||||
"app.recording.startDescription": "Puede actuar sobre el botón de grabar nuevamente, más adelante, para pausar la grabación",
|
"app.recording.startDescription": "Puede actuar sobre el botón de grabar nuevamente, más adelante, para pausar la grabación",
|
||||||
"app.recording.stopDescription": "¿Está seguro de querer pausar la grabación? Podrá continuar la grabación actuando sobre el botón nuevamente.",
|
"app.recording.stopDescription": "¿Está seguro de querer pausar la grabación? Podrá continuar la grabación actuando sobre el botón nuevamente.",
|
||||||
|
"app.recording.notify.title": "Se ha iniciado la grabación",
|
||||||
|
"app.recording.notify.description": "Habrá una grabación disponible basada en el resto de esta sesión.",
|
||||||
|
"app.recording.notify.continue": "Continuar",
|
||||||
|
"app.recording.notify.leave": "Abandonar la sesión",
|
||||||
|
"app.recording.notify.continueLabel" : "Aceptar la grabación y continuar",
|
||||||
|
"app.recording.notify.leaveLabel" : "No aceptar la grabación y abandonar la reunión",
|
||||||
"app.videoPreview.cameraLabel": "Cámara",
|
"app.videoPreview.cameraLabel": "Cámara",
|
||||||
"app.videoPreview.profileLabel": "Calidad",
|
"app.videoPreview.profileLabel": "Calidad",
|
||||||
"app.videoPreview.quality.low": "Bajo",
|
"app.videoPreview.quality.low": "Bajo",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Escoger webcam",
|
"app.videoPreview.webcamOptionLabel": "Escoger webcam",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Vista previa de la webcam",
|
"app.videoPreview.webcamPreviewLabel": "Vista previa de la webcam",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Configuración de la webcam",
|
"app.videoPreview.webcamSettingsTitle": "Configuración de la webcam",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Efectos visuales de la cámara web",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Ajustes del fondo virtual",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Ajustes del fondo virtual",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo no soporta fondos virtuales",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo no soporta fondos virtuales",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Webcam no encontrada",
|
"app.videoPreview.webcamNotFoundLabel": "Webcam no encontrada",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Perfil de cámara no soportado",
|
"app.videoPreview.profileNotFoundLabel": "Perfil de cámara no soportado",
|
||||||
|
"app.videoPreview.brightness": "Brillo",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Toda la imagen",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Aplica brillo a la transmisión y a la imagen de fondo.",
|
||||||
|
"app.videoPreview.sliderDesc": "Aumentar o disminuir los niveles de brillo",
|
||||||
"app.video.joinVideo": "Compartir webcam",
|
"app.video.joinVideo": "Compartir webcam",
|
||||||
"app.video.connecting": "Ha empezado a compartir la cámara",
|
"app.video.connecting": "Ha empezado a compartir la cámara",
|
||||||
"app.video.leaveVideo": "Detener compartir webcam",
|
"app.video.leaveVideo": "Detener compartir webcam",
|
||||||
|
"app.video.videoSettings": "Ajustes de vídeo",
|
||||||
|
"app.video.visualEffects": "Efectos visuales",
|
||||||
"app.video.advancedVideo": "Abrir ajustes avanzados",
|
"app.video.advancedVideo": "Abrir ajustes avanzados",
|
||||||
"app.video.iceCandidateError": "Error añadiendo candidato ICE",
|
"app.video.iceCandidateError": "Error añadiendo candidato ICE",
|
||||||
"app.video.iceConnectionStateError": "Fallo de conexión (error ICE 1107)",
|
"app.video.iceConnectionStateError": "Fallo de conexión (error ICE 1107)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "No se pudo obtener video webcam. Por favor, asegúrese de que otro programa no está utilizándola",
|
"app.video.notReadableError": "No se pudo obtener video webcam. Por favor, asegúrese de que otro programa no está utilizándola",
|
||||||
"app.video.timeoutError": "El navegador no respondió a tiempo",
|
"app.video.timeoutError": "El navegador no respondió a tiempo",
|
||||||
"app.video.genericError": "Un error desconocido ocurrió con el dispositivo (Error {0})",
|
"app.video.genericError": "Un error desconocido ocurrió con el dispositivo (Error {0})",
|
||||||
|
"app.video.inactiveError": "Su cámara web se detuvo inesperadamente. Por favor revise los permisos de su navegador",
|
||||||
"app.video.mediaTimedOutError": "Se ha interrumpido la transmisión de tu cámara web. Prueba a compartirla de nuevo",
|
"app.video.mediaTimedOutError": "Se ha interrumpido la transmisión de tu cámara web. Prueba a compartirla de nuevo",
|
||||||
"app.video.mediaFlowTimeout1020": "Los medios audiovisuales no han podido alcanzar el servidor (error 1020)",
|
"app.video.mediaFlowTimeout1020": "Los medios audiovisuales no han podido alcanzar el servidor (error 1020)",
|
||||||
"app.video.suggestWebcamLock": "¿Aplicar la configuración de bloqueo a las cámaras web de los espectadores?",
|
"app.video.suggestWebcamLock": "¿Aplicar la configuración de bloqueo a las cámaras web de los espectadores?",
|
||||||
@ -804,8 +945,17 @@
|
|||||||
"app.video.virtualBackground.board": "Pizarra",
|
"app.video.virtualBackground.board": "Pizarra",
|
||||||
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
||||||
"app.video.virtualBackground.background": "Fondo",
|
"app.video.virtualBackground.background": "Fondo",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "Fondo {0}",
|
||||||
|
"app.video.virtualBackground.custom": "Subir desde tu computadora",
|
||||||
|
"app.video.virtualBackground.remove": "Borrar imagen añadida",
|
||||||
"app.video.virtualBackground.genericError": "No se pudo aplicar el efecto de la cámara. Inténtalo de nuevo.",
|
"app.video.virtualBackground.genericError": "No se pudo aplicar el efecto de la cámara. Inténtalo de nuevo.",
|
||||||
"app.video.virtualBackground.camBgAriaDesc": "Ajusta el fondo virtual de la cámara web a {0}",
|
"app.video.virtualBackground.camBgAriaDesc": "Ajusta el fondo virtual de la cámara web a {0}",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Se excedió el tamaño máximo de archivo. ({0}MB)",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Tipo de archivo no permitido.",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Algo salió mal al leer el archivo.",
|
||||||
|
"app.video.virtualBackground.uploaded": "Subido",
|
||||||
|
"app.video.virtualBackground.uploading": "Subiendo...",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Añade una nueva imagen de fondo virtual",
|
||||||
"app.video.camCapReached": "No puedes compartir más cámaras",
|
"app.video.camCapReached": "No puedes compartir más cámaras",
|
||||||
"app.video.meetingCamCapReached": "Se ha alcanzado el límite de cámaras web simultáneas para esta reunión.",
|
"app.video.meetingCamCapReached": "Se ha alcanzado el límite de cámaras web simultáneas para esta reunión.",
|
||||||
"app.video.dropZoneLabel": "Soltar aquí",
|
"app.video.dropZoneLabel": "Soltar aquí",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Se han publicado los resultados de la encuesta",
|
"app.whiteboard.annotations.poll": "Se han publicado los resultados de la encuesta",
|
||||||
"app.whiteboard.annotations.pollResult": "Resultados de la encuesta",
|
"app.whiteboard.annotations.pollResult": "Resultados de la encuesta",
|
||||||
"app.whiteboard.annotations.noResponses": "Sin respuestas",
|
"app.whiteboard.annotations.noResponses": "Sin respuestas",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "No tienes permiso para hacer este cambio.",
|
||||||
"app.whiteboard.toolbar.tools": "Herramientas",
|
"app.whiteboard.toolbar.tools": "Herramientas",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Expandir",
|
"app.whiteboard.toolbar.tools.hand": "Expandir",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Lápiz",
|
"app.whiteboard.toolbar.tools.pencil": "Lápiz",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Plata",
|
"app.whiteboard.toolbar.color.silver": "Plata",
|
||||||
"app.whiteboard.toolbar.undo": "Deshacer anotación",
|
"app.whiteboard.toolbar.undo": "Deshacer anotación",
|
||||||
"app.whiteboard.toolbar.clear": "Limpiar todas las anotaciones",
|
"app.whiteboard.toolbar.clear": "Limpiar todas las anotaciones",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "¿Estás seguro/a de que quieres borrar todas las anotaciones?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Habilitar pizarra multiusuario",
|
"app.whiteboard.toolbar.multiUserOn": "Habilitar pizarra multiusuario",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Deshabilitar pizarra multiusuario",
|
"app.whiteboard.toolbar.multiUserOff": "Deshabilitar pizarra multiusuario",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Activar rechazo de petición de palabra",
|
"app.whiteboard.toolbar.palmRejectionOn": "Activar rechazo de petición de palabra",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Desenfoque la cámara seleccionada",
|
"app.videoDock.webcamUnfocusDesc": "Desenfoque la cámara seleccionada",
|
||||||
"app.videoDock.webcamPinLabel": "Bloquear",
|
"app.videoDock.webcamPinLabel": "Bloquear",
|
||||||
"app.videoDock.webcamPinDesc": "Bloquear la cámara web seleccionada",
|
"app.videoDock.webcamPinDesc": "Bloquear la cámara web seleccionada",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Cámara web a pantalla completa",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Opciones de webcam",
|
||||||
"app.videoDock.webcamUnpinLabel": "Desbloquear",
|
"app.videoDock.webcamUnpinLabel": "Desbloquear",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Solo Moderadores pueden desbloquear usuarios",
|
"app.videoDock.webcamUnpinLabelDisabled": "Solo Moderadores pueden desbloquear usuarios",
|
||||||
"app.videoDock.webcamUnpinDesc": "Desbloquear la cámara web seleccionada",
|
"app.videoDock.webcamUnpinDesc": "Desbloquear la cámara web seleccionada",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Necesitamos su permiso para mostrarle las webcams de otros usuarios",
|
"app.videoDock.autoplayBlockedDesc": "Necesitamos su permiso para mostrarle las webcams de otros usuarios",
|
||||||
"app.videoDock.autoplayAllowLabel": "Ver webcams",
|
"app.videoDock.autoplayAllowLabel": "Ver webcams",
|
||||||
"app.invitation.title": "Invitación a sala externa",
|
|
||||||
"app.invitation.confirm": "Invitar",
|
|
||||||
"app.createBreakoutRoom.title": "Salas externas",
|
"app.createBreakoutRoom.title": "Salas externas",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Ocultar salas externas",
|
"app.createBreakoutRoom.ariaTitle": "Ocultar salas externas",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Salas externas {0}",
|
"app.createBreakoutRoom.breakoutRoomLabel": "Salas externas {0}",
|
||||||
@ -909,6 +1061,8 @@
|
|||||||
"app.createBreakoutRoom.addRoomTime": "Incremente tiempo de la sala externa a ",
|
"app.createBreakoutRoom.addRoomTime": "Incremente tiempo de la sala externa a ",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ Añadir participante",
|
"app.createBreakoutRoom.addParticipantLabel": "+ Añadir participante",
|
||||||
"app.createBreakoutRoom.freeJoin": "Permitir a los usuarios escoger una sala externa a la que unirse",
|
"app.createBreakoutRoom.freeJoin": "Permitir a los usuarios escoger una sala externa a la que unirse",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "Capturar notas compartidas cuando finalicen las salas de reuniones",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "Capturar el encerado cuando finalicen las salas de reuniones",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Debe colocar al menos un usuario en la sala externa",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "Debe colocar al menos un usuario en la sala externa",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "La duración mínima para una sala de un grupo de trabajo es de {0} minutos.",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "La duración mínima para una sala de un grupo de trabajo es de {0} minutos.",
|
||||||
"app.createBreakoutRoom.modalDesc": "Sugerencia: puede arrastrar y soltar el nombre de un usuario para asignarlo a una sala externa específica.",
|
"app.createBreakoutRoom.modalDesc": "Sugerencia: puede arrastrar y soltar el nombre de un usuario para asignarlo a una sala externa específica.",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "La duración de los grupos de trabajo no puede exceder el tiempo de reunión restante.",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "La duración de los grupos de trabajo no puede exceder el tiempo de reunión restante.",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza el nombre de la sala de los grupos de trabajo",
|
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza el nombre de la sala de los grupos de trabajo",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "Movido/a {0} a la sala {1}",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Para actualizar o invitar a un/a usuario/a, simplemente arrástrelo/a a la sala deseada.",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "Cancelar",
|
||||||
|
"app.updateBreakoutRoom.title": "Actualizar salas de reuniones",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Aplicar",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "Te trasladaron a la sala {0}.",
|
||||||
|
"app.smartMediaShare.externalVideo": "Vídeo(s) externo(s)",
|
||||||
|
"app.update.resetRoom": "Restablecer sala de usuario",
|
||||||
"app.externalVideo.start": "Compartir un nuevo video",
|
"app.externalVideo.start": "Compartir un nuevo video",
|
||||||
"app.externalVideo.title": "Compartir un video externo",
|
"app.externalVideo.title": "Compartir un video externo",
|
||||||
"app.externalVideo.input": "URL de video externo",
|
"app.externalVideo.input": "URL de video externo",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(se deshabilitará si se arrastra o redimensiona el área de las cámaras)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(se deshabilitará si se arrastra o redimensiona el área de las cámaras)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": " Probar los niveles de registro de la conversación",
|
"app.debugWindow.form.chatLoggerLabel": " Probar los niveles de registro de la conversación",
|
||||||
"app.debugWindow.form.button.apply": "Aplicar",
|
"app.debugWindow.form.button.apply": "Aplicar",
|
||||||
|
"app.layout.modal.title": "Diseños",
|
||||||
|
"app.layout.modal.confirm": "Confirmar",
|
||||||
|
"app.layout.modal.cancel": "Cancelar",
|
||||||
|
"app.layout.modal.layoutLabel": "Selecciona tu diseño",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Forzar diseño a todos/as",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "Forzar para todos/as",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Ha cambiado la configuración del diseño",
|
||||||
|
"app.layout.modal.layoutSingular": "Diseño",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Establece el diseño como opción seleccionada",
|
||||||
"app.layout.style.custom": "Personalizado",
|
"app.layout.style.custom": "Personalizado",
|
||||||
"app.layout.style.smart": "Diseño inteligente",
|
"app.layout.style.smart": "Diseño inteligente",
|
||||||
"app.layout.style.presentationFocus": "Establecer foco en la presentación",
|
"app.layout.style.presentationFocus": "Establecer foco en la presentación",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Zona de miniaturas",
|
"playback.player.thumbnails.wrapper.aria": "Zona de miniaturas",
|
||||||
"playback.player.webcams.wrapper.aria": "Zona de webcams",
|
"playback.player.webcams.wrapper.aria": "Zona de webcams",
|
||||||
"app.learningDashboard.dashboardTitle": "Panel de análisis del aprendizaje",
|
"app.learningDashboard.dashboardTitle": "Panel de análisis del aprendizaje",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos de la sesión",
|
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos de la sesión",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Última actualización el",
|
"app.learningDashboard.lastUpdatedLabel": "Última actualización el",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "¡Descargado!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "¡Descargado!",
|
||||||
@ -1019,13 +1191,19 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Respuesta",
|
"app.learningDashboard.userDetails.response": "Respuesta",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "Respuesta más común",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "Respuesta más común",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Encuesta anónima",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Encuesta anónima",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Tiempo de conversación",
|
||||||
|
"app.learningDashboard.userDetails.messages": "Mensajes",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Emojis",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "Levantar las manos",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Votos en la encuesta",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": " {0} tiempo en línea",
|
||||||
"app.learningDashboard.usersTable.title": "Vista general",
|
"app.learningDashboard.usersTable.title": "Vista general",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Tiempo en línea",
|
"app.learningDashboard.usersTable.colOnline": "Tiempo en línea",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Tiempo de conversación",
|
"app.learningDashboard.usersTable.colTalk": "Tiempo de conversación",
|
||||||
"app.learningDashboard.usersTable.colWebcam": "Tiempo de webcam",
|
"app.learningDashboard.usersTable.colWebcam": "Tiempo de webcam",
|
||||||
"app.learningDashboard.usersTable.colMessages": "Mensajes",
|
"app.learningDashboard.usersTable.colMessages": "Mensajes",
|
||||||
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
"app.learningDashboard.usersTable.colEmojis": "Emojis",
|
||||||
"app.learningDashboard.usersTable.colRaiseHands": "Manos levantadas",
|
"app.learningDashboard.usersTable.colRaiseHands": "Levantar las manos",
|
||||||
"app.learningDashboard.usersTable.colActivityScore": "Puntuación en la actividad",
|
"app.learningDashboard.usersTable.colActivityScore": "Puntuación en la actividad",
|
||||||
"app.learningDashboard.usersTable.colStatus": "Estado",
|
"app.learningDashboard.usersTable.colStatus": "Estado",
|
||||||
"app.learningDashboard.usersTable.userStatusOnline": "En línea",
|
"app.learningDashboard.usersTable.userStatusOnline": "En línea",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anónimo",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Anónimo",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "No se han creado encuestas",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "No se han creado encuestas",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Una vez activada la encuesta, los resultados se mostrarán en esta lista.",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Una vez activada la encuesta, los resultados se mostrarán en esta lista.",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Total",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Usuario/a",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Cronología",
|
"app.learningDashboard.statusTimelineTable.title": "Cronología",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniaturas de la presentación",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniaturas de la presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Página",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Fijado en",
|
||||||
"app.learningDashboard.errors.invalidToken": "Token de sesión inválido",
|
"app.learningDashboard.errors.invalidToken": "Token de sesión inválido",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Los datos ya no están disponibles",
|
"app.learningDashboard.errors.dataUnavailable": "Los datos ya no están disponibles",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Añade tu primer portal usando el botón superior,",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Añade tu primer portal usando el botón superior,",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos requeridos",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos requeridos",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "El nombre ya está en uso",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "El nombre ya está en uso",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Error al intentar cargar la página - comprueba la URL y la conexión de red"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Error al intentar cargar la página - comprueba la URL y la conexión de red"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "A súa presentación comezará en breve…",
|
"app.home.greeting": "A súa presentación comezará en breve…",
|
||||||
"app.chat.submitLabel": "Enviar mensaxe",
|
"app.chat.submitLabel": "Enviar mensaxe",
|
||||||
"app.chat.loading": "Mensaxes de conversa cargadas: {0}%",
|
"app.chat.loading": "Mensaxes de conversa cargadas: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "A mensaxe ten {0} carácter(es) mais do admitido",
|
"app.chat.errorMaxMessageLength": "A mensaxe é demasiado longa, superou o máximo de {0} caracteres",
|
||||||
"app.chat.disconnected": "Esta desconectado, non é posíbel enviar as mensaxes",
|
"app.chat.disconnected": "Esta desconectado, non é posíbel enviar as mensaxes",
|
||||||
"app.chat.locked": "Conversa bloqueado, anon é posíbel enviar as mensaxes",
|
"app.chat.locked": "Conversa bloqueado, anon é posíbel enviar as mensaxes",
|
||||||
"app.chat.inputLabel": "Entrada de mensaxe para a conversa {0}",
|
"app.chat.inputLabel": "Entrada de mensaxe para a conversa {0}",
|
||||||
|
"app.chat.emojiButtonLabel": "Selector de emojis",
|
||||||
"app.chat.inputPlaceholder": "Mensaxe {0}",
|
"app.chat.inputPlaceholder": "Mensaxe {0}",
|
||||||
"app.chat.titlePublic": "Conversa pública",
|
"app.chat.titlePublic": "Conversa pública",
|
||||||
"app.chat.titlePrivate": "Conversa privada con {0}.",
|
"app.chat.titlePrivate": "Conversa privada con {0}.",
|
||||||
@ -21,6 +22,7 @@
|
|||||||
"app.chat.offline": "Sen conexión",
|
"app.chat.offline": "Sen conexión",
|
||||||
"app.chat.pollResult": "Resultados da enquisa",
|
"app.chat.pollResult": "Resultados da enquisa",
|
||||||
"app.chat.breakoutDurationUpdated": "O tempo restante da sala parcial é agora de {0} minutos",
|
"app.chat.breakoutDurationUpdated": "O tempo restante da sala parcial é agora de {0} minutos",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "O tempo das salas de descanso é agora de {0} minutos, e enviouse unha notificación.",
|
||||||
"app.chat.emptyLogLabel": "Rexistro da conversa baleiro",
|
"app.chat.emptyLogLabel": "Rexistro da conversa baleiro",
|
||||||
"app.chat.clearPublicChatMessage": "A conversa publica foi retirada por un moderador",
|
"app.chat.clearPublicChatMessage": "A conversa publica foi retirada por un moderador",
|
||||||
"app.chat.multi.typing": "Varios usuarios están a escribir",
|
"app.chat.multi.typing": "Varios usuarios están a escribir",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} e {1} están a escribir",
|
"app.chat.two.typing": "{0} e {1} están a escribir",
|
||||||
"app.chat.copySuccess": "A conversa transcrita foi copiada",
|
"app.chat.copySuccess": "A conversa transcrita foi copiada",
|
||||||
"app.chat.copyErr": "Produciuse un erro ao copiar a conversa transcrita",
|
"app.chat.copyErr": "Produciuse un erro ao copiar a conversa transcrita",
|
||||||
|
"app.emojiPicker.search": "Buscar",
|
||||||
|
"app.emojiPicker.notFound": "Non se atoparon Emojis",
|
||||||
|
"app.emojiPicker.skintext": "Escolla o seu ton de pel predeterminado",
|
||||||
|
"app.emojiPicker.clear": "Borrar",
|
||||||
|
"app.emojiPicker.categories.label": "Categorías de Emoji",
|
||||||
|
"app.emojiPicker.categories.people": "Persoas e Corpo",
|
||||||
|
"app.emojiPicker.categories.nature": "Animais e Natureza",
|
||||||
|
"app.emojiPicker.categories.foods": "Comida e bebida",
|
||||||
|
"app.emojiPicker.categories.places": "Viaxes e lugares",
|
||||||
|
"app.emojiPicker.categories.activity": "Actividades",
|
||||||
|
"app.emojiPicker.categories.objects": "Obxectos",
|
||||||
|
"app.emojiPicker.categories.symbols": "Símbolos",
|
||||||
|
"app.emojiPicker.categories.flags": "Bandeiras",
|
||||||
|
"app.emojiPicker.categories.recent": "Usados frecuentemente",
|
||||||
|
"app.emojiPicker.categories.search": "Buscar resultados",
|
||||||
|
"app.emojiPicker.skintones.1": "Ton de pel predeterminado",
|
||||||
|
"app.emojiPicker.skintones.2": "Ton de pel claro",
|
||||||
|
"app.emojiPicker.skintones.3": "Ton de pel medio-claro",
|
||||||
|
"app.emojiPicker.skintones.4": "Ton de pel medio",
|
||||||
|
"app.emojiPicker.skintones.5": "Ton de pel medio-escuro",
|
||||||
|
"app.emojiPicker.skintones.6": "Ton de pel escuro",
|
||||||
"app.captions.label": "Subtítulos",
|
"app.captions.label": "Subtítulos",
|
||||||
"app.captions.menu.close": "Pechar",
|
"app.captions.menu.close": "Pechar",
|
||||||
"app.captions.menu.start": "Comezar",
|
"app.captions.menu.start": "Comezar",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Comezou o recoñecemento de voz",
|
"app.captions.speech.start": "Comezou o recoñecemento de voz",
|
||||||
"app.captions.speech.stop": "O recoñecemento de voz detívose",
|
"app.captions.speech.stop": "O recoñecemento de voz detívose",
|
||||||
"app.captions.speech.error": "O recoñecemento de voz detívose por mor da incompatibilidade do navegador ou dalgún tempo de silencio",
|
"app.captions.speech.error": "O recoñecemento de voz detívose por mor da incompatibilidade do navegador ou dalgún tempo de silencio",
|
||||||
|
"app.confirmation.skipConfirm": "Non preguntar de novo",
|
||||||
|
"app.confirmation.virtualBackground.title": "Comezar novo fondo virtual",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} engadirase como fondo virtual. Continuar?",
|
||||||
|
"app.confirmationModal.yesLabel": "Sí",
|
||||||
"app.textInput.sendLabel": "Enviar",
|
"app.textInput.sendLabel": "Enviar",
|
||||||
"app.title.defaultViewLabel": "Vista predeterminada de presentación",
|
"app.title.defaultViewLabel": "Vista predeterminada de presentación",
|
||||||
"app.notes.title": "Notas compartidas",
|
"app.notes.title": "Notas compartidas",
|
||||||
"app.notes.label": "Notas",
|
"app.notes.label": "Notas",
|
||||||
"app.notes.hide": "Agochar as notas",
|
"app.notes.hide": "Agochar as notas",
|
||||||
"app.notes.locked": "Bloqueado",
|
"app.notes.locked": "Bloqueado",
|
||||||
|
"app.notes.disabled": "Fixado na área multimedia",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Converter notas en presentación",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Fixar notas na pizarra",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Retirar fixación das notas",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Opcións das notas",
|
||||||
"app.pads.hint": "Prema Esc para enfocar a barra de ferramentas do caderno de notas",
|
"app.pads.hint": "Prema Esc para enfocar a barra de ferramentas do caderno de notas",
|
||||||
"app.user.activityCheck": "Comprobar a actividade do usuario",
|
"app.user.activityCheck": "Comprobar a actividade do usuario",
|
||||||
"app.user.activityCheck.label": "Comprobar se o usuario aínda está na xuntanza ({0})",
|
"app.user.activityCheck.label": "Comprobar se o usuario aínda está na xuntanza ({0})",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Fin do contido das diapositivas",
|
"app.presentation.endSlideContent": "Fin do contido das diapositivas",
|
||||||
"app.presentation.changedSlideContent": "A presentación cambiou á diapositiva: {0}",
|
"app.presentation.changedSlideContent": "A presentación cambiou á diapositiva: {0}",
|
||||||
"app.presentation.emptySlideContent": "Non hai contido para a diapositiva actual",
|
"app.presentation.emptySlideContent": "Non hai contido para a diapositiva actual",
|
||||||
"app.presentation.options.fullscreen": "Pantalla completa",
|
"app.presentation.options.fullscreen": "Presentación en pantalla completa",
|
||||||
"app.presentation.options.exitFullscreen": "Saír da pantalla completa",
|
"app.presentation.options.exitFullscreen": "Saír da pantalla completa",
|
||||||
"app.presentation.options.minimize": "Minimizar",
|
"app.presentation.options.minimize": "Minimizar",
|
||||||
"app.presentation.options.snapshot": "Instantánea da diapositiva actual",
|
"app.presentation.options.snapshot": "Instantánea da diapositiva actual",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
"app.presentation.presentationToolbar.goToSlide": "Diapositiva {0}",
|
||||||
"app.presentation.placeholder": "Non hai ningunha presentación activa actualmente",
|
"app.presentation.placeholder": "Non hai ningunha presentación activa actualmente",
|
||||||
"app.presentationUploder.title": "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.message": "Como presentador tes a posibilidade de cargar calquera documento ofimático ou ficheiro PDF. Recomendamos o ficheiro PDF para obter os mellores resultados. Asegúrate de seleccionar unha presentación usando a caixa de verificación circular do lado esquerdo.",
|
||||||
|
"app.presentationUploader.exportHint": "Ao seleccionar \"Enviar ao chat\" proporcionarase aos usuarios unha ligazón para descargar con anotacións no chat público.",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Enviando ao chat (elemento {0})",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Enviando ao chat ({0} elementos)",
|
||||||
|
"app.presentationUploader.exporting": "Enviando ao chat",
|
||||||
|
"app.presentationUploader.sending": "Enviando...",
|
||||||
|
"app.presentationUploader.collecting": "Extraendo a diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.processing": "Anotando diapositiva {0} de {1}...",
|
||||||
|
"app.presentationUploader.sent": "Enviado",
|
||||||
|
"app.presentationUploader.exportingTimeout": "A exportación está tardando demasiado...",
|
||||||
|
"app.presentationUploader.export": "Enviar para o chat",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Presentación actual",
|
||||||
"app.presentationUploder.extraHint": "IMPORTANTE: cada ficheiro non pode exceder {0} MB e {1} páxinas.",
|
"app.presentationUploder.extraHint": "IMPORTANTE: cada ficheiro non pode exceder {0} MB e {1} páxinas.",
|
||||||
"app.presentationUploder.uploadLabel": "Enviar",
|
"app.presentationUploder.uploadLabel": "Enviar",
|
||||||
"app.presentationUploder.confirmLabel": "Confirmar",
|
"app.presentationUploder.confirmLabel": "Confirmar",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Arrastre as imaxes aquí para envialas",
|
"app.presentationUploder.dropzoneImagesLabel": "Arrastre as imaxes aquí para envialas",
|
||||||
"app.presentationUploder.browseFilesLabel": "ou busque os ficheiros",
|
"app.presentationUploder.browseFilesLabel": "ou busque os ficheiros",
|
||||||
"app.presentationUploder.browseImagesLabel": "ou busque as imaxes",
|
"app.presentationUploder.browseImagesLabel": "ou busque as imaxes",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "Engade contido dunha aplicación de terceiros",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Explorar ficheiros",
|
||||||
"app.presentationUploder.fileToUpload": "Para ser enviado…",
|
"app.presentationUploder.fileToUpload": "Para ser enviado…",
|
||||||
"app.presentationUploder.currentBadge": "Actual",
|
"app.presentationUploder.currentBadge": "Actual",
|
||||||
"app.presentationUploder.rejectedError": "O(s) ficheiro(s) seleccionado(s) foi(foron) rexeitado(s). Revise o(os) tipo(s) de ficheiro.",
|
"app.presentationUploder.rejectedError": "O(s) ficheiro(s) seleccionado(s) foi(foron) rexeitado(s). Revise o(os) tipo(s) de ficheiro.",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Presentacións xeradas…",
|
"app.presentationUploder.conversion.generatedSlides": "Presentacións xeradas…",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "Xerando imaxes SVG…",
|
"app.presentationUploder.conversion.generatingSvg": "Xerando imaxes SVG…",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "O número de páxinas superou o máximo de {0}",
|
"app.presentationUploder.conversion.pageCountExceeded": "O número de páxinas superou o máximo de {0}",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Detectouse un formato non válido (extensión={0}, tipo de contido={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "Non se puido procesar a diapositiva {0} en {1} intentos.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Produciuse un fallo ao procesar o documento de oficina. No seu lugar envíe un PDF.",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "Non foi posíbel converter o ficheiro PDF. Tente optimizalo. Tamaño máximo de páxina {0}",
|
"app.presentationUploder.conversion.pdfHasBigPage": "Non foi posíbel converter o ficheiro PDF. Tente optimizalo. Tamaño máximo de páxina {0}",
|
||||||
"app.presentationUploder.conversion.timeout": " Ouh! a conversión tomou demasiado tempo",
|
"app.presentationUploder.conversion.timeout": " Ouh! a conversión tomou demasiado tempo",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "Produciuse un fallo ao determinar o número de páxinas.",
|
"app.presentationUploder.conversion.pageCountFailed": "Produciuse un fallo ao determinar o número de páxinas.",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Extensión de ficheiro non se admitida",
|
"app.presentationUploder.conversion.unsupportedDocument": "Extensión de ficheiro non se admitida",
|
||||||
"app.presentationUploder.isDownloadableLabel": "Non está permitida a descarga da presentación; prema para permitir a descarga da presentación",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Permítese a descarga de presentacións: prema para non permitir a descarga de presentacións",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Retirar a presentación",
|
"app.presentationUploder.removePresentationLabel": "Retirar a presentación",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Estabelecer a presentación como actual",
|
"app.presentationUploder.setAsCurrentPresentation": "Estabelecer a presentación como actual",
|
||||||
"app.presentationUploder.tableHeading.filename": "Nome de ficheiro",
|
"app.presentationUploder.tableHeading.filename": "Nome de ficheiro",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Limpar os erros",
|
"app.presentationUploder.clearErrors": "Limpar os erros",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Limpar os envíos de presentación fallados",
|
"app.presentationUploder.clearErrorsDesc": "Limpar os envíos de presentación fallados",
|
||||||
"app.presentationUploder.uploadViewTitle": "Enviar presentación",
|
"app.presentationUploder.uploadViewTitle": "Enviar presentación",
|
||||||
|
"app.poll.questionAndoptions.label" : "Texto da pregunta que se amosará.\nA. Opción de enquisa *\nB. Opción de enquisa (opcional)\nC. Opción de enquisa (opcional)\nD. Opción de enquisa (opcional)\nE. Opción de enquisa (opcional)",
|
||||||
|
"app.poll.customInput.label": "Entrada personalizada",
|
||||||
|
"app.poll.customInputInstructions.label": "A entrada personalizada está activada: escribe a pregunta de enquisa e as opcións nun formato determinado ou arrastra e solta un ficheiro de texto no mesmo formato.",
|
||||||
|
"app.poll.maxOptionsWarning.label": "Só se poden usar as 5 primeiras opcións!",
|
||||||
"app.poll.pollPaneTitle": "Enquisa",
|
"app.poll.pollPaneTitle": "Enquisa",
|
||||||
"app.poll.enableMultipleResponseLabel": "Permitir varias respostas por enquisado?",
|
"app.poll.enableMultipleResponseLabel": "Permitir varias respostas por enquisado?",
|
||||||
"app.poll.quickPollTitle": "Enquisa rápida",
|
"app.poll.quickPollTitle": "Enquisa rápida",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "Prema aquí para seleccionar",
|
"app.poll.clickHereToSelect": "Prema aquí para seleccionar",
|
||||||
"app.poll.question.label" : "Escriba a súa pregunta...",
|
"app.poll.question.label" : "Escriba a súa pregunta...",
|
||||||
"app.poll.optionalQuestion.label" : "Escriba a súa pregunta (opcional)...",
|
"app.poll.optionalQuestion.label" : "Escriba a súa pregunta (opcional)...",
|
||||||
"app.poll.userResponse.label" : "Resposta do usuario",
|
"app.poll.userResponse.label" : "Resposta escrita",
|
||||||
"app.poll.responseTypes.label" : "Tipos de resposta",
|
"app.poll.responseTypes.label" : "Tipos de resposta",
|
||||||
"app.poll.optionDelete.label" : "Eliminar",
|
"app.poll.optionDelete.label" : "Eliminar",
|
||||||
"app.poll.responseChoices.label" : "Opcións de resposta",
|
"app.poll.responseChoices.label" : "Opcións de resposta",
|
||||||
@ -329,7 +378,7 @@
|
|||||||
"app.muteWarning.disableMessage": "Alertas de silenciamento desactivadas ata que se active o son",
|
"app.muteWarning.disableMessage": "Alertas de silenciamento desactivadas ata que se active o son",
|
||||||
"app.muteWarning.tooltip": "Prema para pechar e desactivar a advertencia ata a próxima vez que se desactive o silenciamento",
|
"app.muteWarning.tooltip": "Prema para pechar e desactivar a advertencia ata a próxima vez que se desactive o silenciamento",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Opcións",
|
"app.navBar.settingsDropdown.optionsLabel": "Opcións",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Poñer a pantalla completa",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Presentación en pantalla completa",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Axustes",
|
"app.navBar.settingsDropdown.settingsLabel": "Axustes",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Sobre",
|
"app.navBar.settingsDropdown.aboutLabel": "Sobre",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar a xuntanza",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Abandonar a xuntanza",
|
||||||
@ -342,6 +391,7 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Atallos de teclado",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Atallos de teclado",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Lista de atallos de teclado dispoñíbeis",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Lista de atallos de teclado dispoñíbeis",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Axuda",
|
"app.navBar.settingsDropdown.helpLabel": "Axuda",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "Abrir na aplicación BigBlueButton Tablet",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Vincular o usuario a vídeo titoriais (abre unha nova lapela)",
|
"app.navBar.settingsDropdown.helpDesc": "Vincular o usuario a vídeo titoriais (abre unha nova lapela)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza a sesión actual",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Finaliza a sesión actual",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Rematar a xuntanza",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Rematar a xuntanza",
|
||||||
@ -359,7 +409,7 @@
|
|||||||
"app.endMeeting.description": "Esta acción rematará a sesión para {0} usuarios activos. Confirma que que quere rematar esta sesión?",
|
"app.endMeeting.description": "Esta acción rematará a sesión para {0} usuarios activos. Confirma que que quere rematar esta sesión?",
|
||||||
"app.endMeeting.noUserDescription": "Confirma que quere rematar esta sesión?",
|
"app.endMeeting.noUserDescription": "Confirma que quere rematar esta sesión?",
|
||||||
"app.endMeeting.contentWarning": "As mensaxes da conversa, as notas compartidas, o contido do encerado e os documentos compartidos desta sesión deixarán de ser accesibles directamente",
|
"app.endMeeting.contentWarning": "As mensaxes da conversa, as notas compartidas, o contido do encerado e os documentos compartidos desta sesión deixarán de ser accesibles directamente",
|
||||||
"app.endMeeting.yesLabel": "Si",
|
"app.endMeeting.yesLabel": "Finalizar a sesión para todos os usuarios",
|
||||||
"app.endMeeting.noLabel": "Non",
|
"app.endMeeting.noLabel": "Non",
|
||||||
"app.about.title": "Sobre",
|
"app.about.title": "Sobre",
|
||||||
"app.about.version": "Versión do cliente:",
|
"app.about.version": "Versión do cliente:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "Aceptar",
|
"app.about.confirmDesc": "Aceptar",
|
||||||
"app.about.dismissLabel": "Cancelar",
|
"app.about.dismissLabel": "Cancelar",
|
||||||
"app.about.dismissDesc": "Pechar a información sobre o cliente",
|
"app.about.dismissDesc": "Pechar a información sobre o cliente",
|
||||||
|
"app.mobileAppModal.title": "Abrir a aplicación BigBlueButton Tablet",
|
||||||
|
"app.mobileAppModal.description": "Tes a aplicación BigBlueButton Tablet instalada no teu dispositivo?",
|
||||||
|
"app.mobileAppModal.openApp": "Si, abre a aplicación agora",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Obtendo da URL da reunión",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Produciuse un erro ao tentar obter a URL da reunión",
|
||||||
|
"app.mobileAppModal.openStore": "Non, abre a App Store para descargar",
|
||||||
|
"app.mobileAppModal.dismissLabel": "Cancelar",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Pechar",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "O usuario {0} acaba de conectarse co mesmo ID que ti.",
|
||||||
"app.actionsBar.changeStatusLabel": "Cambiar o estado",
|
"app.actionsBar.changeStatusLabel": "Cambiar o estado",
|
||||||
"app.actionsBar.muteLabel": "Desactivar o son",
|
"app.actionsBar.muteLabel": "Desactivar o son",
|
||||||
"app.actionsBar.unmuteLabel": "Devolver o son ",
|
"app.actionsBar.unmuteLabel": "Devolver o son ",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar a presentación após ser minimizada",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Botón para restaurar a presentación após ser minimizada",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar a presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Minimizar a presentación",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar a presentación",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Botón usado para minimizar a presentación",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Configuración do deseño",
|
||||||
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
"app.screenshare.screenShareLabel" : "Compartir pantalla",
|
||||||
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
"app.submenu.application.applicationSectionTitle": "Aplicación",
|
||||||
"app.submenu.application.animationsLabel": "Animacións",
|
"app.submenu.application.animationsLabel": "Animacións",
|
||||||
"app.submenu.application.audioFilterLabel": " Filtros de son para o micrófono",
|
"app.submenu.application.audioFilterLabel": " Filtros de son para o micrófono",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Modo escuro",
|
||||||
"app.submenu.application.fontSizeControlLabel": "Tamaño da letra",
|
"app.submenu.application.fontSizeControlLabel": "Tamaño da letra",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Incrementar o tamaño da letra",
|
"app.submenu.application.increaseFontBtnLabel": "Incrementar o tamaño da letra",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Diminuír o tamaño da letra",
|
"app.submenu.application.decreaseFontBtnLabel": "Diminuír o tamaño da letra",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "Non hai locais activos",
|
"app.submenu.application.noLocaleOptionLabel": "Non hai locais activos",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Paxinación do vídeo",
|
"app.submenu.application.paginationEnabledLabel": "Paxinación do vídeo",
|
||||||
"app.submenu.application.layoutOptionLabel": "Tipo de disposición",
|
"app.submenu.application.layoutOptionLabel": "Tipo de disposición",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Forzar deseño",
|
||||||
"app.submenu.notification.SectionTitle": "Notificacións",
|
"app.submenu.notification.SectionTitle": "Notificacións",
|
||||||
"app.submenu.notification.Desc": "Definir como e que se lle notificará.",
|
"app.submenu.notification.Desc": "Definir como e que se lle notificará.",
|
||||||
"app.submenu.notification.audioAlertLabel": "Avisos sonoros",
|
"app.submenu.notification.audioAlertLabel": "Avisos sonoros",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Gardar os cambios e pechar o menú de axustes",
|
"app.settings.main.save.label.description": "Gardar os cambios e pechar o menú de axustes",
|
||||||
"app.settings.dataSavingTab.label": "Aforro de datos",
|
"app.settings.dataSavingTab.label": "Aforro de datos",
|
||||||
"app.settings.dataSavingTab.webcam": "Activar as cámaras web",
|
"app.settings.dataSavingTab.webcam": "Activar as cámaras web",
|
||||||
"app.settings.dataSavingTab.screenShare": "Activar o escritorio compartido",
|
"app.settings.dataSavingTab.screenShare": "Activa o uso compartido do escritorio doutros participantes",
|
||||||
"app.settings.dataSavingTab.description": "Para aforrar largo de banda axuste o que se se está a amosar",
|
"app.settings.dataSavingTab.description": "Para aforrar largo de banda axuste o que se se está a amosar",
|
||||||
"app.settings.save-notification.label": "Gardáronse os axustes",
|
"app.settings.save-notification.label": "Gardáronse os axustes",
|
||||||
"app.statusNotifier.lowerHands": "Mans baixadas",
|
"app.statusNotifier.lowerHands": "Mans baixadas",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Xestionar presentacións",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Xestionar presentacións",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar unha enquisa",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Iniciar unha enquisa",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir a súa pantalla",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Compartir a súa pantalla",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "A pantalla compartida está bloqueada",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Deixar de compartir a súa pantalla",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Deixar de compartir a súa pantalla",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Enviar a súa presentación",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Enviar a súa presentación",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar unha enquisa",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Iniciar unha enquisa",
|
||||||
@ -457,6 +518,7 @@
|
|||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarse a un mesmo como novo presentador",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Asignarse a un mesmo como novo presentador",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar un usuario ao chou",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Seleccionar un usuario ao chou",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Escoller ao chou un usuario entre os espectadores dispoñíbeis",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Escoller ao chou un usuario entre os espectadores dispoñíbeis",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Propagación do deseño",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Estabelecer o estado",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Estabelecer o estado",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
"app.actionsBar.emojiMenu.awayLabel": "Ausente",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Cambiar o seu estado a ausente",
|
"app.actionsBar.emojiMenu.awayDesc": "Cambiar o seu estado a ausente",
|
||||||
@ -496,6 +558,7 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Conexión pechada (erro ICE 1012)",
|
"app.audioNotification.audioFailedError1012": "Conexión pechada (erro ICE 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "Produciuse un fallo na súa conexión de son",
|
"app.audioNotification.audioFailedMessage": "Produciuse un fallo na súa conexión de son",
|
||||||
"app.audioNotification.mediaFailedMessage": "Produciuse un fallo en getUserMicMedia xa que só se permiten as orixes seguras",
|
"app.audioNotification.mediaFailedMessage": "Produciuse un fallo en getUserMicMedia xa que só se permiten as orixes seguras",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Produciuse un erro no cambio do dispositivo de audio. Comproba se o dispositivo escollido está correctamente configurado e dispoñible",
|
||||||
"app.audioNotification.closeLabel": "Pechar",
|
"app.audioNotification.closeLabel": "Pechar",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "O micrófono bloqueouse para os espectadores, vostede está conectado só como oínte",
|
"app.audioNotificaion.reconnectingAsListenOnly": "O micrófono bloqueouse para os espectadores, vostede está conectado só como oínte",
|
||||||
"app.breakoutJoinConfirmation.title": "Unirse á sala parcial",
|
"app.breakoutJoinConfirmation.title": "Unirse á sala parcial",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "Cambiar a duración",
|
"app.breakout.dropdown.manageDuration": "Cambiar a duración",
|
||||||
"app.breakout.dropdown.destroyAll": "Remate das salas parciais",
|
"app.breakout.dropdown.destroyAll": "Remate das salas parciais",
|
||||||
"app.breakout.dropdown.options": "Opcións das salas parciais",
|
"app.breakout.dropdown.options": "Opcións das salas parciais",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Xestionar usuarios",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Calculando tempo restante…",
|
"app.calculatingBreakoutTimeRemaining": "Calculando tempo restante…",
|
||||||
"app.audioModal.ariaTitle": " Xanela modal para unirse ao son",
|
"app.audioModal.ariaTitle": " Xanela modal para unirse ao son",
|
||||||
"app.audioModal.microphoneLabel": "Micrófono",
|
"app.audioModal.microphoneLabel": "Micrófono",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Cambiar o dispositivo de son",
|
"app.audio.changeAudioDevice": "Cambiar o dispositivo de son",
|
||||||
"app.audio.enterSessionLabel": "Entrar na sesión",
|
"app.audio.enterSessionLabel": "Entrar na sesión",
|
||||||
"app.audio.playSoundLabel": "Reproducir son",
|
"app.audio.playSoundLabel": "Reproducir son",
|
||||||
|
"app.audio.stopAudioFeedback": "Deter a retroalimentación de audio",
|
||||||
"app.audio.backLabel": "Atrás",
|
"app.audio.backLabel": "Atrás",
|
||||||
"app.audio.loading": "Cargando",
|
"app.audio.loading": "Cargando",
|
||||||
"app.audio.microphones": "Micrófonos",
|
"app.audio.microphones": "Micrófonos",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Probar o seu altofalante",
|
"app.audio.audioSettings.testSpeakerLabel": "Probar o seu altofalante",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "O seu volume do fluxo de son",
|
"app.audio.audioSettings.microphoneStreamLabel": "O seu volume do fluxo de son",
|
||||||
"app.audio.audioSettings.retryLabel": "Tentar de novo",
|
"app.audio.audioSettings.retryLabel": "Tentar de novo",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "Entrada de audio {0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "Saída de audio {0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Por defecto",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Buscando dispositivos...",
|
||||||
"app.audio.listenOnly.backLabel": "Atrás",
|
"app.audio.listenOnly.backLabel": "Atrás",
|
||||||
"app.audio.listenOnly.closeLabel": "Pechar",
|
"app.audio.listenOnly.closeLabel": "Pechar",
|
||||||
"app.audio.permissionsOverlay.title": "Permitir o acceso ao seu micrófono",
|
"app.audio.permissionsOverlay.title": "Permitir o acceso ao seu micrófono",
|
||||||
"app.audio.permissionsOverlay.hint": "Necesitamos que nos permita usar os seus dispositivos multimedia para unilo á conferencia de voz :)",
|
"app.audio.permissionsOverlay.hint": "Necesitamos que nos permita usar os seus dispositivos multimedia para unilo á conferencia de voz :)",
|
||||||
|
"app.audio.captions.button.start": "Iniciar subtítulos",
|
||||||
|
"app.audio.captions.button.stop": "Deter os subtítulos",
|
||||||
|
"app.audio.captions.button.language": "Idioma",
|
||||||
|
"app.audio.captions.button.transcription": "Transcrición",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Configuración de transcrición",
|
||||||
|
"app.audio.captions.speech.title": "Transcrición automática",
|
||||||
|
"app.audio.captions.speech.disabled": "Desactivado",
|
||||||
|
"app.audio.captions.speech.unsupported": "O teu navegador non admite o recoñecemento de voz. O teu audio non se transcribirá",
|
||||||
|
"app.audio.captions.select.de-DE": "Alemán",
|
||||||
|
"app.audio.captions.select.en-US": "Inglés",
|
||||||
|
"app.audio.captions.select.es-ES": "Español",
|
||||||
|
"app.audio.captions.select.fr-FR": "Francés",
|
||||||
|
"app.audio.captions.select.hi-ID": "Hindi",
|
||||||
|
"app.audio.captions.select.it-IT": "Italiano",
|
||||||
|
"app.audio.captions.select.ja-JP": "Xaponés",
|
||||||
|
"app.audio.captions.select.pt-BR": "Portugués",
|
||||||
|
"app.audio.captions.select.ru-RU": "Ruso",
|
||||||
|
"app.audio.captions.select.zh-CN": "Chinés",
|
||||||
"app.error.removed": "Vostede foi retirado/a da conferencia",
|
"app.error.removed": "Vostede foi retirado/a da conferencia",
|
||||||
"app.error.meeting.ended": "Vostede desconectouse da conferencia",
|
"app.error.meeting.ended": "Vostede desconectouse da conferencia",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tentando unirse á xuntanza",
|
"app.meeting.logout.duplicateUserEjectReason": "Usuario duplicado tentando unirse á xuntanza",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Vostede foi retirado/a da xuntanza",
|
"app.meeting.logout.ejectedFromMeeting": "Vostede foi retirado/a da xuntanza",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Produciuse un erro ao validar o testemuño de autorización",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Produciuse un erro ao validar o testemuño de autorización",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo durante demasiado tempo",
|
"app.meeting.logout.userInactivityEjectReason": "Usuario inactivo durante demasiado tempo",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Alcanzouse o número máximo de participantes permitido para esta reunión",
|
||||||
"app.meeting-ended.rating.legendLabel": "Valoración de comentarios",
|
"app.meeting-ended.rating.legendLabel": "Valoración de comentarios",
|
||||||
"app.meeting-ended.rating.starLabel": "Estrela",
|
"app.meeting-ended.rating.starLabel": "Estrela",
|
||||||
"app.modal.close": "Pechar",
|
"app.modal.close": "Pechar",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Vostede foi retirado/a da xuntanza",
|
"app.error.403": "Vostede foi retirado/a da xuntanza",
|
||||||
"app.error.404": "Non se atopou",
|
"app.error.404": "Non se atopou",
|
||||||
"app.error.408": "Produciuse un fallo de autenticación",
|
"app.error.408": "Produciuse un fallo de autenticación",
|
||||||
|
"app.error.409": "Conflito",
|
||||||
"app.error.410": "Rematou a xuntanza",
|
"app.error.410": "Rematou a xuntanza",
|
||||||
"app.error.500": "Ouh! algo foi mal",
|
"app.error.500": "Ouh! algo foi mal",
|
||||||
|
"app.error.503": "Desconectácheste",
|
||||||
|
"app.error.disconnected.rejoin": "Podes actualizar a páxina para unirte de novo.",
|
||||||
"app.error.userLoggedOut": "O usuario ten un testemuño de sesión non válido por mor do peche da sesión",
|
"app.error.userLoggedOut": "O usuario ten un testemuño de sesión non válido por mor do peche da sesión",
|
||||||
"app.error.ejectedUser": "O usuario ten un testemuño de sesión non válido por mor da expulsión",
|
"app.error.ejectedUser": "O usuario ten un testemuño de sesión non válido por mor da expulsión",
|
||||||
"app.error.joinedAnotherWindow": "Semella que esta sesión está aberta noutra xanela do navegador.",
|
"app.error.joinedAnotherWindow": "Semella que esta sesión está aberta noutra xanela do navegador.",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "Mensaxe",
|
"app.userList.guest.privateMessageLabel": "Mensaxe",
|
||||||
"app.userList.guest.acceptLabel": "Aceptar",
|
"app.userList.guest.acceptLabel": "Aceptar",
|
||||||
"app.userList.guest.denyLabel": "Denegar",
|
"app.userList.guest.denyLabel": "Denegar",
|
||||||
|
"app.userList.guest.feedbackMessage": "Acción aplicada:",
|
||||||
"app.user-info.title": "Atopar directorio",
|
"app.user-info.title": "Atopar directorio",
|
||||||
"app.toast.breakoutRoomEnded": "A sala parcial rematou. Volva incorporarse ao son.",
|
"app.toast.breakoutRoomEnded": "A sala parcial rematou. Volva incorporarse ao son.",
|
||||||
"app.toast.chat.public": "Nova mensaxe na conversa pública",
|
"app.toast.chat.public": "Nova mensaxe na conversa pública",
|
||||||
"app.toast.chat.private": "Nova mensaxe na conversa privada",
|
"app.toast.chat.private": "Nova mensaxe na conversa privada",
|
||||||
"app.toast.chat.system": "Sistema",
|
"app.toast.chat.system": "Sistema",
|
||||||
|
"app.toast.chat.poll": "Resultados da enquisa",
|
||||||
|
"app.toast.chat.pollClick": "Publicáronse os resultados das enquisas. Fai clic aquí para ver.",
|
||||||
"app.toast.clearedEmoji.label": "Estado do emoji limpo",
|
"app.toast.clearedEmoji.label": "Estado do emoji limpo",
|
||||||
"app.toast.setEmoji.label": "Estado do emoji cambiado a {0}",
|
"app.toast.setEmoji.label": "Estado do emoji cambiado a {0}",
|
||||||
"app.toast.meetingMuteOn.label": "Todos os usuarios foron silenciados",
|
"app.toast.meetingMuteOn.label": "Todos os usuarios foron silenciados",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Todos os espectadores foron silenciados",
|
||||||
"app.toast.meetingMuteOff.label": "Desactivouse a reunión silenciosa",
|
"app.toast.meetingMuteOff.label": "Desactivouse a reunión silenciosa",
|
||||||
"app.toast.setEmoji.raiseHand": "Vostede ergueu a man",
|
"app.toast.setEmoji.raiseHand": "Vostede ergueu a man",
|
||||||
"app.toast.setEmoji.lowerHand": "A túa man foi baixada",
|
"app.toast.setEmoji.lowerHand": "A túa man foi baixada",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Intro",
|
"app.shortcut-help.toggleFullscreenKey": "Intro",
|
||||||
"app.shortcut-help.nextSlideKey": "Frecha dereita",
|
"app.shortcut-help.nextSlideKey": "Frecha dereita",
|
||||||
"app.shortcut-help.previousSlideKey": "Frecha esquerda",
|
"app.shortcut-help.previousSlideKey": "Frecha esquerda",
|
||||||
|
"app.shortcut-help.select": "Selecciona Ferramenta",
|
||||||
|
"app.shortcut-help.pencil": "Lapis",
|
||||||
|
"app.shortcut-help.eraser": "Borrador",
|
||||||
|
"app.shortcut-help.rectangle": "Rectángulo",
|
||||||
|
"app.shortcut-help.elipse": "Elipse",
|
||||||
|
"app.shortcut-help.triangle": "Triángulo",
|
||||||
|
"app.shortcut-help.line": "Liña",
|
||||||
|
"app.shortcut-help.arrow": "Frecha",
|
||||||
|
"app.shortcut-help.text": "Ferramenta de texto",
|
||||||
|
"app.shortcut-help.note": "Nota adhesiva",
|
||||||
|
"app.shortcut-help.general": "Xeral",
|
||||||
|
"app.shortcut-help.presentation": "Presentación",
|
||||||
|
"app.shortcut-help.whiteboard": "Encerado",
|
||||||
|
"app.shortcut-help.zoomIn": "Achegarse",
|
||||||
|
"app.shortcut-help.zoomOut": "Afastarse",
|
||||||
|
"app.shortcut-help.zoomFit": "Restaurar o zoom",
|
||||||
|
"app.shortcut-help.zoomSelect": "Zoom á selección",
|
||||||
|
"app.shortcut-help.flipH": "Volteo horizontal",
|
||||||
|
"app.shortcut-help.flipV": "Volteo vertical",
|
||||||
|
"app.shortcut-help.lock": "Bloquear / Desbloquear",
|
||||||
|
"app.shortcut-help.moveToFront": "Mover ao fronte",
|
||||||
|
"app.shortcut-help.moveToBack": "Mover cara atrás",
|
||||||
|
"app.shortcut-help.moveForward": "Mover cara adiante",
|
||||||
|
"app.shortcut-help.moveBackward": "Mover cara atrás",
|
||||||
|
"app.shortcut-help.undo": "Desfacer",
|
||||||
|
"app.shortcut-help.redo": "Refacer",
|
||||||
|
"app.shortcut-help.cut": "Cortar",
|
||||||
|
"app.shortcut-help.copy": "Copiar",
|
||||||
|
"app.shortcut-help.paste": "Pegar",
|
||||||
|
"app.shortcut-help.selectAll": "Seleccionar todo",
|
||||||
|
"app.shortcut-help.delete": "Borrar",
|
||||||
|
"app.shortcut-help.duplicate": "Duplicar",
|
||||||
"app.lock-viewers.title": "Bloquear aos espectadores",
|
"app.lock-viewers.title": "Bloquear aos espectadores",
|
||||||
"app.lock-viewers.description": "Estas opcións permítenlle restrinxir aos espectadores o uso de funcións específicas.",
|
"app.lock-viewers.description": "Estas opcións permítenlle restrinxir aos espectadores o uso de funcións específicas.",
|
||||||
"app.lock-viewers.featuresLable": "Función",
|
"app.lock-viewers.featuresLable": "Función",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Seguinte páxina",
|
"app.connection-status.next": "Seguinte páxina",
|
||||||
"app.connection-status.prev": "Páxina anterior",
|
"app.connection-status.prev": "Páxina anterior",
|
||||||
"app.learning-dashboard.label": " Taboleiro de análise da aprendizaxe",
|
"app.learning-dashboard.label": " Taboleiro de análise da aprendizaxe",
|
||||||
"app.learning-dashboard.description": "Abrir o taboleiro co control de actividades dos asistentes",
|
"app.learning-dashboard.description": "Taboleiro coas actividades dos usuarios",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Abrir o taboleiro de análise da aprendizaxe",
|
"app.learning-dashboard.clickHereToOpen": "Abrir o taboleiro de análise da aprendizaxe",
|
||||||
"app.recording.startTitle": "Iniciar a gravación",
|
"app.recording.startTitle": "Iniciar a gravación",
|
||||||
"app.recording.stopTitle": "Pausar a gravación",
|
"app.recording.stopTitle": "Pausar a gravación",
|
||||||
"app.recording.resumeTitle": "Continuar coa gravación",
|
"app.recording.resumeTitle": "Continuar coa gravación",
|
||||||
"app.recording.startDescription": "Máis tarde pode usar o botón de gravación para deter a gravación.",
|
"app.recording.startDescription": "Máis tarde pode usar o botón de gravación para deter a gravación.",
|
||||||
"app.recording.stopDescription": "Confirma que quere deter a gravación? Pode continuala premendo de novo o botón de gravación.",
|
"app.recording.stopDescription": "Confirma que quere deter a gravación? Pode continuala premendo de novo o botón de gravación.",
|
||||||
|
"app.recording.notify.title": "Comezou a gravación",
|
||||||
|
"app.recording.notify.description": "Haberá unha gravación dispoñible en función do resto desta sesión",
|
||||||
|
"app.recording.notify.continue": "Continuar",
|
||||||
|
"app.recording.notify.leave": "Abandonar a xuntanza",
|
||||||
|
"app.recording.notify.continueLabel" : "Aceptar a gravación e continuar",
|
||||||
|
"app.recording.notify.leaveLabel" : "Non aceptar a gravación e saír da reunión",
|
||||||
"app.videoPreview.cameraLabel": "Cámara web",
|
"app.videoPreview.cameraLabel": "Cámara web",
|
||||||
"app.videoPreview.profileLabel": "Calidade",
|
"app.videoPreview.profileLabel": "Calidade",
|
||||||
"app.videoPreview.quality.low": "Baixa",
|
"app.videoPreview.quality.low": "Baixa",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Seleccionar a cámara web",
|
"app.videoPreview.webcamOptionLabel": "Seleccionar a cámara web",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Vista preliminar de cámara web",
|
"app.videoPreview.webcamPreviewLabel": "Vista preliminar de cámara web",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Axustes da cámara web",
|
"app.videoPreview.webcamSettingsTitle": "Axustes da cámara web",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Efectos visuais da cámara web",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Axustes do fondo virtual",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Axustes do fondo virtual",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo non admite fondos virtuais",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Este dispositivo non admite fondos virtuais",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Non se atopou a cámara web",
|
"app.videoPreview.webcamNotFoundLabel": "Non se atopou a cámara web",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Non hai ningún perfil de cámara admitido",
|
"app.videoPreview.profileNotFoundLabel": "Non hai ningún perfil de cámara admitido",
|
||||||
|
"app.videoPreview.brightness": "Brillo",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Imaxe completa",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Aplica brillo ao fluxo e á imaxe de fondo",
|
||||||
|
"app.videoPreview.sliderDesc": "Aumentar ou diminuír os niveis de brillo",
|
||||||
"app.video.joinVideo": "Compartir a cámara web",
|
"app.video.joinVideo": "Compartir a cámara web",
|
||||||
"app.video.connecting": "Esta a comezar o uso compartido da 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.leaveVideo": "Deixar de compartir a cámara web",
|
||||||
|
"app.video.videoSettings": "Configuración do vídeo",
|
||||||
|
"app.video.visualEffects": "Efectos visuais",
|
||||||
"app.video.advancedVideo": "Abrir os axustes avanzados",
|
"app.video.advancedVideo": "Abrir os axustes avanzados",
|
||||||
"app.video.iceCandidateError": "Produciuse un erro ao engadir un candidato ICE",
|
"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.iceConnectionStateError": "Produciuse un fallo de conexión (erro ICE 1107)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "Non foi posíbel obter vídeo da cámara web. Asegúrese de que outro programa non estea a usar a cámara web",
|
"app.video.notReadableError": "Non foi posíbel obter vídeo da cámara web. Asegúrese de que outro programa non estea a usar a cámara web",
|
||||||
"app.video.timeoutError": "O navegador non respondeu a tempo.",
|
"app.video.timeoutError": "O navegador non respondeu a tempo.",
|
||||||
"app.video.genericError": "Produciuse un erro descoñecido co dispositivo (erro {0})",
|
"app.video.genericError": "Produciuse un erro descoñecido co dispositivo (erro {0})",
|
||||||
|
"app.video.inactiveError": "A túa cámara web parouse inesperadamente. Revisa os permisos do teu navegador",
|
||||||
"app.video.mediaTimedOutError": "A transmisión da súa cámara web foi interrompida. Tente compartila de novo",
|
"app.video.mediaTimedOutError": "A transmisión da súa cámara web foi interrompida. Tente compartila de novo",
|
||||||
"app.video.mediaFlowTimeout1020": "Os recursos multimedia non foron quen de acadar o servidor (erro 1020)",
|
"app.video.mediaFlowTimeout1020": "Os recursos multimedia non foron quen de acadar o servidor (erro 1020)",
|
||||||
"app.video.suggestWebcamLock": "Forzar os axustes de bloqueo para as cámaras web dos espectadores?",
|
"app.video.suggestWebcamLock": "Forzar os axustes de bloqueo para as cámaras web dos espectadores?",
|
||||||
@ -804,8 +945,17 @@
|
|||||||
"app.video.virtualBackground.board": "Taboleiro",
|
"app.video.virtualBackground.board": "Taboleiro",
|
||||||
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
"app.video.virtualBackground.coffeeshop": "Cafetería",
|
||||||
"app.video.virtualBackground.background": "Fondo",
|
"app.video.virtualBackground.background": "Fondo",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "Fondo {0}",
|
||||||
|
"app.video.virtualBackground.custom": "Cargar desde o teu ordenador",
|
||||||
|
"app.video.virtualBackground.remove": "Eliminar a imaxe engadida",
|
||||||
"app.video.virtualBackground.genericError": "Produciuse un fallo ao aplicar o efecto da cámara. Ténteo de novo.",
|
"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 a {0}",
|
"app.video.virtualBackground.camBgAriaDesc": "Establece o fondo virtual da cámara web a {0}",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Superouse o tamaño máximo do ficheiro. ({0}MB)",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Non se permite o tipo de ficheiro.",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Produciuse un erro ao ler o ficheiro.",
|
||||||
|
"app.video.virtualBackground.uploaded": "Cargado",
|
||||||
|
"app.video.virtualBackground.uploading": "Cargando...",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Engade unha nova imaxe de fondo virtual",
|
||||||
"app.video.camCapReached": "Non pode compartir máis cámaras",
|
"app.video.camCapReached": "Non pode compartir máis cámaras",
|
||||||
"app.video.meetingCamCapReached": "A xuntanza acadou o seu límite de cámaras simultáneas",
|
"app.video.meetingCamCapReached": "A xuntanza acadou o seu límite de cámaras simultáneas",
|
||||||
"app.video.dropZoneLabel": "Soltar aquí",
|
"app.video.dropZoneLabel": "Soltar aquí",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Os resultados da enquisa foron publicados",
|
"app.whiteboard.annotations.poll": "Os resultados da enquisa foron publicados",
|
||||||
"app.whiteboard.annotations.pollResult": "Resultado da enquisa",
|
"app.whiteboard.annotations.pollResult": "Resultado da enquisa",
|
||||||
"app.whiteboard.annotations.noResponses": "Sen respostas",
|
"app.whiteboard.annotations.noResponses": "Sen respostas",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "Non tes permiso para facer este cambio",
|
||||||
"app.whiteboard.toolbar.tools": "Ferramentas",
|
"app.whiteboard.toolbar.tools": "Ferramentas",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Panorama",
|
"app.whiteboard.toolbar.tools.hand": "Panorama",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Lapis",
|
"app.whiteboard.toolbar.tools.pencil": "Lapis",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Prata",
|
"app.whiteboard.toolbar.color.silver": "Prata",
|
||||||
"app.whiteboard.toolbar.undo": "Desfacer as anotacións",
|
"app.whiteboard.toolbar.undo": "Desfacer as anotacións",
|
||||||
"app.whiteboard.toolbar.clear": "Limpar todas as anotacións",
|
"app.whiteboard.toolbar.clear": "Limpar todas as anotacións",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "Estás seguro de que queres borrar todas as anotacións?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Activar o modo multiusuario do encerado",
|
"app.whiteboard.toolbar.multiUserOn": "Activar o modo multiusuario do encerado",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Desactivar o modo multiusuario do encerado",
|
"app.whiteboard.toolbar.multiUserOff": "Desactivar o modo multiusuario do encerado",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Activar o rexeitamento da palma da man",
|
"app.whiteboard.toolbar.palmRejectionOn": "Activar o rexeitamento da palma da man",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Retirar do foco a camara web seleccionada",
|
"app.videoDock.webcamUnfocusDesc": "Retirar do foco a camara web seleccionada",
|
||||||
"app.videoDock.webcamPinLabel": "Fixar",
|
"app.videoDock.webcamPinLabel": "Fixar",
|
||||||
"app.videoDock.webcamPinDesc": "Fixar a cámara web seleccionada",
|
"app.videoDock.webcamPinDesc": "Fixar a cámara web seleccionada",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Cámara web a pantalla completa",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Opcións da cámara web",
|
||||||
"app.videoDock.webcamUnpinLabel": "Desprender",
|
"app.videoDock.webcamUnpinLabel": "Desprender",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Só os moderadores poden desprender aos usuarios",
|
"app.videoDock.webcamUnpinLabelDisabled": "Só os moderadores poden desprender aos usuarios",
|
||||||
"app.videoDock.webcamUnpinDesc": "Desprender a cámara web seleccionada",
|
"app.videoDock.webcamUnpinDesc": "Desprender a cámara web seleccionada",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Necesitamos o seu permiso para mostrarlle as cámaras web doutros usuarios.",
|
"app.videoDock.autoplayBlockedDesc": "Necesitamos o seu permiso para mostrarlle as cámaras web doutros usuarios.",
|
||||||
"app.videoDock.autoplayAllowLabel": "Ver cámaras web",
|
"app.videoDock.autoplayAllowLabel": "Ver cámaras web",
|
||||||
"app.invitation.title": "Convite a sala parcial",
|
|
||||||
"app.invitation.confirm": "Convidar",
|
|
||||||
"app.createBreakoutRoom.title": "Salas parciais",
|
"app.createBreakoutRoom.title": "Salas parciais",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Agochar as salas parciais",
|
"app.createBreakoutRoom.ariaTitle": "Agochar as salas parciais",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Salas parciais {0}",
|
"app.createBreakoutRoom.breakoutRoomLabel": "Salas parciais {0}",
|
||||||
@ -909,6 +1061,8 @@
|
|||||||
"app.createBreakoutRoom.addRoomTime": "Incrementar o tempo da sala parcial",
|
"app.createBreakoutRoom.addRoomTime": "Incrementar o tempo da sala parcial",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ Engadir participante",
|
"app.createBreakoutRoom.addParticipantLabel": "+ Engadir participante",
|
||||||
"app.createBreakoutRoom.freeJoin": "Permitirlle aos usuarios escoller a sala parcial á que incorporarse",
|
"app.createBreakoutRoom.freeJoin": "Permitirlle aos usuarios escoller a sala parcial á que incorporarse",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "Captura notas compartidas cando rematen as salas de grupos",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "Captura o encerado cando rematen as salas de grupos",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Debe poñer polo menos un usuario nunha sala parcial",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "Debe poñer polo menos un usuario nunha sala parcial",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "A duración mínima para unha sala parcial é de {0} minutos.",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "A duración mínima para unha sala parcial é de {0} minutos.",
|
||||||
"app.createBreakoutRoom.modalDesc": "Consello: pode arrastrar e soltar o nome dun usuario para asignalo a unha sala parcial específica.",
|
"app.createBreakoutRoom.modalDesc": "Consello: pode arrastrar e soltar o nome dun usuario para asignalo a unha sala parcial específica.",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
"app.createBreakoutRoom.setTimeCancel": "Cancelar",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "A duración das salas parciais non pode exceder o tempo restante da xuntanza.",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "A duración das salas parciais non pode exceder o tempo restante da xuntanza.",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza o nome da sala parcial",
|
"app.createBreakoutRoom.roomNameInputDesc": "Actualiza o nome da sala parcial",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "Moveuse {0} á sala {1}",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Para actualizar ou invitar un usuario, só tes que arrástralo á sala desexada.",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "Cancelar",
|
||||||
|
"app.updateBreakoutRoom.title": "Actualizar salas de grupos",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Aplicar",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "Trasladáronte á sala {0}.",
|
||||||
|
"app.smartMediaShare.externalVideo": "Vídeo(s) externo(s)",
|
||||||
|
"app.update.resetRoom": "Restablecer a sala de usuarios",
|
||||||
"app.externalVideo.start": "Compartir un novo vídeo",
|
"app.externalVideo.start": "Compartir un novo vídeo",
|
||||||
"app.externalVideo.title": "Compartir un vídeo externo",
|
"app.externalVideo.title": "Compartir un vídeo externo",
|
||||||
"app.externalVideo.input": "URL do vídeo externo",
|
"app.externalVideo.input": "URL do vídeo externo",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(desactivarase se arrastra ou redimensiona a área de cámaras web)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(desactivarase se arrastra ou redimensiona a área de cámaras web)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": "Probar os niveis de rexistro da conversa",
|
"app.debugWindow.form.chatLoggerLabel": "Probar os niveis de rexistro da conversa",
|
||||||
"app.debugWindow.form.button.apply": "Aplicar",
|
"app.debugWindow.form.button.apply": "Aplicar",
|
||||||
|
"app.layout.modal.title": "Deseños",
|
||||||
|
"app.layout.modal.confirm": "Confirmar",
|
||||||
|
"app.layout.modal.cancel": "Cancelar",
|
||||||
|
"app.layout.modal.layoutLabel": "Selecciona o teu deseño",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Forzar o deseño para todos",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "Forzar para todos",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Cambiouse a configuración de deseño",
|
||||||
|
"app.layout.modal.layoutSingular": "Deseño",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Establece o deseño como opción seleccionada",
|
||||||
"app.layout.style.custom": "Personalizado",
|
"app.layout.style.custom": "Personalizado",
|
||||||
"app.layout.style.smart": "Disposición intelixente",
|
"app.layout.style.smart": "Disposición intelixente",
|
||||||
"app.layout.style.presentationFocus": "Poñer o foco na presentación",
|
"app.layout.style.presentationFocus": "Poñer o foco na presentación",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Área de miniaturas",
|
"playback.player.thumbnails.wrapper.aria": "Área de miniaturas",
|
||||||
"playback.player.webcams.wrapper.aria": "Área de cámaras web",
|
"playback.player.webcams.wrapper.aria": "Área de cámaras web",
|
||||||
"app.learningDashboard.dashboardTitle": " Taboleiro de análise da aprendizaxe",
|
"app.learningDashboard.dashboardTitle": " Taboleiro de análise da aprendizaxe",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos da sesión",
|
"app.learningDashboard.downloadSessionDataLabel": "Descargar datos da sesión",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Última actualización en",
|
"app.learningDashboard.lastUpdatedLabel": "Última actualización en",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "Descargado!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "Descargado!",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Resposta",
|
"app.learningDashboard.userDetails.response": "Resposta",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "Resposta máis común",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "Resposta máis común",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Enquisa anónima",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Enquisa anónima",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Tempo de conversa",
|
||||||
|
"app.learningDashboard.userDetails.messages": "Mensaxes",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Emojis",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "Erguer as mans",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Votos da enquisa",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": "{0} tempo en liña",
|
||||||
"app.learningDashboard.usersTable.title": "Vista xeral",
|
"app.learningDashboard.usersTable.title": "Vista xeral",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Tempo en liña",
|
"app.learningDashboard.usersTable.colOnline": "Tempo en liña",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Tempo de conversa",
|
"app.learningDashboard.usersTable.colTalk": "Tempo de conversa",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anónima",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Anónima",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Non se creou ningunha enquisa",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Non se creou ningunha enquisa",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Unha vez enviada unha enquisa aos usuarios, os seus resultados aparecerán nesta lista.",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Unha vez enviada unha enquisa aos usuarios, os seus resultados aparecerán nesta lista.",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Total",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Usuario/a",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Cronoloxía",
|
"app.learningDashboard.statusTimelineTable.title": "Cronoloxía",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniatura da presentación",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Miniatura da presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Presentación",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Páxina",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Establecido en",
|
||||||
"app.learningDashboard.errors.invalidToken": "O testemuño de sesión non é válido",
|
"app.learningDashboard.errors.invalidToken": "O testemuño de sesión non é válido",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Os datos xa non están dispoñíbeis",
|
"app.learningDashboard.errors.dataUnavailable": "Os datos xa non están dispoñíbeis",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Engada o seu primeiro portal usando o botón anterior,",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Engada o seu primeiro portal usando o botón anterior,",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos obrigatorios",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Campos obrigatorios",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Ese nome xa está a ser usado",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Ese nome xa está a ser usado",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Produciuse un erro ao tentar cargar a páxina. Comprobe o URL e a conexión de rede"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Produciuse un erro ao tentar cargar a páxina. Comprobe o URL e a conexión de rede"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "Ձեր ցուցադրումը շուտով կսկսվի...",
|
"app.home.greeting": "Ձեր ցուցադրումը շուտով կսկսվի...",
|
||||||
"app.chat.submitLabel": "Ուղարկել հաղորդագրություն",
|
"app.chat.submitLabel": "Ուղարկել հաղորդագրություն",
|
||||||
"app.chat.loading": "Բեռնվել է զրուցարանի հաղորդագրությունների {0}%-ը",
|
"app.chat.loading": "Բեռնվել է զրուցարանի հաղորդագրությունների {0}%-ը",
|
||||||
"app.chat.errorMaxMessageLength": "{0} սիմվոլ երկարությունը անթույլատրելի երկար է",
|
"app.chat.errorMaxMessageLength": "Հաղորդագրությունը շատ երկար է, գերազանցել է առավելագույն թույատրված չափը {0} սիմվոլով",
|
||||||
"app.chat.disconnected": "Դուք անջատված եք, հաղորդագրությունները չեն կարող ուղարկվել",
|
"app.chat.disconnected": "Դուք անջատված եք, հաղորդագրությունները չեն կարող ուղարկվել",
|
||||||
"app.chat.locked": "Զրուցարանն արգելափակված է, հաղորդագրությունները չեն կարող ուղարկվել",
|
"app.chat.locked": "Զրուցարանն արգելափակված է, հաղորդագրությունները չեն կարող ուղարկվել",
|
||||||
"app.chat.inputLabel": "Զրուցարանում մուտքագրում են հաղորդագրություններ {0}",
|
"app.chat.inputLabel": "Զրուցարանում մուտքագրում են հաղորդագրություններ {0}",
|
||||||
|
"app.chat.emojiButtonLabel": "Էմոջի ընտրություն",
|
||||||
"app.chat.inputPlaceholder": "Հաղորդագրություն {0}",
|
"app.chat.inputPlaceholder": "Հաղորդագրություն {0}",
|
||||||
"app.chat.titlePublic": "Ընդհանուր զրուցարան",
|
"app.chat.titlePublic": "Ընդհանուր զրուցարան",
|
||||||
"app.chat.titlePrivate": "{0}ի հետ անձնական զրույցը",
|
"app.chat.titlePrivate": "{0}ի հետ անձնական զրույցը",
|
||||||
@ -21,6 +22,7 @@
|
|||||||
"app.chat.offline": "Ցանցում չէ",
|
"app.chat.offline": "Ցանցում չէ",
|
||||||
"app.chat.pollResult": "Հարցման արդյունքները",
|
"app.chat.pollResult": "Հարցման արդյունքները",
|
||||||
"app.chat.breakoutDurationUpdated": "Խմբային աշխատանքի համար հատկացվել է {0} րոպե",
|
"app.chat.breakoutDurationUpdated": "Խմբային աշխատանքի համար հատկացվել է {0} րոպե",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "Կիսվող սենյակների սեանսի տևողությունը այժմ {0} րոպե է և զգուշացումը ուղարկվել է։",
|
||||||
"app.chat.emptyLogLabel": "Զրուցարանը դատարկ է",
|
"app.chat.emptyLogLabel": "Զրուցարանը դատարկ է",
|
||||||
"app.chat.clearPublicChatMessage": "Ընդհանուր զրուցարանը մաքրվել է մոդերատորի կողմից",
|
"app.chat.clearPublicChatMessage": "Ընդհանուր զրուցարանը մաքրվել է մոդերատորի կողմից",
|
||||||
"app.chat.multi.typing": "Մի քանիսը գրում են",
|
"app.chat.multi.typing": "Մի քանիսը գրում են",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} և {1} գրում են ",
|
"app.chat.two.typing": "{0} և {1} գրում են ",
|
||||||
"app.chat.copySuccess": "Զրուցարանի պատմությունը պատճենվել է",
|
"app.chat.copySuccess": "Զրուցարանի պատմությունը պատճենվել է",
|
||||||
"app.chat.copyErr": "Չստացվել պատճենել զրուցարանի պատմությունը",
|
"app.chat.copyErr": "Չստացվել պատճենել զրուցարանի պատմությունը",
|
||||||
|
"app.emojiPicker.search": "Որոնում",
|
||||||
|
"app.emojiPicker.notFound": "Էմոջ չի գտնվել",
|
||||||
|
"app.emojiPicker.skintext": "Ընտրեք լռելյայն շապիկի երանգը",
|
||||||
|
"app.emojiPicker.clear": "Մաքրել",
|
||||||
|
"app.emojiPicker.categories.label": "Էմոջների կատեգորիաներ",
|
||||||
|
"app.emojiPicker.categories.people": "Մարդիք և մարմիններ",
|
||||||
|
"app.emojiPicker.categories.nature": "Կենդանիներ և բնություն",
|
||||||
|
"app.emojiPicker.categories.foods": "Սնունդ և խմիչք",
|
||||||
|
"app.emojiPicker.categories.places": "Ճամփորդություն և վայրեր",
|
||||||
|
"app.emojiPicker.categories.activity": "Ակտիվություն",
|
||||||
|
"app.emojiPicker.categories.objects": "Օբյեկտներ",
|
||||||
|
"app.emojiPicker.categories.symbols": "Սիմվոլներ",
|
||||||
|
"app.emojiPicker.categories.flags": "Դրոշներ",
|
||||||
|
"app.emojiPicker.categories.recent": "Հաճախ գործածվող",
|
||||||
|
"app.emojiPicker.categories.search": "Որոնման արդյունքը",
|
||||||
|
"app.emojiPicker.skintones.1": "Շապիկի լռելյայն երանգը",
|
||||||
|
"app.emojiPicker.skintones.2": "Շապիկի բաց երանգ",
|
||||||
|
"app.emojiPicker.skintones.3": "Շապիկի միջին բաց երանգ",
|
||||||
|
"app.emojiPicker.skintones.4": "Շապիկի միջին երանգ",
|
||||||
|
"app.emojiPicker.skintones.5": "Շապիկի միջին մուգ երանգ",
|
||||||
|
"app.emojiPicker.skintones.6": "Շապիկի մուգ երանգ",
|
||||||
"app.captions.label": "Մեկնաբանություններ",
|
"app.captions.label": "Մեկնաբանություններ",
|
||||||
"app.captions.menu.close": "Փակել",
|
"app.captions.menu.close": "Փակել",
|
||||||
"app.captions.menu.start": "Սկսել",
|
"app.captions.menu.start": "Սկսել",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Խոսքի ճանաչումը սկսված է",
|
"app.captions.speech.start": "Խոսքի ճանաչումը սկսված է",
|
||||||
"app.captions.speech.stop": "Խոսքի ճանաչումը դադարեցված է",
|
"app.captions.speech.stop": "Խոսքի ճանաչումը դադարեցված է",
|
||||||
"app.captions.speech.error": "Խոսքի ճանաչումը դադարեցված է անհամատեղելի ծրագրի կամ լռության պատճառով",
|
"app.captions.speech.error": "Խոսքի ճանաչումը դադարեցված է անհամատեղելի ծրագրի կամ լռության պատճառով",
|
||||||
|
"app.confirmation.skipConfirm": "Այլևս չհարցնել",
|
||||||
|
"app.confirmation.virtualBackground.title": "Նոր վիրտուալ ետնապատի ցուցադրում",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} -ը կավելացվի որպես նոր վիրտուալ ետնապատ։ Շարունակե՞լ",
|
||||||
|
"app.confirmationModal.yesLabel": "Այո",
|
||||||
"app.textInput.sendLabel": "Ուղարկել",
|
"app.textInput.sendLabel": "Ուղարկել",
|
||||||
"app.title.defaultViewLabel": "Նախնական ներկայացում",
|
"app.title.defaultViewLabel": "Նախնական ներկայացում",
|
||||||
"app.notes.title": "Ընդհանուր նշումներ",
|
"app.notes.title": "Ընդհանուր նշումներ",
|
||||||
"app.notes.label": "Նշումներ",
|
"app.notes.label": "Նշումներ",
|
||||||
"app.notes.hide": "Թաքցնել նշումը",
|
"app.notes.hide": "Թաքցնել նշումը",
|
||||||
"app.notes.locked": "Արգելափակված է",
|
"app.notes.locked": "Արգելափակված է",
|
||||||
|
"app.notes.disabled": "Տեղադրված է մեդիայի տարածքում",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Նշումները դարձնել ներկայացում",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Տեղադրել նշումները գրատախտակին",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Պոկել նշումները",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Նշումների կարգավորումներ",
|
||||||
"app.pads.hint": "Սեղմեք Esc կոճակը, որպեսզի կենտրնացվի գործիքաշարի վրա",
|
"app.pads.hint": "Սեղմեք Esc կոճակը, որպեսզի կենտրնացվի գործիքաշարի վրա",
|
||||||
"app.user.activityCheck": "Օգտվողի ակտիվության ստուգում",
|
"app.user.activityCheck": "Օգտվողի ակտիվության ստուգում",
|
||||||
"app.user.activityCheck.label": "Ստուգել, արդյոք մասնակցում է ({0}) հանդիպմանը",
|
"app.user.activityCheck.label": "Ստուգել, արդյոք մասնակցում է ({0}) հանդիպմանը",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Սլայդի պարունակության վերջը",
|
"app.presentation.endSlideContent": "Սլայդի պարունակության վերջը",
|
||||||
"app.presentation.changedSlideContent": "Ներկայացումը փոխվել է {0} սլայդին",
|
"app.presentation.changedSlideContent": "Ներկայացումը փոխվել է {0} սլայդին",
|
||||||
"app.presentation.emptySlideContent": "Տվյալ սլայդը ոչ մի ինֆորմացիա չի պարունակում",
|
"app.presentation.emptySlideContent": "Տվյալ սլայդը ոչ մի ինֆորմացիա չի պարունակում",
|
||||||
"app.presentation.options.fullscreen": "Ողջ էկրանով",
|
"app.presentation.options.fullscreen": "Ներկայացում ողջ էկրանով",
|
||||||
"app.presentation.options.exitFullscreen": "Չեղարկել ամբողջ էկրանը ծածկելու վիճակը",
|
"app.presentation.options.exitFullscreen": "Չեղարկել ամբողջ էկրանը ծածկելու վիճակը",
|
||||||
"app.presentation.options.minimize": "Թաքցնել",
|
"app.presentation.options.minimize": "Թաքցնել",
|
||||||
"app.presentation.options.snapshot": "Տվյալ սլայդից նկարահանում",
|
"app.presentation.options.snapshot": "Տվյալ սլայդից նկարահանում",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "{0} սլայդ",
|
"app.presentation.presentationToolbar.goToSlide": "{0} սլայդ",
|
||||||
"app.presentation.placeholder": "Չկա ակտիվ ներկայացում",
|
"app.presentation.placeholder": "Չկա ակտիվ ներկայացում",
|
||||||
"app.presentationUploder.title": "Ներկայացում",
|
"app.presentationUploder.title": "Ներկայացում",
|
||||||
"app.presentationUploder.message": "Ղեկավարի դերում կարող եք ընտրել ցանկացած ֆորմատի փաստթուղթ, այդ թվում նաև pdf: Լավագույն որակը ապահովվում է pdf ֆորմատի դեպքում: Համոզվեք, որ ցուցադրվող ֆայլի անվան աջ կողմում շրջանաձև նշիչում նշել եք համապատասխան ֆայլը",
|
"app.presentationUploder.message": "Որպես ներկայացնող հնարավորություն ունեք վերբեռնել որևէ օֆիսային փաստաթուղթ կամ PDF ֆայլ։ Բարձր արտադրողականության համար ամենահարմարը PDF ֆայլլն է։ Համոզվեք, որ ներկայացումը ընտրված է ձախակողմյան շրջանակի նշիչով։",
|
||||||
|
"app.presentationUploader.exportHint": "Ընտրելով \"Ուղարկել զրուցարան\"-ը օգտվողներին ընդհանուր զրուցարանում կուղարկվի բեռնման հղումը բոլոր նշումներով",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Ուղարկվում է զրուցարան ({0} մաս)",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Ուղարկվում են զրուցարան ({0} մասեր)",
|
||||||
|
"app.presentationUploader.exporting": "Ուղարկվում է զրուցարան",
|
||||||
|
"app.presentationUploader.sending": "Ուղարկվում է․․․",
|
||||||
|
"app.presentationUploader.collecting": "Բացվում է {0} սլայդը {1} սլայդից...",
|
||||||
|
"app.presentationUploader.processing": "Նշումներ են արվում {0} սլայդում {1} սլայդից...",
|
||||||
|
"app.presentationUploader.sent": "Ուղարկված է",
|
||||||
|
"app.presentationUploader.exportingTimeout": "Արտահանումը տևում շատ երկար․․․",
|
||||||
|
"app.presentationUploader.export": "Ուղարկել զրուցարան",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Ընթացիկ ներկայացումը",
|
||||||
"app.presentationUploder.extraHint": "ԿԱՐԵՎՈՐ - յուրաքանչյուր ֆայլը չպետք է գերազանցի ֆայլը {0} մեգաբայթը և {1} էջերի քանակը։",
|
"app.presentationUploder.extraHint": "ԿԱՐԵՎՈՐ - յուրաքանչյուր ֆայլը չպետք է գերազանցի ֆայլը {0} մեգաբայթը և {1} էջերի քանակը։",
|
||||||
"app.presentationUploder.uploadLabel": "Բեռնել",
|
"app.presentationUploder.uploadLabel": "Բեռնել",
|
||||||
"app.presentationUploder.confirmLabel": "Հաստատել",
|
"app.presentationUploder.confirmLabel": "Հաստատել",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Նկարները բեռնելու համար մկնիկով տեղափոխեք այստեղ",
|
"app.presentationUploder.dropzoneImagesLabel": "Նկարները բեռնելու համար մկնիկով տեղափոխեք այստեղ",
|
||||||
"app.presentationUploder.browseFilesLabel": "կամ ընտրեք ֆայլ",
|
"app.presentationUploder.browseFilesLabel": "կամ ընտրեք ֆայլ",
|
||||||
"app.presentationUploder.browseImagesLabel": "կամ ընտրեք նկար",
|
"app.presentationUploder.browseImagesLabel": "կամ ընտրեք նկար",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "Ավելացնել բովանդակություն կողմնակի ծրագրից",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Ընդրել ֆայլեր",
|
||||||
"app.presentationUploder.fileToUpload": "բեռնելու համար",
|
"app.presentationUploder.fileToUpload": "բեռնելու համար",
|
||||||
"app.presentationUploder.currentBadge": "Ընթացիկ",
|
"app.presentationUploder.currentBadge": "Ընթացիկ",
|
||||||
"app.presentationUploder.rejectedError": "Ընտրված ֆայլերի բեռնումն ընդհատվել է Խնդրում ենք ընտրեք ճիշտ ֆորմատի ֆայլ",
|
"app.presentationUploder.rejectedError": "Ընտրված ֆայլերի բեռնումն ընդհատվել է Խնդրում ենք ընտրեք ճիշտ ֆորմատի ֆայլ",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Ստեղծվում են սլայդներ...",
|
"app.presentationUploder.conversion.generatedSlides": "Ստեղծվում են սլայդներ...",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "Ստեղծվում են SVG պատկերներ...",
|
"app.presentationUploder.conversion.generatingSvg": "Ստեղծվում են SVG պատկերներ...",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "Էջերի թույլատրելի քանակի գերազանցում Խնդրում ենք ֆայլը բաժանել ավելի քիչ քանակ ունեցող էջերով ֆայլերի {0}",
|
"app.presentationUploder.conversion.pageCountExceeded": "Էջերի թույլատրելի քանակի գերազանցում Խնդրում ենք ֆայլը բաժանել ավելի քիչ քանակ ունեցող էջերով ֆայլերի {0}",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Հայտնաբերվել է սխալ ֆորմատ (ընդլայնումը={0}, բովանդակությունը={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "{0} սլայդը հնարավոր չեղավ մշակել {1} փորձերի արդյունքում։",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Օֆիսային ֆորմատի ֆայլի բեռնումը չստացվեց Խնդրում ենք այն վերափոխել PDF ֆորմատի և փորձել բեռնել այդ տարբերակով",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Օֆիսային ֆորմատի ֆայլի բեռնումը չստացվեց Խնդրում ենք այն վերափոխել PDF ֆորմատի և փորձել բեռնել այդ տարբերակով",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Օֆիսային ֆորմատի ֆայլի բեռնումը չստացվեց Խնդրում ենք այն վերափոխել PDF ֆորմատի և փորձել բեռնել այդ տարբերակով",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Օֆիսային ֆորմատի ֆայլի բեռնումը չստացվեց Խնդրում ենք այն վերափոխել PDF ֆորմատի և փորձել բեռնել այդ տարբերակով",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "Չկարողացանք պատրաստել PDF ֆայլը Խնդրում ենք օպտիմիզացրեք այն։ Առավելագույնը {0} էջ",
|
"app.presentationUploder.conversion.pdfHasBigPage": "Չկարողացանք պատրաստել PDF ֆայլը Խնդրում ենք օպտիմիզացրեք այն։ Առավելագույնը {0} էջ",
|
||||||
"app.presentationUploder.conversion.timeout": "Պատրաստումը պահանջում է բավականին մեծ ժամանակ...",
|
"app.presentationUploder.conversion.timeout": "Պատրաստումը պահանջում է բավականին մեծ ժամանակ...",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "Չստացվեց որոշել էջերի քանակը",
|
"app.presentationUploder.conversion.pageCountFailed": "Չստացվեց որոշել էջերի քանակը",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Տվյալ տեսակի ֆայլերի հետ չենք աշխատում",
|
"app.presentationUploder.conversion.unsupportedDocument": "Տվյալ տեսակի ֆայլերի հետ չենք աշխատում",
|
||||||
"app.presentationUploder.isDownloadableLabel": "Թույլատրել բեռնել ներկայացումը",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Արգելել ներկայացման բեռնումը",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Հեռացնել ներկայացումը",
|
"app.presentationUploder.removePresentationLabel": "Հեռացնել ներկայացումը",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Դարձնել ներկայացումն ընթացիկ",
|
"app.presentationUploder.setAsCurrentPresentation": "Դարձնել ներկայացումն ընթացիկ",
|
||||||
"app.presentationUploder.tableHeading.filename": "Ֆայլի անվանում",
|
"app.presentationUploder.tableHeading.filename": "Ֆայլի անվանում",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Մաքրել սխալները",
|
"app.presentationUploder.clearErrors": "Մաքրել սխալները",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Մաքրում է ներկայացման բեռնման սխալները",
|
"app.presentationUploder.clearErrorsDesc": "Մաքրում է ներկայացման բեռնման սխալները",
|
||||||
"app.presentationUploder.uploadViewTitle": "Բեռնել ներկայացումը",
|
"app.presentationUploder.uploadViewTitle": "Բեռնել ներկայացումը",
|
||||||
|
"app.poll.questionAndoptions.label" : "Հարցի տեքստը կցուցադրվի։\nԱ․ Պատասխանի տարբերակ *\nԲ․ Պատասխանի տարբերակ (ոչ պարտադիր)\nԳ․ Պատասխանի տարբերակ (ոչ պարտադիր)\nԴ․ Պատասխանի տարբերակ (ոչ պարտադիր)\nԵ․ Պատասխանի տարբերակ (ոչ պարտադիր)",
|
||||||
|
"app.poll.customInput.label": "Սեփական մուտքագրում",
|
||||||
|
"app.poll.customInputInstructions.label": "Սեփական մուտքագրումն է թույլատված - գրեք հարցման հարցը և պատասխանների տարբերակ(ներ)ը տրված ֆորմատով կամ տեղափոխեք նույն ֆորմատով տեքստային ֆայլը։ ",
|
||||||
|
"app.poll.maxOptionsWarning.label": "Միայն առաջին 5 տարբերակները կարող են օգտագործվել։",
|
||||||
"app.poll.pollPaneTitle": "Հարցում",
|
"app.poll.pollPaneTitle": "Հարցում",
|
||||||
"app.poll.enableMultipleResponseLabel": "Թույլատրե՞լ յուրաքանչյուր պատասխանողից մեկից ավելի պատասխաններ։",
|
"app.poll.enableMultipleResponseLabel": "Թույլատրե՞լ յուրաքանչյուր պատասխանողից մեկից ավելի պատասխաններ։",
|
||||||
"app.poll.quickPollTitle": "Արագ հարցում",
|
"app.poll.quickPollTitle": "Արագ հարցում",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "Ընտրելու համար սեղմեք այստեղ",
|
"app.poll.clickHereToSelect": "Ընտրելու համար սեղմեք այստեղ",
|
||||||
"app.poll.question.label" : "Գրեք Ձեր հարցը",
|
"app.poll.question.label" : "Գրեք Ձեր հարցը",
|
||||||
"app.poll.optionalQuestion.label" : "Մուտքագրեք Ձեր հարցը (պարտադիր չէ)",
|
"app.poll.optionalQuestion.label" : "Մուտքագրեք Ձեր հարցը (պարտադիր չէ)",
|
||||||
"app.poll.userResponse.label" : "Օգտվողի պատասխանը",
|
"app.poll.userResponse.label" : "Մուտքագրված արձագանքը",
|
||||||
"app.poll.responseTypes.label" : "Պատասխանների տեսակներ",
|
"app.poll.responseTypes.label" : "Պատասխանների տեսակներ",
|
||||||
"app.poll.optionDelete.label" : "Հեռացնել",
|
"app.poll.optionDelete.label" : "Հեռացնել",
|
||||||
"app.poll.responseChoices.label" : "Պատասխանների տարբերակներ",
|
"app.poll.responseChoices.label" : "Պատասխանների տարբերակներ",
|
||||||
@ -329,11 +378,11 @@
|
|||||||
"app.muteWarning.disableMessage": "Անջատված բարձրախոսի մասին ծանուցումներ չեն հայտնվի մինչև բարձրախոսի հաջորդ միացնելը",
|
"app.muteWarning.disableMessage": "Անջատված բարձրախոսի մասին ծանուցումներ չեն հայտնվի մինչև բարձրախոսի հաջորդ միացնելը",
|
||||||
"app.muteWarning.tooltip": "Սեղմեք, որպեսզի այս ծանուցումը չերևա, մինչև հաջորդ անգամ բարձրախոսի միացնելը",
|
"app.muteWarning.tooltip": "Սեղմեք, որպեսզի այս ծանուցումը չերևա, մինչև հաջորդ անգամ բարձրախոսի միացնելը",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Հատկություններ",
|
"app.navBar.settingsDropdown.optionsLabel": "Հատկություններ",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Տարածել ամբողջ էկրանով",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Միջավայրը ողջ էկրանով",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Բացել կարգավորումները",
|
"app.navBar.settingsDropdown.settingsLabel": "Բացել կարգավորումները",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Ծրագրի մասին",
|
"app.navBar.settingsDropdown.aboutLabel": "Ծրագրի մասին",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Ելք",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Ելք",
|
||||||
"app.navBar.settingsDropdown.exitFullscreenLabel": "Չեղարկել ամբողջ էկրանը ծածկելու վիճակը",
|
"app.navBar.settingsDropdown.exitFullscreenLabel": "Չեղարկել ողջ էկրանի ռեժիմը",
|
||||||
"app.navBar.settingsDropdown.fullscreenDesc": "Կարգավորումների մենյուն դարձնել ամբողջ էկրանով",
|
"app.navBar.settingsDropdown.fullscreenDesc": "Կարգավորումների մենյուն դարձնել ամբողջ էկրանով",
|
||||||
"app.navBar.settingsDropdown.settingsDesc": "Փոխել գլխավոր կարգավորումները",
|
"app.navBar.settingsDropdown.settingsDesc": "Փոխել գլխավոր կարգավորումները",
|
||||||
"app.navBar.settingsDropdown.aboutDesc": "Ցուցադրել տեղեկություն",
|
"app.navBar.settingsDropdown.aboutDesc": "Ցուցադրել տեղեկություն",
|
||||||
@ -342,6 +391,7 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Արագ արձագանքման ստեղներ",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Արագ արձագանքման ստեղներ",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Արագ արձագանքման ստեղների ցուցակ",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Արագ արձագանքման ստեղների ցուցակ",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Օգնություն",
|
"app.navBar.settingsDropdown.helpLabel": "Օգնություն",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "Բացել միջավայրի պլանշետային ծրագրում",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Ուղղորդում է տեսադասեր",
|
"app.navBar.settingsDropdown.helpDesc": "Ուղղորդում է տեսադասեր",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Ընդհատել ընթացիկ հանդիպումը",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Ընդհատել ընթացիկ հանդիպումը",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Ավարտել ընթացիկ հանդիպումը",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Ավարտել ընթացիկ հանդիպումը",
|
||||||
@ -359,7 +409,7 @@
|
|||||||
"app.endMeeting.description": "Համոզվա՞ծ եք, որ ցանկանում եք ավարտել հանդիպումը բոլորի համար, երբ սենյակում ակտիվ են {0} օգտվողներ",
|
"app.endMeeting.description": "Համոզվա՞ծ եք, որ ցանկանում եք ավարտել հանդիպումը բոլորի համար, երբ սենյակում ակտիվ են {0} օգտվողներ",
|
||||||
"app.endMeeting.noUserDescription": "Համոզվա՞ծ եք, որ ցանկանում եք ավարտել այս հանդիպումը",
|
"app.endMeeting.noUserDescription": "Համոզվա՞ծ եք, որ ցանկանում եք ավարտել այս հանդիպումը",
|
||||||
"app.endMeeting.contentWarning": "Զրուցարանի հաղորդագրությունները, ընդհանուր նշումները, գրատախտակի գրառումները և ընդհանուր փաստաթղթերը այլևս հասանելի չեն",
|
"app.endMeeting.contentWarning": "Զրուցարանի հաղորդագրությունները, ընդհանուր նշումները, գրատախտակի գրառումները և ընդհանուր փաստաթղթերը այլևս հասանելի չեն",
|
||||||
"app.endMeeting.yesLabel": "Այո",
|
"app.endMeeting.yesLabel": "Ավարտել միացումը բոլոր օգտվողների համար",
|
||||||
"app.endMeeting.noLabel": "Ոչ",
|
"app.endMeeting.noLabel": "Ոչ",
|
||||||
"app.about.title": "ОԾրագրի մասին",
|
"app.about.title": "ОԾրագրի մասին",
|
||||||
"app.about.version": "Ծրագրի թողարկումը ",
|
"app.about.version": "Ծրագրի թողարկումը ",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "Լավ",
|
"app.about.confirmDesc": "Լավ",
|
||||||
"app.about.dismissLabel": "Չեղարկել",
|
"app.about.dismissLabel": "Չեղարկել",
|
||||||
"app.about.dismissDesc": "Փակել ինֆորմացիան",
|
"app.about.dismissDesc": "Փակել ինֆորմացիան",
|
||||||
|
"app.mobileAppModal.title": "Բացել միջավայրի պլանշետային ծրագիրը",
|
||||||
|
"app.mobileAppModal.description": "Ունե՞ք Ձեր սարքում միջավայրի տեղադրված ծրագիրը ",
|
||||||
|
"app.mobileAppModal.openApp": "Այո, բացել ծրագիրը հենց հիմա",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Հանդիպման URL-ի ձևավորում",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Հանդիպման URL-ի ձևավորման սխալ",
|
||||||
|
"app.mobileAppModal.openStore": "Ոչ, բացել App Store-ը, բեռնելու համար",
|
||||||
|
"app.mobileAppModal.dismissLabel": "Չեղարկել",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Փակել",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "{0} օգտվողը միացել է Ձեր ID-ով։",
|
||||||
"app.actionsBar.changeStatusLabel": "Փոխել կարգավիճակը",
|
"app.actionsBar.changeStatusLabel": "Փոխել կարգավիճակը",
|
||||||
"app.actionsBar.muteLabel": "Անջատել բարձրախոսը",
|
"app.actionsBar.muteLabel": "Անջատել բարձրախոսը",
|
||||||
"app.actionsBar.unmuteLabel": "Միացնել բարձրախոսը",
|
"app.actionsBar.unmuteLabel": "Միացնել բարձրախոսը",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Ներկայացման վերականգնման կոճակ",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Ներկայացման վերականգնման կոճակ",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Թաքցնել ներկայացումը",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Թաքցնել ներկայացումը",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Ներկայացումը թաքցնելու կոճակ",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Ներկայացումը թաքցնելու կոճակ",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Դասավորվածության պարամետրը՝ Մոդալ",
|
||||||
"app.screenshare.screenShareLabel" : "Էկրանի ցուցադրում",
|
"app.screenshare.screenShareLabel" : "Էկրանի ցուցադրում",
|
||||||
"app.submenu.application.applicationSectionTitle": "Ծրագիր",
|
"app.submenu.application.applicationSectionTitle": "Ծրագիր",
|
||||||
"app.submenu.application.animationsLabel": "ԱՆիմացիա",
|
"app.submenu.application.animationsLabel": "ԱՆիմացիա",
|
||||||
"app.submenu.application.audioFilterLabel": "Բարձրախոսի ձայնային ֆիլտրեր",
|
"app.submenu.application.audioFilterLabel": "Բարձրախոսի ձայնային ֆիլտրեր",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Մութ ռեժիմ",
|
||||||
"app.submenu.application.fontSizeControlLabel": "առաչափ",
|
"app.submenu.application.fontSizeControlLabel": "առաչափ",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Մեծացնել ծրագրի տառաչափը",
|
"app.submenu.application.increaseFontBtnLabel": "Մեծացնել ծրագրի տառաչափը",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Փոքրացնել ծրագրի տառաչափը",
|
"app.submenu.application.decreaseFontBtnLabel": "Փոքրացնել ծրագրի տառաչափը",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "Հասանելի թարգմանություններ չկան",
|
"app.submenu.application.noLocaleOptionLabel": "Հասանելի թարգմանություններ չկան",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Տեսանյութի մասնատում",
|
"app.submenu.application.paginationEnabledLabel": "Տեսանյութի մասնատում",
|
||||||
"app.submenu.application.layoutOptionLabel": "Դասավորվածության տեսակը",
|
"app.submenu.application.layoutOptionLabel": "Դասավորվածության տեսակը",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Push դասավորվածություն",
|
||||||
"app.submenu.notification.SectionTitle": "Ծանուցումներ",
|
"app.submenu.notification.SectionTitle": "Ծանուցումներ",
|
||||||
"app.submenu.notification.Desc": "Սահմանել, թե երբ և ինչի մասին ծանուցվեք",
|
"app.submenu.notification.Desc": "Սահմանել, թե երբ և ինչի մասին ծանուցվեք",
|
||||||
"app.submenu.notification.audioAlertLabel": "Ձայնային ծանուցումներ",
|
"app.submenu.notification.audioAlertLabel": "Ձայնային ծանուցումներ",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Պահպանում է կարգավորման փոփոխությունները և կարգավորման մենյուն փակում է",
|
"app.settings.main.save.label.description": "Պահպանում է կարգավորման փոփոխությունները և կարգավորման մենյուն փակում է",
|
||||||
"app.settings.dataSavingTab.label": "Պահպանել տվյալները",
|
"app.settings.dataSavingTab.label": "Պահպանել տվյալները",
|
||||||
"app.settings.dataSavingTab.webcam": "Միացնել տեսախցիկը",
|
"app.settings.dataSavingTab.webcam": "Միացնել տեսախցիկը",
|
||||||
"app.settings.dataSavingTab.screenShare": "Միացնել էկրանի ցուցադրումը",
|
"app.settings.dataSavingTab.screenShare": "Թույլատրել այլ մասնակիցների էկրանի ցուցադրումը",
|
||||||
"app.settings.dataSavingTab.description": "Միացման բարձր որակ ապահովելու համար ընտրեք, թե ինչ է ցուցադրվելու",
|
"app.settings.dataSavingTab.description": "Միացման բարձր որակ ապահովելու համար ընտրեք, թե ինչ է ցուցադրվելու",
|
||||||
"app.settings.save-notification.label": "Կարգավորումները պահպանվեցին",
|
"app.settings.save-notification.label": "Կարգավորումները պահպանվեցին",
|
||||||
"app.statusNotifier.lowerHands": "Իջեցնել ձեռքերը",
|
"app.statusNotifier.lowerHands": "Իջեցնել ձեռքերը",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Ներկայացումների կառավարում",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Ներկայացումների կառավարում",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Սկսել հարցումը",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Սկսել հարցումը",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ցուցադրել Ձեր էկրանը",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ցուցադրել Ձեր էկրանը",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Էկրանի ցուցադրումն արգելափակված է",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ընդհատել էկրանի ցուցադրումը",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ընդհատել էկրանի ցուցադրումը",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Բեռնեք Ձեր ներկայացումը",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Բեռնեք Ձեր ներկայացումը",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Սկսել հարցումը",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Սկսել հարցումը",
|
||||||
@ -457,6 +518,7 @@
|
|||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Ղեկավար նշանակել ինքներդ Ձեզ",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Ղեկավար նշանակել ինքներդ Ձեզ",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Ընտրել պատահական մասնակցի",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Ընտրել պատահական մասնակցի",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Պատահականության սկզբունքով ընտրում է մասնակիցներից մեկին",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Պատահականության սկզբունքով ընտրում է մասնակիցներից մեկին",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Propagate դասավորվածություն",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Դնել կարգավիճակ",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Դնել կարգավիճակ",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Հեռացել է",
|
"app.actionsBar.emojiMenu.awayLabel": "Հեռացել է",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Փոխում է Ձեր կարգավիճակը որպես -Հեռացել է-",
|
"app.actionsBar.emojiMenu.awayDesc": "Փոխում է Ձեր կարգավիճակը որպես -Հեռացել է-",
|
||||||
@ -496,6 +558,7 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Соединение закрыто (ICE error 1012)",
|
"app.audioNotification.audioFailedError1012": "Соединение закрыто (ICE error 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "Не удалось установить аудио-соединение",
|
"app.audioNotification.audioFailedMessage": "Не удалось установить аудио-соединение",
|
||||||
"app.audioNotification.mediaFailedMessage": "Ошибка getUserMicMedia, разрешены только безопасные источники",
|
"app.audioNotification.mediaFailedMessage": "Ошибка getUserMicMedia, разрешены только безопасные источники",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Աուդիոսարքավորման փոփոխությունը ձախողվել է։ Ստուգեք սարքի միացումը և սարքինությունը։",
|
||||||
"app.audioNotification.closeLabel": "Փակել",
|
"app.audioNotification.closeLabel": "Փակել",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "Մասնակիցների համար բարձրախոսերը արգելափակված են Դուք միացել եք լսողի դերում",
|
"app.audioNotificaion.reconnectingAsListenOnly": "Մասնակիցների համար բարձրախոսերը արգելափակված են Դուք միացել եք լսողի դերում",
|
||||||
"app.breakoutJoinConfirmation.title": "Միանալ խմբային աշխատանքի սենյակին",
|
"app.breakoutJoinConfirmation.title": "Միանալ խմբային աշխատանքի սենյակին",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "Փոխել տևողությունը",
|
"app.breakout.dropdown.manageDuration": "Փոխել տևողությունը",
|
||||||
"app.breakout.dropdown.destroyAll": "Ավարտել խմբային սենյակները",
|
"app.breakout.dropdown.destroyAll": "Ավարտել խմբային սենյակները",
|
||||||
"app.breakout.dropdown.options": "Առանձնացված սենյակների կարգավորումներ",
|
"app.breakout.dropdown.options": "Առանձնացված սենյակների կարգավորումներ",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Կառավարել օգտվողներին",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Մնացած ժամանակի հետհաշվարկ․..",
|
"app.calculatingBreakoutTimeRemaining": "Մնացած ժամանակի հետհաշվարկ․..",
|
||||||
"app.audioModal.ariaTitle": "Հանդիպման միացման պատուհան",
|
"app.audioModal.ariaTitle": "Հանդիպման միացման պատուհան",
|
||||||
"app.audioModal.microphoneLabel": "Բարձրախոսով",
|
"app.audioModal.microphoneLabel": "Բարձրախոսով",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Փոխել աուդիոսարքավորումը",
|
"app.audio.changeAudioDevice": "Փոխել աուդիոսարքավորումը",
|
||||||
"app.audio.enterSessionLabel": "Միանալ սեանսին",
|
"app.audio.enterSessionLabel": "Միանալ սեանսին",
|
||||||
"app.audio.playSoundLabel": "Արտաբերել ձայնը",
|
"app.audio.playSoundLabel": "Արտաբերել ձայնը",
|
||||||
|
"app.audio.stopAudioFeedback": "Դադարեցնել աուդիո արձագանքները",
|
||||||
"app.audio.backLabel": "Ետ",
|
"app.audio.backLabel": "Ետ",
|
||||||
"app.audio.loading": "Բեռնում",
|
"app.audio.loading": "Բեռնում",
|
||||||
"app.audio.microphones": "Բարձրախոսեր",
|
"app.audio.microphones": "Բարձրախոսեր",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Փորձարկել Ձեր ձայնարկիչը",
|
"app.audio.audioSettings.testSpeakerLabel": "Փորձարկել Ձեր ձայնարկիչը",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "Ձեր ձայնի բարձրությունը",
|
"app.audio.audioSettings.microphoneStreamLabel": "Ձեր ձայնի բարձրությունը",
|
||||||
"app.audio.audioSettings.retryLabel": "Կրկնել",
|
"app.audio.audioSettings.retryLabel": "Կրկնել",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "Աուդիո մուտք {0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "Աուդիո ելք {0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Լռելյայն",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Փնտրում ենք սարքավորումներ ․․․",
|
||||||
"app.audio.listenOnly.backLabel": "Ետ",
|
"app.audio.listenOnly.backLabel": "Ետ",
|
||||||
"app.audio.listenOnly.closeLabel": "Փակել",
|
"app.audio.listenOnly.closeLabel": "Փակել",
|
||||||
"app.audio.permissionsOverlay.title": "Տալ բարձրախոսի թույլտվություն",
|
"app.audio.permissionsOverlay.title": "Տալ բարձրախոսի թույլտվություն",
|
||||||
"app.audio.permissionsOverlay.hint": "Համակարգին պետք է տաք Ձեր աուդիոսարքավորումներն օգտագործելու հնարավորություն, որպեզի միանաք աուդիոհանդիպմանը",
|
"app.audio.permissionsOverlay.hint": "Համակարգին պետք է տաք Ձեր աուդիոսարքավորումներն օգտագործելու հնարավորություն, որպեզի միանաք աուդիոհանդիպմանը",
|
||||||
|
"app.audio.captions.button.start": "Թողարկել տիտրերը",
|
||||||
|
"app.audio.captions.button.stop": "Դադարեցնել տիտրերը",
|
||||||
|
"app.audio.captions.button.language": "Լեզուն",
|
||||||
|
"app.audio.captions.button.transcription": "Թելադրում",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Թելադրման կարգավորումներ",
|
||||||
|
"app.audio.captions.speech.title": "Ավտոմատ թելադրում",
|
||||||
|
"app.audio.captions.speech.disabled": "Չեղարկված է",
|
||||||
|
"app.audio.captions.speech.unsupported": "Ձեր բրաուզերը չի թույլատրում ձայնի ճանաչումը։ Ձեր ձայնը չի թելադրվի",
|
||||||
|
"app.audio.captions.select.de-DE": "Գերմաներեն",
|
||||||
|
"app.audio.captions.select.en-US": "Անգլերեն",
|
||||||
|
"app.audio.captions.select.es-ES": "Իսպաներեն",
|
||||||
|
"app.audio.captions.select.fr-FR": "Ֆրանսերեն",
|
||||||
|
"app.audio.captions.select.hi-ID": "Հնդկերեն",
|
||||||
|
"app.audio.captions.select.it-IT": "Իտալերեն",
|
||||||
|
"app.audio.captions.select.ja-JP": "Ճապոներեն",
|
||||||
|
"app.audio.captions.select.pt-BR": "Պորտուգալերեն",
|
||||||
|
"app.audio.captions.select.ru-RU": "Ռուսերեն",
|
||||||
|
"app.audio.captions.select.zh-CN": "Չինարեն",
|
||||||
"app.error.removed": "Դուք հեռացված եք հանդիպումից",
|
"app.error.removed": "Դուք հեռացված եք հանդիպումից",
|
||||||
"app.error.meeting.ended": "Դուք դուրս եկաք հանդիպումից",
|
"app.error.meeting.ended": "Դուք դուրս եկաք հանդիպումից",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Միևնույն իդենտիֆիկատորով մասնակիցը փորձում է միանալ հանդիպմանը",
|
"app.meeting.logout.duplicateUserEjectReason": "Միևնույն իդենտիֆիկատորով մասնակիցը փորձում է միանալ հանդիպմանը",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Դուք հեռացված եք հանդիպումից",
|
"app.meeting.logout.ejectedFromMeeting": "Դուք հեռացված եք հանդիպումից",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Չստացվեց ստուգել մուտքի թոքենի հավաստիությունը",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Չստացվեց ստուգել մուտքի թոքենի հավաստիությունը",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Օգտվողը չափազանց երկար ժամանակ ակտիվ չէ",
|
"app.meeting.logout.userInactivityEjectReason": "Օգտվողը չափազանց երկար ժամանակ ակտիվ չէ",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Այս միացման մասնակիցների թիվը հասել է առավելագույնին",
|
||||||
"app.meeting-ended.rating.legendLabel": "Կարծիքներով ռեյտինգը",
|
"app.meeting-ended.rating.legendLabel": "Կարծիքներով ռեյտինգը",
|
||||||
"app.meeting-ended.rating.starLabel": "Աստղ",
|
"app.meeting-ended.rating.starLabel": "Աստղ",
|
||||||
"app.modal.close": "Փակել",
|
"app.modal.close": "Փակել",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Հեռացված եք հանդիպումից",
|
"app.error.403": "Հեռացված եք հանդիպումից",
|
||||||
"app.error.404": "Չի գտնվել",
|
"app.error.404": "Չի գտնվել",
|
||||||
"app.error.408": "Նույնականացումը չստացվեց",
|
"app.error.408": "Նույնականացումը չստացվեց",
|
||||||
|
"app.error.409": "Հակասություն",
|
||||||
"app.error.410": "Իրադարձությունն ավարտվել է",
|
"app.error.410": "Իրադարձությունն ավարտվել է",
|
||||||
"app.error.500": "Ինչ-որ բան այնպես չէ",
|
"app.error.500": "Ինչ-որ բան այնպես չէ",
|
||||||
|
"app.error.503": "Դուք կանջատվեք",
|
||||||
|
"app.error.disconnected.rejoin": "Կարող եք թարմացնել էջը կրկին միանալու համար",
|
||||||
"app.error.userLoggedOut": "Մասնակցի մուտքի թոքենը գործող չէ, քանի որ հեռացված է հանդիպումից",
|
"app.error.userLoggedOut": "Մասնակցի մուտքի թոքենը գործող չէ, քանի որ հեռացված է հանդիպումից",
|
||||||
"app.error.ejectedUser": "Մասնակիցը չունի թույլատրելի թոքեն, քանի որ հեռացվել է մոդերատորի կողմից",
|
"app.error.ejectedUser": "Մասնակիցը չունի թույլատրելի թոքեն, քանի որ հեռացվել է մոդերատորի կողմից",
|
||||||
"app.error.joinedAnotherWindow": "Այս միացումը կարծես թե բացված է բրաուզերի այլ պատուհանում",
|
"app.error.joinedAnotherWindow": "Այս միացումը կարծես թե բացված է բրաուզերի այլ պատուհանում",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "Հաղորդագրություն",
|
"app.userList.guest.privateMessageLabel": "Հաղորդագրություն",
|
||||||
"app.userList.guest.acceptLabel": "Ընդունել",
|
"app.userList.guest.acceptLabel": "Ընդունել",
|
||||||
"app.userList.guest.denyLabel": "Մերժել",
|
"app.userList.guest.denyLabel": "Մերժել",
|
||||||
|
"app.userList.guest.feedbackMessage": "Գործողությունն ընդունված է՝ ",
|
||||||
"app.user-info.title": "Որոնում կատալոգում",
|
"app.user-info.title": "Որոնում կատալոգում",
|
||||||
"app.toast.breakoutRoomEnded": "Խմբային աշխատանքն ավարտված է։ Խնդրում ենք միացեք Ձեր հիմնական հանդիպմանը",
|
"app.toast.breakoutRoomEnded": "Խմբային աշխատանքն ավարտված է։ Խնդրում ենք միացեք Ձեր հիմնական հանդիպմանը",
|
||||||
"app.toast.chat.public": "Ընդհանուր զրուցարանում կա նոր հաղորդագրություն",
|
"app.toast.chat.public": "Ընդհանուր զրուցարանում կա նոր հաղորդագրություն",
|
||||||
"app.toast.chat.private": "Անձնական զրուցարանում կա նոր հաղորդագրություն",
|
"app.toast.chat.private": "Անձնական զրուցարանում կա նոր հաղորդագրություն",
|
||||||
"app.toast.chat.system": "Համակարգ",
|
"app.toast.chat.system": "Համակարգ",
|
||||||
|
"app.toast.chat.poll": "Հարցման արդյունքները",
|
||||||
|
"app.toast.chat.pollClick": "Հարցման արդյունքները հրապարակվել էն։ Սեղմեք տեսնելու համար",
|
||||||
"app.toast.clearedEmoji.label": "Կարգավիճակի պատկերիկը ջնջված է",
|
"app.toast.clearedEmoji.label": "Կարգավիճակի պատկերիկը ջնջված է",
|
||||||
"app.toast.setEmoji.label": "Ձեր կարգավիճակի պատկերիկն է {0}",
|
"app.toast.setEmoji.label": "Ձեր կարգավիճակի պատկերիկն է {0}",
|
||||||
"app.toast.meetingMuteOn.label": "Բոլոր մասնակիցների բարձրախոսերն անջատել են",
|
"app.toast.meetingMuteOn.label": "Բոլոր մասնակիցների բարձրախոսերն անջատել են",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Բոլոր դիտորդների բարձրախոսերն անջատված են",
|
||||||
"app.toast.meetingMuteOff.label": "Բարձրախոսերի արգելափակումն չեղարկվել է",
|
"app.toast.meetingMuteOff.label": "Բարձրախոսերի արգելափակումն չեղարկվել է",
|
||||||
"app.toast.setEmoji.raiseHand": "Դուք ձեռք եք բարձրացրել",
|
"app.toast.setEmoji.raiseHand": "Դուք ձեռք եք բարձրացրել",
|
||||||
"app.toast.setEmoji.lowerHand": "Ձեր ձեռքն իջեցված է",
|
"app.toast.setEmoji.lowerHand": "Ձեր ձեռքն իջեցված է",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Մուտք",
|
"app.shortcut-help.toggleFullscreenKey": "Մուտք",
|
||||||
"app.shortcut-help.nextSlideKey": "Աջ սլաք",
|
"app.shortcut-help.nextSlideKey": "Աջ սլաք",
|
||||||
"app.shortcut-help.previousSlideKey": "Ձախ սլաք",
|
"app.shortcut-help.previousSlideKey": "Ձախ սլաք",
|
||||||
|
"app.shortcut-help.select": "Ընտրման գործիք",
|
||||||
|
"app.shortcut-help.pencil": "Մատիտ",
|
||||||
|
"app.shortcut-help.eraser": "Ռետին",
|
||||||
|
"app.shortcut-help.rectangle": "Ուղղանկյուն",
|
||||||
|
"app.shortcut-help.elipse": "Էլիպս",
|
||||||
|
"app.shortcut-help.triangle": "Եռանկյուն",
|
||||||
|
"app.shortcut-help.line": "Գիծ",
|
||||||
|
"app.shortcut-help.arrow": "Սլաք",
|
||||||
|
"app.shortcut-help.text": "Տեքստ",
|
||||||
|
"app.shortcut-help.note": "Կպչուն նշում",
|
||||||
|
"app.shortcut-help.general": "Գլխավոր",
|
||||||
|
"app.shortcut-help.presentation": "Ներկայացում",
|
||||||
|
"app.shortcut-help.whiteboard": "Գրատախտակ",
|
||||||
|
"app.shortcut-help.zoomIn": "Խոշորացում",
|
||||||
|
"app.shortcut-help.zoomOut": "Մանրացում",
|
||||||
|
"app.shortcut-help.zoomFit": "Խոշորացման չեղարկում",
|
||||||
|
"app.shortcut-help.zoomSelect": "Խոշորացնել նշվածը",
|
||||||
|
"app.shortcut-help.flipH": "Արտապատկերել հորիզոնական ուղղությամբ",
|
||||||
|
"app.shortcut-help.flipV": "Արտապատկերել ուղղահայաց ուղղությամբ",
|
||||||
|
"app.shortcut-help.lock": "Կողպել / բացել",
|
||||||
|
"app.shortcut-help.moveToFront": "Տեղափոխել բոլորից առաջ",
|
||||||
|
"app.shortcut-help.moveToBack": "Տեղափոխել բոլորից ետ",
|
||||||
|
"app.shortcut-help.moveForward": "Բերել առաջ",
|
||||||
|
"app.shortcut-help.moveBackward": "Տանել ետ",
|
||||||
|
"app.shortcut-help.undo": "Ետքայլ",
|
||||||
|
"app.shortcut-help.redo": "Քայլ առաջ",
|
||||||
|
"app.shortcut-help.cut": "Կտրել",
|
||||||
|
"app.shortcut-help.copy": "Պատճենել",
|
||||||
|
"app.shortcut-help.paste": "Սոսնձել",
|
||||||
|
"app.shortcut-help.selectAll": "Նշել բոլորը",
|
||||||
|
"app.shortcut-help.delete": "Հեռացնել",
|
||||||
|
"app.shortcut-help.duplicate": "Կրկնօրինակել",
|
||||||
"app.lock-viewers.title": "Արգելափակել մասնակիցներին",
|
"app.lock-viewers.title": "Արգելափակել մասնակիցներին",
|
||||||
"app.lock-viewers.description": "Տվյալ կարգավորումները թույլ կտան արգելափակել մասնակիցների որոշ գործողություններ",
|
"app.lock-viewers.description": "Տվյալ կարգավորումները թույլ կտան արգելափակել մասնակիցների որոշ գործողություններ",
|
||||||
"app.lock-viewers.featuresLable": "Գործողություն",
|
"app.lock-viewers.featuresLable": "Գործողություն",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Հաջորդ էջ",
|
"app.connection-status.next": "Հաջորդ էջ",
|
||||||
"app.connection-status.prev": "Նախորդ էջ",
|
"app.connection-status.prev": "Նախորդ էջ",
|
||||||
"app.learning-dashboard.label": "Դասի վերլուծություն",
|
"app.learning-dashboard.label": "Դասի վերլուծություն",
|
||||||
"app.learning-dashboard.description": "Բացել մասնակիցների գործողությունների հաշվետվությունը",
|
"app.learning-dashboard.description": "Օգտվողների ակտիվության վահանակ",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Բացել դասի վերլուծությունը",
|
"app.learning-dashboard.clickHereToOpen": "Բացել դասի վերլուծությունը",
|
||||||
"app.recording.startTitle": "Միացնել տեսագրումը",
|
"app.recording.startTitle": "Միացնել տեսագրումը",
|
||||||
"app.recording.stopTitle": "Ընդհատել տեսաձայնագրումը",
|
"app.recording.stopTitle": "Ընդհատել տեսաձայնագրումը",
|
||||||
"app.recording.resumeTitle": "Շարունակել տեսաձայնագրումը",
|
"app.recording.resumeTitle": "Շարունակել տեսաձայնագրումը",
|
||||||
"app.recording.startDescription": "Որպեսզի կանգնեցնեք տեսագրումը, մեկ անգամ ևս սեղմեք տեսագրման կոճակին",
|
"app.recording.startDescription": "Որպեսզի կանգնեցնեք տեսագրումը, մեկ անգամ ևս սեղմեք տեսագրման կոճակին",
|
||||||
"app.recording.stopDescription": "Համոզվա՞ծ եք, որ ցանկանում եք տեսագրումն ընդհատել - Որպեսզի շարունակեք տեսագրումը կրկին սեղմեք կոճակին",
|
"app.recording.stopDescription": "Համոզվա՞ծ եք, որ ցանկանում եք տեսագրումն ընդհատել - Որպեսզի շարունակեք տեսագրումը կրկին սեղմեք կոճակին",
|
||||||
|
"app.recording.notify.title": "Տեսագրումը մեկնարկել է",
|
||||||
|
"app.recording.notify.description": "Տեսագրումը կթույլատրվի՝ հիմնված այս միացման հիշեցման հետ",
|
||||||
|
"app.recording.notify.continue": "Շարունակել",
|
||||||
|
"app.recording.notify.leave": "Լքել միացումը",
|
||||||
|
"app.recording.notify.continueLabel" : "Հաստատել տեսագրումը և շարունակել",
|
||||||
|
"app.recording.notify.leaveLabel" : "Չհաստատել տեսագրումը և հեռանալ հանդիպումից",
|
||||||
"app.videoPreview.cameraLabel": "Տեսախցիկ",
|
"app.videoPreview.cameraLabel": "Տեսախցիկ",
|
||||||
"app.videoPreview.profileLabel": "Որակ",
|
"app.videoPreview.profileLabel": "Որակ",
|
||||||
"app.videoPreview.quality.low": "Ցածր",
|
"app.videoPreview.quality.low": "Ցածր",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Ընտրել տեսախցիկը",
|
"app.videoPreview.webcamOptionLabel": "Ընտրել տեսախցիկը",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Տեսախցիկի նախնական դիտում",
|
"app.videoPreview.webcamPreviewLabel": "Տեսախցիկի նախնական դիտում",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Տեսախցիկի կարգավորումներ",
|
"app.videoPreview.webcamSettingsTitle": "Տեսախցիկի կարգավորումներ",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Տեսախցիկի տեսաէֆֆեկտներ",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Վիրտուալ ետնապատի կարգավորումներ",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Վիրտուալ ետնապատի կարգավորումներ",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Սարքը չունի վիրտուալ ետնապատի հնարավորություն",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Սարքը չունի վիրտուալ ետնապատի հնարավորություն",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Տեսախցիկ չի գտնվել",
|
"app.videoPreview.webcamNotFoundLabel": "Տեսախցիկ չի գտնվել",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Տեսախցիկի կարգավորումները համատեղելի չեն",
|
"app.videoPreview.profileNotFoundLabel": "Տեսախցիկի կարգավորումները համատեղելի չեն",
|
||||||
|
"app.videoPreview.brightness": "Պայծառություն",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Ողջ պատկերը",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Տարածվում է ետնապատի և հեռարձակման պատկերի վրա",
|
||||||
|
"app.videoPreview.sliderDesc": "Ավելացնել կամ պակասեցնել պայծառության մակարդակը",
|
||||||
"app.video.joinVideo": "Հեռարձակել տեսախցիկը",
|
"app.video.joinVideo": "Հեռարձակել տեսախցիկը",
|
||||||
"app.video.connecting": "Միացվում է տեսախցիկի հեռարձակումը...",
|
"app.video.connecting": "Միացվում է տեսախցիկի հեռարձակումը...",
|
||||||
"app.video.leaveVideo": "Ընդհատել տեսախցիկի հեռարձակումը",
|
"app.video.leaveVideo": "Ընդհատել տեսախցիկի հեռարձակումը",
|
||||||
|
"app.video.videoSettings": "Տեսախցիկի կարգավորումներ",
|
||||||
|
"app.video.visualEffects": "Տեսանելի կարգավորւմներ",
|
||||||
"app.video.advancedVideo": "Բացել լրացուցիչ կարգավորումները",
|
"app.video.advancedVideo": "Բացել լրացուցիչ կարգավորումները",
|
||||||
"app.video.iceCandidateError": "Ошибка добавления ICE кандидата",
|
"app.video.iceCandidateError": "Ошибка добавления ICE кандидата",
|
||||||
"app.video.iceConnectionStateError": "Connection failure (ICE error 1107)",
|
"app.video.iceConnectionStateError": "Connection failure (ICE error 1107)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "Տեսախցիկի վիդեոն չստացվեց ընկալել - Խնդրում ենք համոզվել, որ այլ ծրագիր չի օգտագործում Ձեր տեսախցիկը",
|
"app.video.notReadableError": "Տեսախցիկի վիդեոն չստացվեց ընկալել - Խնդրում ենք համոզվել, որ այլ ծրագիր չի օգտագործում Ձեր տեսախցիկը",
|
||||||
"app.video.timeoutError": "Բրաուզերը ժամանակին չպատասխանեց",
|
"app.video.timeoutError": "Բրաուզերը ժամանակին չպատասխանեց",
|
||||||
"app.video.genericError": "Սարքավորման անհայտ սխալ (Error {0})",
|
"app.video.genericError": "Սարքավորման անհայտ սխալ (Error {0})",
|
||||||
|
"app.video.inactiveError": "Ձեր տեսախցիկից հեռարձակումը դադարեցվել է անհասկանլի պատճառով։ Հավանական է բրաուզերից թույլտվություն չկա",
|
||||||
"app.video.mediaTimedOutError": "Ձեր տեսախցիկի հեռարձակումն ընդհատվեց - Կրկին փորձեք միացնել տեսախցիկը",
|
"app.video.mediaTimedOutError": "Ձեր տեսախցիկի հեռարձակումն ընդհատվեց - Կրկին փորձեք միացնել տեսախցիկը",
|
||||||
"app.video.mediaFlowTimeout1020": "Медиа не удалось связаться с сервером (error 1020)",
|
"app.video.mediaFlowTimeout1020": "Медиа не удалось связаться с сервером (error 1020)",
|
||||||
"app.video.suggestWebcamLock": "Ստիպողաբար արգելափակե՞մ մասնակիցների տեսախցիկները",
|
"app.video.suggestWebcamLock": "Ստիպողաբար արգելափակե՞մ մասնակիցների տեսախցիկները",
|
||||||
@ -804,8 +945,17 @@
|
|||||||
"app.video.virtualBackground.board": "Ցուցատախտակ",
|
"app.video.virtualBackground.board": "Ցուցատախտակ",
|
||||||
"app.video.virtualBackground.coffeeshop": "Սրճարան",
|
"app.video.virtualBackground.coffeeshop": "Սրճարան",
|
||||||
"app.video.virtualBackground.background": "Ետնապատ",
|
"app.video.virtualBackground.background": "Ետնապատ",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "Ետնապատ {0}",
|
||||||
|
"app.video.virtualBackground.custom": "Բեռնել Ձեր մոտից",
|
||||||
|
"app.video.virtualBackground.remove": "Հեռացնե ավելացված պատկերը",
|
||||||
"app.video.virtualBackground.genericError": "Չստացվել հաստատել տեսախցիկի հատկությունը - Կրկին փորձեք",
|
"app.video.virtualBackground.genericError": "Չստացվել հաստատել տեսախցիկի հատկությունը - Կրկին փորձեք",
|
||||||
"app.video.virtualBackground.camBgAriaDesc": "{0} վիրտուալ ֆոնի հաստատում տեսախցիկի համար",
|
"app.video.virtualBackground.camBgAriaDesc": "{0} վիրտուալ ֆոնի հաստատում տեսախցիկի համար",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Առավելագույն թույլատրված ֆայլի մեծության գերազանցում։ ({0}MB)",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Անթույլատրելի ֆայլի տեսակ։",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Ֆայլի կարդացման ընթացքում տեղի է ունեցել սխալ։",
|
||||||
|
"app.video.virtualBackground.uploaded": "Վերբեռնված է",
|
||||||
|
"app.video.virtualBackground.uploading": "Վերբեռնվում է․․․",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Ավելացնում է նոր ետնապատի պատկեր",
|
||||||
"app.video.camCapReached": "Չեք կարող հեռարձակել լրացուցիչ տեսախցիկներով",
|
"app.video.camCapReached": "Չեք կարող հեռարձակել լրացուցիչ տեսախցիկներով",
|
||||||
"app.video.meetingCamCapReached": "Հանդիպումը հասել է տեսախցիկների առավելագույնին",
|
"app.video.meetingCamCapReached": "Հանդիպումը հասել է տեսախցիկների առավելագույնին",
|
||||||
"app.video.dropZoneLabel": "Տեղափոխեք ֆայլն այստեղ",
|
"app.video.dropZoneLabel": "Տեղափոխեք ֆայլն այստեղ",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Հարցման արդյունքները հրապարակվել են",
|
"app.whiteboard.annotations.poll": "Հարցման արդյունքները հրապարակվել են",
|
||||||
"app.whiteboard.annotations.pollResult": "Հարցման արդյունքները",
|
"app.whiteboard.annotations.pollResult": "Հարցման արդյունքները",
|
||||||
"app.whiteboard.annotations.noResponses": "Չկան պատախաններ",
|
"app.whiteboard.annotations.noResponses": "Չկան պատախաններ",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "Չի թույլատրվում կատարել այս փոփոխությունը",
|
||||||
"app.whiteboard.toolbar.tools": "Գործիքներ",
|
"app.whiteboard.toolbar.tools": "Գործիքներ",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Տեղաշարժում/Խոշորացում/Փոքրացում",
|
"app.whiteboard.toolbar.tools.hand": "Տեղաշարժում/Խոշորացում/Փոքրացում",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Մատիտ",
|
"app.whiteboard.toolbar.tools.pencil": "Մատիտ",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Մոխրագույն",
|
"app.whiteboard.toolbar.color.silver": "Մոխրագույն",
|
||||||
"app.whiteboard.toolbar.undo": "Չեղարկել նշումը",
|
"app.whiteboard.toolbar.undo": "Չեղարկել նշումը",
|
||||||
"app.whiteboard.toolbar.clear": "Մաքրել բոլոր նշումները",
|
"app.whiteboard.toolbar.clear": "Մաքրել բոլոր նշումները",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "Համոզվա՞ծ եք, որ պետք է մաքրել բոլոր նշումները։",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Միացնել գործիքաշարը բոլորի մոտ",
|
"app.whiteboard.toolbar.multiUserOn": "Միացնել գործիքաշարը բոլորի մոտ",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Անջատել մասնակիցների մոտ գործիքաշարը",
|
"app.whiteboard.toolbar.multiUserOff": "Անջատել մասնակիցների մոտ գործիքաշարը",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Միացնել հանկարծակի նկարման կանխարգելման ռեժիմը",
|
"app.whiteboard.toolbar.palmRejectionOn": "Միացնել հանկարծակի նկարման կանխարգելման ռեժիմը",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Ապաֆոկուսացնել ընտրված տեսախցիկը",
|
"app.videoDock.webcamUnfocusDesc": "Ապաֆոկուսացնել ընտրված տեսախցիկը",
|
||||||
"app.videoDock.webcamPinLabel": "Ամրակցել",
|
"app.videoDock.webcamPinLabel": "Ամրակցել",
|
||||||
"app.videoDock.webcamPinDesc": "Ամրակցել նշված տեսախցիկը",
|
"app.videoDock.webcamPinDesc": "Ամրակցել նշված տեսախցիկը",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Տեսախցիկն ամբողջ էկրանով",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Տեսախցիկի կարգավորումներ",
|
||||||
"app.videoDock.webcamUnpinLabel": "Թողնել",
|
"app.videoDock.webcamUnpinLabel": "Թողնել",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Միայն մոդերատորները կարող են թողնել օգտվողներին",
|
"app.videoDock.webcamUnpinLabelDisabled": "Միայն մոդերատորները կարող են թողնել օգտվողներին",
|
||||||
"app.videoDock.webcamUnpinDesc": "Թողնել նշված տեսախցիկը",
|
"app.videoDock.webcamUnpinDesc": "Թողնել նշված տեսախցիկը",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Անհրաժեշտ է Ձեր թույլտվությունը, որպեսզի Ձեզ թույլ տանք տեսնել մասնակիցների տեսախցիկները",
|
"app.videoDock.autoplayBlockedDesc": "Անհրաժեշտ է Ձեր թույլտվությունը, որպեսզի Ձեզ թույլ տանք տեսնել մասնակիցների տեսախցիկները",
|
||||||
"app.videoDock.autoplayAllowLabel": "Նայել տեսախցիկները",
|
"app.videoDock.autoplayAllowLabel": "Նայել տեսախցիկները",
|
||||||
"app.invitation.title": "Խմբային աշխատանքի սենյակի հրավեր",
|
|
||||||
"app.invitation.confirm": "Հրավիրել",
|
|
||||||
"app.createBreakoutRoom.title": "Խմբային աշխատանքի սենյակներ",
|
"app.createBreakoutRoom.title": "Խմբային աշխատանքի սենյակներ",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Թաքցնել խմբային աշխատանքի սենյակները",
|
"app.createBreakoutRoom.ariaTitle": "Թաքցնել խմբային աշխատանքի սենյակները",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Խմբային աշխատանքի սենյակները {0} ",
|
"app.createBreakoutRoom.breakoutRoomLabel": "Խմբային աշխատանքի սենյակները {0} ",
|
||||||
@ -909,6 +1061,8 @@
|
|||||||
"app.createBreakoutRoom.addRoomTime": "Ավելացնել տրողությունը",
|
"app.createBreakoutRoom.addRoomTime": "Ավելացնել տրողությունը",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ ավելացնել մասնակցի",
|
"app.createBreakoutRoom.addParticipantLabel": "+ ավելացնել մասնակցի",
|
||||||
"app.createBreakoutRoom.freeJoin": "Թույլատրել մասնակիցներն ինքնուրույն ընտրել խմբային աշխատանքի սենյակը",
|
"app.createBreakoutRoom.freeJoin": "Թույլատրել մասնակիցներն ինքնուրույն ընտրել խմբային աշխատանքի սենյակը",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "Վերցնել ընդհանուր նշումները, երբ առանձին սենյկները փակվեն",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "Վերցնել գրատախտակը, երբ առանձին սենյկները փակվեն",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Անհրաժեշտ է սենյակում տեղավորել առնվազն մեկ մասնակցի",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "Անհրաժեշտ է սենյակում տեղավորել առնվազն մեկ մասնակցի",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Խմբային աշխատանքի սենյակում գտնվելու նվազագույն տևողությունն է {0} րոպե",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "Խմբային աշխատանքի սենյակում գտնվելու նվազագույն տևողությունն է {0} րոպե",
|
||||||
"app.createBreakoutRoom.modalDesc": "Կարող եք մկնիկով տեղափոխել մասնակիցներին համապատասխան սենյակներ",
|
"app.createBreakoutRoom.modalDesc": "Կարող եք մկնիկով տեղափոխել մասնակիցներին համապատասխան սենյակներ",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "Չեղարկել",
|
"app.createBreakoutRoom.setTimeCancel": "Չեղարկել",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Առանձին սենյակի տևողությունը չի կարող գերազանցել հանդիպման մնացած ժամանակը",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Առանձին սենյակի տևողությունը չի կարող գերազանցել հանդիպման մնացած ժամանակը",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Առանձնացված սենյակի անվանումը",
|
"app.createBreakoutRoom.roomNameInputDesc": "Առանձնացված սենյակի անվանումը",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "Տեղափոխվել է {0} -ից {1} սենյակ",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Թարմացնելու կամ օգտվողին հրավիրելու համար պարզապես տեղափոխեք մկնիկով նրան դեպի սենյակը",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "Չեղարկել",
|
||||||
|
"app.updateBreakoutRoom.title": "Թարմացնել կիսվող սենյակները",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Հաստատել",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "Դուք տեղափոխվել եք {0}սենյակ։",
|
||||||
|
"app.smartMediaShare.externalVideo": "Արտաքին տեսնյութ(եր)",
|
||||||
|
"app.update.resetRoom": "Օգտվողների սկզբնական սենյակներ",
|
||||||
"app.externalVideo.start": "Ցուցադրել նոր տեսանյութ",
|
"app.externalVideo.start": "Ցուցադրել նոր տեսանյութ",
|
||||||
"app.externalVideo.title": "Ցուցադրել տեսնյութ արտաքին աղբյուրներից",
|
"app.externalVideo.title": "Ցուցադրել տեսնյութ արտաքին աղբյուրներից",
|
||||||
"app.externalVideo.input": "Տեսանյութի հղում",
|
"app.externalVideo.input": "Տեսանյութի հղում",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(կանջատվի, եթե տեսախցիկների դաշտի չափերը փոխեք)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(կանջատվի, եթե տեսախցիկների դաշտի չափերը փոխեք)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": "Զրուցարանի տեքստի լոգավորման աստիճանը",
|
"app.debugWindow.form.chatLoggerLabel": "Զրուցարանի տեքստի լոգավորման աստիճանը",
|
||||||
"app.debugWindow.form.button.apply": "Ընդունել",
|
"app.debugWindow.form.button.apply": "Ընդունել",
|
||||||
|
"app.layout.modal.title": "Դասավորվածություններ",
|
||||||
|
"app.layout.modal.confirm": "Հաստատել",
|
||||||
|
"app.layout.modal.cancel": "Չեղարկել",
|
||||||
|
"app.layout.modal.layoutLabel": "Ընտեք Ձեր դասավորվածությունը",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Push դասավորվածությունը բոլորի համար",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "Push բոլորին",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Դասավորվածության կարգավորումները փոխվել են",
|
||||||
|
"app.layout.modal.layoutSingular": "Դասավորվածություն",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Դասավորվածության տեղադրում ընտրված կարգավորումներով",
|
||||||
"app.layout.style.custom": "Կարգավորվող",
|
"app.layout.style.custom": "Կարգավորվող",
|
||||||
"app.layout.style.smart": "Ավտոմատ",
|
"app.layout.style.smart": "Ավտոմատ",
|
||||||
"app.layout.style.presentationFocus": "Կենտրոնանալ ներկայացման վրա",
|
"app.layout.style.presentationFocus": "Կենտրոնանալ ներկայացման վրա",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Էսքիզների տարածք",
|
"playback.player.thumbnails.wrapper.aria": "Էսքիզների տարածք",
|
||||||
"playback.player.webcams.wrapper.aria": "Տեսախցիկների դաշտ",
|
"playback.player.webcams.wrapper.aria": "Տեսախցիկների դաշտ",
|
||||||
"app.learningDashboard.dashboardTitle": "Դասի վերլուծության վահանակ",
|
"app.learningDashboard.dashboardTitle": "Դասի վերլուծության վահանակ",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "Հեռակապի հարթակ",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Բեռնել սեսիայի տվյալները",
|
"app.learningDashboard.downloadSessionDataLabel": "Բեռնել սեսիայի տվյալները",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Վերջին անգամ թարմացվել է",
|
"app.learningDashboard.lastUpdatedLabel": "Վերջին անգամ թարմացվել է",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "Բեռնված է",
|
"app.learningDashboard.sessionDataDownloadedLabel": "Բեռնված է",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Արձագանք",
|
"app.learningDashboard.userDetails.response": "Արձագանք",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "Ամենահաճախ կրկնվող պատասխանը",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "Ամենահաճախ կրկնվող պատասխանը",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Անանուն հարցում",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Անանուն հարցում",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Խոսելու ժամանակը",
|
||||||
|
"app.learningDashboard.userDetails.messages": "Հաղորդագրություններ",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Էմոջիներ",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "Բարձրացված ձեռքեր",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Հարցման պատասխաններ",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": "{0} առցանց ժամանակ",
|
||||||
"app.learningDashboard.usersTable.title": "Մանրամասներ",
|
"app.learningDashboard.usersTable.title": "Մանրամասներ",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Առցանց տևողությունը",
|
"app.learningDashboard.usersTable.colOnline": "Առցանց տևողությունը",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Խոսելու տևողությունը",
|
"app.learningDashboard.usersTable.colTalk": "Խոսելու տևողությունը",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Անանուն",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Անանուն",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Հարցումներ չեն ստեղծվել",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Հարցումներ չեն ստեղծվել",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Երբ հարցն ուղարկվի մասնակիցներին, նրանց արդյունքները կերևան այս ցուցակում",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Երբ հարցն ուղարկվի մասնակիցներին, նրանց արդյունքները կերևան այս ցուցակում",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Ընդհանուր",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Օգտվող",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Ժամանակի առանցք",
|
"app.learningDashboard.statusTimelineTable.title": "Ժամանակի առանցք",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Ներկայացման պատկեր",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Ներկայացման պատկեր",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Ներկայացում",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Էջ",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Դրված է",
|
||||||
"app.learningDashboard.errors.invalidToken": "Սեանսի սխալ թոքեն",
|
"app.learningDashboard.errors.invalidToken": "Սեանսի սխալ թոքեն",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Տվյալներն այլևս հասանելի չեն",
|
"app.learningDashboard.errors.dataUnavailable": "Տվյալներն այլևս հասանելի չեն",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Ավելացրեք Ձեր առաջին պորտալը վերևի կոճակի օգնությամբ, ",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Ավելացրեք Ձեր առաջին պորտալը վերևի կոճակի օգնությամբ, ",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Պարտադիր դաշտեր",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Պարտադիր դաշտեր",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Անունն արդեն օգտագործվում է",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Անունն արդեն օգտագործվում է",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Էջի բեռնման սխալ, ստուգեք URL-ը և ցանցային միացումը"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Էջի բեռնման սխալ, ստուգեք URL-ը և ցանցային միացումը"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,12 +2,13 @@
|
|||||||
"app.home.greeting": "プレゼンテーションはまもなく始まります…",
|
"app.home.greeting": "プレゼンテーションはまもなく始まります…",
|
||||||
"app.chat.submitLabel": "メッセージを送信",
|
"app.chat.submitLabel": "メッセージを送信",
|
||||||
"app.chat.loading": "チャットメッセージをロードしています: {0}%",
|
"app.chat.loading": "チャットメッセージをロードしています: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "このメッセージは文字数制限を {0} 文字超えています",
|
"app.chat.errorMaxMessageLength": "メッセージが長すぎます。最大の{0}文字を超えています",
|
||||||
"app.chat.disconnected": "通信が切断されたため、メッセージを送れません",
|
"app.chat.disconnected": "通信が切断されたため、メッセージを送れません",
|
||||||
"app.chat.locked": "チャットがロック状態のため、メッセージを送れません",
|
"app.chat.locked": "チャットがロック状態のため、メッセージを送れません",
|
||||||
"app.chat.inputLabel": "チャット {0} へメッセージ入力",
|
"app.chat.inputLabel": "チャット {0} へメッセージ入力",
|
||||||
|
"app.chat.emojiButtonLabel": "絵文字選択",
|
||||||
"app.chat.inputPlaceholder": "メッセージ{0}",
|
"app.chat.inputPlaceholder": "メッセージ{0}",
|
||||||
"app.chat.titlePublic": "グループチャット",
|
"app.chat.titlePublic": "公開チャット",
|
||||||
"app.chat.titlePrivate": "{0} との非公開チャット",
|
"app.chat.titlePrivate": "{0} との非公開チャット",
|
||||||
"app.chat.partnerDisconnected": "{0} は会議から退出しました",
|
"app.chat.partnerDisconnected": "{0} は会議から退出しました",
|
||||||
"app.chat.closeChatLabel": "{0} を閉じる",
|
"app.chat.closeChatLabel": "{0} を閉じる",
|
||||||
@ -21,13 +22,35 @@
|
|||||||
"app.chat.offline": "オフライン",
|
"app.chat.offline": "オフライン",
|
||||||
"app.chat.pollResult": "投票結果",
|
"app.chat.pollResult": "投票結果",
|
||||||
"app.chat.breakoutDurationUpdated": "小会議の時間は現在{0}分です",
|
"app.chat.breakoutDurationUpdated": "小会議の時間は現在{0}分です",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "小会議の時間は現在{0}分です。通知が送られました。",
|
||||||
"app.chat.emptyLogLabel": "チャットログは空です",
|
"app.chat.emptyLogLabel": "チャットログは空です",
|
||||||
"app.chat.clearPublicChatMessage": "チャット履歴はモデレーターにより消去されました",
|
"app.chat.clearPublicChatMessage": "チャット履歴は司会者により消去されました",
|
||||||
"app.chat.multi.typing": "複数の人が入力中",
|
"app.chat.multi.typing": "複数の人が入力中",
|
||||||
"app.chat.one.typing": "{0}が入力中",
|
"app.chat.one.typing": "{0}が入力中",
|
||||||
"app.chat.two.typing": "{0}と{1}が入力中",
|
"app.chat.two.typing": "{0}と{1}が入力中",
|
||||||
"app.chat.copySuccess": "チャットの記録がコピーされました",
|
"app.chat.copySuccess": "チャットの記録がコピーされました",
|
||||||
"app.chat.copyErr": "チャット記録のコピーに失敗しました",
|
"app.chat.copyErr": "チャット記録のコピーに失敗しました",
|
||||||
|
"app.emojiPicker.search": "検索",
|
||||||
|
"app.emojiPicker.notFound": "絵文字が見つかりません",
|
||||||
|
"app.emojiPicker.skintext": "標準の肌の色を選択",
|
||||||
|
"app.emojiPicker.clear": "消す",
|
||||||
|
"app.emojiPicker.categories.label": "絵文字カテゴリー",
|
||||||
|
"app.emojiPicker.categories.people": "人物&からだ",
|
||||||
|
"app.emojiPicker.categories.nature": "動物&自然",
|
||||||
|
"app.emojiPicker.categories.foods": "食べ物&飲み物",
|
||||||
|
"app.emojiPicker.categories.places": "旅行&場所",
|
||||||
|
"app.emojiPicker.categories.activity": "活動",
|
||||||
|
"app.emojiPicker.categories.objects": "物体",
|
||||||
|
"app.emojiPicker.categories.symbols": "記号",
|
||||||
|
"app.emojiPicker.categories.flags": "旗",
|
||||||
|
"app.emojiPicker.categories.recent": "よく使われるもの",
|
||||||
|
"app.emojiPicker.categories.search": "検索結果",
|
||||||
|
"app.emojiPicker.skintones.1": "通常の肌の色",
|
||||||
|
"app.emojiPicker.skintones.2": "淡い肌色",
|
||||||
|
"app.emojiPicker.skintones.3": "少し淡い肌色",
|
||||||
|
"app.emojiPicker.skintones.4": "中間の肌色",
|
||||||
|
"app.emojiPicker.skintones.5": "少し濃い肌色",
|
||||||
|
"app.emojiPicker.skintones.6": "濃い肌色",
|
||||||
"app.captions.label": "字幕",
|
"app.captions.label": "字幕",
|
||||||
"app.captions.menu.close": "閉じる",
|
"app.captions.menu.close": "閉じる",
|
||||||
"app.captions.menu.start": "開始",
|
"app.captions.menu.start": "開始",
|
||||||
@ -35,7 +58,7 @@
|
|||||||
"app.captions.menu.ariaStartDesc": "モーダルを閉じて字幕を編集する",
|
"app.captions.menu.ariaStartDesc": "モーダルを閉じて字幕を編集する",
|
||||||
"app.captions.menu.select": "使用可能な言語を選択",
|
"app.captions.menu.select": "使用可能な言語を選択",
|
||||||
"app.captions.menu.ariaSelect": "字幕の言語",
|
"app.captions.menu.ariaSelect": "字幕の言語",
|
||||||
"app.captions.menu.subtitle": "見出しの言語とスタイルを選択してください",
|
"app.captions.menu.subtitle": "字幕の言語とスタイルを選択してください。",
|
||||||
"app.captions.menu.title": "字幕",
|
"app.captions.menu.title": "字幕",
|
||||||
"app.captions.menu.fontSize": "サイズ",
|
"app.captions.menu.fontSize": "サイズ",
|
||||||
"app.captions.menu.fontColor": "テキスト色",
|
"app.captions.menu.fontColor": "テキスト色",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "音声認識を開始しました",
|
"app.captions.speech.start": "音声認識を開始しました",
|
||||||
"app.captions.speech.stop": "音声認識が停止しました",
|
"app.captions.speech.stop": "音声認識が停止しました",
|
||||||
"app.captions.speech.error": "ブラウザが対応していないため、もしくは音声が一定時間停止したため、音声認識が停止しました",
|
"app.captions.speech.error": "ブラウザが対応していないため、もしくは音声が一定時間停止したため、音声認識が停止しました",
|
||||||
|
"app.confirmation.skipConfirm": "次回から尋ねない",
|
||||||
|
"app.confirmation.virtualBackground.title": "新しいバーチャル背景を設定",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0}個がバーチャル背景として追加されます。続けますか?",
|
||||||
|
"app.confirmationModal.yesLabel": "はい",
|
||||||
"app.textInput.sendLabel": "送る",
|
"app.textInput.sendLabel": "送る",
|
||||||
"app.title.defaultViewLabel": "既定のプレゼンテーションビュー",
|
"app.title.defaultViewLabel": "既定のプレゼンテーションビュー",
|
||||||
"app.notes.title": "共有ノート",
|
"app.notes.title": "共有ノート",
|
||||||
"app.notes.label": "ノート",
|
"app.notes.label": "ノート",
|
||||||
"app.notes.hide": "ノートを隠す",
|
"app.notes.hide": "ノートを隠す",
|
||||||
"app.notes.locked": "ロック",
|
"app.notes.locked": "ロック",
|
||||||
|
"app.notes.disabled": "メディアエリアに固定",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "ノートをプレゼンファイルに変換",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "ホワイトボードにノートの内容を固定",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "ノートを外す",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "ノートの操作",
|
||||||
"app.pads.hint": "パッドのツールバーにフォーカスするにはEscを押してください",
|
"app.pads.hint": "パッドのツールバーにフォーカスするにはEscを押してください",
|
||||||
"app.user.activityCheck": "ユーザーアクティビティ確認",
|
"app.user.activityCheck": "ユーザーアクティビティ確認",
|
||||||
"app.user.activityCheck.label": "会議({0})にユーザーがまだ参加しているか確認する",
|
"app.user.activityCheck.label": "会議({0})にユーザーがまだ参加しているか確認する",
|
||||||
@ -69,13 +101,13 @@
|
|||||||
"app.userList.notesTitle": "メモ",
|
"app.userList.notesTitle": "メモ",
|
||||||
"app.userList.notesListItem.unreadContent": "共有ノートに新しいコンテンツがあります",
|
"app.userList.notesListItem.unreadContent": "共有ノートに新しいコンテンツがあります",
|
||||||
"app.userList.captionsTitle": "字幕",
|
"app.userList.captionsTitle": "字幕",
|
||||||
"app.userList.presenter": "プレゼンター",
|
"app.userList.presenter": "発表者",
|
||||||
"app.userList.you": "自分",
|
"app.userList.you": "自分",
|
||||||
"app.userList.locked": "ロック",
|
"app.userList.locked": "ロック",
|
||||||
"app.userList.byModerator": "(Moderator)による",
|
"app.userList.byModerator": "(Moderator)による",
|
||||||
"app.userList.label": "ユーザーリスト",
|
"app.userList.label": "ユーザーリスト",
|
||||||
"app.userList.toggleCompactView.label": "コンパクトモードに切り替え",
|
"app.userList.toggleCompactView.label": "コンパクトモードに切り替え",
|
||||||
"app.userList.moderator": "モデレーター",
|
"app.userList.moderator": "司会者",
|
||||||
"app.userList.mobile": "モバイル端末",
|
"app.userList.mobile": "モバイル端末",
|
||||||
"app.userList.guest": "ゲスト",
|
"app.userList.guest": "ゲスト",
|
||||||
"app.userList.sharingWebcam": "ウェブカメラ",
|
"app.userList.sharingWebcam": "ウェブカメラ",
|
||||||
@ -86,7 +118,7 @@
|
|||||||
"app.userList.menu.clearStatus.label": "ステータスを消去する",
|
"app.userList.menu.clearStatus.label": "ステータスを消去する",
|
||||||
"app.userList.menu.removeUser.label": "このユーザーを退室させる",
|
"app.userList.menu.removeUser.label": "このユーザーを退室させる",
|
||||||
"app.userList.menu.removeConfirmation.label": "ユーザー({0})の退室",
|
"app.userList.menu.removeConfirmation.label": "ユーザー({0})の退室",
|
||||||
"app.userlist.menu.removeConfirmation.desc": "このユーザーを二度とセッションに参加させない",
|
"app.userlist.menu.removeConfirmation.desc": "このユーザーを二度と会議に参加させないようにする。",
|
||||||
"app.userList.menu.muteUserAudio.label": "ユーザーをミュートする",
|
"app.userList.menu.muteUserAudio.label": "ユーザーをミュートする",
|
||||||
"app.userList.menu.unmuteUserAudio.label": "ユーザーのミュートを解除する",
|
"app.userList.menu.unmuteUserAudio.label": "ユーザーのミュートを解除する",
|
||||||
"app.userList.menu.webcamPin.label": "ウェブカメラをピン止めする",
|
"app.userList.menu.webcamPin.label": "ウェブカメラをピン止めする",
|
||||||
@ -95,45 +127,45 @@
|
|||||||
"app.userList.menu.removeWhiteboardAccess.label": "ホワイトボードへの書き込み許可を取り消す",
|
"app.userList.menu.removeWhiteboardAccess.label": "ホワイトボードへの書き込み許可を取り消す",
|
||||||
"app.userList.menu.ejectUserCameras.label": "カメラを閉じる",
|
"app.userList.menu.ejectUserCameras.label": "カメラを閉じる",
|
||||||
"app.userList.userAriaLabel": "{0} {1} {2} ステータス {3}",
|
"app.userList.userAriaLabel": "{0} {1} {2} ステータス {3}",
|
||||||
"app.userList.menu.promoteUser.label": "モデレーターにする",
|
"app.userList.menu.promoteUser.label": "司会者にする",
|
||||||
"app.userList.menu.demoteUser.label": "ビューアーに戻す",
|
"app.userList.menu.demoteUser.label": "視聴者に戻す",
|
||||||
"app.userList.menu.unlockUser.label": "{0}を有効にする",
|
"app.userList.menu.unlockUser.label": "{0}を有効にする",
|
||||||
"app.userList.menu.lockUser.label": "{0}を無効にする",
|
"app.userList.menu.lockUser.label": "{0}を無効にする",
|
||||||
"app.userList.menu.directoryLookup.label": "ディレクトリ検索",
|
"app.userList.menu.directoryLookup.label": "ディレクトリ検索",
|
||||||
"app.userList.menu.makePresenter.label": "プレゼンターにする",
|
"app.userList.menu.makePresenter.label": "発表者にする",
|
||||||
"app.userList.userOptions.manageUsersLabel": "ユーザー管理",
|
"app.userList.userOptions.manageUsersLabel": "ユーザー管理",
|
||||||
"app.userList.userOptions.muteAllLabel": "全ユーザーをミュート",
|
"app.userList.userOptions.muteAllLabel": "全ユーザーをミュート",
|
||||||
"app.userList.userOptions.muteAllDesc": "会議の全ユーザーをミュートする",
|
"app.userList.userOptions.muteAllDesc": "会議の全ユーザーをミュートする",
|
||||||
"app.userList.userOptions.clearAllLabel": "全てのステータスを消す",
|
"app.userList.userOptions.clearAllLabel": "全てのステータスを消す",
|
||||||
"app.userList.userOptions.clearAllDesc": "ユーザーの全ステータスアイコンを消去する",
|
"app.userList.userOptions.clearAllDesc": "ユーザーの全ステータスアイコンを消去する",
|
||||||
"app.userList.userOptions.muteAllExceptPresenterLabel": "プレゼンター以外全員ミュート",
|
"app.userList.userOptions.muteAllExceptPresenterLabel": "発表者以外全員ミュート",
|
||||||
"app.userList.userOptions.muteAllExceptPresenterDesc": "この会議のプレゼンター以外の全ユーザーをミュートにする",
|
"app.userList.userOptions.muteAllExceptPresenterDesc": "この会議の発表者以外の全ユーザーをミュートにする",
|
||||||
"app.userList.userOptions.unmuteAllLabel": "会議のミュートを解除",
|
"app.userList.userOptions.unmuteAllLabel": "会議のミュートを解除",
|
||||||
"app.userList.userOptions.unmuteAllDesc": "会議のミュートを解除する",
|
"app.userList.userOptions.unmuteAllDesc": "会議のミュートを解除する",
|
||||||
"app.userList.userOptions.lockViewersLabel": "参加者の行動を制限",
|
"app.userList.userOptions.lockViewersLabel": "視聴者の行動を制限",
|
||||||
"app.userList.userOptions.lockViewersDesc": "会議の参加者が使用可能な特定の機能を無効にする",
|
"app.userList.userOptions.lockViewersDesc": "会議の参加者が使用可能な特定の機能を無効にする",
|
||||||
"app.userList.userOptions.guestPolicyLabel": "ゲストポリシー",
|
"app.userList.userOptions.guestPolicyLabel": "ゲストポリシー",
|
||||||
"app.userList.userOptions.guestPolicyDesc": "会議のゲストポリシー設定を変更する",
|
"app.userList.userOptions.guestPolicyDesc": "会議のゲストポリシー設定を変更する",
|
||||||
"app.userList.userOptions.disableCam": "ビューアーのウェブカメラは利用できません",
|
"app.userList.userOptions.disableCam": "視聴者のウェブカメラは利用できません",
|
||||||
"app.userList.userOptions.disableMic": "ビューアーのマイクは利用できません",
|
"app.userList.userOptions.disableMic": "視聴者のマイクは利用できません",
|
||||||
"app.userList.userOptions.disablePrivChat": "非公開チャットは利用できません",
|
"app.userList.userOptions.disablePrivChat": "非公開チャットは利用できません",
|
||||||
"app.userList.userOptions.disablePubChat": "グループチャットは利用できません",
|
"app.userList.userOptions.disablePubChat": "公開チャットは利用できません",
|
||||||
"app.userList.userOptions.disableNotes": "共有ノートがロックされています",
|
"app.userList.userOptions.disableNotes": "共有ノートがロックされています",
|
||||||
"app.userList.userOptions.hideUserList": "ユーザーリストは視聴者に表示されません",
|
"app.userList.userOptions.hideUserList": "ユーザーリストは視聴者に表示されません",
|
||||||
"app.userList.userOptions.webcamsOnlyForModerator": "モデレーターのみがビューアーのウェブカメラを見ることができます(ロック設定による)",
|
"app.userList.userOptions.webcamsOnlyForModerator": "司会者のみが視聴者のウェブカメラを見ることができます(ロック設定による)",
|
||||||
"app.userList.content.participants.options.clearedStatus": "全てのユーザーのステータスをクリアしました",
|
"app.userList.content.participants.options.clearedStatus": "全てのユーザーのステータスをクリアしました",
|
||||||
"app.userList.userOptions.enableCam": "ビューアーのウェブカメラが利用可能です",
|
"app.userList.userOptions.enableCam": "視聴者のウェブカメラが利用可能です",
|
||||||
"app.userList.userOptions.enableMic": "ビューアーのマイクが利用可能です",
|
"app.userList.userOptions.enableMic": "視聴者のマイクが利用可能です",
|
||||||
"app.userList.userOptions.enablePrivChat": "非公開チャットが利用可能です",
|
"app.userList.userOptions.enablePrivChat": "非公開チャットが利用可能です",
|
||||||
"app.userList.userOptions.enablePubChat": "グループチャットが利用可能です",
|
"app.userList.userOptions.enablePubChat": "公開チャットが利用可能です",
|
||||||
"app.userList.userOptions.enableNotes": "共有ノートが使用可能です",
|
"app.userList.userOptions.enableNotes": "共有ノートが使用可能です",
|
||||||
"app.userList.userOptions.showUserList": "ユーザーリストが視聴者に表示されます",
|
"app.userList.userOptions.showUserList": "ユーザーリストが視聴者に表示されます",
|
||||||
"app.userList.userOptions.enableOnlyModeratorWebcam": "ウェブカメラを有効にすると、全員があなたを見ることができます",
|
"app.userList.userOptions.enableOnlyModeratorWebcam": "ウェブカメラを有効にすると、全員があなたを見ることができます",
|
||||||
"app.userList.userOptions.savedNames.title": "{0}の会議の{1}のユーザーリスト",
|
"app.userList.userOptions.savedNames.title": "{0}の会議の{1}のユーザーリスト",
|
||||||
"app.userList.userOptions.sortedFirstName.heading": "第一語でソート",
|
"app.userList.userOptions.sortedFirstName.heading": "第一語でソート",
|
||||||
"app.userList.userOptions.sortedLastName.heading": "第二語でソート",
|
"app.userList.userOptions.sortedLastName.heading": "第二語でソート",
|
||||||
"app.userList.userOptions.hideViewersCursor": "ビューアーのカーソルがロックされました",
|
"app.userList.userOptions.hideViewersCursor": "視聴者のカーソルがロックされました",
|
||||||
"app.userList.userOptions.showViewersCursor": "ビューアーのカーソルロックが解除されました",
|
"app.userList.userOptions.showViewersCursor": "視聴者のカーソルロックが解除されました",
|
||||||
"app.media.label": "メディア",
|
"app.media.label": "メディア",
|
||||||
"app.media.autoplayAlertDesc": "アクセス許可",
|
"app.media.autoplayAlertDesc": "アクセス許可",
|
||||||
"app.media.screenshare.start": "画面共有を開始しました",
|
"app.media.screenshare.start": "画面共有を開始しました",
|
||||||
@ -141,20 +173,20 @@
|
|||||||
"app.media.screenshare.endDueToDataSaving": "通信量抑制のため、画面共有を停止しました",
|
"app.media.screenshare.endDueToDataSaving": "通信量抑制のため、画面共有を停止しました",
|
||||||
"app.media.screenshare.unavailable": "画面共有は利用できません",
|
"app.media.screenshare.unavailable": "画面共有は利用できません",
|
||||||
"app.media.screenshare.notSupported": "画面共有はこのブラウザではサポートされていません。",
|
"app.media.screenshare.notSupported": "画面共有はこのブラウザではサポートされていません。",
|
||||||
"app.media.screenshare.autoplayBlockedDesc": "プレゼンターの画面の共有を許可してください",
|
"app.media.screenshare.autoplayBlockedDesc": "発表者の画面の共有を許可してください",
|
||||||
"app.media.screenshare.autoplayAllowLabel": "共有画面を見る",
|
"app.media.screenshare.autoplayAllowLabel": "共有画面を見る",
|
||||||
"app.screenshare.presenterLoadingLabel": "あなたの画面を共有しようとしています",
|
"app.screenshare.presenterLoadingLabel": "あなたの画面を共有しようとしています",
|
||||||
"app.screenshare.viewerLoadingLabel": "プレゼンターの画面を共有しようとしています",
|
"app.screenshare.viewerLoadingLabel": "発表者の画面を共有しようとしています",
|
||||||
"app.screenshare.presenterSharingLabel": "現在あなたの画面を共有中です",
|
"app.screenshare.presenterSharingLabel": "現在あなたの画面を共有中です",
|
||||||
"app.screenshare.screenshareFinalError": "コード{0} 画面をシェアできませんでした。",
|
"app.screenshare.screenshareFinalError": "コード{0} 画面をシェアできませんでした。",
|
||||||
"app.screenshare.screenshareRetryError": "コード{0} 画面シェアをもう一度試してください。",
|
"app.screenshare.screenshareRetryError": "コード{0} 画面シェアをもう一度試してください。",
|
||||||
"app.screenshare.screenshareRetryOtherEnvError": "コード{0} 画面をシェアできませんでした。別のブラウザや端末を使ってもう一度試してみてください。",
|
"app.screenshare.screenshareRetryOtherEnvError": "コード{0} 画面をシェアできませんでした。別のブラウザや端末を使ってもう一度試してみてください。",
|
||||||
"app.screenshare.screenshareUnsupportedEnv": "コード{0} ブラウザがサポートされていません。別のブラウザや端末を使ってもう一度試してみてください。",
|
"app.screenshare.screenshareUnsupportedEnv": "コード{0} ブラウザがサポートされていません。別のブラウザや端末を使ってもう一度試してみてください。",
|
||||||
"app.screenshare.screensharePermissionError": "コード{0} 画面キャプチャーの許可を与える必要があります。",
|
"app.screenshare.screensharePermissionError": "コード{0} 画面キャプチャーの許可を与える必要があります。",
|
||||||
"app.meeting.ended": "このセッションは終了しました",
|
"app.meeting.ended": "この会議は終了しました",
|
||||||
"app.meeting.meetingTimeRemaining": "会議の残り時間:{0}",
|
"app.meeting.meetingTimeRemaining": "会議の残り時間:{0}",
|
||||||
"app.meeting.meetingTimeHasEnded": "時間終了。会議はまもなく終了します。",
|
"app.meeting.meetingTimeHasEnded": "時間終了。会議はまもなく終了します。",
|
||||||
"app.meeting.endedByUserMessage": "{0}さんがこのセッションを終えました",
|
"app.meeting.endedByUserMessage": "{0}さんがこの会議を終えました",
|
||||||
"app.meeting.endedByNoModeratorMessageSingular": "一分たっても司会者が現れなかったため、会議は終了しました。",
|
"app.meeting.endedByNoModeratorMessageSingular": "一分たっても司会者が現れなかったため、会議は終了しました。",
|
||||||
"app.meeting.endedByNoModeratorMessagePlural": "{0}分たっても司会者が現れなかったため、会議は終了しました。",
|
"app.meeting.endedByNoModeratorMessagePlural": "{0}分たっても司会者が現れなかったため、会議は終了しました。",
|
||||||
"app.meeting.endedMessage": "ホーム画面に戻ります",
|
"app.meeting.endedMessage": "ホーム画面に戻ります",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "スライドコンテンツ終了",
|
"app.presentation.endSlideContent": "スライドコンテンツ終了",
|
||||||
"app.presentation.changedSlideContent": "プレゼンテーションがスライド{0}に移動",
|
"app.presentation.changedSlideContent": "プレゼンテーションがスライド{0}に移動",
|
||||||
"app.presentation.emptySlideContent": "現在のスライドにはコンテンツはありません",
|
"app.presentation.emptySlideContent": "現在のスライドにはコンテンツはありません",
|
||||||
"app.presentation.options.fullscreen": "全画面表示",
|
"app.presentation.options.fullscreen": "プレゼンを全画面表示にする",
|
||||||
"app.presentation.options.exitFullscreen": "全画面表示解除",
|
"app.presentation.options.exitFullscreen": "全画面表示解除",
|
||||||
"app.presentation.options.minimize": "最小化",
|
"app.presentation.options.minimize": "最小化",
|
||||||
"app.presentation.options.snapshot": "現在のスライドのスナップショット",
|
"app.presentation.options.snapshot": "現在のスライドのスナップショット",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "スライド {0}",
|
"app.presentation.presentationToolbar.goToSlide": "スライド {0}",
|
||||||
"app.presentation.placeholder": "現在アクティブなプレゼンテーションはありません",
|
"app.presentation.placeholder": "現在アクティブなプレゼンテーションはありません",
|
||||||
"app.presentationUploder.title": "プレゼンテーション",
|
"app.presentationUploder.title": "プレゼンテーション",
|
||||||
"app.presentationUploder.message": "プレゼンターはドキュメントをアップロードすることができます。お勧めのファイル形式はPDFです。右側のチェックボックスをクリックし、プレゼンテーションが選択されていることを確認してください。",
|
"app.presentationUploder.message": "発表者になるとオフィスドキュメントやPDFファイルをアップロードできるようになります。PDFファイルの使用がおすすめです。左側の丸いチェックボックスによってプレゼンファイルが選択されていることを確認してください。",
|
||||||
|
"app.presentationUploader.exportHint": "「チャットへ送信」を選ぶと、ホワイトボードへの書き込みをダウンロードするためのリンクが、公開チャットを通じてユーザーに提供されます。",
|
||||||
|
"app.presentationUploader.exportToastHeader": "チャットへ送信中 ({0} 個)",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "チャットへ送信中 ({0} 個)",
|
||||||
|
"app.presentationUploader.exporting": "チャットへ送信中",
|
||||||
|
"app.presentationUploader.sending": "送信中...",
|
||||||
|
"app.presentationUploader.collecting": "{1}枚のスライドのうち{0}番目を抽出中...",
|
||||||
|
"app.presentationUploader.processing": "{1}枚のスライドのうち{0}番目に書き込み中...",
|
||||||
|
"app.presentationUploader.sent": "送信終了",
|
||||||
|
"app.presentationUploader.exportingTimeout": "エクスポートに時間がかかりすぎています...",
|
||||||
|
"app.presentationUploader.export": "チャットへ送信",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "プレゼンテーションファイル",
|
||||||
"app.presentationUploder.extraHint": "重要:それぞれのファイルが{0}MB、{1}ページを超えないようにしてください。",
|
"app.presentationUploder.extraHint": "重要:それぞれのファイルが{0}MB、{1}ページを超えないようにしてください。",
|
||||||
"app.presentationUploder.uploadLabel": "アップロード",
|
"app.presentationUploder.uploadLabel": "アップロード",
|
||||||
"app.presentationUploder.confirmLabel": "確認",
|
"app.presentationUploder.confirmLabel": "確認",
|
||||||
@ -214,30 +257,32 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "画像をここにドラッグしてアップロードする",
|
"app.presentationUploder.dropzoneImagesLabel": "画像をここにドラッグしてアップロードする",
|
||||||
"app.presentationUploder.browseFilesLabel": "またはファイルを探す",
|
"app.presentationUploder.browseFilesLabel": "またはファイルを探す",
|
||||||
"app.presentationUploder.browseImagesLabel": "または画像を探す/キャプチャする",
|
"app.presentationUploder.browseImagesLabel": "または画像を探す/キャプチャする",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "外部アプリからプレゼン内容を追加",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "ファイルを閲覧",
|
||||||
"app.presentationUploder.fileToUpload": "アップロード前...",
|
"app.presentationUploder.fileToUpload": "アップロード前...",
|
||||||
"app.presentationUploder.currentBadge": "現在",
|
"app.presentationUploder.currentBadge": "現在のプレゼンファイル",
|
||||||
"app.presentationUploder.rejectedError": "選択されたファイルはアップロードできません。ファイル形式を確認してください。",
|
"app.presentationUploder.rejectedError": "選択されたファイルはアップロードできません。ファイル形式を確認してください。",
|
||||||
"app.presentationUploder.connectionClosedError": "接続に問題があったため中断されました。もう一度試してみてください。",
|
"app.presentationUploder.connectionClosedError": "接続に問題があったため中断されました。もう一度試してみてください。",
|
||||||
"app.presentationUploder.upload.progress": "アップロード中({0}%)",
|
"app.presentationUploder.upload.progress": "アップロード中({0}%)",
|
||||||
"app.presentationUploder.upload.413": "ファイルが大きすぎます。最大サイズは {0} MBです。",
|
"app.presentationUploder.upload.413": "ファイルが大きすぎます。最大サイズは {0} MBです。",
|
||||||
"app.presentationUploder.genericError": "申し訳ありませんが、何か問題があるようです。",
|
"app.presentationUploder.genericError": "申し訳ありませんが、何か問題があるようです。",
|
||||||
"app.presentationUploder.upload.408": "アップロードトークンの要求が時間切れになりました。",
|
"app.presentationUploder.upload.408": "アップロード許可の要求が時間切れになりました。",
|
||||||
"app.presentationUploder.upload.404": "エラー404:無効なアップロードトークン",
|
"app.presentationUploder.upload.404": "エラー404:無効なアップロード許可",
|
||||||
"app.presentationUploder.upload.401": "アップロードトークンの要求が失敗しました。",
|
"app.presentationUploder.upload.401": "アップロード許可の要求に失敗しました。",
|
||||||
"app.presentationUploder.conversion.conversionProcessingSlides": "{1}ページ中{0}ページ目を処理中",
|
"app.presentationUploder.conversion.conversionProcessingSlides": "{1}ページ中{0}ページ目を処理中",
|
||||||
"app.presentationUploder.conversion.genericConversionStatus": "ファイル変換中…",
|
"app.presentationUploder.conversion.genericConversionStatus": "ファイル変換中…",
|
||||||
"app.presentationUploder.conversion.generatingThumbnail": "サムネイル作成中…",
|
"app.presentationUploder.conversion.generatingThumbnail": "サムネイル作成中…",
|
||||||
"app.presentationUploder.conversion.generatedSlides": "スライド作成中…",
|
"app.presentationUploder.conversion.generatedSlides": "スライド作成中…",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "SVG画像作成中…",
|
"app.presentationUploder.conversion.generatingSvg": "SVG画像作成中…",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "ページ数の制限を超えました。最大は{0}ページです。",
|
"app.presentationUploder.conversion.pageCountExceeded": "ページ数の制限を超えました。最大は{0}ページです。",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "無効な形式です (拡張子={0}, タイプ={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "スライド{0}は{1}回の試行で処理できませんでした。",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Officeドキュメントが変換できませんでした。代わりにPDFをアップロードしてください。",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Officeドキュメントが変換できませんでした。代わりにPDFをアップロードしてください。",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Officeドキュメントが変換できませんでした。代わりにPDFをアップロードしてください。",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Officeドキュメントが変換できませんでした。代わりにPDFをアップロードしてください。",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "PDFファイルを変換できませんでした。最適化してみてください。最大は{0}ページです。",
|
"app.presentationUploder.conversion.pdfHasBigPage": "PDFファイルを変換できませんでした。最適化してみてください。最大は{0}ページです。",
|
||||||
"app.presentationUploder.conversion.timeout": "エラー:変換に時間がかかりすぎました",
|
"app.presentationUploder.conversion.timeout": "エラー:変換に時間がかかりすぎました",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "ページ数の判定に失敗しました。",
|
"app.presentationUploder.conversion.pageCountFailed": "ページ数の判定に失敗しました。",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "この拡張子のファイルはサポートされていません",
|
"app.presentationUploder.conversion.unsupportedDocument": "この拡張子のファイルはサポートされていません",
|
||||||
"app.presentationUploder.isDownloadableLabel": "プレゼン資料のダウンロードは現在許可されていません ー クリックすると許可されます",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "プレゼン資料のダウンロードが可能となっています ー クリックするとこれを禁止します",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "プレゼンテーション削除",
|
"app.presentationUploder.removePresentationLabel": "プレゼンテーション削除",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "現在のプレゼンテーションを表示する",
|
"app.presentationUploder.setAsCurrentPresentation": "現在のプレゼンテーションを表示する",
|
||||||
"app.presentationUploder.tableHeading.filename": "ファイル名",
|
"app.presentationUploder.tableHeading.filename": "ファイル名",
|
||||||
@ -251,12 +296,16 @@
|
|||||||
"app.presentationUploder.clearErrors": "エラー消去",
|
"app.presentationUploder.clearErrors": "エラー消去",
|
||||||
"app.presentationUploder.clearErrorsDesc": "アップロードに失敗したプレゼン資料を消去します",
|
"app.presentationUploder.clearErrorsDesc": "アップロードに失敗したプレゼン資料を消去します",
|
||||||
"app.presentationUploder.uploadViewTitle": "プレゼンテーションのアップロード",
|
"app.presentationUploder.uploadViewTitle": "プレゼンテーションのアップロード",
|
||||||
|
"app.poll.questionAndoptions.label" : "質問文\nA. 選択肢 *\nB. 選択肢 (任意)\nC. 選択肢 (任意)\nD. 選択肢 (任意)\nE. 選択肢 (任意)",
|
||||||
|
"app.poll.customInput.label": "自由入力",
|
||||||
|
"app.poll.customInputInstructions.label": "投票フォームを自由入力できます – 質問文と選択肢を指定の形式で記述するか、同じ形式のテキストファイルをドラッグ&ドロップしてください。",
|
||||||
|
"app.poll.maxOptionsWarning.label": "最初の5つの選択肢しか使用されません!",
|
||||||
"app.poll.pollPaneTitle": "投票",
|
"app.poll.pollPaneTitle": "投票",
|
||||||
"app.poll.enableMultipleResponseLabel": "複数回答を許可しますか?",
|
"app.poll.enableMultipleResponseLabel": "複数回答を許可しますか?",
|
||||||
"app.poll.quickPollTitle": "簡易投票",
|
"app.poll.quickPollTitle": "簡易投票",
|
||||||
"app.poll.hidePollDesc": "投票メニュー画面を隠す",
|
"app.poll.hidePollDesc": "投票メニュー画面を隠す",
|
||||||
"app.poll.quickPollInstruction": "オプションを選択し投票を設定してください。",
|
"app.poll.quickPollInstruction": "下から一つ選び投票を開始してください。",
|
||||||
"app.poll.activePollInstruction": "このパネルを開けたままにしておくと、問いに対する応答がライブで表示されます。投票が十分進んだら「投票結果を公開」を押します。結果が公開され、投票は終了します。",
|
"app.poll.activePollInstruction": "このパネルを開けたままにしておくと、問いに対する応答がライブで表示されます。投票が終わったら「投票結果を公開」を押します。結果が公開され、投票は終了します。",
|
||||||
"app.poll.dragDropPollInstruction": "投票の内容を入力するには、それを記入したテキストファイルを、ハイライトされた欄にドラッグしてください。",
|
"app.poll.dragDropPollInstruction": "投票の内容を入力するには、それを記入したテキストファイルを、ハイライトされた欄にドラッグしてください。",
|
||||||
"app.poll.customPollTextArea": "投票の内容を入力",
|
"app.poll.customPollTextArea": "投票の内容を入力",
|
||||||
"app.poll.publishLabel": "投票結果を公開",
|
"app.poll.publishLabel": "投票結果を公開",
|
||||||
@ -265,11 +314,11 @@
|
|||||||
"app.poll.closeLabel": "閉じる",
|
"app.poll.closeLabel": "閉じる",
|
||||||
"app.poll.waitingLabel": "投票待ち({0}/{1})",
|
"app.poll.waitingLabel": "投票待ち({0}/{1})",
|
||||||
"app.poll.ariaInputCount": "カスタム投票オプション{1}の{0}",
|
"app.poll.ariaInputCount": "カスタム投票オプション{1}の{0}",
|
||||||
"app.poll.customPlaceholder": "選択肢を追加する",
|
"app.poll.customPlaceholder": "選択肢を追加",
|
||||||
"app.poll.noPresentationSelected": "プレゼンテーションが選択されていません!1つ選択してください。",
|
"app.poll.noPresentationSelected": "プレゼンテーションが選択されていません!1つ選択してください。",
|
||||||
"app.poll.clickHereToSelect": "ここをクリックして選択する",
|
"app.poll.clickHereToSelect": "ここをクリックして選択する",
|
||||||
"app.poll.question.label" : "質問を入力してください...",
|
"app.poll.question.label" : "質問文を入力してください...",
|
||||||
"app.poll.optionalQuestion.label" : "(必要であれば)質問を入力してください...",
|
"app.poll.optionalQuestion.label" : "質問文を入力してください(任意)...",
|
||||||
"app.poll.userResponse.label" : "自由回答",
|
"app.poll.userResponse.label" : "自由回答",
|
||||||
"app.poll.responseTypes.label" : "回答方式",
|
"app.poll.responseTypes.label" : "回答方式",
|
||||||
"app.poll.optionDelete.label" : "削除",
|
"app.poll.optionDelete.label" : "削除",
|
||||||
@ -316,20 +365,20 @@
|
|||||||
"app.polling.submitLabel": "送る",
|
"app.polling.submitLabel": "送る",
|
||||||
"app.polling.submitAriaLabel": "回答を送る",
|
"app.polling.submitAriaLabel": "回答を送る",
|
||||||
"app.polling.responsePlaceholder": "答えを入力",
|
"app.polling.responsePlaceholder": "答えを入力",
|
||||||
"app.polling.responseSecret": "無記名投票 ー プレゼンターはあなたの答えを見ることができません。",
|
"app.polling.responseSecret": "無記名投票 ー 発表者はあなたの答えを見ることができません。",
|
||||||
"app.polling.responseNotSecret": "記名投票 ー プレゼンターはあなたの答えを見ることができます。",
|
"app.polling.responseNotSecret": "記名投票 ー プレゼンターはあなたの答えを見ることができます。",
|
||||||
"app.polling.pollAnswerLabel": "投票結果{0}",
|
"app.polling.pollAnswerLabel": "投票結果{0}",
|
||||||
"app.polling.pollAnswerDesc": "この選択肢で「{0}」に投票する",
|
"app.polling.pollAnswerDesc": "これを選び「{0}」に投票する",
|
||||||
"app.failedMessage": "サーバー接続障害",
|
"app.failedMessage": "申し訳ありませんが、サーバーへの接続障害です。",
|
||||||
"app.downloadPresentationButton.label": "元のプレゼンテーションをダウンロード",
|
"app.downloadPresentationButton.label": "元のプレゼンテーションをダウンロード",
|
||||||
"app.connectingMessage": "接続中...",
|
"app.connectingMessage": "接続中...",
|
||||||
"app.waitingMessage": "接続が切れました。 {0} 秒で再接続します ...",
|
"app.waitingMessage": "接続が切れました。 {0} 秒で再接続します ...",
|
||||||
"app.retryNow": "リトライ",
|
"app.retryNow": "すぐに再接続",
|
||||||
"app.muteWarning.label": "自分のミュートを解除するため{0}をクリック",
|
"app.muteWarning.label": "自分のミュートを解除するため{0}をクリック",
|
||||||
"app.muteWarning.disableMessage": "ミュートの警告は、次にアンミュートするまで無効になります",
|
"app.muteWarning.disableMessage": "ミュートの警告は、次にアンミュートするまで無効になります",
|
||||||
"app.muteWarning.tooltip": "クリックすると閉じます。次にアンミュートするまで警告は無効になります。",
|
"app.muteWarning.tooltip": "クリックすると閉じます。次にアンミュートするまで警告は無効になります。",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "オプション",
|
"app.navBar.settingsDropdown.optionsLabel": "オプション",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "全画面表示に切替",
|
"app.navBar.settingsDropdown.fullscreenLabel": "全画面表示",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "設定を開く",
|
"app.navBar.settingsDropdown.settingsLabel": "設定を開く",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "このソフトウェアについて",
|
"app.navBar.settingsDropdown.aboutLabel": "このソフトウェアについて",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "退室する",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "退室する",
|
||||||
@ -342,24 +391,25 @@
|
|||||||
"app.navBar.settingsDropdown.hotkeysLabel": "キーボードショートカット",
|
"app.navBar.settingsDropdown.hotkeysLabel": "キーボードショートカット",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "利用可能なキーボードショートカット一覧",
|
"app.navBar.settingsDropdown.hotkeysDesc": "利用可能なキーボードショートカット一覧",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "ヘルプ",
|
"app.navBar.settingsDropdown.helpLabel": "ヘルプ",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "ユーザーをビデオチュートリアルへリンクする(新しいタブを開く)",
|
"app.navBar.settingsDropdown.openAppLabel": "BigBlueButtonタブレットアプリを開く",
|
||||||
|
"app.navBar.settingsDropdown.helpDesc": "ユーザーをビデオチュートリアルへつなげる(新しいタブを開く)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "現在の会議を終了する",
|
"app.navBar.settingsDropdown.endMeetingDesc": "現在の会議を終了する",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "会議を終了する",
|
"app.navBar.settingsDropdown.endMeetingLabel": "会議を終了する",
|
||||||
"app.navBar.userListToggleBtnLabel": "ユーザーリストのトグル",
|
"app.navBar.userListToggleBtnLabel": "ユーザーリストのトグル",
|
||||||
"app.navBar.toggleUserList.ariaLabel": "ユーザーとメッセージの切替",
|
"app.navBar.toggleUserList.ariaLabel": "ユーザーとメッセージの切替",
|
||||||
"app.navBar.toggleUserList.newMessages": "メッセージを通知する",
|
"app.navBar.toggleUserList.newMessages": "メッセージを通知する",
|
||||||
"app.navBar.toggleUserList.newMsgAria": "{0}から新しいメッセージ",
|
"app.navBar.toggleUserList.newMsgAria": "{0}から新しいメッセージ",
|
||||||
"app.navBar.recording": "このセッションは録画されています",
|
"app.navBar.recording": "この会議は録画されています",
|
||||||
"app.navBar.recording.on": "録画中",
|
"app.navBar.recording.on": "録画中",
|
||||||
"app.navBar.recording.off": "録画されていません",
|
"app.navBar.recording.off": "録画されていません",
|
||||||
"app.navBar.emptyAudioBrdige": "アクティブなマイクがありません。この録画に音声を追加するには、マイクを使用してください。",
|
"app.navBar.emptyAudioBrdige": "アクティブなマイクがありません。この録画に音声を追加するには、マイクを使用してください。",
|
||||||
"app.leaveConfirmation.confirmLabel": "退室",
|
"app.leaveConfirmation.confirmLabel": "退室",
|
||||||
"app.leaveConfirmation.confirmDesc": "自分を会議からログアウトさせる",
|
"app.leaveConfirmation.confirmDesc": "自分を会議からログアウトさせる",
|
||||||
"app.endMeeting.title": "終了 {0}",
|
"app.endMeeting.title": "終了します... {0}",
|
||||||
"app.endMeeting.description": "この操作により、セッションを終了します。まだ{0}人が参加していますが本当に構いませんか?",
|
"app.endMeeting.description": "この操作により、会議を終了します。まだ{0}人が参加していますが本当に構いませんか?",
|
||||||
"app.endMeeting.noUserDescription": "本当にこのセッションを終了しますか?",
|
"app.endMeeting.noUserDescription": "本当にこの会議を終了しますか?",
|
||||||
"app.endMeeting.contentWarning": "このセッションのチャットメッセージ、共有メモ、ホワイトボードの書き込み、そして共有ドキュメントにはもうアクセスできなくなります",
|
"app.endMeeting.contentWarning": "この会議のチャットメッセージ、共有メモ、ホワイトボードの書き込み、そして共有ドキュメントにはもうアクセスできなくなります",
|
||||||
"app.endMeeting.yesLabel": "はい",
|
"app.endMeeting.yesLabel": "ユーザー全員を退室させる",
|
||||||
"app.endMeeting.noLabel": "いいえ",
|
"app.endMeeting.noLabel": "いいえ",
|
||||||
"app.about.title": "このソフトウェアについて",
|
"app.about.title": "このソフトウェアについて",
|
||||||
"app.about.version": "ビルド番号:",
|
"app.about.version": "ビルド番号:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "OK",
|
"app.about.confirmDesc": "OK",
|
||||||
"app.about.dismissLabel": "キャンセル",
|
"app.about.dismissLabel": "キャンセル",
|
||||||
"app.about.dismissDesc": "クライアント情報を閉じる",
|
"app.about.dismissDesc": "クライアント情報を閉じる",
|
||||||
|
"app.mobileAppModal.title": "BigBlueButtonタブレットアプリを開く",
|
||||||
|
"app.mobileAppModal.description": "BigBlueButtonタブレットアプリはデバイスにインストールされていますか?",
|
||||||
|
"app.mobileAppModal.openApp": "はい、すぐにアプリを開きます",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "会議URLを取得しています",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "会議URLの取得エラー",
|
||||||
|
"app.mobileAppModal.openStore": "いいえ、アプリストアを開いてダウンロードします",
|
||||||
|
"app.mobileAppModal.dismissLabel": "キャンセル",
|
||||||
|
"app.mobileAppModal.dismissDesc": "閉じる",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "ユーザー{0}があなたと同じIDを使用して接続しました。",
|
||||||
"app.actionsBar.changeStatusLabel": "ステータス変更",
|
"app.actionsBar.changeStatusLabel": "ステータス変更",
|
||||||
"app.actionsBar.muteLabel": "ミュート",
|
"app.actionsBar.muteLabel": "ミュート",
|
||||||
"app.actionsBar.unmuteLabel": "ミュート解除",
|
"app.actionsBar.unmuteLabel": "ミュート解除",
|
||||||
@ -379,19 +438,22 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "最小化したプレゼンパネルを復活させるボタン",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "最小化したプレゼンパネルを復活させるボタン",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "プレゼンパネルを最小化",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "プレゼンパネルを最小化",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "プレゼンパネルを最小化するボタン",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "プレゼンパネルを最小化するボタン",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "レイアウト設定モーダル",
|
||||||
"app.screenshare.screenShareLabel" : "画面共有",
|
"app.screenshare.screenShareLabel" : "画面共有",
|
||||||
"app.submenu.application.applicationSectionTitle": "アプリケーション",
|
"app.submenu.application.applicationSectionTitle": "アプリケーション",
|
||||||
"app.submenu.application.animationsLabel": "アニメーション効果",
|
"app.submenu.application.animationsLabel": "アニメーション効果",
|
||||||
"app.submenu.application.audioFilterLabel": "マイク音声の自動補正",
|
"app.submenu.application.audioFilterLabel": "マイク音声の自動補正",
|
||||||
|
"app.submenu.application.darkThemeLabel": "ダークモード",
|
||||||
"app.submenu.application.fontSizeControlLabel": "フォントサイズ",
|
"app.submenu.application.fontSizeControlLabel": "フォントサイズ",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "アプリケーションのフォントサイズを大きくする",
|
"app.submenu.application.increaseFontBtnLabel": "アプリケーションのフォントサイズを大きくする",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "アプリケーションのフォントサイズを小さくする",
|
"app.submenu.application.decreaseFontBtnLabel": "アプリケーションのフォントサイズを小さくする",
|
||||||
"app.submenu.application.currentSize": "現在{0}",
|
"app.submenu.application.currentSize": "現在 {0}",
|
||||||
"app.submenu.application.languageLabel": "使用言語",
|
"app.submenu.application.languageLabel": "使用言語",
|
||||||
"app.submenu.application.languageOptionLabel": "言語を選択",
|
"app.submenu.application.languageOptionLabel": "言語を選択",
|
||||||
"app.submenu.application.noLocaleOptionLabel": "アクティブなロケールがありません",
|
"app.submenu.application.noLocaleOptionLabel": "アクティブなロケールがありません",
|
||||||
"app.submenu.application.paginationEnabledLabel": "ビデオのページ付け",
|
"app.submenu.application.paginationEnabledLabel": "ビデオのページ付け",
|
||||||
"app.submenu.application.layoutOptionLabel": "レイアウトのタイプ",
|
"app.submenu.application.layoutOptionLabel": "レイアウトのタイプ",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "レイアウトを強制",
|
||||||
"app.submenu.notification.SectionTitle": "通知",
|
"app.submenu.notification.SectionTitle": "通知",
|
||||||
"app.submenu.notification.Desc": "何をどのように通知するかを設定できます。",
|
"app.submenu.notification.Desc": "何をどのように通知するかを設定できます。",
|
||||||
"app.submenu.notification.audioAlertLabel": "音声通知",
|
"app.submenu.notification.audioAlertLabel": "音声通知",
|
||||||
@ -402,7 +464,7 @@
|
|||||||
"app.submenu.notification.guestWaitingLabel": "承認待ちのゲスト",
|
"app.submenu.notification.guestWaitingLabel": "承認待ちのゲスト",
|
||||||
"app.submenu.audio.micSourceLabel": "マイクのソース",
|
"app.submenu.audio.micSourceLabel": "マイクのソース",
|
||||||
"app.submenu.audio.speakerSourceLabel": "スピーカーのソース",
|
"app.submenu.audio.speakerSourceLabel": "スピーカーのソース",
|
||||||
"app.submenu.audio.streamVolumeLabel": "音声ストリームの音量",
|
"app.submenu.audio.streamVolumeLabel": "入力音量",
|
||||||
"app.submenu.video.title": "ビデオ",
|
"app.submenu.video.title": "ビデオ",
|
||||||
"app.submenu.video.videoSourceLabel": "ソースを表示",
|
"app.submenu.video.videoSourceLabel": "ソースを表示",
|
||||||
"app.submenu.video.videoOptionLabel": "ソース表示を選択",
|
"app.submenu.video.videoOptionLabel": "ソース表示を選択",
|
||||||
@ -419,15 +481,15 @@
|
|||||||
"app.settings.main.save.label": "保存",
|
"app.settings.main.save.label": "保存",
|
||||||
"app.settings.main.save.label.description": "変更を保存し設定メニューを閉じる",
|
"app.settings.main.save.label.description": "変更を保存し設定メニューを閉じる",
|
||||||
"app.settings.dataSavingTab.label": "通信量抑制",
|
"app.settings.dataSavingTab.label": "通信量抑制",
|
||||||
"app.settings.dataSavingTab.webcam": "ウェブカメラを有効にする",
|
"app.settings.dataSavingTab.webcam": "参加者のウェブカメラを有効にする",
|
||||||
"app.settings.dataSavingTab.screenShare": "デスクトップ共有を有効にする",
|
"app.settings.dataSavingTab.screenShare": "参加者の画面共有を有効にする",
|
||||||
"app.settings.dataSavingTab.description": "これらの設定により通信量を抑制できます。",
|
"app.settings.dataSavingTab.description": "これらの設定により通信量を抑制できます。",
|
||||||
"app.settings.save-notification.label": "設定が保存されました",
|
"app.settings.save-notification.label": "設定が保存されました",
|
||||||
"app.statusNotifier.lowerHands": "手をおろす",
|
"app.statusNotifier.lowerHands": "手をおろす",
|
||||||
"app.statusNotifier.lowerHandDescOneUser": "{0}の手をおろす",
|
"app.statusNotifier.lowerHandDescOneUser": "{0}の手をおろす",
|
||||||
"app.statusNotifier.raisedHandsTitle": "手を上げる",
|
"app.statusNotifier.raisedHandsTitle": "手をあげる",
|
||||||
"app.statusNotifier.raisedHandDesc": "{0}人が手を上げました",
|
"app.statusNotifier.raisedHandDesc": "{0}が手をあげました",
|
||||||
"app.statusNotifier.raisedHandDescOneUser": "{0}人が手を上げました",
|
"app.statusNotifier.raisedHandDescOneUser": "{0}が手をあげました",
|
||||||
"app.statusNotifier.and": "と",
|
"app.statusNotifier.and": "と",
|
||||||
"app.switch.onLabel": "入",
|
"app.switch.onLabel": "入",
|
||||||
"app.switch.offLabel": "切",
|
"app.switch.offLabel": "切",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "プレゼン用ファイルの管理",
|
"app.actionsBar.actionsDropdown.presentationLabel": "プレゼン用ファイルの管理",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "投票を初期化",
|
"app.actionsBar.actionsDropdown.initPollLabel": "投票を初期化",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "画面を共有",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "画面を共有",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "画面共有ロック",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "画面共有をやめる",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "画面共有をやめる",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "プレゼンテーションをアップロード",
|
"app.actionsBar.actionsDropdown.presentationDesc": "プレゼンテーションをアップロード",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "投票を初期化",
|
"app.actionsBar.actionsDropdown.initPollDesc": "投票を初期化",
|
||||||
@ -453,16 +514,17 @@
|
|||||||
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "現在の会議を分割し、小会議を作成する",
|
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "現在の会議を分割し、小会議を作成する",
|
||||||
"app.actionsBar.actionsDropdown.captionsLabel": "字幕を作成する",
|
"app.actionsBar.actionsDropdown.captionsLabel": "字幕を作成する",
|
||||||
"app.actionsBar.actionsDropdown.captionsDesc": "字幕を切り替える",
|
"app.actionsBar.actionsDropdown.captionsDesc": "字幕を切り替える",
|
||||||
"app.actionsBar.actionsDropdown.takePresenter": "プレゼンターになる",
|
"app.actionsBar.actionsDropdown.takePresenter": "発表者になる",
|
||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "自分を新しいプレゼンターとして割り当てる",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "自分を新しい発表者とする",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "参加者を無作為に指名",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "参加者を無作為に指名",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "現参加者の中からランダムに一人あてます",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "現視聴者の中からランダムに一人あてます",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "レイアウトを全体で統一",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "ステータス設定",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "ステータス設定",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "不在",
|
"app.actionsBar.emojiMenu.awayLabel": "不在",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "スタータスを「不在」にする",
|
"app.actionsBar.emojiMenu.awayDesc": "スタータスを「不在」にする",
|
||||||
"app.actionsBar.emojiMenu.raiseHandLabel": "挙手",
|
"app.actionsBar.emojiMenu.raiseHandLabel": "挙手",
|
||||||
"app.actionsBar.emojiMenu.lowerHandLabel": "手をおろす",
|
"app.actionsBar.emojiMenu.lowerHandLabel": "手をおろす",
|
||||||
"app.actionsBar.emojiMenu.raiseHandDesc": "質問がありましたら挙手してください",
|
"app.actionsBar.emojiMenu.raiseHandDesc": "質問があれば挙手してください",
|
||||||
"app.actionsBar.emojiMenu.neutralLabel": "普通",
|
"app.actionsBar.emojiMenu.neutralLabel": "普通",
|
||||||
"app.actionsBar.emojiMenu.neutralDesc": "ステータスを「普通」にする",
|
"app.actionsBar.emojiMenu.neutralDesc": "ステータスを「普通」にする",
|
||||||
"app.actionsBar.emojiMenu.confusedLabel": "ん?",
|
"app.actionsBar.emojiMenu.confusedLabel": "ん?",
|
||||||
@ -484,7 +546,7 @@
|
|||||||
"app.actionsBar.captions.stop": "字幕を非表示",
|
"app.actionsBar.captions.stop": "字幕を非表示",
|
||||||
"app.audioNotification.audioFailedError1001": "WebSocketが切断されました (error 1001)",
|
"app.audioNotification.audioFailedError1001": "WebSocketが切断されました (error 1001)",
|
||||||
"app.audioNotification.audioFailedError1002": "WebSocket接続に失敗しました (error 1002)",
|
"app.audioNotification.audioFailedError1002": "WebSocket接続に失敗しました (error 1002)",
|
||||||
"app.audioNotification.audioFailedError1003": "このバージョンのブラウザはサポートされていません (error 1003)",
|
"app.audioNotification.audioFailedError1003": "このブラウザのバージョンはサポートされていません (error 1003)",
|
||||||
"app.audioNotification.audioFailedError1004": "呼び出しに失敗しました (理由={0}) (error 1004)",
|
"app.audioNotification.audioFailedError1004": "呼び出しに失敗しました (理由={0}) (error 1004)",
|
||||||
"app.audioNotification.audioFailedError1005": "通話が予期せず終了しました (error 1005)",
|
"app.audioNotification.audioFailedError1005": "通話が予期せず終了しました (error 1005)",
|
||||||
"app.audioNotification.audioFailedError1006": "呼び出しがタイムアウトしました (error 1006)",
|
"app.audioNotification.audioFailedError1006": "呼び出しがタイムアウトしました (error 1006)",
|
||||||
@ -496,8 +558,9 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "接続が閉じました (ICE error 1012)",
|
"app.audioNotification.audioFailedError1012": "接続が閉じました (ICE error 1012)",
|
||||||
"app.audioNotification.audioFailedMessage": "音声接続に失敗しました",
|
"app.audioNotification.audioFailedMessage": "音声接続に失敗しました",
|
||||||
"app.audioNotification.mediaFailedMessage": "getUserMicMediaは失敗しました。許可されているのは安全な発行元のみです。",
|
"app.audioNotification.mediaFailedMessage": "getUserMicMediaは失敗しました。許可されているのは安全な発行元のみです。",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "オーディオデバイスの変更に失敗しました。選択したデバイスが正しく設定されていて、使用可能であるかどうか確認してください。",
|
||||||
"app.audioNotification.closeLabel": "閉じる",
|
"app.audioNotification.closeLabel": "閉じる",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "参加者のマイクはロックされています。「聴講のみ」の接続を行います。",
|
"app.audioNotificaion.reconnectingAsListenOnly": "視聴者のマイクはロックされています。「聴講のみ」の接続を行います。",
|
||||||
"app.breakoutJoinConfirmation.title": "小会議室に参加",
|
"app.breakoutJoinConfirmation.title": "小会議室に参加",
|
||||||
"app.breakoutJoinConfirmation.message": "この部屋に入室しますか:",
|
"app.breakoutJoinConfirmation.message": "この部屋に入室しますか:",
|
||||||
"app.breakoutJoinConfirmation.confirmDesc": "小会議室に参加します",
|
"app.breakoutJoinConfirmation.confirmDesc": "小会議室に参加します",
|
||||||
@ -509,6 +572,7 @@
|
|||||||
"app.breakout.dropdown.manageDuration": "利用時間を変更",
|
"app.breakout.dropdown.manageDuration": "利用時間を変更",
|
||||||
"app.breakout.dropdown.destroyAll": "小会議室を閉じる",
|
"app.breakout.dropdown.destroyAll": "小会議室を閉じる",
|
||||||
"app.breakout.dropdown.options": "小会議室の設定",
|
"app.breakout.dropdown.options": "小会議室の設定",
|
||||||
|
"app.breakout.dropdown.manageUsers": "ユーザーの管理",
|
||||||
"app.calculatingBreakoutTimeRemaining": "残り時間を計算中...",
|
"app.calculatingBreakoutTimeRemaining": "残り時間を計算中...",
|
||||||
"app.audioModal.ariaTitle": "音声参加モーダル",
|
"app.audioModal.ariaTitle": "音声参加モーダル",
|
||||||
"app.audioModal.microphoneLabel": "マイクをオン",
|
"app.audioModal.microphoneLabel": "マイクをオン",
|
||||||
@ -517,7 +581,7 @@
|
|||||||
"app.audioModal.listenOnlyDesc": "音声付きの会議に聴講のみで参加",
|
"app.audioModal.listenOnlyDesc": "音声付きの会議に聴講のみで参加",
|
||||||
"app.audioModal.audioChoiceLabel": "音声参加の方法を選んでください",
|
"app.audioModal.audioChoiceLabel": "音声参加の方法を選んでください",
|
||||||
"app.audioModal.iOSBrowser": "サポートされていない音声/ビデオ",
|
"app.audioModal.iOSBrowser": "サポートされていない音声/ビデオ",
|
||||||
"app.audioModal.iOSErrorDescription": "iOSのChromeでは、音声、 ビデオは現在サポートされていません",
|
"app.audioModal.iOSErrorDescription": "iOSのChromeでは、音声、 ビデオは今のところサポートされていません",
|
||||||
"app.audioModal.iOSErrorRecommendation": "Safari iOSをお使いください",
|
"app.audioModal.iOSErrorRecommendation": "Safari iOSをお使いください",
|
||||||
"app.audioModal.audioChoiceDesc": "音声はどうしますか?",
|
"app.audioModal.audioChoiceDesc": "音声はどうしますか?",
|
||||||
"app.audioModal.unsupportedBrowserLabel": "サポート対象外のブラウザを使用している可能性があります。サポート対象の {0} または {1} をお使いください。",
|
"app.audioModal.unsupportedBrowserLabel": "サポート対象外のブラウザを使用している可能性があります。サポート対象の {0} または {1} をお使いください。",
|
||||||
@ -553,24 +617,47 @@
|
|||||||
"app.audio.joinAudio": "音声で参加",
|
"app.audio.joinAudio": "音声で参加",
|
||||||
"app.audio.leaveAudio": "音声を停止",
|
"app.audio.leaveAudio": "音声を停止",
|
||||||
"app.audio.changeAudioDevice": "オーディオデバイスを変更",
|
"app.audio.changeAudioDevice": "オーディオデバイスを変更",
|
||||||
"app.audio.enterSessionLabel": "セッションに参加",
|
"app.audio.enterSessionLabel": "会議に参加",
|
||||||
"app.audio.playSoundLabel": "音声を再生",
|
"app.audio.playSoundLabel": "音声を再生",
|
||||||
|
"app.audio.stopAudioFeedback": "エコー再生を停止",
|
||||||
"app.audio.backLabel": "戻る",
|
"app.audio.backLabel": "戻る",
|
||||||
"app.audio.loading": "ロード中",
|
"app.audio.loading": "ロード中",
|
||||||
"app.audio.microphones": "マイク",
|
"app.audio.microphones": "マイク",
|
||||||
"app.audio.speakers": "スピーカー",
|
"app.audio.speakers": "スピーカー",
|
||||||
"app.audio.noDeviceFound": "デバイスが見つかりません",
|
"app.audio.noDeviceFound": "デバイスが見つかりません",
|
||||||
"app.audio.audioSettings.titleLabel": "音声設定を選択",
|
"app.audio.audioSettings.titleLabel": "音声設定を選択",
|
||||||
"app.audio.audioSettings.descriptionLabel": "マイク共有の許可を求めるダイアログがブラウザ内に現われますのでご了承ください。",
|
"app.audio.audioSettings.descriptionLabel": "マイク共有の許可を求めるダイアログがブラウザ内にあらわれますのでご注意ください。",
|
||||||
"app.audio.audioSettings.microphoneSourceLabel": "マイクのソース",
|
"app.audio.audioSettings.microphoneSourceLabel": "マイクのソース",
|
||||||
"app.audio.audioSettings.speakerSourceLabel": "スピーカーのソース",
|
"app.audio.audioSettings.speakerSourceLabel": "スピーカーのソース",
|
||||||
"app.audio.audioSettings.testSpeakerLabel": "スピーカーをテストする",
|
"app.audio.audioSettings.testSpeakerLabel": "スピーカーをテストする",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "音声ストリームの音量",
|
"app.audio.audioSettings.microphoneStreamLabel": "音声ストリームのボリューム",
|
||||||
"app.audio.audioSettings.retryLabel": "再試行",
|
"app.audio.audioSettings.retryLabel": "再試行",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "音声入力{0}",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "音声出力{0}",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "標準",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "デバイスを探しています...",
|
||||||
"app.audio.listenOnly.backLabel": "戻る",
|
"app.audio.listenOnly.backLabel": "戻る",
|
||||||
"app.audio.listenOnly.closeLabel": "閉じる",
|
"app.audio.listenOnly.closeLabel": "閉じる",
|
||||||
"app.audio.permissionsOverlay.title": "デバイスのアクセスを許可する",
|
"app.audio.permissionsOverlay.title": "デバイスのアクセスを許可する",
|
||||||
"app.audio.permissionsOverlay.hint": "会議に音声で参加するには、メディアデバイスの使用を許可する必要があります。",
|
"app.audio.permissionsOverlay.hint": "会議に音声で参加するには、メディアデバイスの使用を許可してもらう必要があります。",
|
||||||
|
"app.audio.captions.button.start": "字幕を開始",
|
||||||
|
"app.audio.captions.button.stop": "字幕を停止",
|
||||||
|
"app.audio.captions.button.language": "言語",
|
||||||
|
"app.audio.captions.button.transcription": "文字起こし",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "文字起こし設定",
|
||||||
|
"app.audio.captions.speech.title": "自動文字起こし",
|
||||||
|
"app.audio.captions.speech.disabled": "無効",
|
||||||
|
"app.audio.captions.speech.unsupported": "お使いのブラウザは音声認識をサポートしていません。音声は書き起こされません。",
|
||||||
|
"app.audio.captions.select.de-DE": "ドイツ語",
|
||||||
|
"app.audio.captions.select.en-US": "英語",
|
||||||
|
"app.audio.captions.select.es-ES": "スペイン語",
|
||||||
|
"app.audio.captions.select.fr-FR": "フランス語",
|
||||||
|
"app.audio.captions.select.hi-ID": "ヒンズー語",
|
||||||
|
"app.audio.captions.select.it-IT": "イタリア語",
|
||||||
|
"app.audio.captions.select.ja-JP": "日本語",
|
||||||
|
"app.audio.captions.select.pt-BR": "ポルトガル語",
|
||||||
|
"app.audio.captions.select.ru-RU": "ロシア語",
|
||||||
|
"app.audio.captions.select.zh-CN": "中国語",
|
||||||
"app.error.removed": "会議から退席しました",
|
"app.error.removed": "会議から退席しました",
|
||||||
"app.error.meeting.ended": "会議からログアウトしました",
|
"app.error.meeting.ended": "会議からログアウトしました",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "重複したユーザーが会議に参加しようとしています",
|
"app.meeting.logout.duplicateUserEjectReason": "重複したユーザーが会議に参加しようとしています",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "会議から退室させられました",
|
"app.meeting.logout.ejectedFromMeeting": "会議から退室させられました",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "認証トークンが確認できませんでした",
|
"app.meeting.logout.validateTokenFailedEjectReason": "認証トークンが確認できませんでした",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "一定時間操作がなかったため、接続が中断されました",
|
"app.meeting.logout.userInactivityEjectReason": "一定時間操作がなかったため、接続が中断されました",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "この会議に参加可能な最大人数に達しました",
|
||||||
"app.meeting-ended.rating.legendLabel": "評価のフィードバック",
|
"app.meeting-ended.rating.legendLabel": "評価のフィードバック",
|
||||||
"app.meeting-ended.rating.starLabel": "スター",
|
"app.meeting-ended.rating.starLabel": "スター",
|
||||||
"app.modal.close": "閉じる",
|
"app.modal.close": "閉じる",
|
||||||
@ -585,7 +673,7 @@
|
|||||||
"app.modal.confirm": "完了",
|
"app.modal.confirm": "完了",
|
||||||
"app.modal.newTab": "(新しいタブを開く)",
|
"app.modal.newTab": "(新しいタブを開く)",
|
||||||
"app.modal.confirm.description": "変更を保存してウィンドウを閉じる",
|
"app.modal.confirm.description": "変更を保存してウィンドウを閉じる",
|
||||||
"app.modal.randomUser.noViewers.description": "指名する参加者がいません",
|
"app.modal.randomUser.noViewers.description": "指名する視聴者がいません",
|
||||||
"app.modal.randomUser.selected.description": "あなたが選ばれました",
|
"app.modal.randomUser.selected.description": "あなたが選ばれました",
|
||||||
"app.modal.randomUser.title": "選ばれた人",
|
"app.modal.randomUser.title": "選ばれた人",
|
||||||
"app.modal.randomUser.who": "誰が選ばれるでしょう..?",
|
"app.modal.randomUser.who": "誰が選ばれるでしょう..?",
|
||||||
@ -599,11 +687,14 @@
|
|||||||
"app.error.403": "会議から退室させられました",
|
"app.error.403": "会議から退室させられました",
|
||||||
"app.error.404": "見つかりません",
|
"app.error.404": "見つかりません",
|
||||||
"app.error.408": "認証に失敗しました",
|
"app.error.408": "認証に失敗しました",
|
||||||
|
"app.error.409": "競合",
|
||||||
"app.error.410": "会議は終了しました",
|
"app.error.410": "会議は終了しました",
|
||||||
"app.error.500": "問題が起こりました",
|
"app.error.500": "問題が起こりました",
|
||||||
"app.error.userLoggedOut": "ログアウトしたため、セッショントークンが無効になっています",
|
"app.error.503": "接続が切断されました",
|
||||||
"app.error.ejectedUser": "強制退出のため、セッショントークンが無効になっています",
|
"app.error.disconnected.rejoin": "ページを再読み込みすると再び参加できます",
|
||||||
"app.error.joinedAnotherWindow": "このセッションはブラウザの別ウィンドウで既に開かれているようです。",
|
"app.error.userLoggedOut": "ログアウトしたため、会議の参加許可が無効になっています",
|
||||||
|
"app.error.ejectedUser": "強制退出のため、会議の参加許可が無効になっています",
|
||||||
|
"app.error.joinedAnotherWindow": "この会議はブラウザの別ウィンドウで既に開かれているようです。",
|
||||||
"app.error.userBanned": "ユーザーは退出させられています",
|
"app.error.userBanned": "ユーザーは退出させられています",
|
||||||
"app.error.leaveLabel": "再ログイン",
|
"app.error.leaveLabel": "再ログイン",
|
||||||
"app.error.fallback.presentation.title": "エラーが発生しました",
|
"app.error.fallback.presentation.title": "エラーが発生しました",
|
||||||
@ -611,14 +702,14 @@
|
|||||||
"app.error.fallback.presentation.reloadButton": "再読み込み",
|
"app.error.fallback.presentation.reloadButton": "再読み込み",
|
||||||
"app.guest.waiting": "主催者の承認待ち",
|
"app.guest.waiting": "主催者の承認待ち",
|
||||||
"app.guest.errorSeeConsole": "エラー:詳細はコンソールに表示。",
|
"app.guest.errorSeeConsole": "エラー:詳細はコンソールに表示。",
|
||||||
"app.guest.noModeratorResponse": "モデレーターからの反応がありません。",
|
"app.guest.noModeratorResponse": "司会者からの反応がありません。",
|
||||||
"app.guest.noSessionToken": "セッションのトークンを受け取っていません。",
|
"app.guest.noSessionToken": "会議の参加許可が得られていません。",
|
||||||
"app.guest.windowTitle": "BigBlueButton - ゲストロビー",
|
"app.guest.windowTitle": "BigBlueButton - ゲストロビー",
|
||||||
"app.guest.missingToken": "セッショントークンのないゲスト。",
|
"app.guest.missingToken": "会議の参加許可のないゲスト。",
|
||||||
"app.guest.missingSession": "セッションが不明のゲスト。",
|
"app.guest.missingSession": "セッションが不明のゲスト。",
|
||||||
"app.guest.missingMeeting": "会議は開かれていません。",
|
"app.guest.missingMeeting": "会議は開かれていません。",
|
||||||
"app.guest.meetingEnded": "会議は終わりました。",
|
"app.guest.meetingEnded": "会議は終わりました。",
|
||||||
"app.guest.guestWait": "モデレーターが参加を許可するまでお待ちください。",
|
"app.guest.guestWait": "司会者が参加を許可するまでお待ちください。",
|
||||||
"app.guest.guestDeny": "会議への参加を拒否されたゲスト。",
|
"app.guest.guestDeny": "会議への参加を拒否されたゲスト。",
|
||||||
"app.guest.seatWait": "会議への参加許可を待っているゲスト。",
|
"app.guest.seatWait": "会議への参加許可を待っているゲスト。",
|
||||||
"app.guest.allow": "参加を許可され会議へ向かうゲスト。",
|
"app.guest.allow": "参加を許可され会議へ向かうゲスト。",
|
||||||
@ -634,31 +725,35 @@
|
|||||||
"app.userList.guest.allowEveryone": "全員を許可する",
|
"app.userList.guest.allowEveryone": "全員を許可する",
|
||||||
"app.userList.guest.denyEveryone": "全員を拒否する",
|
"app.userList.guest.denyEveryone": "全員を拒否する",
|
||||||
"app.userList.guest.pendingUsers": "{0} 保留中のユーザー",
|
"app.userList.guest.pendingUsers": "{0} 保留中のユーザー",
|
||||||
"app.userList.guest.noPendingUsers": "現在保留中のユーザーはいません",
|
"app.userList.guest.noPendingUsers": "今のところ保留中のユーザーはいません",
|
||||||
"app.userList.guest.pendingGuestUsers": "{0} 保留中のゲストユーザー",
|
"app.userList.guest.pendingGuestUsers": "{0} 保留中のゲストユーザー",
|
||||||
"app.userList.guest.pendingGuestAlert": "はセッションに参加し、許可を待っています。",
|
"app.userList.guest.pendingGuestAlert": "はセッションに参加し、許可を待っています。",
|
||||||
"app.userList.guest.rememberChoice": "選択を記憶させる",
|
"app.userList.guest.rememberChoice": "選択を記憶させる",
|
||||||
"app.userList.guest.emptyMessage": "現在のところメッセージはありません",
|
"app.userList.guest.emptyMessage": "今のところメッセージはありません",
|
||||||
"app.userList.guest.inputPlaceholder": "ゲストロビーへのメッセージ",
|
"app.userList.guest.inputPlaceholder": "ゲストロビーへのメッセージ",
|
||||||
"app.userList.guest.privateInputPlaceholder": "{0}へのメッセージ",
|
"app.userList.guest.privateInputPlaceholder": "{0}へのメッセージ",
|
||||||
"app.userList.guest.privateMessageLabel": "メッセージ",
|
"app.userList.guest.privateMessageLabel": "メッセージ",
|
||||||
"app.userList.guest.acceptLabel": "承認",
|
"app.userList.guest.acceptLabel": "承認",
|
||||||
"app.userList.guest.denyLabel": "却下",
|
"app.userList.guest.denyLabel": "却下",
|
||||||
|
"app.userList.guest.feedbackMessage": "操作完了",
|
||||||
"app.user-info.title": "ディレクトリ検索",
|
"app.user-info.title": "ディレクトリ検索",
|
||||||
"app.toast.breakoutRoomEnded": "小会議が終了しました。もう一度音声参加を行ってください。",
|
"app.toast.breakoutRoomEnded": "小会議が終了しました。もう一度音声参加を行ってください。",
|
||||||
"app.toast.chat.public": "新しいグループチャットメッセージ",
|
"app.toast.chat.public": "新しい公開チャットメッセージ",
|
||||||
"app.toast.chat.private": "新しい非公開チャットメッセージ",
|
"app.toast.chat.private": "新しい非公開チャットメッセージ",
|
||||||
"app.toast.chat.system": "システム",
|
"app.toast.chat.system": "システム",
|
||||||
|
"app.toast.chat.poll": "投票結果",
|
||||||
|
"app.toast.chat.pollClick": "投票結果が公開されました。閲覧するにはここをクリックしてください。",
|
||||||
"app.toast.clearedEmoji.label": "絵文字ステータスがクリアされました",
|
"app.toast.clearedEmoji.label": "絵文字ステータスがクリアされました",
|
||||||
"app.toast.setEmoji.label": "絵文字ステータスが {0} になりました",
|
"app.toast.setEmoji.label": "絵文字ステータスが {0} になりました",
|
||||||
"app.toast.meetingMuteOn.label": "全てのユーザーがミュートされました",
|
"app.toast.meetingMuteOn.label": "全てのユーザーがミュートされました",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "すべての視聴者はミュートされました",
|
||||||
"app.toast.meetingMuteOff.label": "会議のミュートを解除しました",
|
"app.toast.meetingMuteOff.label": "会議のミュートを解除しました",
|
||||||
"app.toast.setEmoji.raiseHand": "手を挙げました",
|
"app.toast.setEmoji.raiseHand": "手をあげました",
|
||||||
"app.toast.setEmoji.lowerHand": "手を下ろしました",
|
"app.toast.setEmoji.lowerHand": "手をおろしました",
|
||||||
"app.toast.promotedLabel": "あなたはモデレーターになりました",
|
"app.toast.promotedLabel": "あなたは司会者になりました",
|
||||||
"app.toast.demotedLabel": "あなたはビューアーになりました",
|
"app.toast.demotedLabel": "あなたは視聴者になりました",
|
||||||
"app.notification.recordingStart": "録画が開始しました",
|
"app.notification.recordingStart": "この会議は録画されています",
|
||||||
"app.notification.recordingStop": "このセッションは録画されていません",
|
"app.notification.recordingStop": "この会議は録画されていません",
|
||||||
"app.notification.recordingPaused": "このセッションはもう録画されていません",
|
"app.notification.recordingPaused": "このセッションはもう録画されていません",
|
||||||
"app.notification.recordingAriaLabel": "録画時間",
|
"app.notification.recordingAriaLabel": "録画時間",
|
||||||
"app.notification.userJoinPushAlert": "{0} がセッションに参加しました",
|
"app.notification.userJoinPushAlert": "{0} がセッションに参加しました",
|
||||||
@ -666,7 +761,7 @@
|
|||||||
"app.submenu.notification.raiseHandLabel": "挙手",
|
"app.submenu.notification.raiseHandLabel": "挙手",
|
||||||
"app.shortcut-help.title": "キーボードショートカット",
|
"app.shortcut-help.title": "キーボードショートカット",
|
||||||
"app.shortcut-help.accessKeyNotAvailable": "使用できないアクセスキー",
|
"app.shortcut-help.accessKeyNotAvailable": "使用できないアクセスキー",
|
||||||
"app.shortcut-help.comboLabel": "コンボ",
|
"app.shortcut-help.comboLabel": "キー",
|
||||||
"app.shortcut-help.functionLabel": "機能",
|
"app.shortcut-help.functionLabel": "機能",
|
||||||
"app.shortcut-help.closeLabel": "閉じる",
|
"app.shortcut-help.closeLabel": "閉じる",
|
||||||
"app.shortcut-help.closeDesc": "キーボードショートカットウィンドウを閉じる",
|
"app.shortcut-help.closeDesc": "キーボードショートカットウィンドウを閉じる",
|
||||||
@ -680,30 +775,62 @@
|
|||||||
"app.shortcut-help.raiseHand": "挙手状態の切り替え",
|
"app.shortcut-help.raiseHand": "挙手状態の切り替え",
|
||||||
"app.shortcut-help.openDebugWindow": "デバッグウィンドウを開く",
|
"app.shortcut-help.openDebugWindow": "デバッグウィンドウを開く",
|
||||||
"app.shortcut-help.openStatus": "ステータスメニューを開く",
|
"app.shortcut-help.openStatus": "ステータスメニューを開く",
|
||||||
"app.shortcut-help.togglePan": "パンツールを有効にする(プレゼンターのみ)",
|
"app.shortcut-help.togglePan": "パンツールを有効にする(発表者のみ)",
|
||||||
"app.shortcut-help.toggleFullscreen": "フルスクリーン切り替え(プレゼンターのみ)",
|
"app.shortcut-help.toggleFullscreen": "全画面表示切り替え(発表者のみ)",
|
||||||
"app.shortcut-help.nextSlideDesc": "次のスライド(プレゼンターのみ)",
|
"app.shortcut-help.nextSlideDesc": "次のスライド(発表者のみ)",
|
||||||
"app.shortcut-help.previousSlideDesc": "前のスライド(プレゼンターのみ)",
|
"app.shortcut-help.previousSlideDesc": "前のスライド(発表者のみ)",
|
||||||
"app.shortcut-help.togglePanKey": "スペース",
|
"app.shortcut-help.togglePanKey": "Spaceバー",
|
||||||
"app.shortcut-help.toggleFullscreenKey": "エンター",
|
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
||||||
"app.shortcut-help.nextSlideKey": "右矢印",
|
"app.shortcut-help.nextSlideKey": "→",
|
||||||
"app.shortcut-help.previousSlideKey": "左矢印",
|
"app.shortcut-help.previousSlideKey": "←",
|
||||||
"app.lock-viewers.title": "参加者の行動を制限",
|
"app.shortcut-help.select": "ツールを選択",
|
||||||
"app.lock-viewers.description": "こちらの設定で参加者が使える機能を制限できます",
|
"app.shortcut-help.pencil": "ペン",
|
||||||
|
"app.shortcut-help.eraser": "消しゴム",
|
||||||
|
"app.shortcut-help.rectangle": "四角",
|
||||||
|
"app.shortcut-help.elipse": "丸",
|
||||||
|
"app.shortcut-help.triangle": "三角",
|
||||||
|
"app.shortcut-help.line": "直線",
|
||||||
|
"app.shortcut-help.arrow": "矢印",
|
||||||
|
"app.shortcut-help.text": "文字ツール",
|
||||||
|
"app.shortcut-help.note": "ポストイット",
|
||||||
|
"app.shortcut-help.general": "一般",
|
||||||
|
"app.shortcut-help.presentation": "プレゼン",
|
||||||
|
"app.shortcut-help.whiteboard": "ホワイトボード",
|
||||||
|
"app.shortcut-help.zoomIn": "ズームイン",
|
||||||
|
"app.shortcut-help.zoomOut": "ズームアウト",
|
||||||
|
"app.shortcut-help.zoomFit": "ズーム解除",
|
||||||
|
"app.shortcut-help.zoomSelect": "選択領域をズーム",
|
||||||
|
"app.shortcut-help.flipH": "水平反転",
|
||||||
|
"app.shortcut-help.flipV": "垂直反転",
|
||||||
|
"app.shortcut-help.lock": "ロック / ロック解除",
|
||||||
|
"app.shortcut-help.moveToFront": "最前面に移動",
|
||||||
|
"app.shortcut-help.moveToBack": "最後面に移動",
|
||||||
|
"app.shortcut-help.moveForward": "前に移動",
|
||||||
|
"app.shortcut-help.moveBackward": "後ろに移動",
|
||||||
|
"app.shortcut-help.undo": "取り消し",
|
||||||
|
"app.shortcut-help.redo": "やり直し",
|
||||||
|
"app.shortcut-help.cut": "カット",
|
||||||
|
"app.shortcut-help.copy": "コピー",
|
||||||
|
"app.shortcut-help.paste": "ペースト",
|
||||||
|
"app.shortcut-help.selectAll": "全て選択",
|
||||||
|
"app.shortcut-help.delete": "削除",
|
||||||
|
"app.shortcut-help.duplicate": "複製",
|
||||||
|
"app.lock-viewers.title": "視聴者の行動を制限",
|
||||||
|
"app.lock-viewers.description": "ここから視聴者が使用できる機能を制限できます",
|
||||||
"app.lock-viewers.featuresLable": "機能",
|
"app.lock-viewers.featuresLable": "機能",
|
||||||
"app.lock-viewers.lockStatusLabel": "ステータス",
|
"app.lock-viewers.lockStatusLabel": "ステータス",
|
||||||
"app.lock-viewers.webcamLabel": "ウェブカメラを共有する",
|
"app.lock-viewers.webcamLabel": "ウェブカメラを共有する",
|
||||||
"app.lock-viewers.otherViewersWebcamLabel": "他ビューアーのウェブカメラを見る",
|
"app.lock-viewers.otherViewersWebcamLabel": "他の視聴者のウェブカメラを見る",
|
||||||
"app.lock-viewers.microphoneLable": "マイクを共有する",
|
"app.lock-viewers.microphoneLable": "マイクを共有する",
|
||||||
"app.lock-viewers.PublicChatLabel": "公開チャットにメッセージを送信する",
|
"app.lock-viewers.PublicChatLabel": "公開チャットにメッセージを送信する",
|
||||||
"app.lock-viewers.PrivateChatLable": "プライベートチャットにメッセージを送信する",
|
"app.lock-viewers.PrivateChatLable": "プライベートチャットにメッセージを送信する",
|
||||||
"app.lock-viewers.notesLabel": "共有ノートを編集する",
|
"app.lock-viewers.notesLabel": "共有ノートを編集する",
|
||||||
"app.lock-viewers.userListLabel": "他の視聴者をユーザーリストに表示する",
|
"app.lock-viewers.userListLabel": "他の視聴者をユーザーリストに表示する",
|
||||||
"app.lock-viewers.ariaTitle": "参加者の行動制限設定モーダル",
|
"app.lock-viewers.ariaTitle": "視聴者の行動制限設定モーダル",
|
||||||
"app.lock-viewers.button.apply": "適用",
|
"app.lock-viewers.button.apply": "適用",
|
||||||
"app.lock-viewers.button.cancel": "キャンセル",
|
"app.lock-viewers.button.cancel": "キャンセル",
|
||||||
"app.lock-viewers.locked": "禁止",
|
"app.lock-viewers.locked": "禁止",
|
||||||
"app.lock-viewers.hideViewersCursor": "他のビューアーのカーソルを表示する",
|
"app.lock-viewers.hideViewersCursor": "他の視聴者のカーソルを表示する",
|
||||||
"app.guest-policy.ariaTitle": "入室許可設定モーダル",
|
"app.guest-policy.ariaTitle": "入室許可設定モーダル",
|
||||||
"app.guest-policy.title": "入室許可設定",
|
"app.guest-policy.title": "入室許可設定",
|
||||||
"app.guest-policy.description": "会議室の入室許可設定を変更する",
|
"app.guest-policy.description": "会議室の入室許可設定を変更する",
|
||||||
@ -714,36 +841,42 @@
|
|||||||
"app.connection-status.ariaTitle": "接続状況モーダル",
|
"app.connection-status.ariaTitle": "接続状況モーダル",
|
||||||
"app.connection-status.title": "接続状況",
|
"app.connection-status.title": "接続状況",
|
||||||
"app.connection-status.description": "ユーザーの接続状況の閲覧",
|
"app.connection-status.description": "ユーザーの接続状況の閲覧",
|
||||||
"app.connection-status.empty": "現在のところ接続の問題は報告されていません。",
|
"app.connection-status.empty": "今のところ接続の問題は報告されていません。",
|
||||||
"app.connection-status.more": "更に見る",
|
"app.connection-status.more": "更に見る",
|
||||||
"app.connection-status.copy": "データをコピー",
|
"app.connection-status.copy": "データをコピー",
|
||||||
"app.connection-status.copied": "コピーしました!",
|
"app.connection-status.copied": "コピーしました!",
|
||||||
"app.connection-status.jitter": "ジッター",
|
"app.connection-status.jitter": "ジッター",
|
||||||
"app.connection-status.label": "接続状況",
|
"app.connection-status.label": "接続状況",
|
||||||
"app.connection-status.settings": "設定の調整",
|
"app.connection-status.settings": "設定を調整する",
|
||||||
"app.connection-status.no": "なし",
|
"app.connection-status.no": "なし",
|
||||||
"app.connection-status.notification": "接続の切断がありました",
|
"app.connection-status.notification": "接続の切断がありました",
|
||||||
"app.connection-status.offline": "オフライン",
|
"app.connection-status.offline": "オフライン",
|
||||||
"app.connection-status.audioUploadRate": "音声のアップロード速度",
|
"app.connection-status.audioUploadRate": "音声の上り速度",
|
||||||
"app.connection-status.audioDownloadRate": "音声のダウンロード速度",
|
"app.connection-status.audioDownloadRate": "音声の下り速度",
|
||||||
"app.connection-status.videoUploadRate": "映像のアップロード速度",
|
"app.connection-status.videoUploadRate": "映像の上り速度",
|
||||||
"app.connection-status.videoDownloadRate": "映像のダウンロード速度",
|
"app.connection-status.videoDownloadRate": "映像の下り速度",
|
||||||
"app.connection-status.lostPackets": "パケットロス",
|
"app.connection-status.lostPackets": "パケットロス",
|
||||||
"app.connection-status.usingTurn": "TURN使用",
|
"app.connection-status.usingTurn": "TURN使用",
|
||||||
"app.connection-status.yes": "あり",
|
"app.connection-status.yes": "あり",
|
||||||
"app.connection-status.connectionStats": "接続の状態",
|
"app.connection-status.connectionStats": "統計値",
|
||||||
"app.connection-status.myLogs": "マイログ",
|
"app.connection-status.myLogs": "個人の履歴",
|
||||||
"app.connection-status.sessionLogs": "セッションログ",
|
"app.connection-status.sessionLogs": "セッションの履歴",
|
||||||
"app.connection-status.next": "次のページ",
|
"app.connection-status.next": "次のページ",
|
||||||
"app.connection-status.prev": "前のページ",
|
"app.connection-status.prev": "前のページ",
|
||||||
"app.learning-dashboard.label": "参加状況分析ボード",
|
"app.learning-dashboard.label": "参加状況分析ボード",
|
||||||
"app.learning-dashboard.description": "ダッシュボードを開いてユーザーのアクティビティを見る",
|
"app.learning-dashboard.description": "ユーザーの活動状況を一覧",
|
||||||
"app.learning-dashboard.clickHereToOpen": "参加状況分析ボードを開く",
|
"app.learning-dashboard.clickHereToOpen": "参加状況分析ボードを開く",
|
||||||
"app.recording.startTitle": "録画開始",
|
"app.recording.startTitle": "録画開始",
|
||||||
"app.recording.stopTitle": "録画一時停止",
|
"app.recording.stopTitle": "録画一時停止",
|
||||||
"app.recording.resumeTitle": "録画再開",
|
"app.recording.resumeTitle": "録画再開",
|
||||||
"app.recording.startDescription": "録画ボタンをもう一度クリックすると録画が止まります。",
|
"app.recording.startDescription": "録画ボタンをもう一度クリックすると録画が止まります。",
|
||||||
"app.recording.stopDescription": "録画を止めますか?再開するには、もう一度ボタンをクリックします。",
|
"app.recording.stopDescription": "録画を止めますか?再開するには、もう一度ボタンをクリックします。",
|
||||||
|
"app.recording.notify.title": "録画を開始しました",
|
||||||
|
"app.recording.notify.description": "これ以降の会議の内容が録画され、視聴可能となります",
|
||||||
|
"app.recording.notify.continue": "続ける",
|
||||||
|
"app.recording.notify.leave": "セッションから退出",
|
||||||
|
"app.recording.notify.continueLabel" : "録画を認めて続ける",
|
||||||
|
"app.recording.notify.leaveLabel" : "録画を受け入れず会議を退出",
|
||||||
"app.videoPreview.cameraLabel": "カメラ",
|
"app.videoPreview.cameraLabel": "カメラ",
|
||||||
"app.videoPreview.profileLabel": "画像品質",
|
"app.videoPreview.profileLabel": "画像品質",
|
||||||
"app.videoPreview.quality.low": "低",
|
"app.videoPreview.quality.low": "低",
|
||||||
@ -760,35 +893,43 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "ウェブカメラを選択",
|
"app.videoPreview.webcamOptionLabel": "ウェブカメラを選択",
|
||||||
"app.videoPreview.webcamPreviewLabel": "ウェブカメラのプレビュー",
|
"app.videoPreview.webcamPreviewLabel": "ウェブカメラのプレビュー",
|
||||||
"app.videoPreview.webcamSettingsTitle": "ウェブカメラ設定",
|
"app.videoPreview.webcamSettingsTitle": "ウェブカメラ設定",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "ウェブカメラの視覚効果",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "バーチャル背景の設定",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "バーチャル背景の設定",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "このデバイスはバーチャル背景をサポートしていません",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "このデバイスはバーチャル背景をサポートしていません",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "ウェブカメラが見つかりません",
|
"app.videoPreview.webcamNotFoundLabel": "ウェブカメラが見つかりません",
|
||||||
"app.videoPreview.profileNotFoundLabel": "利用可能なカメラプロフィールがありません",
|
"app.videoPreview.profileNotFoundLabel": "カメラの性能が適合しません",
|
||||||
|
"app.videoPreview.brightness": "明るさ",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "画像全体",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "背景を含めて画像全体に調整を適用",
|
||||||
|
"app.videoPreview.sliderDesc": "明るさのレベルを増減させる",
|
||||||
"app.video.joinVideo": "ウェブカメラを共有",
|
"app.video.joinVideo": "ウェブカメラを共有",
|
||||||
"app.video.connecting": "ウェブカメラの共有を始めます...",
|
"app.video.connecting": "ウェブカメラの共有を始めます...",
|
||||||
"app.video.leaveVideo": "ウェブカメラの共有を終了",
|
"app.video.leaveVideo": "ウェブカメラの共有を終了",
|
||||||
|
"app.video.videoSettings": "ビデオの設定",
|
||||||
|
"app.video.visualEffects": "視覚効果",
|
||||||
"app.video.advancedVideo": "詳細設定を開く",
|
"app.video.advancedVideo": "詳細設定を開く",
|
||||||
"app.video.iceCandidateError": "ICE候補の追加に失敗しました",
|
"app.video.iceCandidateError": "ICE候補の追加に失敗しました",
|
||||||
"app.video.iceConnectionStateError": "接続失敗 (ICE error 1107)",
|
"app.video.iceConnectionStateError": "接続失敗 (ICE error 1107)",
|
||||||
"app.video.permissionError": "ウェブカメラ共有でエラーが発生しました。許可設定を確認してください。",
|
"app.video.permissionError": "ウェブカメラの共有でエラーが発生しました。使用許可が与えられているかどうか確認してください。",
|
||||||
"app.video.sharingError": "ウェブカメラ共有エラー",
|
"app.video.sharingError": "ウェブカメラ共有エラー",
|
||||||
"app.video.abortError": "問題が起きたためデバイスが使用できなくなりました",
|
"app.video.abortError": "問題が起きたためデバイスが使用できなくなりました",
|
||||||
"app.video.overconstrainedError": "お使いのカメラはこの画質をサポートしません",
|
"app.video.overconstrainedError": "お使いのカメラはこの画質をサポートしません",
|
||||||
"app.video.securityError": "お使いのブラウザではカメラが使用できません。他のブラウザを使用してください",
|
"app.video.securityError": "お使いのブラウザではカメラが使用できません。他のブラウザを使用してください",
|
||||||
"app.video.typeError": "無効なカメラの画質設定です。管理者に連絡してください",
|
"app.video.typeError": "無効なカメラの画質設定です。管理者に連絡してください",
|
||||||
"app.video.notFoundError": "ウェブカメラが見つかりませんでした。接続を確認してください",
|
"app.video.notFoundError": "ウェブカメラが見つかりませんでした。接続を確認してください",
|
||||||
"app.video.notAllowed": "ウェブカメラを共有する権限を得る必要があります",
|
"app.video.notAllowed": "ウェブカメラの共有権限を与える必要があります",
|
||||||
"app.video.notSupportedError": "このブラウザはサポートされていません。他のブラウザを使用するか、デバイスを変更してください",
|
"app.video.notSupportedError": "このブラウザはサポートされていません。他のブラウザを使用するか、デバイスを変更してください",
|
||||||
"app.video.notReadableError": "ウェブカメラの映像を取得できませんでした。他のプログラムがカメラを使ってないことを確認してください",
|
"app.video.notReadableError": "ウェブカメラの映像を取得できませんでした。他のアプリケーションがカメラを使ってないことを確認してください",
|
||||||
"app.video.timeoutError": "ブラウザが時間内に反応しませんでした",
|
"app.video.timeoutError": "ブラウザが時間内に反応しませんでした",
|
||||||
"app.video.genericError": "デバイスに不明なエラーが起きました (Error {0})",
|
"app.video.genericError": "デバイスに不明なエラーが起きました (Error {0})",
|
||||||
|
"app.video.inactiveError": "ウェブカメラが予期せず停止しました。ブラウザのカメラ使用許可を調べてください。",
|
||||||
"app.video.mediaTimedOutError": "ウェブカメラのストリームが中断しました。もう一度共有しなおしてください",
|
"app.video.mediaTimedOutError": "ウェブカメラのストリームが中断しました。もう一度共有しなおしてください",
|
||||||
"app.video.mediaFlowTimeout1020": "映像がサーバに届いていません (error 1020)",
|
"app.video.mediaFlowTimeout1020": "映像がサーバに届いていません (error 1020)",
|
||||||
"app.video.suggestWebcamLock": "視聴者のカメラをロックしますか?",
|
"app.video.suggestWebcamLock": "視聴者のカメラをロックしますか?",
|
||||||
"app.video.suggestWebcamLockReason": "(会議の安定性が向上します)",
|
"app.video.suggestWebcamLockReason": "(会議の安定性が向上します)",
|
||||||
"app.video.enable": "起動する",
|
"app.video.enable": "起動する",
|
||||||
"app.video.cancel": "キャンセル",
|
"app.video.cancel": "キャンセル",
|
||||||
"app.video.swapCam": "スワップ",
|
"app.video.swapCam": "反転",
|
||||||
"app.video.swapCamDesc": "ウェブカメラの向きを反転する",
|
"app.video.swapCamDesc": "ウェブカメラの向きを反転する",
|
||||||
"app.video.videoLocked": "ウェブカメラ共有がロックされています",
|
"app.video.videoLocked": "ウェブカメラ共有がロックされています",
|
||||||
"app.video.videoButtonDesc": "ウェブカメラを共有",
|
"app.video.videoButtonDesc": "ウェブカメラを共有",
|
||||||
@ -800,17 +941,26 @@
|
|||||||
"app.video.clientDisconnected": "接続に問題があるためウェブカメラの共有ができません",
|
"app.video.clientDisconnected": "接続に問題があるためウェブカメラの共有ができません",
|
||||||
"app.video.virtualBackground.none": "なし",
|
"app.video.virtualBackground.none": "なし",
|
||||||
"app.video.virtualBackground.blur": "ぼかし",
|
"app.video.virtualBackground.blur": "ぼかし",
|
||||||
"app.video.virtualBackground.home": "ホーム",
|
"app.video.virtualBackground.home": "自宅",
|
||||||
"app.video.virtualBackground.board": "ボード",
|
"app.video.virtualBackground.board": "黒板",
|
||||||
"app.video.virtualBackground.coffeeshop": "喫茶店",
|
"app.video.virtualBackground.coffeeshop": "喫茶店",
|
||||||
"app.video.virtualBackground.background": "背景",
|
"app.video.virtualBackground.background": "背景",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "背景 {0}",
|
||||||
|
"app.video.virtualBackground.custom": "コンピューターからアップロード",
|
||||||
|
"app.video.virtualBackground.remove": "追加した画像を削除",
|
||||||
"app.video.virtualBackground.genericError": "カメラエフェクトの適用に失敗しました。もう一度やってみてください。",
|
"app.video.virtualBackground.genericError": "カメラエフェクトの適用に失敗しました。もう一度やってみてください。",
|
||||||
"app.video.virtualBackground.camBgAriaDesc": "ウェブカムのバーチャル背景を{0}に設定する",
|
"app.video.virtualBackground.camBgAriaDesc": "ウェブカムのバーチャル背景を{0}に設定する",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "ファイルサイズの上限 ({0}MB) を超えました",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "ファイルのタイプが不適当です。",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "ファイルの読み込みで不具合が発生しました。",
|
||||||
|
"app.video.virtualBackground.uploaded": "アップロード完了",
|
||||||
|
"app.video.virtualBackground.uploading": "アップロードしています...",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "新しいバーチャル背景の画像を追加",
|
||||||
"app.video.camCapReached": "ウェブカメラはこれ以上シェアできません",
|
"app.video.camCapReached": "ウェブカメラはこれ以上シェアできません",
|
||||||
"app.video.meetingCamCapReached": "カメラの数が最大に達しています",
|
"app.video.meetingCamCapReached": "カメラの数が最大に達しています",
|
||||||
"app.video.dropZoneLabel": "ここにドロップ",
|
"app.video.dropZoneLabel": "ここにドロップ",
|
||||||
"app.fullscreenButton.label": "{0}を全画面に切り替える",
|
"app.fullscreenButton.label": "{0}を全画面に切り替える",
|
||||||
"app.fullscreenUndoButton.label": "{0}のフルスクリーン表示を解除",
|
"app.fullscreenUndoButton.label": "{0}の全画面表示を解除",
|
||||||
"app.switchButton.expandLabel": "画面共有のビデオを拡大",
|
"app.switchButton.expandLabel": "画面共有のビデオを拡大",
|
||||||
"app.switchButton.shrinkLabel": "画面共有のビデオを縮小",
|
"app.switchButton.shrinkLabel": "画面共有のビデオを縮小",
|
||||||
"app.sfu.mediaServerConnectionError2000": "メディアサーバーに接続できません (error 2000)",
|
"app.sfu.mediaServerConnectionError2000": "メディアサーバーに接続できません (error 2000)",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "投票結果が公開されました",
|
"app.whiteboard.annotations.poll": "投票結果が公開されました",
|
||||||
"app.whiteboard.annotations.pollResult": "投票結果",
|
"app.whiteboard.annotations.pollResult": "投票結果",
|
||||||
"app.whiteboard.annotations.noResponses": "無回答",
|
"app.whiteboard.annotations.noResponses": "無回答",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "この変更は許可されていません",
|
||||||
"app.whiteboard.toolbar.tools": "ツール",
|
"app.whiteboard.toolbar.tools": "ツール",
|
||||||
"app.whiteboard.toolbar.tools.hand": "パン",
|
"app.whiteboard.toolbar.tools.hand": "パン",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "ペン",
|
"app.whiteboard.toolbar.tools.pencil": "ペン",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "グレー",
|
"app.whiteboard.toolbar.color.silver": "グレー",
|
||||||
"app.whiteboard.toolbar.undo": "取り消す",
|
"app.whiteboard.toolbar.undo": "取り消す",
|
||||||
"app.whiteboard.toolbar.clear": "全て取り消す",
|
"app.whiteboard.toolbar.clear": "全て取り消す",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "本当に全ての書き込みを削除しますか?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "マルチユーザーモードにする",
|
"app.whiteboard.toolbar.multiUserOn": "マルチユーザーモードにする",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "マルチユーザーモードを解除",
|
"app.whiteboard.toolbar.multiUserOff": "マルチユーザーモードを解除",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "手のひらの接触感知をオン",
|
"app.whiteboard.toolbar.palmRejectionOn": "手のひらの接触感知をオン",
|
||||||
@ -871,13 +1023,13 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "選択したウェブカメラのフォーカスを外す",
|
"app.videoDock.webcamUnfocusDesc": "選択したウェブカメラのフォーカスを外す",
|
||||||
"app.videoDock.webcamPinLabel": "ピン止め",
|
"app.videoDock.webcamPinLabel": "ピン止め",
|
||||||
"app.videoDock.webcamPinDesc": "選択したウェブカメラをピン止めする",
|
"app.videoDock.webcamPinDesc": "選択したウェブカメラをピン止めする",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "ウェブカメラを全画面表示にする",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "ウェブカメラの設定",
|
||||||
"app.videoDock.webcamUnpinLabel": "ピン止めを外す",
|
"app.videoDock.webcamUnpinLabel": "ピン止めを外す",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "モデレーターだけがピン止めを外すことができます",
|
"app.videoDock.webcamUnpinLabelDisabled": "司会者だけがピン止めを外すことができます",
|
||||||
"app.videoDock.webcamUnpinDesc": "選択したウェブカメラのピン止めを外す",
|
"app.videoDock.webcamUnpinDesc": "選択したウェブカメラのピン止めを外す",
|
||||||
"app.videoDock.autoplayBlockedDesc": "他の人のウェブカメラを表示するため、許可してください",
|
"app.videoDock.autoplayBlockedDesc": "他の人のウェブカメラを表示するため、許可してください",
|
||||||
"app.videoDock.autoplayAllowLabel": "ウェブカメラ表示",
|
"app.videoDock.autoplayAllowLabel": "ウェブカメラ表示",
|
||||||
"app.invitation.title": "小会議室への招待",
|
|
||||||
"app.invitation.confirm": "招待",
|
|
||||||
"app.createBreakoutRoom.title": "小会議室",
|
"app.createBreakoutRoom.title": "小会議室",
|
||||||
"app.createBreakoutRoom.ariaTitle": "小会議室を隠す",
|
"app.createBreakoutRoom.ariaTitle": "小会議室を隠す",
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "小会議室 {0}",
|
"app.createBreakoutRoom.breakoutRoomLabel": "小会議室 {0}",
|
||||||
@ -895,10 +1047,10 @@
|
|||||||
"app.createBreakoutRoom.record": "録画",
|
"app.createBreakoutRoom.record": "録画",
|
||||||
"app.createBreakoutRoom.numberOfRooms": "会議室数",
|
"app.createBreakoutRoom.numberOfRooms": "会議室数",
|
||||||
"app.createBreakoutRoom.durationInMinutes": "利用時間(分)",
|
"app.createBreakoutRoom.durationInMinutes": "利用時間(分)",
|
||||||
"app.createBreakoutRoom.randomlyAssign": "ランダムに割り当てる",
|
"app.createBreakoutRoom.randomlyAssign": "ランダムに割りふる",
|
||||||
"app.createBreakoutRoom.randomlyAssignDesc": "ユーザーをランダムに小会議室に割り当てる",
|
"app.createBreakoutRoom.randomlyAssignDesc": "ユーザーをランダムに各部屋に割りふる",
|
||||||
"app.createBreakoutRoom.resetAssignments": "割り当てをリセット",
|
"app.createBreakoutRoom.resetAssignments": "割りふりを解除",
|
||||||
"app.createBreakoutRoom.resetAssignmentsDesc": "全ての小会議室の割り当てをリセット",
|
"app.createBreakoutRoom.resetAssignmentsDesc": "全ての小会議室の割りふりを解除",
|
||||||
"app.createBreakoutRoom.endAllBreakouts": "全ての小会議室を終了する",
|
"app.createBreakoutRoom.endAllBreakouts": "全ての小会議室を終了する",
|
||||||
"app.createBreakoutRoom.chatTitleMsgAllRooms": "全ての小会議室",
|
"app.createBreakoutRoom.chatTitleMsgAllRooms": "全ての小会議室",
|
||||||
"app.createBreakoutRoom.msgToBreakoutsSent": "小会議室{0}にメッセージが送られました",
|
"app.createBreakoutRoom.msgToBreakoutsSent": "小会議室{0}にメッセージが送られました",
|
||||||
@ -908,10 +1060,12 @@
|
|||||||
"app.createBreakoutRoom.minusRoomTime": "小会議室の制限時間を減らす",
|
"app.createBreakoutRoom.minusRoomTime": "小会議室の制限時間を減らす",
|
||||||
"app.createBreakoutRoom.addRoomTime": "小会議室の制限時間を増やす",
|
"app.createBreakoutRoom.addRoomTime": "小会議室の制限時間を増やす",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+参加者を追加",
|
"app.createBreakoutRoom.addParticipantLabel": "+参加者を追加",
|
||||||
"app.createBreakoutRoom.freeJoin": "ユーザーに参加する小会議室を選択させる",
|
"app.createBreakoutRoom.freeJoin": "ユーザーに小会議室を選択させる",
|
||||||
|
"app.createBreakoutRoom.captureNotes": "小会議室終了時に共有ノートを保存",
|
||||||
|
"app.createBreakoutRoom.captureSlides": "小会議室終了時にホワイトボードを保存",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "小会議室には最低1人のユーザーが必要です。",
|
"app.createBreakoutRoom.leastOneWarnBreakout": "小会議室には最低1人のユーザーが必要です。",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "小会議室の最小利用時間は{0}分です。",
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "小会議室の最小利用時間は{0}分です。",
|
||||||
"app.createBreakoutRoom.modalDesc": "ヒント:ユーザーの名前をドラッグ&ドロップして、特定の小会議室に割り当てることができます。",
|
"app.createBreakoutRoom.modalDesc": "やり方:ユーザーの名前をドラッグ&ドロップして、特定の小会議室に割りふってください。",
|
||||||
"app.createBreakoutRoom.roomTime": "{0} 分",
|
"app.createBreakoutRoom.roomTime": "{0} 分",
|
||||||
"app.createBreakoutRoom.numberOfRoomsError": "会議室の数が正しく設定されていません。",
|
"app.createBreakoutRoom.numberOfRoomsError": "会議室の数が正しく設定されていません。",
|
||||||
"app.createBreakoutRoom.duplicatedRoomNameError": "会議室名を重複してつけることはできません。",
|
"app.createBreakoutRoom.duplicatedRoomNameError": "会議室名を重複してつけることはできません。",
|
||||||
@ -921,6 +1075,14 @@
|
|||||||
"app.createBreakoutRoom.setTimeCancel": "キャンセル",
|
"app.createBreakoutRoom.setTimeCancel": "キャンセル",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "小会議室の会議時間は、親会議の残り時間を超えて設定できません",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "小会議室の会議時間は、親会議の残り時間を超えて設定できません",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "小会議室の名前をアップデート",
|
"app.createBreakoutRoom.roomNameInputDesc": "小会議室の名前をアップデート",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "{0}が会議室{1}に移されました",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "顔ぶれを新しくしたり新たなユーザーを招待したりするには、単純に名前を希望の会議室にドラッグしてください。",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "キャンセル",
|
||||||
|
"app.updateBreakoutRoom.title": "小会議室を更新",
|
||||||
|
"app.updateBreakoutRoom.confirm": "適用",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "会議室{0}に移されました。",
|
||||||
|
"app.smartMediaShare.externalVideo": "ネット動画",
|
||||||
|
"app.update.resetRoom": "会議室を元に戻す",
|
||||||
"app.externalVideo.start": "新しいビデオを共有",
|
"app.externalVideo.start": "新しいビデオを共有",
|
||||||
"app.externalVideo.title": "インターネット上の動画を共有する",
|
"app.externalVideo.title": "インターネット上の動画を共有する",
|
||||||
"app.externalVideo.input": "動画のURL",
|
"app.externalVideo.input": "動画のURL",
|
||||||
@ -946,6 +1108,15 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(ウェブカメラエリアをドラッグしたりリサイズしたりすると無効となります)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(ウェブカメラエリアをドラッグしたりリサイズしたりすると無効となります)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": "チャットロガーレベルをテストする",
|
"app.debugWindow.form.chatLoggerLabel": "チャットロガーレベルをテストする",
|
||||||
"app.debugWindow.form.button.apply": "設定",
|
"app.debugWindow.form.button.apply": "設定",
|
||||||
|
"app.layout.modal.title": "レイアウト",
|
||||||
|
"app.layout.modal.confirm": "確認",
|
||||||
|
"app.layout.modal.cancel": "キャンセル",
|
||||||
|
"app.layout.modal.layoutLabel": "レイアウトを選択してください",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "レイアウトを全体に強制する",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "全員に強制",
|
||||||
|
"app.layout.modal.layoutToastLabel": "レイアウトの設定が変更されました",
|
||||||
|
"app.layout.modal.layoutSingular": "レイアウト",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "レイアウトを選択したものに設定",
|
||||||
"app.layout.style.custom": "カスタム",
|
"app.layout.style.custom": "カスタム",
|
||||||
"app.layout.style.smart": "スマートレイアウト",
|
"app.layout.style.smart": "スマートレイアウト",
|
||||||
"app.layout.style.presentationFocus": "プレゼンにフォーカス",
|
"app.layout.style.presentationFocus": "プレゼンにフォーカス",
|
||||||
@ -969,7 +1140,7 @@
|
|||||||
"playback.player.about.modal.shortcuts.title": "ショートカット",
|
"playback.player.about.modal.shortcuts.title": "ショートカット",
|
||||||
"playback.player.about.modal.shortcuts.alt": "Alt",
|
"playback.player.about.modal.shortcuts.alt": "Alt",
|
||||||
"playback.player.about.modal.shortcuts.shift": "Shift",
|
"playback.player.about.modal.shortcuts.shift": "Shift",
|
||||||
"playback.player.about.modal.shortcuts.fullscreen": "フルスクリーン切り替え",
|
"playback.player.about.modal.shortcuts.fullscreen": "全画面表示切り替え",
|
||||||
"playback.player.about.modal.shortcuts.play": "再生/ポーズ",
|
"playback.player.about.modal.shortcuts.play": "再生/ポーズ",
|
||||||
"playback.player.about.modal.shortcuts.section": "サイドパネル表示の切り替え",
|
"playback.player.about.modal.shortcuts.section": "サイドパネル表示の切り替え",
|
||||||
"playback.player.about.modal.shortcuts.seek.backward": "前を検索",
|
"playback.player.about.modal.shortcuts.seek.backward": "前を検索",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "サムネイルエリア",
|
"playback.player.thumbnails.wrapper.aria": "サムネイルエリア",
|
||||||
"playback.player.webcams.wrapper.aria": "ウェブカムエリア",
|
"playback.player.webcams.wrapper.aria": "ウェブカムエリア",
|
||||||
"app.learningDashboard.dashboardTitle": "参加状況分析ボード",
|
"app.learningDashboard.dashboardTitle": "参加状況分析ボード",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "セッションのデータをダウンロード",
|
"app.learningDashboard.downloadSessionDataLabel": "セッションのデータをダウンロード",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "最後のアップデート",
|
"app.learningDashboard.lastUpdatedLabel": "最後のアップデート",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "ダウンロードされました!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "ダウンロードされました!",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "回答",
|
"app.learningDashboard.userDetails.response": "回答",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "最も多かった回答",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "最も多かった回答",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "匿名投票",
|
"app.learningDashboard.userDetails.anonymousAnswer": "匿名投票",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "会話時間",
|
||||||
|
"app.learningDashboard.userDetails.messages": "メッセージ",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "絵文字",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "挙手",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "投票",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": "{0} のオンライン時間",
|
||||||
"app.learningDashboard.usersTable.title": "概要",
|
"app.learningDashboard.usersTable.title": "概要",
|
||||||
"app.learningDashboard.usersTable.colOnline": "オンライン時間",
|
"app.learningDashboard.usersTable.colOnline": "オンライン時間",
|
||||||
"app.learningDashboard.usersTable.colTalk": "会話時間",
|
"app.learningDashboard.usersTable.colTalk": "会話時間",
|
||||||
@ -1032,7 +1210,7 @@
|
|||||||
"app.learningDashboard.usersTable.userStatusOffline": "オフライン",
|
"app.learningDashboard.usersTable.userStatusOffline": "オフライン",
|
||||||
"app.learningDashboard.usersTable.noUsers": "まだユーザーはいません",
|
"app.learningDashboard.usersTable.noUsers": "まだユーザーはいません",
|
||||||
"app.learningDashboard.usersTable.name": "名前",
|
"app.learningDashboard.usersTable.name": "名前",
|
||||||
"app.learningDashboard.usersTable.moderator": "モデレーター",
|
"app.learningDashboard.usersTable.moderator": "司会者",
|
||||||
"app.learningDashboard.usersTable.pollVotes": "得票",
|
"app.learningDashboard.usersTable.pollVotes": "得票",
|
||||||
"app.learningDashboard.usersTable.join": "参加",
|
"app.learningDashboard.usersTable.join": "参加",
|
||||||
"app.learningDashboard.usersTable.left": "退室",
|
"app.learningDashboard.usersTable.left": "退室",
|
||||||
@ -1041,10 +1219,15 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousAnswer": "匿名投票(回答は最終行)",
|
"app.learningDashboard.pollsTable.anonymousAnswer": "匿名投票(回答は最終行)",
|
||||||
"app.learningDashboard.pollsTable.anonymousRowName": "匿名",
|
"app.learningDashboard.pollsTable.anonymousRowName": "匿名",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "投票は行われていません",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "投票は行われていません",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "投票が行われれば、ここに結果が表示されます",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "投票が行われると、ここに結果が表示されます",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "計",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "ユーザー",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "タイムライン",
|
"app.learningDashboard.statusTimelineTable.title": "タイムライン",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "プレゼンのサムネール",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "プレゼンのサムネール",
|
||||||
"app.learningDashboard.errors.invalidToken": "セッショントークンが無効です",
|
"app.learningDashboard.statusTimelineTable.presentation": "プレゼン",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "ページ",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "セット時刻",
|
||||||
|
"app.learningDashboard.errors.invalidToken": "無効な会議参加許可",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "データはもう閲覧できません",
|
"app.learningDashboard.errors.dataUnavailable": "データはもう閲覧できません",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "上のボタンで自分のポータルサイトを追加するか、",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "上のボタンで自分のポータルサイトを追加するか、",
|
||||||
"mobileApp.portals.list.empty.orUseOurDemoServer.label": "公式のデモサーバーを使用してください。",
|
"mobileApp.portals.list.empty.orUseOurDemoServer.label": "公式のデモサーバーを使用してください。",
|
||||||
@ -1055,8 +1238,6 @@
|
|||||||
"mobileApp.portals.addPortalPopup.confirm.button.label": "保存",
|
"mobileApp.portals.addPortalPopup.confirm.button.label": "保存",
|
||||||
"mobileApp.portals.drawerNavigation.button.label": "ポータル",
|
"mobileApp.portals.drawerNavigation.button.label": "ポータル",
|
||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "必須項目",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "必須項目",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "名前が既に使用されています",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "その名前はもう使われています",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "ウェブページのアクセスに失敗しましたーURLとネットワーク接続を確認してください"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "ウェブページのアクセスに失敗しました - URLとネットワーク接続を確認してください"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,10 +2,11 @@
|
|||||||
"app.home.greeting": "Sunumunuz birazdan başlayacak...",
|
"app.home.greeting": "Sunumunuz birazdan başlayacak...",
|
||||||
"app.chat.submitLabel": "İleti gönder",
|
"app.chat.submitLabel": "İleti gönder",
|
||||||
"app.chat.loading": "Sohbet iletileri yüklendi: {0}%",
|
"app.chat.loading": "Sohbet iletileri yüklendi: {0}%",
|
||||||
"app.chat.errorMaxMessageLength": "İleti {0} karakter daha uzun",
|
"app.chat.errorMaxMessageLength": "İleti çok uzun. En fazla {0} karakter olabilir",
|
||||||
"app.chat.disconnected": "Bağlantınız kesildi, iletiler gönderilemedi",
|
"app.chat.disconnected": "Bağlantınız kesildi, iletiler gönderilemedi",
|
||||||
"app.chat.locked": "Sohbet kilitli, ileti gönderilemez",
|
"app.chat.locked": "Sohbet kilitli, ileti gönderilemez",
|
||||||
"app.chat.inputLabel": "{0} sohbeti için ileti girişi",
|
"app.chat.inputLabel": "{0} sohbeti için ileti girişi",
|
||||||
|
"app.chat.emojiButtonLabel": "Emoji seçici",
|
||||||
"app.chat.inputPlaceholder": "İleti {0}",
|
"app.chat.inputPlaceholder": "İleti {0}",
|
||||||
"app.chat.titlePublic": "Herkese açık sohbet",
|
"app.chat.titlePublic": "Herkese açık sohbet",
|
||||||
"app.chat.titlePrivate": "{0} ile özel sohbet",
|
"app.chat.titlePrivate": "{0} ile özel sohbet",
|
||||||
@ -20,7 +21,8 @@
|
|||||||
"app.chat.label": "Sohbet",
|
"app.chat.label": "Sohbet",
|
||||||
"app.chat.offline": "Çevrimdışı",
|
"app.chat.offline": "Çevrimdışı",
|
||||||
"app.chat.pollResult": "Oylama sonuçları",
|
"app.chat.pollResult": "Oylama sonuçları",
|
||||||
"app.chat.breakoutDurationUpdated": "Çalışma odası zamanı {0} dakika",
|
"app.chat.breakoutDurationUpdated": "Çalışma grubu zamanı {0} dakika",
|
||||||
|
"app.chat.breakoutDurationUpdatedModerator": "Çalışma grubu odaları {0} dakika için açıldı ve bir bildirim gönderildi.",
|
||||||
"app.chat.emptyLogLabel": "Sohbet günlüğü boş",
|
"app.chat.emptyLogLabel": "Sohbet günlüğü boş",
|
||||||
"app.chat.clearPublicChatMessage": "Herkese açık sohbet geçmişi sorumlu tarafından temizlendi",
|
"app.chat.clearPublicChatMessage": "Herkese açık sohbet geçmişi sorumlu tarafından temizlendi",
|
||||||
"app.chat.multi.typing": "Birkaç kullanıcı yazıyor",
|
"app.chat.multi.typing": "Birkaç kullanıcı yazıyor",
|
||||||
@ -28,6 +30,27 @@
|
|||||||
"app.chat.two.typing": "{0} ve {1} yazıyor...",
|
"app.chat.two.typing": "{0} ve {1} yazıyor...",
|
||||||
"app.chat.copySuccess": "Sohbet yazışmaları kopyalandı",
|
"app.chat.copySuccess": "Sohbet yazışmaları kopyalandı",
|
||||||
"app.chat.copyErr": "Sohbet yazışmaları kopyalanamadı",
|
"app.chat.copyErr": "Sohbet yazışmaları kopyalanamadı",
|
||||||
|
"app.emojiPicker.search": "Arama",
|
||||||
|
"app.emojiPicker.notFound": "Herhangi bir emoji bulunamadı",
|
||||||
|
"app.emojiPicker.skintext": "Varsayılan ten renginizi seçin",
|
||||||
|
"app.emojiPicker.clear": "Temizle",
|
||||||
|
"app.emojiPicker.categories.label": "Emoji kategorileri",
|
||||||
|
"app.emojiPicker.categories.people": "Kişiler ve beden",
|
||||||
|
"app.emojiPicker.categories.nature": "Hayvanlar ve doğa",
|
||||||
|
"app.emojiPicker.categories.foods": "Yiyecek ve içecek",
|
||||||
|
"app.emojiPicker.categories.places": "Gezi ve yerler",
|
||||||
|
"app.emojiPicker.categories.activity": "Etkinlik",
|
||||||
|
"app.emojiPicker.categories.objects": "Nesneler",
|
||||||
|
"app.emojiPicker.categories.symbols": "Simgeler",
|
||||||
|
"app.emojiPicker.categories.flags": "Bayraklar",
|
||||||
|
"app.emojiPicker.categories.recent": "Sık kullanılanlar",
|
||||||
|
"app.emojiPicker.categories.search": "Arama sonuçları",
|
||||||
|
"app.emojiPicker.skintones.1": "Varsayılan ten rengi",
|
||||||
|
"app.emojiPicker.skintones.2": "Açık ten rengi",
|
||||||
|
"app.emojiPicker.skintones.3": "Orta açık ten rengi",
|
||||||
|
"app.emojiPicker.skintones.4": "Orta ten rengi",
|
||||||
|
"app.emojiPicker.skintones.5": "Orta koyu ten rengi",
|
||||||
|
"app.emojiPicker.skintones.6": "Koyu ten rengi",
|
||||||
"app.captions.label": "Alt yazılar",
|
"app.captions.label": "Alt yazılar",
|
||||||
"app.captions.menu.close": "Kapat",
|
"app.captions.menu.close": "Kapat",
|
||||||
"app.captions.menu.start": "Başlat",
|
"app.captions.menu.start": "Başlat",
|
||||||
@ -53,12 +76,21 @@
|
|||||||
"app.captions.speech.start": "Konuşma tanıma başlatıldı",
|
"app.captions.speech.start": "Konuşma tanıma başlatıldı",
|
||||||
"app.captions.speech.stop": "Konuşma tanıma durduruldu",
|
"app.captions.speech.stop": "Konuşma tanıma durduruldu",
|
||||||
"app.captions.speech.error": "Sesli algılama web tarayıcı uyumsuzluğu ya da belirli bir süre sessizlikten dolayı durduruldu.",
|
"app.captions.speech.error": "Sesli algılama web tarayıcı uyumsuzluğu ya da belirli bir süre sessizlikten dolayı durduruldu.",
|
||||||
|
"app.confirmation.skipConfirm": "Bir daha sorulmasın",
|
||||||
|
"app.confirmation.virtualBackground.title": "Yeni bir sanal arka plan başlat",
|
||||||
|
"app.confirmation.virtualBackground.description": "{0} anal arka plan olarak eklenecek. İlerlemek istiyor musunuz?",
|
||||||
|
"app.confirmationModal.yesLabel": "Evet",
|
||||||
"app.textInput.sendLabel": "Gönder",
|
"app.textInput.sendLabel": "Gönder",
|
||||||
"app.title.defaultViewLabel": "Varsayılan sunum görünümü",
|
"app.title.defaultViewLabel": "Varsayılan sunum görünümü",
|
||||||
"app.notes.title": "Paylaşılmış notlar",
|
"app.notes.title": "Paylaşılmış notlar",
|
||||||
"app.notes.label": "Notlar",
|
"app.notes.label": "Notlar",
|
||||||
"app.notes.hide": "Notları gizle",
|
"app.notes.hide": "Notları gizle",
|
||||||
"app.notes.locked": "Kilitli",
|
"app.notes.locked": "Kilitli",
|
||||||
|
"app.notes.disabled": "Ortam alanına sabitlendi",
|
||||||
|
"app.notes.notesDropdown.covertAndUpload": "Notları sunuma dönüştür",
|
||||||
|
"app.notes.notesDropdown.pinNotes": "Notları beyaz tahtaya sabitle",
|
||||||
|
"app.notes.notesDropdown.unpinNotes": "Notların sabitlemesini kaldır",
|
||||||
|
"app.notes.notesDropdown.notesOptions": "Not ayarları",
|
||||||
"app.pads.hint": "Pad araç çubuğuna odaklanmak için Esc tuşuna basın",
|
"app.pads.hint": "Pad araç çubuğuna odaklanmak için Esc tuşuna basın",
|
||||||
"app.user.activityCheck": "Kullanıcı etkinliği denetimi",
|
"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.label": "Kullanıcının hala toplantıda olup olmadığını denetleyin ({0})",
|
||||||
@ -78,7 +110,7 @@
|
|||||||
"app.userList.moderator": "Sorumlu",
|
"app.userList.moderator": "Sorumlu",
|
||||||
"app.userList.mobile": "Mobil",
|
"app.userList.mobile": "Mobil",
|
||||||
"app.userList.guest": "Konuk",
|
"app.userList.guest": "Konuk",
|
||||||
"app.userList.sharingWebcam": "Web kamerası",
|
"app.userList.sharingWebcam": "Kamera",
|
||||||
"app.userList.menuTitleContext": "Kullanılabilecek seçenekler",
|
"app.userList.menuTitleContext": "Kullanılabilecek seçenekler",
|
||||||
"app.userList.chatListItem.unreadSingular": "Bir yeni ileti",
|
"app.userList.chatListItem.unreadSingular": "Bir yeni ileti",
|
||||||
"app.userList.chatListItem.unreadPlural": "{0} yeni ileti",
|
"app.userList.chatListItem.unreadPlural": "{0} yeni ileti",
|
||||||
@ -151,7 +183,7 @@
|
|||||||
"app.screenshare.screenshareRetryOtherEnvError": "Kod {0}. Ekran paylaşılamadı. Farklı bir web tarayıcı veya aygıt kullanarak yeniden deneyin.",
|
"app.screenshare.screenshareRetryOtherEnvError": "Kod {0}. Ekran paylaşılamadı. Farklı bir web tarayıcı veya aygıt kullanarak yeniden deneyin.",
|
||||||
"app.screenshare.screenshareUnsupportedEnv": "Kod {0}. Web tarayıcı desteklenmiyor. Farklı bir web tarayıcı ya da aygıt kullanarak yeniden deneyin.",
|
"app.screenshare.screenshareUnsupportedEnv": "Kod {0}. Web tarayıcı desteklenmiyor. Farklı bir web tarayıcı ya da aygıt kullanarak yeniden deneyin.",
|
||||||
"app.screenshare.screensharePermissionError": "Kod {0}. Ekran yakalama izninin verilmesi gerekiyor.",
|
"app.screenshare.screensharePermissionError": "Kod {0}. Ekran yakalama izninin verilmesi gerekiyor.",
|
||||||
"app.meeting.ended": "Bu oturum sona erdi",
|
"app.meeting.ended": "Bu oturum kapatıldı",
|
||||||
"app.meeting.meetingTimeRemaining": "Toplantının bitmesine kalan süre: {0}",
|
"app.meeting.meetingTimeRemaining": "Toplantının bitmesine kalan süre: {0}",
|
||||||
"app.meeting.meetingTimeHasEnded": "Zaman doldu. Toplantı birazdan sona erecek",
|
"app.meeting.meetingTimeHasEnded": "Zaman doldu. Toplantı birazdan sona erecek",
|
||||||
"app.meeting.endedByUserMessage": "{0} bu oturumu kapattı",
|
"app.meeting.endedByUserMessage": "{0} bu oturumu kapattı",
|
||||||
@ -160,8 +192,8 @@
|
|||||||
"app.meeting.endedMessage": "Açılış ekranına geri döneceksiniz",
|
"app.meeting.endedMessage": "Açılış ekranına geri döneceksiniz",
|
||||||
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Toplantı bir dakika içinde sona erecek.",
|
"app.meeting.alertMeetingEndsUnderMinutesSingular": "Toplantı bir dakika içinde sona erecek.",
|
||||||
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Toplantı {0} dakika içinde sona erecek.",
|
"app.meeting.alertMeetingEndsUnderMinutesPlural": "Toplantı {0} dakika içinde sona erecek.",
|
||||||
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "Grup çalışması {0} dakika içinde sona erecek.",
|
"app.meeting.alertBreakoutEndsUnderMinutesPlural": "Çalışma grubu {0} dakika içinde sona erecek.",
|
||||||
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "Grup çalışması bir dakika içinde sona erecek.",
|
"app.meeting.alertBreakoutEndsUnderMinutesSingular": "Çalışma grubu bir dakika içinde sona erecek.",
|
||||||
"app.presentation.hide": "Sunumu gizle",
|
"app.presentation.hide": "Sunumu gizle",
|
||||||
"app.presentation.notificationLabel": "Geçerli sunum",
|
"app.presentation.notificationLabel": "Geçerli sunum",
|
||||||
"app.presentation.downloadLabel": "İndir",
|
"app.presentation.downloadLabel": "İndir",
|
||||||
@ -170,7 +202,7 @@
|
|||||||
"app.presentation.endSlideContent": "Slayt içeriği bitişi",
|
"app.presentation.endSlideContent": "Slayt içeriği bitişi",
|
||||||
"app.presentation.changedSlideContent": "Sunum şu slayta değiştirildi: {0}",
|
"app.presentation.changedSlideContent": "Sunum şu slayta değiştirildi: {0}",
|
||||||
"app.presentation.emptySlideContent": "Geçerli slayt için içerik yok",
|
"app.presentation.emptySlideContent": "Geçerli slayt için içerik yok",
|
||||||
"app.presentation.options.fullscreen": "Tam ekrana geç",
|
"app.presentation.options.fullscreen": "Sunumu tam ekran görüntüle",
|
||||||
"app.presentation.options.exitFullscreen": "Tam ekrandan çık",
|
"app.presentation.options.exitFullscreen": "Tam ekrandan çık",
|
||||||
"app.presentation.options.minimize": "Küçült",
|
"app.presentation.options.minimize": "Küçült",
|
||||||
"app.presentation.options.snapshot": "Geçerli slaytın ekran görüntüsü",
|
"app.presentation.options.snapshot": "Geçerli slaytın ekran görüntüsü",
|
||||||
@ -203,7 +235,18 @@
|
|||||||
"app.presentation.presentationToolbar.goToSlide": "{0}. slayt",
|
"app.presentation.presentationToolbar.goToSlide": "{0}. slayt",
|
||||||
"app.presentation.placeholder": "Şu anda etkin bir sunum yok",
|
"app.presentation.placeholder": "Şu anda etkin bir sunum yok",
|
||||||
"app.presentationUploder.title": "Sunum",
|
"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.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 sol taraftaki daire işaret kutusunu kullanarak bir sunum seçildiğinden emin olun.",
|
||||||
|
"app.presentationUploader.exportHint": "\"Sohbete gönder\" seçildiğinde, kullanıcılara herkese açık sohbet için ek açıklamalar bulunan bir indirilebilir bağlantı sunulur.",
|
||||||
|
"app.presentationUploader.exportToastHeader": "Sohbete gönderiliyor ({0} öge)",
|
||||||
|
"app.presentationUploader.exportToastHeaderPlural": "Sohbete gönderiliyor ({0} öge)",
|
||||||
|
"app.presentationUploader.exporting": "Sohbete gönderiliyor",
|
||||||
|
"app.presentationUploader.sending": "Gönderiliyor...",
|
||||||
|
"app.presentationUploader.collecting": "Slayt {0} / {1} ayıklanıyor...",
|
||||||
|
"app.presentationUploader.processing": "Slayt {0} / {1} açıklanıyor...",
|
||||||
|
"app.presentationUploader.sent": "Gönderildi",
|
||||||
|
"app.presentationUploader.exportingTimeout": "Dışa aktarma işlemi çok uzun sürüyor...",
|
||||||
|
"app.presentationUploader.export": "Sohbete gönder",
|
||||||
|
"app.presentationUploader.currentPresentationLabel": "Geçerli sunum",
|
||||||
"app.presentationUploder.extraHint": "ÖNEMLİ: Her bir dosya {0} MB boyutundan ve {1} sayfadan küçük olmalıdır.",
|
"app.presentationUploder.extraHint": "ÖNEMLİ: Her bir dosya {0} MB boyutundan ve {1} sayfadan küçük olmalıdır.",
|
||||||
"app.presentationUploder.uploadLabel": "Yükle",
|
"app.presentationUploder.uploadLabel": "Yükle",
|
||||||
"app.presentationUploder.confirmLabel": "Onayla",
|
"app.presentationUploder.confirmLabel": "Onayla",
|
||||||
@ -214,6 +257,8 @@
|
|||||||
"app.presentationUploder.dropzoneImagesLabel": "Yüklenecek görselleri sürükleyip buraya bırakın",
|
"app.presentationUploder.dropzoneImagesLabel": "Yüklenecek görselleri sürükleyip buraya bırakın",
|
||||||
"app.presentationUploder.browseFilesLabel": "ya da dosyalara göz atın",
|
"app.presentationUploder.browseFilesLabel": "ya da dosyalara göz atın",
|
||||||
"app.presentationUploder.browseImagesLabel": "ya da görsellere göz atın veya yakalayın",
|
"app.presentationUploder.browseImagesLabel": "ya da görsellere göz atın veya yakalayın",
|
||||||
|
"app.presentationUploder.externalUploadTitle": "3. taraf uygulamadan içerik ekle",
|
||||||
|
"app.presentationUploder.externalUploadLabel": "Dosyalara göz at",
|
||||||
"app.presentationUploder.fileToUpload": "Yüklenecek ...",
|
"app.presentationUploder.fileToUpload": "Yüklenecek ...",
|
||||||
"app.presentationUploder.currentBadge": "Geçerli",
|
"app.presentationUploder.currentBadge": "Geçerli",
|
||||||
"app.presentationUploder.rejectedError": "Seçilmiş dosya(lar) reddedildi. Lütfen dosya türlerini denetleyin.",
|
"app.presentationUploder.rejectedError": "Seçilmiş dosya(lar) reddedildi. Lütfen dosya türlerini denetleyin.",
|
||||||
@ -230,14 +275,14 @@
|
|||||||
"app.presentationUploder.conversion.generatedSlides": "Slaytlar oluşturuldu ...",
|
"app.presentationUploder.conversion.generatedSlides": "Slaytlar oluşturuldu ...",
|
||||||
"app.presentationUploder.conversion.generatingSvg": "SVG görselleri oluşturuluyor ...",
|
"app.presentationUploder.conversion.generatingSvg": "SVG görselleri oluşturuluyor ...",
|
||||||
"app.presentationUploder.conversion.pageCountExceeded": "Sayfa sayısı çok fazla. En fazla {0} olabilir",
|
"app.presentationUploder.conversion.pageCountExceeded": "Sayfa sayısı çok fazla. En fazla {0} olabilir",
|
||||||
|
"app.presentationUploder.conversion.invalidMimeType": "Geçersiz biçim algılandı (uzantı={0}, içerik türü={1})",
|
||||||
|
"app.presentationUploder.conversion.conversionTimeout": "{0}. slayt {1} denemede işlenemedi.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionInvalid": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
|
"app.presentationUploder.conversion.officeDocConversionInvalid": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
|
||||||
"app.presentationUploder.conversion.officeDocConversionFailed": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
|
"app.presentationUploder.conversion.officeDocConversionFailed": "Ofis belgesi işlenemedi. Lütfen PDF olarak yükleyin.",
|
||||||
"app.presentationUploder.conversion.pdfHasBigPage": "PDF dosyasını dönüştürülemedi. Lütfen iyileştirmeyi deneyin. En fazla sayfa boyutu {0}",
|
"app.presentationUploder.conversion.pdfHasBigPage": "PDF dosyasını dönüştürülemedi. Lütfen iyileştirmeyi deneyin. En fazla sayfa boyutu {0}",
|
||||||
"app.presentationUploder.conversion.timeout": "Sorun var, dönüştürme çok uzun sürdü",
|
"app.presentationUploder.conversion.timeout": "Sorun var, dönüştürme çok uzun sürdü",
|
||||||
"app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemedi.",
|
"app.presentationUploder.conversion.pageCountFailed": "Sayfa sayısı belirlenemedi.",
|
||||||
"app.presentationUploder.conversion.unsupportedDocument": "Dosya uzantısı desteklenmiyor",
|
"app.presentationUploder.conversion.unsupportedDocument": "Dosya uzantısı desteklenmiyor",
|
||||||
"app.presentationUploder.isDownloadableLabel": "Sunumun indirilmesine izin verilmiyor. Sununun indirilmesine izin vermek için tıklayın",
|
|
||||||
"app.presentationUploder.isNotDownloadableLabel": "Sunumun indirilmesine izin veriliyor. Sununun indirilmesine engellemek için tıklayın",
|
|
||||||
"app.presentationUploder.removePresentationLabel": "Sunumu kaldır",
|
"app.presentationUploder.removePresentationLabel": "Sunumu kaldır",
|
||||||
"app.presentationUploder.setAsCurrentPresentation": "Sunumu geçerli olarak ayarla",
|
"app.presentationUploder.setAsCurrentPresentation": "Sunumu geçerli olarak ayarla",
|
||||||
"app.presentationUploder.tableHeading.filename": "Dosya adı",
|
"app.presentationUploder.tableHeading.filename": "Dosya adı",
|
||||||
@ -251,6 +296,10 @@
|
|||||||
"app.presentationUploder.clearErrors": "Hataları temizle",
|
"app.presentationUploder.clearErrors": "Hataları temizle",
|
||||||
"app.presentationUploder.clearErrorsDesc": "Başarısız olmuş sunum yüklemelerini temizler",
|
"app.presentationUploder.clearErrorsDesc": "Başarısız olmuş sunum yüklemelerini temizler",
|
||||||
"app.presentationUploder.uploadViewTitle": "Sunum yükle",
|
"app.presentationUploder.uploadViewTitle": "Sunum yükle",
|
||||||
|
"app.poll.questionAndoptions.label" : "Görüntülenecek soru metni.\nA. Anket seçeneği *\nB. Anket seçeneği (isteğe bağlı)\nC. Anket seçeneği (isteğe bağlı)\nD. Anket seçeneği (isteğe bağlı)\nE. Anket seçeneği (isteğe bağlı)",
|
||||||
|
"app.poll.customInput.label": "Özel giriş",
|
||||||
|
"app.poll.customInputInstructions.label": "Özel giriş etkinleştirildi. Anket sorularını ve seçeneklerini belirtilen biçimde yazın ya da aynı biçimde bir metin dosyasını sürükleyip bırakın.",
|
||||||
|
"app.poll.maxOptionsWarning.label": "Yalnızca ilk 5 seçenek kullanılabilir!",
|
||||||
"app.poll.pollPaneTitle": "Oylama",
|
"app.poll.pollPaneTitle": "Oylama",
|
||||||
"app.poll.enableMultipleResponseLabel": "Kişiler birden fazla yanıt gönderebilsin mi?",
|
"app.poll.enableMultipleResponseLabel": "Kişiler birden fazla yanıt gönderebilsin mi?",
|
||||||
"app.poll.quickPollTitle": "Hızlı oylama",
|
"app.poll.quickPollTitle": "Hızlı oylama",
|
||||||
@ -270,7 +319,7 @@
|
|||||||
"app.poll.clickHereToSelect": "Seçmek için buraya tıklayın",
|
"app.poll.clickHereToSelect": "Seçmek için buraya tıklayın",
|
||||||
"app.poll.question.label" : "Sorunuzu yazın...",
|
"app.poll.question.label" : "Sorunuzu yazın...",
|
||||||
"app.poll.optionalQuestion.label" : "Sorunuzu yazın (isteğe bağlı)...",
|
"app.poll.optionalQuestion.label" : "Sorunuzu yazın (isteğe bağlı)...",
|
||||||
"app.poll.userResponse.label" : "Kullanıcı yanıtı",
|
"app.poll.userResponse.label" : "Yazılan yanıt",
|
||||||
"app.poll.responseTypes.label" : "Yanıt türleri",
|
"app.poll.responseTypes.label" : "Yanıt türleri",
|
||||||
"app.poll.optionDelete.label" : "Sil",
|
"app.poll.optionDelete.label" : "Sil",
|
||||||
"app.poll.responseChoices.label" : "Yanıt seçenekleri",
|
"app.poll.responseChoices.label" : "Yanıt seçenekleri",
|
||||||
@ -329,19 +378,20 @@
|
|||||||
"app.muteWarning.disableMessage": "Ses açılıncaya kadar uyarı sesini kapatma devre dışı bırakıldı",
|
"app.muteWarning.disableMessage": "Ses açılıncaya kadar uyarı sesini kapatma devre dışı bırakıldı",
|
||||||
"app.muteWarning.tooltip": "Kapatmak için tıklayın ve ses yeniden açılana kadar uyarıyı devre dışı bırakın",
|
"app.muteWarning.tooltip": "Kapatmak için tıklayın ve ses yeniden açılana kadar uyarıyı devre dışı bırakın",
|
||||||
"app.navBar.settingsDropdown.optionsLabel": "Seçenekler",
|
"app.navBar.settingsDropdown.optionsLabel": "Seçenekler",
|
||||||
"app.navBar.settingsDropdown.fullscreenLabel": "Tam ekrana geç",
|
"app.navBar.settingsDropdown.fullscreenLabel": "Uygulamayı tam ekran görüntüle",
|
||||||
"app.navBar.settingsDropdown.settingsLabel": "Ayarlar",
|
"app.navBar.settingsDropdown.settingsLabel": "Ayarlar",
|
||||||
"app.navBar.settingsDropdown.aboutLabel": "Hakkında",
|
"app.navBar.settingsDropdown.aboutLabel": "Hakkında",
|
||||||
"app.navBar.settingsDropdown.leaveSessionLabel": "Toplantıdan ayrıl",
|
"app.navBar.settingsDropdown.leaveSessionLabel": "Toplantıdan ayrıl",
|
||||||
"app.navBar.settingsDropdown.exitFullscreenLabel": "Tam ekrandan çık",
|
"app.navBar.settingsDropdown.exitFullscreenLabel": "Tam ekrandan çık",
|
||||||
"app.navBar.settingsDropdown.fullscreenDesc": "Ayarlar menüsünü tam ekran yap",
|
"app.navBar.settingsDropdown.fullscreenDesc": "Ayarlar menüsünü tam ekran görüntüle",
|
||||||
"app.navBar.settingsDropdown.settingsDesc": "Genel ayarları değiştir",
|
"app.navBar.settingsDropdown.settingsDesc": "Genel ayarları değiştir",
|
||||||
"app.navBar.settingsDropdown.aboutDesc": "İstemci bilgilerini göster",
|
"app.navBar.settingsDropdown.aboutDesc": "İstemci bilgilerini göster",
|
||||||
"app.navBar.settingsDropdown.leaveSessionDesc": "Toplantıdan ayrıl",
|
"app.navBar.settingsDropdown.leaveSessionDesc": "Toplantıdan ayrıl",
|
||||||
"app.navBar.settingsDropdown.exitFullscreenDesc": "Tam ekran kipinden çık",
|
"app.navBar.settingsDropdown.exitFullscreenDesc": "Tam ekrandan çık",
|
||||||
"app.navBar.settingsDropdown.hotkeysLabel": "Klavye kısayolları",
|
"app.navBar.settingsDropdown.hotkeysLabel": "Klavye kısayolları",
|
||||||
"app.navBar.settingsDropdown.hotkeysDesc": "Kullanılabilecek klavye kısayollarının listesi",
|
"app.navBar.settingsDropdown.hotkeysDesc": "Kullanılabilecek klavye kısayollarının listesi",
|
||||||
"app.navBar.settingsDropdown.helpLabel": "Yardım",
|
"app.navBar.settingsDropdown.helpLabel": "Yardım",
|
||||||
|
"app.navBar.settingsDropdown.openAppLabel": "BigBlueButton Tablet uygulamasında aç",
|
||||||
"app.navBar.settingsDropdown.helpDesc": "Kullanıcıya görüntülü eğitimleri açar (yeni sekmede)",
|
"app.navBar.settingsDropdown.helpDesc": "Kullanıcıya görüntülü eğitimleri açar (yeni sekmede)",
|
||||||
"app.navBar.settingsDropdown.endMeetingDesc": "Geçerli toplantıyı bitirir",
|
"app.navBar.settingsDropdown.endMeetingDesc": "Geçerli toplantıyı bitirir",
|
||||||
"app.navBar.settingsDropdown.endMeetingLabel": "Toplantıyı bitir",
|
"app.navBar.settingsDropdown.endMeetingLabel": "Toplantıyı bitir",
|
||||||
@ -349,17 +399,17 @@
|
|||||||
"app.navBar.toggleUserList.ariaLabel": "Kullanıcılar ve iletiler arasında geçiş yapar",
|
"app.navBar.toggleUserList.ariaLabel": "Kullanıcılar ve iletiler arasında geçiş yapar",
|
||||||
"app.navBar.toggleUserList.newMessages": "yeni ileti bildirimiyle",
|
"app.navBar.toggleUserList.newMessages": "yeni ileti bildirimiyle",
|
||||||
"app.navBar.toggleUserList.newMsgAria": "{0} kullanıcısından yeni ileti",
|
"app.navBar.toggleUserList.newMsgAria": "{0} kullanıcısından yeni ileti",
|
||||||
"app.navBar.recording": "Bu oturum kaydedildi",
|
"app.navBar.recording": "Bu oturum kaydediliyor",
|
||||||
"app.navBar.recording.on": "Kaydediliyor",
|
"app.navBar.recording.on": "Kaydediliyor",
|
||||||
"app.navBar.recording.off": "Kaydedilmiyor",
|
"app.navBar.recording.off": "Kaydedilmiyor",
|
||||||
"app.navBar.emptyAudioBrdige": "Etkin bir mikrofon yok. Bu kayıda ses eklemek için mikrofonunuzu paylaşın.",
|
"app.navBar.emptyAudioBrdige": "Etkin bir mikrofon yok. Bu kayıda ses eklemek için mikrofonunuzu paylaşın.",
|
||||||
"app.leaveConfirmation.confirmLabel": "Ayrıl",
|
"app.leaveConfirmation.confirmLabel": "Ayrıl",
|
||||||
"app.leaveConfirmation.confirmDesc": "Sizi toplantıdan çıkarır",
|
"app.leaveConfirmation.confirmDesc": "Sizi toplantıdan çıkarır",
|
||||||
"app.endMeeting.title": "{0} oturumunu kapat",
|
"app.endMeeting.title": "{0} oturumunu kapat",
|
||||||
"app.endMeeting.description": "Bu işlem, {0} etkin kullanıcının bulunduğu oturumu sona erdirecek. Bu oturumu kapatmak istediğinize emin misiniz?",
|
"app.endMeeting.description": "Bu işlem, {0} etkin kullanıcının bulunduğu oturumu kapatacak. Bu oturumu kapatmak istediğinize emin misiniz?",
|
||||||
"app.endMeeting.noUserDescription": "Bu oturumu kapatmak istediğinize emin misiniz?",
|
"app.endMeeting.noUserDescription": "Bu oturumu kapatmak istediğinize emin misiniz?",
|
||||||
"app.endMeeting.contentWarning": "Bu oturum için artık sohbet iletilerine, notlara, beyaz tahta içeriğine ve paylaşılmış belgelere doğrudan erişilemeyecek",
|
"app.endMeeting.contentWarning": "Artık bu oturumdaki sohbet iletilerine, notlara, beyaz tahta içeriğine ve paylaşılmış belgelere doğrudan erişilemeyecek",
|
||||||
"app.endMeeting.yesLabel": "Evet",
|
"app.endMeeting.yesLabel": "Oturumu tüm kullanıcılar için kapat",
|
||||||
"app.endMeeting.noLabel": "Hayır",
|
"app.endMeeting.noLabel": "Hayır",
|
||||||
"app.about.title": "Hakkında",
|
"app.about.title": "Hakkında",
|
||||||
"app.about.version": "İstemci yapımı:",
|
"app.about.version": "İstemci yapımı:",
|
||||||
@ -369,6 +419,15 @@
|
|||||||
"app.about.confirmDesc": "Tamam",
|
"app.about.confirmDesc": "Tamam",
|
||||||
"app.about.dismissLabel": "Vazgeç",
|
"app.about.dismissLabel": "Vazgeç",
|
||||||
"app.about.dismissDesc": "İstemci bilgilerini kapat",
|
"app.about.dismissDesc": "İstemci bilgilerini kapat",
|
||||||
|
"app.mobileAppModal.title": "BigBlueButton Tablet uygulamasını aç",
|
||||||
|
"app.mobileAppModal.description": "Aygıtınızda BigBlueButton Tablet uygulaması kurulu mu?",
|
||||||
|
"app.mobileAppModal.openApp": "Evet, uygulamayı aç",
|
||||||
|
"app.mobileAppModal.obtainUrlMsg": "Toplantı adresi alınıyor",
|
||||||
|
"app.mobileAppModal.obtainUrlErrorMsg": "Toplantı adresi alınırken sorun çıktı",
|
||||||
|
"app.mobileAppModal.openStore": "Hayır, indirmek için uygulama mağazasını aç",
|
||||||
|
"app.mobileAppModal.dismissLabel": "İptal",
|
||||||
|
"app.mobileAppModal.dismissDesc": "Kapat",
|
||||||
|
"app.mobileAppModal.userConnectedWithSameId": "{0} kullanıcısı sizinle aynı kodu kullanarak bağlandı.",
|
||||||
"app.actionsBar.changeStatusLabel": "Durumu değiştir",
|
"app.actionsBar.changeStatusLabel": "Durumu değiştir",
|
||||||
"app.actionsBar.muteLabel": "Sesi kapat",
|
"app.actionsBar.muteLabel": "Sesi kapat",
|
||||||
"app.actionsBar.unmuteLabel": "Sesi aç",
|
"app.actionsBar.unmuteLabel": "Sesi aç",
|
||||||
@ -379,10 +438,12 @@
|
|||||||
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Simge durumuna küçültüldükten sonra sunumu eski boyutuna döndüren düğme",
|
"app.actionsBar.actionsDropdown.restorePresentationDesc": "Simge durumuna küçültüldükten sonra sunumu eski boyutuna döndüren düğme",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Sunumu simge durumuna küçült",
|
"app.actionsBar.actionsDropdown.minimizePresentationLabel": "Sunumu simge durumuna küçült",
|
||||||
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Sunumu simge durumuna küçülten düğme",
|
"app.actionsBar.actionsDropdown.minimizePresentationDesc": "Sunumu simge durumuna küçülten düğme",
|
||||||
|
"app.actionsBar.actionsDropdown.layoutModal": "Ekran düzeni ayarları üste açılan penceresi",
|
||||||
"app.screenshare.screenShareLabel" : "Ekran paylaşımı",
|
"app.screenshare.screenShareLabel" : "Ekran paylaşımı",
|
||||||
"app.submenu.application.applicationSectionTitle": "Uygulama",
|
"app.submenu.application.applicationSectionTitle": "Uygulama",
|
||||||
"app.submenu.application.animationsLabel": "Canlandırmalar",
|
"app.submenu.application.animationsLabel": "Canlandırmalar",
|
||||||
"app.submenu.application.audioFilterLabel": "Mikrofon için ses süzgeçleri",
|
"app.submenu.application.audioFilterLabel": "Mikrofon için ses süzgeçleri",
|
||||||
|
"app.submenu.application.darkThemeLabel": "Koyu kip",
|
||||||
"app.submenu.application.fontSizeControlLabel": "Yazı boyutu",
|
"app.submenu.application.fontSizeControlLabel": "Yazı boyutu",
|
||||||
"app.submenu.application.increaseFontBtnLabel": "Uygulamanın yazı boyutunu büyüt",
|
"app.submenu.application.increaseFontBtnLabel": "Uygulamanın yazı boyutunu büyüt",
|
||||||
"app.submenu.application.decreaseFontBtnLabel": "Uygulamanın yazı boyutunu küçült",
|
"app.submenu.application.decreaseFontBtnLabel": "Uygulamanın yazı boyutunu küçült",
|
||||||
@ -392,6 +453,7 @@
|
|||||||
"app.submenu.application.noLocaleOptionLabel": "Etkin bir dil bulunamadı",
|
"app.submenu.application.noLocaleOptionLabel": "Etkin bir dil bulunamadı",
|
||||||
"app.submenu.application.paginationEnabledLabel": "Görüntü sayfalandırma",
|
"app.submenu.application.paginationEnabledLabel": "Görüntü sayfalandırma",
|
||||||
"app.submenu.application.layoutOptionLabel": "Ekran düzeni türü",
|
"app.submenu.application.layoutOptionLabel": "Ekran düzeni türü",
|
||||||
|
"app.submenu.application.pushLayoutLabel": "Ekran düzenini gönder",
|
||||||
"app.submenu.notification.SectionTitle": "Bildirimler",
|
"app.submenu.notification.SectionTitle": "Bildirimler",
|
||||||
"app.submenu.notification.Desc": "Neyin nasıl bildirileceğini belirleyin.",
|
"app.submenu.notification.Desc": "Neyin nasıl bildirileceğini belirleyin.",
|
||||||
"app.submenu.notification.audioAlertLabel": "Sesli uyarılar",
|
"app.submenu.notification.audioAlertLabel": "Sesli uyarılar",
|
||||||
@ -420,7 +482,7 @@
|
|||||||
"app.settings.main.save.label.description": "Değişiklikleri kaydeder ve ayarlar menüsünü kapatır",
|
"app.settings.main.save.label.description": "Değişiklikleri kaydeder ve ayarlar menüsünü kapatır",
|
||||||
"app.settings.dataSavingTab.label": "Veri tasarrufu",
|
"app.settings.dataSavingTab.label": "Veri tasarrufu",
|
||||||
"app.settings.dataSavingTab.webcam": "Kameraları aç",
|
"app.settings.dataSavingTab.webcam": "Kameraları aç",
|
||||||
"app.settings.dataSavingTab.screenShare": "Masaüstü paylaşılabilsin",
|
"app.settings.dataSavingTab.screenShare": "Diğer katılımcılar masaüstlerini paylaşabilsin",
|
||||||
"app.settings.dataSavingTab.description": "Bant genişliğinden tasarruf etmek için nelerin görüntüleneceğini ayarlayın.",
|
"app.settings.dataSavingTab.description": "Bant genişliğinden tasarruf etmek için nelerin görüntüleneceğini ayarlayın.",
|
||||||
"app.settings.save-notification.label": "Ayarlar kaydedildi",
|
"app.settings.save-notification.label": "Ayarlar kaydedildi",
|
||||||
"app.statusNotifier.lowerHands": "Elleri indir",
|
"app.statusNotifier.lowerHands": "Elleri indir",
|
||||||
@ -440,7 +502,6 @@
|
|||||||
"app.actionsBar.actionsDropdown.presentationLabel": "Sunum yönetimi",
|
"app.actionsBar.actionsDropdown.presentationLabel": "Sunum yönetimi",
|
||||||
"app.actionsBar.actionsDropdown.initPollLabel": "Oylama başlat",
|
"app.actionsBar.actionsDropdown.initPollLabel": "Oylama başlat",
|
||||||
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ekranını paylaş",
|
"app.actionsBar.actionsDropdown.desktopShareLabel": "Ekranını paylaş",
|
||||||
"app.actionsBar.actionsDropdown.lockedDesktopShareLabel": "Ekran paylaşımı kilitli",
|
|
||||||
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ekran paylaşımını bitir",
|
"app.actionsBar.actionsDropdown.stopDesktopShareLabel": "Ekran paylaşımını bitir",
|
||||||
"app.actionsBar.actionsDropdown.presentationDesc": "Sunumunuzu yükleyin",
|
"app.actionsBar.actionsDropdown.presentationDesc": "Sunumunuzu yükleyin",
|
||||||
"app.actionsBar.actionsDropdown.initPollDesc": "Bir oylama başlatın",
|
"app.actionsBar.actionsDropdown.initPollDesc": "Bir oylama başlatın",
|
||||||
@ -449,14 +510,15 @@
|
|||||||
"app.actionsBar.actionsDropdown.pollBtnLabel": "Oylama başlat",
|
"app.actionsBar.actionsDropdown.pollBtnLabel": "Oylama başlat",
|
||||||
"app.actionsBar.actionsDropdown.pollBtnDesc": "Oylama bölmesini açar ya da kapatır",
|
"app.actionsBar.actionsDropdown.pollBtnDesc": "Oylama bölmesini açar ya da kapatır",
|
||||||
"app.actionsBar.actionsDropdown.saveUserNames": "Kullanıcı adlarını kaydet",
|
"app.actionsBar.actionsDropdown.saveUserNames": "Kullanıcı adlarını kaydet",
|
||||||
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Grup odaları oluştur",
|
"app.actionsBar.actionsDropdown.createBreakoutRoom": "Çalışma grubu odaları oluştur",
|
||||||
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "geçerli toplantıyı bölmek için gruplar oluştur",
|
"app.actionsBar.actionsDropdown.createBreakoutRoomDesc": "geçerli toplantıyı çalışma gruplarına ayır",
|
||||||
"app.actionsBar.actionsDropdown.captionsLabel": "Alt yazıları görüntüle",
|
"app.actionsBar.actionsDropdown.captionsLabel": "Alt yazıları görüntüle",
|
||||||
"app.actionsBar.actionsDropdown.captionsDesc": "Alt yazı bölmesini açar ya da kapatır",
|
"app.actionsBar.actionsDropdown.captionsDesc": "Alt yazı bölmesini açar ya da kapatır",
|
||||||
"app.actionsBar.actionsDropdown.takePresenter": "Sunucu ol",
|
"app.actionsBar.actionsDropdown.takePresenter": "Sunucu ol",
|
||||||
"app.actionsBar.actionsDropdown.takePresenterDesc": "Kendinizi yeni sunucu olarak atayın",
|
"app.actionsBar.actionsDropdown.takePresenterDesc": "Kendinizi yeni sunucu olarak atayın",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Rastgele kullanıcı seç",
|
"app.actionsBar.actionsDropdown.selectRandUserLabel": "Rastgele kullanıcı seç",
|
||||||
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Var olan izleyicilerden rastgele bir kullanıcı seçer",
|
"app.actionsBar.actionsDropdown.selectRandUserDesc": "Var olan izleyicilerden rastgele bir kullanıcı seçer",
|
||||||
|
"app.actionsBar.actionsDropdown.propagateLayoutLabel": "Ekran düzenini yayınla",
|
||||||
"app.actionsBar.emojiMenu.statusTriggerLabel": "Durumu ayarla",
|
"app.actionsBar.emojiMenu.statusTriggerLabel": "Durumu ayarla",
|
||||||
"app.actionsBar.emojiMenu.awayLabel": "Uzakta",
|
"app.actionsBar.emojiMenu.awayLabel": "Uzakta",
|
||||||
"app.actionsBar.emojiMenu.awayDesc": "Durumunuzu uzakta yapar",
|
"app.actionsBar.emojiMenu.awayDesc": "Durumunuzu uzakta yapar",
|
||||||
@ -496,19 +558,21 @@
|
|||||||
"app.audioNotification.audioFailedError1012": "Bağlantı sona erdildi (ICE 1012 hatası)",
|
"app.audioNotification.audioFailedError1012": "Bağlantı sona erdildi (ICE 1012 hatası)",
|
||||||
"app.audioNotification.audioFailedMessage": "Ses bağlantınız kurulamadı",
|
"app.audioNotification.audioFailedMessage": "Ses bağlantınız kurulamadı",
|
||||||
"app.audioNotification.mediaFailedMessage": "Yalnızca güvenli kaynaklara izin verildiğinden getUserMicMedia tamamlanamadı",
|
"app.audioNotification.mediaFailedMessage": "Yalnızca güvenli kaynaklara izin verildiğinden getUserMicMedia tamamlanamadı",
|
||||||
|
"app.audioNotification.deviceChangeFailed": "Ses aygıtı değiştirilemedi. Seçilen aygıtın doğru şekilde kurulmuş ve kullanılabilir olduğundan emin olun",
|
||||||
"app.audioNotification.closeLabel": "Kapat",
|
"app.audioNotification.closeLabel": "Kapat",
|
||||||
"app.audioNotificaion.reconnectingAsListenOnly": "İzleyicilerin mikrofon kullanması engellenmiş. Yalnızca dinleyici olarak bağlanıyorsunuz",
|
"app.audioNotificaion.reconnectingAsListenOnly": "İzleyicilerin mikrofon kullanması engellenmiş. Yalnızca dinleyici olarak bağlanıyorsunuz",
|
||||||
"app.breakoutJoinConfirmation.title": "Grup odasına katıl",
|
"app.breakoutJoinConfirmation.title": "Çalışma grubu odasına katıl",
|
||||||
"app.breakoutJoinConfirmation.message": "Katılmak istiyor musunuz?",
|
"app.breakoutJoinConfirmation.message": "Katılmak istiyor musunuz?",
|
||||||
"app.breakoutJoinConfirmation.confirmDesc": "Grup odasına katıl",
|
"app.breakoutJoinConfirmation.confirmDesc": "Çalışma grubu odasına katıl",
|
||||||
"app.breakoutJoinConfirmation.dismissLabel": "Vazgeç",
|
"app.breakoutJoinConfirmation.dismissLabel": "Vazgeç",
|
||||||
"app.breakoutJoinConfirmation.dismissDesc": "Grup odasına katılmayı reddeder ve kapatır",
|
"app.breakoutJoinConfirmation.dismissDesc": "Çalışma grubu odasına katılmayı reddeder ve kapatır",
|
||||||
"app.breakoutJoinConfirmation.freeJoinMessage": "Katılacağınız bir grup odası seçin",
|
"app.breakoutJoinConfirmation.freeJoinMessage": "Katılacağınız bir çalışma grubu odası seçin",
|
||||||
"app.breakoutTimeRemainingMessage": "Grup odasının kalan zamanı: {0}",
|
"app.breakoutTimeRemainingMessage": "Çalışma grubu odasının kalan zamanı: {0}",
|
||||||
"app.breakoutWillCloseMessage": "Süre bitti. Grup odası birazdan kapanacak",
|
"app.breakoutWillCloseMessage": "Süre bitti. Çalışma grubu odası birazdan kapanacak",
|
||||||
"app.breakout.dropdown.manageDuration": "Süreyi değiştir",
|
"app.breakout.dropdown.manageDuration": "Süreyi değiştir",
|
||||||
"app.breakout.dropdown.destroyAll": "Grup odalarını kapat",
|
"app.breakout.dropdown.destroyAll": "Çalışma grubu odalarını kapat",
|
||||||
"app.breakout.dropdown.options": "Gruplandırma seçenekleri",
|
"app.breakout.dropdown.options": "Çalışma grupları seçenekleri",
|
||||||
|
"app.breakout.dropdown.manageUsers": "Kullanıcı yönetimi",
|
||||||
"app.calculatingBreakoutTimeRemaining": "Kalan süre hesaplanıyor...",
|
"app.calculatingBreakoutTimeRemaining": "Kalan süre hesaplanıyor...",
|
||||||
"app.audioModal.ariaTitle": "Üste açılan ses ile katılma penceresi",
|
"app.audioModal.ariaTitle": "Üste açılan ses ile katılma penceresi",
|
||||||
"app.audioModal.microphoneLabel": "Mikrofon",
|
"app.audioModal.microphoneLabel": "Mikrofon",
|
||||||
@ -555,6 +619,7 @@
|
|||||||
"app.audio.changeAudioDevice": "Ses aygıtını değiştir",
|
"app.audio.changeAudioDevice": "Ses aygıtını değiştir",
|
||||||
"app.audio.enterSessionLabel": "Oturuma katıl",
|
"app.audio.enterSessionLabel": "Oturuma katıl",
|
||||||
"app.audio.playSoundLabel": "Sesi oynat",
|
"app.audio.playSoundLabel": "Sesi oynat",
|
||||||
|
"app.audio.stopAudioFeedback": "Ses geri beslemesini durdur",
|
||||||
"app.audio.backLabel": "Geri",
|
"app.audio.backLabel": "Geri",
|
||||||
"app.audio.loading": "Yükleniyor",
|
"app.audio.loading": "Yükleniyor",
|
||||||
"app.audio.microphones": "Mikrofonlar",
|
"app.audio.microphones": "Mikrofonlar",
|
||||||
@ -567,10 +632,32 @@
|
|||||||
"app.audio.audioSettings.testSpeakerLabel": "Hoparlörünüzü deneyin",
|
"app.audio.audioSettings.testSpeakerLabel": "Hoparlörünüzü deneyin",
|
||||||
"app.audio.audioSettings.microphoneStreamLabel": "Yayın akışınızın ses düzeyi",
|
"app.audio.audioSettings.microphoneStreamLabel": "Yayın akışınızın ses düzeyi",
|
||||||
"app.audio.audioSettings.retryLabel": "Yeniden dene",
|
"app.audio.audioSettings.retryLabel": "Yeniden dene",
|
||||||
|
"app.audio.audioSettings.fallbackInputLabel": "{0} ses girişi",
|
||||||
|
"app.audio.audioSettings.fallbackOutputLabel": "{0} ses çıkışı",
|
||||||
|
"app.audio.audioSettings.defaultOutputDeviceLabel": "Varsayılan",
|
||||||
|
"app.audio.audioSettings.findingDevicesLabel": "Aygıtlar bulunuyor...",
|
||||||
"app.audio.listenOnly.backLabel": "Geri",
|
"app.audio.listenOnly.backLabel": "Geri",
|
||||||
"app.audio.listenOnly.closeLabel": "Kapat",
|
"app.audio.listenOnly.closeLabel": "Kapat",
|
||||||
"app.audio.permissionsOverlay.title": "Mikrofonunuza erişim izni verin",
|
"app.audio.permissionsOverlay.title": "Mikrofonunuza erişim izni verin",
|
||||||
"app.audio.permissionsOverlay.hint": "Sesli konferansa katılabilmek için ortam aygıtlarınızı kullanmamıza izin vermelisiniz :)",
|
"app.audio.permissionsOverlay.hint": "Sesli konferansa katılabilmek için ortam aygıtlarınızı kullanmamıza izin vermelisiniz :)",
|
||||||
|
"app.audio.captions.button.start": "Alt yazıları aç",
|
||||||
|
"app.audio.captions.button.stop": "Alt yazıları kapat",
|
||||||
|
"app.audio.captions.button.language": "Dil",
|
||||||
|
"app.audio.captions.button.transcription": "Yazıya dökme",
|
||||||
|
"app.audio.captions.button.transcriptionSettings": "Yazıya dökme ayarları",
|
||||||
|
"app.audio.captions.speech.title": "Otomatik yazıya dökme",
|
||||||
|
"app.audio.captions.speech.disabled": "Devre dışı",
|
||||||
|
"app.audio.captions.speech.unsupported": "Web tarayıcınız konuşma tanıma özelliğini desteklemiyor. Sesiniz yazıya dökülemeyecek",
|
||||||
|
"app.audio.captions.select.de-DE": "Almanca",
|
||||||
|
"app.audio.captions.select.en-US": "İngilizce",
|
||||||
|
"app.audio.captions.select.es-ES": "İspanyolca",
|
||||||
|
"app.audio.captions.select.fr-FR": "Fransızca",
|
||||||
|
"app.audio.captions.select.hi-ID": "Hintçe",
|
||||||
|
"app.audio.captions.select.it-IT": "İtalyanca",
|
||||||
|
"app.audio.captions.select.ja-JP": "Japonca",
|
||||||
|
"app.audio.captions.select.pt-BR": "Portekizce",
|
||||||
|
"app.audio.captions.select.ru-RU": "Rusça",
|
||||||
|
"app.audio.captions.select.zh-CN": "Çince",
|
||||||
"app.error.removed": "Konferanstan çıkarıldınız",
|
"app.error.removed": "Konferanstan çıkarıldınız",
|
||||||
"app.error.meeting.ended": "Konferanstan ayrıldınız",
|
"app.error.meeting.ended": "Konferanstan ayrıldınız",
|
||||||
"app.meeting.logout.duplicateUserEjectReason": "Aynı kullanıcı toplantıya ikinci kez katılmaya çalışıyor",
|
"app.meeting.logout.duplicateUserEjectReason": "Aynı kullanıcı toplantıya ikinci kez katılmaya çalışıyor",
|
||||||
@ -578,6 +665,7 @@
|
|||||||
"app.meeting.logout.ejectedFromMeeting": "Toplantıdan çıkarıldınız",
|
"app.meeting.logout.ejectedFromMeeting": "Toplantıdan çıkarıldınız",
|
||||||
"app.meeting.logout.validateTokenFailedEjectReason": "Kimlik doğrulama kodu doğrulanamadı",
|
"app.meeting.logout.validateTokenFailedEjectReason": "Kimlik doğrulama kodu doğrulanamadı",
|
||||||
"app.meeting.logout.userInactivityEjectReason": "Kullanıcı uzun süredir etkin değil",
|
"app.meeting.logout.userInactivityEjectReason": "Kullanıcı uzun süredir etkin değil",
|
||||||
|
"app.meeting.logout.maxParticipantsReached": "Bu toplantıya katılmasına izin verilen katılımcı sayısına ulaşıldı",
|
||||||
"app.meeting-ended.rating.legendLabel": "Geri bildirim değerlendirmesi",
|
"app.meeting-ended.rating.legendLabel": "Geri bildirim değerlendirmesi",
|
||||||
"app.meeting-ended.rating.starLabel": "Yıldız",
|
"app.meeting-ended.rating.starLabel": "Yıldız",
|
||||||
"app.modal.close": "Kapat",
|
"app.modal.close": "Kapat",
|
||||||
@ -599,8 +687,11 @@
|
|||||||
"app.error.403": "Toplantıdan çıkarıldınız",
|
"app.error.403": "Toplantıdan çıkarıldınız",
|
||||||
"app.error.404": "Bulunamadı",
|
"app.error.404": "Bulunamadı",
|
||||||
"app.error.408": "Kimlik doğrulanamadı",
|
"app.error.408": "Kimlik doğrulanamadı",
|
||||||
|
"app.error.409": "Çatışma",
|
||||||
"app.error.410": "Toplantı sona erdi",
|
"app.error.410": "Toplantı sona erdi",
|
||||||
"app.error.500": "Bir sorun çıktı",
|
"app.error.500": "Bir sorun çıktı",
|
||||||
|
"app.error.503": "Bağlantınız kesildi",
|
||||||
|
"app.error.disconnected.rejoin": "Yeniden katılmak için sayfayı yenileyin.",
|
||||||
"app.error.userLoggedOut": "Kullanıcı oturumu kapattığından sessionToken geçersiz",
|
"app.error.userLoggedOut": "Kullanıcı oturumu kapattığından sessionToken geçersiz",
|
||||||
"app.error.ejectedUser": "Kullanıcı oturumdan çıkarıldığından sessionToken geçersiz",
|
"app.error.ejectedUser": "Kullanıcı oturumdan çıkarıldığından sessionToken geçersiz",
|
||||||
"app.error.joinedAnotherWindow": "Bu oturum başka bir web tarayıcı penceresinde açık gibi görünüyor.",
|
"app.error.joinedAnotherWindow": "Bu oturum başka bir web tarayıcı penceresinde açık gibi görünüyor.",
|
||||||
@ -644,14 +735,18 @@
|
|||||||
"app.userList.guest.privateMessageLabel": "İleti",
|
"app.userList.guest.privateMessageLabel": "İleti",
|
||||||
"app.userList.guest.acceptLabel": "Kabul et",
|
"app.userList.guest.acceptLabel": "Kabul et",
|
||||||
"app.userList.guest.denyLabel": "Reddet",
|
"app.userList.guest.denyLabel": "Reddet",
|
||||||
|
"app.userList.guest.feedbackMessage": "İşlem uygulandı:",
|
||||||
"app.user-info.title": "Dizinde arama",
|
"app.user-info.title": "Dizinde arama",
|
||||||
"app.toast.breakoutRoomEnded": "Grup odası kapatıldı. Lütfen yeniden sesli görüşmeye katılın.",
|
"app.toast.breakoutRoomEnded": "Çalışma grubu odası kapatıldı. Lütfen yeniden sesli görüşmeye katılın.",
|
||||||
"app.toast.chat.public": "Yeni herkese açık sohbet iletisi",
|
"app.toast.chat.public": "Yeni herkese açık sohbet iletisi",
|
||||||
"app.toast.chat.private": "Yeni özel sohbet iletisi",
|
"app.toast.chat.private": "Yeni özel sohbet iletisi",
|
||||||
"app.toast.chat.system": "Sistem",
|
"app.toast.chat.system": "Sistem",
|
||||||
|
"app.toast.chat.poll": "Anket sonuçları",
|
||||||
|
"app.toast.chat.pollClick": "Anket sonuçları yayınlandı. Görmek için buraya tıklayın.",
|
||||||
"app.toast.clearedEmoji.label": "Emoji durumu temizlendi",
|
"app.toast.clearedEmoji.label": "Emoji durumu temizlendi",
|
||||||
"app.toast.setEmoji.label": "Emoji durumu {0} olarak ayarlandı",
|
"app.toast.setEmoji.label": "Emoji durumu {0} olarak ayarlandı",
|
||||||
"app.toast.meetingMuteOn.label": "Tüm kullanıcıların sesi kapatıldı",
|
"app.toast.meetingMuteOn.label": "Tüm kullanıcıların sesi kapatıldı",
|
||||||
|
"app.toast.meetingMuteOnViewers.label": "Tüm izleyicilerin sesi kapatıldı",
|
||||||
"app.toast.meetingMuteOff.label": "Toplantının sesi açıldı",
|
"app.toast.meetingMuteOff.label": "Toplantının sesi açıldı",
|
||||||
"app.toast.setEmoji.raiseHand": "Elinizi kaldırdınız",
|
"app.toast.setEmoji.raiseHand": "Elinizi kaldırdınız",
|
||||||
"app.toast.setEmoji.lowerHand": "Eliniz indirildi",
|
"app.toast.setEmoji.lowerHand": "Eliniz indirildi",
|
||||||
@ -688,6 +783,38 @@
|
|||||||
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
"app.shortcut-help.toggleFullscreenKey": "Enter",
|
||||||
"app.shortcut-help.nextSlideKey": "Sağ ok",
|
"app.shortcut-help.nextSlideKey": "Sağ ok",
|
||||||
"app.shortcut-help.previousSlideKey": "Sol ok",
|
"app.shortcut-help.previousSlideKey": "Sol ok",
|
||||||
|
"app.shortcut-help.select": "Seçim aracı",
|
||||||
|
"app.shortcut-help.pencil": "Kalem",
|
||||||
|
"app.shortcut-help.eraser": "Silgi",
|
||||||
|
"app.shortcut-help.rectangle": "Dikdörtgen",
|
||||||
|
"app.shortcut-help.elipse": "Elips",
|
||||||
|
"app.shortcut-help.triangle": "Üçgen",
|
||||||
|
"app.shortcut-help.line": "Çizgi",
|
||||||
|
"app.shortcut-help.arrow": "Ok",
|
||||||
|
"app.shortcut-help.text": "Metin aracı",
|
||||||
|
"app.shortcut-help.note": "Yapışkan not",
|
||||||
|
"app.shortcut-help.general": "Genel",
|
||||||
|
"app.shortcut-help.presentation": "Sunum",
|
||||||
|
"app.shortcut-help.whiteboard": "Beyaz tahta",
|
||||||
|
"app.shortcut-help.zoomIn": "Yakınlaştır",
|
||||||
|
"app.shortcut-help.zoomOut": "Uzaklaştır",
|
||||||
|
"app.shortcut-help.zoomFit": "Yakınlaştırmayı sıfırla",
|
||||||
|
"app.shortcut-help.zoomSelect": "Seçime yakınlaştır",
|
||||||
|
"app.shortcut-help.flipH": "Yatay çevir",
|
||||||
|
"app.shortcut-help.flipV": "Dikey çevir",
|
||||||
|
"app.shortcut-help.lock": "Kilitle / kilidi aç",
|
||||||
|
"app.shortcut-help.moveToFront": "Öne getir",
|
||||||
|
"app.shortcut-help.moveToBack": "Arkay götür",
|
||||||
|
"app.shortcut-help.moveForward": "Daha öne getir",
|
||||||
|
"app.shortcut-help.moveBackward": "Daha arkaya götür",
|
||||||
|
"app.shortcut-help.undo": "Geri al",
|
||||||
|
"app.shortcut-help.redo": "Yinele",
|
||||||
|
"app.shortcut-help.cut": "Kes",
|
||||||
|
"app.shortcut-help.copy": "Kopyala",
|
||||||
|
"app.shortcut-help.paste": "Yapıştır",
|
||||||
|
"app.shortcut-help.selectAll": "Tümünü seç",
|
||||||
|
"app.shortcut-help.delete": "Sil",
|
||||||
|
"app.shortcut-help.duplicate": "Çoğalt",
|
||||||
"app.lock-viewers.title": "İzleyicileri kilitle",
|
"app.lock-viewers.title": "İzleyicileri kilitle",
|
||||||
"app.lock-viewers.description": "Bu seçenekler, izleyicilerin belirli özellikleri kullanmasını kısıtlamanızı sağlar.",
|
"app.lock-viewers.description": "Bu seçenekler, izleyicilerin belirli özellikleri kullanmasını kısıtlamanızı sağlar.",
|
||||||
"app.lock-viewers.featuresLable": "Özellik",
|
"app.lock-viewers.featuresLable": "Özellik",
|
||||||
@ -737,13 +864,19 @@
|
|||||||
"app.connection-status.next": "Sonraki sayfa",
|
"app.connection-status.next": "Sonraki sayfa",
|
||||||
"app.connection-status.prev": "Önceki sayfa",
|
"app.connection-status.prev": "Önceki sayfa",
|
||||||
"app.learning-dashboard.label": "Öğrenme istatistikleri panosu",
|
"app.learning-dashboard.label": "Öğrenme istatistikleri panosu",
|
||||||
"app.learning-dashboard.description": "Kullanıcı etkinlikleriyle katılım panosunu açar",
|
"app.learning-dashboard.description": "Kullanıcı etkinlikleriyle katılım panosu",
|
||||||
"app.learning-dashboard.clickHereToOpen": "Öğrenme istatistikleri panosunu aç",
|
"app.learning-dashboard.clickHereToOpen": "Öğrenme istatistikleri panosunu aç",
|
||||||
"app.recording.startTitle": "Kaydı başlat",
|
"app.recording.startTitle": "Kaydı başlat",
|
||||||
"app.recording.stopTitle": "Kaydı durdur",
|
"app.recording.stopTitle": "Kaydı durdur",
|
||||||
"app.recording.resumeTitle": "Kaydı sürdür",
|
"app.recording.resumeTitle": "Kaydı sürdür",
|
||||||
"app.recording.startDescription": "Daha sonra kaydı duraklatmak için yeniden kayıt düğmesini kullanabilirsiniz",
|
"app.recording.startDescription": "Daha sonra kaydı duraklatmak için yeniden kayıt düğmesini kullanabilirsiniz",
|
||||||
"app.recording.stopDescription": "Kaydı duraklatmak istediğinize emin misiniz? Kayıt düğmesine yeniden basarak kaydı sürdürebilirsiniz.",
|
"app.recording.stopDescription": "Kaydı duraklatmak istediğinize emin misiniz? Kayıt düğmesine yeniden basarak kaydı sürdürebilirsiniz.",
|
||||||
|
"app.recording.notify.title": "Kayıt alınıyor",
|
||||||
|
"app.recording.notify.description": "Bu oturumun geri kalanının kaydı kullanılabilecek",
|
||||||
|
"app.recording.notify.continue": "İlerle",
|
||||||
|
"app.recording.notify.leave": "Oturumdan ayrıl",
|
||||||
|
"app.recording.notify.continueLabel" : "Kayıt alınacağını onayla ve ilerle",
|
||||||
|
"app.recording.notify.leaveLabel" : "Kayıt alınmasını reddet ve toplantıdan ayrıl",
|
||||||
"app.videoPreview.cameraLabel": "Kamera",
|
"app.videoPreview.cameraLabel": "Kamera",
|
||||||
"app.videoPreview.profileLabel": "Kalite",
|
"app.videoPreview.profileLabel": "Kalite",
|
||||||
"app.videoPreview.quality.low": "Düşük",
|
"app.videoPreview.quality.low": "Düşük",
|
||||||
@ -760,13 +893,20 @@
|
|||||||
"app.videoPreview.webcamOptionLabel": "Kamera seçin",
|
"app.videoPreview.webcamOptionLabel": "Kamera seçin",
|
||||||
"app.videoPreview.webcamPreviewLabel": "Kamera ön izlemesi",
|
"app.videoPreview.webcamPreviewLabel": "Kamera ön izlemesi",
|
||||||
"app.videoPreview.webcamSettingsTitle": "Kamera ayarları",
|
"app.videoPreview.webcamSettingsTitle": "Kamera ayarları",
|
||||||
|
"app.videoPreview.webcamEffectsTitle": "Kamera görsel etkileri",
|
||||||
"app.videoPreview.webcamVirtualBackgroundLabel": "Sanal arka plan ayarları",
|
"app.videoPreview.webcamVirtualBackgroundLabel": "Sanal arka plan ayarları",
|
||||||
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Bu aygıt sanal arka planları desteklemiyor",
|
"app.videoPreview.webcamVirtualBackgroundDisabledLabel": "Bu aygıt sanal arka planları desteklemiyor",
|
||||||
"app.videoPreview.webcamNotFoundLabel": "Kamera bulunamadı",
|
"app.videoPreview.webcamNotFoundLabel": "Kamera bulunamadı",
|
||||||
"app.videoPreview.profileNotFoundLabel": "Desteklenen bir kamera profili yok",
|
"app.videoPreview.profileNotFoundLabel": "Desteklenen bir kamera profili yok",
|
||||||
|
"app.videoPreview.brightness": "Parlaklık",
|
||||||
|
"app.videoPreview.wholeImageBrightnessLabel": "Tam görsel",
|
||||||
|
"app.videoPreview.wholeImageBrightnessDesc": "Akışa ve arka plan görseline parlaklık uygular",
|
||||||
|
"app.videoPreview.sliderDesc": "Parlak düzeyini artırın ya da azaltın",
|
||||||
"app.video.joinVideo": "Kamerayı paylaş",
|
"app.video.joinVideo": "Kamerayı paylaş",
|
||||||
"app.video.connecting": "Kamera paylaşımı başlatılıyor...",
|
"app.video.connecting": "Kamera paylaşımı başlatılıyor...",
|
||||||
"app.video.leaveVideo": "Kamera paylaşımını durdur",
|
"app.video.leaveVideo": "Kamera paylaşımını durdur",
|
||||||
|
"app.video.videoSettings": "Görüntü ayarları",
|
||||||
|
"app.video.visualEffects": "Görsel etkiler",
|
||||||
"app.video.advancedVideo": "Gelişmiş ayarları aç",
|
"app.video.advancedVideo": "Gelişmiş ayarları aç",
|
||||||
"app.video.iceCandidateError": "ICE adayı eklenirken sorun çıktı",
|
"app.video.iceCandidateError": "ICE adayı eklenirken sorun çıktı",
|
||||||
"app.video.iceConnectionStateError": "Bağlantı kurulamadı (ICE 1107 hatası)",
|
"app.video.iceConnectionStateError": "Bağlantı kurulamadı (ICE 1107 hatası)",
|
||||||
@ -782,6 +922,7 @@
|
|||||||
"app.video.notReadableError": "Kamera görüntüsü alınamadı. Lütfen kamerayı başka bir uygulamanın kullanmadığından 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ı zamanında yanıt vermedi.",
|
"app.video.timeoutError": "Tarayıcı zamanında yanıt vermedi.",
|
||||||
"app.video.genericError": "Aygıtta bilinmeyen bir sorun çıktı ({0})",
|
"app.video.genericError": "Aygıtta bilinmeyen bir sorun çıktı ({0})",
|
||||||
|
"app.video.inactiveError": "Kameranız beklenmedik şekilde durdu. Lütfen web tarayıcınızın izinlerini gözden geçirin",
|
||||||
"app.video.mediaTimedOutError": "Kamera yayın akışı kesildi. Yeniden paylaşmayı deneyin",
|
"app.video.mediaTimedOutError": "Kamera yayın akışı kesildi. Yeniden paylaşmayı deneyin",
|
||||||
"app.video.mediaFlowTimeout1020": "Ortam sunucuya ulaşamadı (hata 1020)",
|
"app.video.mediaFlowTimeout1020": "Ortam sunucuya ulaşamadı (hata 1020)",
|
||||||
"app.video.suggestWebcamLock": "İzleyicilerin kameraları zorla kilitlensin mi?",
|
"app.video.suggestWebcamLock": "İzleyicilerin kameraları zorla kilitlensin mi?",
|
||||||
@ -804,13 +945,22 @@
|
|||||||
"app.video.virtualBackground.board": "Tahta",
|
"app.video.virtualBackground.board": "Tahta",
|
||||||
"app.video.virtualBackground.coffeeshop": "Kafe",
|
"app.video.virtualBackground.coffeeshop": "Kafe",
|
||||||
"app.video.virtualBackground.background": "Arka plan",
|
"app.video.virtualBackground.background": "Arka plan",
|
||||||
|
"app.video.virtualBackground.backgroundWithIndex": "{0} arka planı",
|
||||||
|
"app.video.virtualBackground.custom": "Bilgisayarınızdan yükleyin",
|
||||||
|
"app.video.virtualBackground.remove": "Eklenmiş görseli kaldır",
|
||||||
"app.video.virtualBackground.genericError": "Kamera etkisi uygulanamadı. Yeniden deneyin.",
|
"app.video.virtualBackground.genericError": "Kamera etkisi uygulanamadı. Yeniden deneyin.",
|
||||||
"app.video.virtualBackground.camBgAriaDesc": "Kamera sanal arka planını {0} olarak ayarlar",
|
"app.video.virtualBackground.camBgAriaDesc": "Kamera sanal arka planını {0} olarak ayarlar",
|
||||||
|
"app.video.virtualBackground.maximumFileSizeExceeded": "Olabilecek en büyük dosya boyutu aşıldı. ({0}MB)",
|
||||||
|
"app.video.virtualBackground.typeNotAllowed": "Dosya türüne izin verilmiyor.",
|
||||||
|
"app.video.virtualBackground.errorOnRead": "Dosya okunurken bir sorun çıktı.",
|
||||||
|
"app.video.virtualBackground.uploaded": "Yüklendi",
|
||||||
|
"app.video.virtualBackground.uploading": "Yükleniyor...",
|
||||||
|
"app.video.virtualBackground.button.customDesc": "Yeni bir sanal arka plan görseli ekler",
|
||||||
"app.video.camCapReached": "Daha fazla kamera paylaşamazsınız",
|
"app.video.camCapReached": "Daha fazla kamera paylaşamazsınız",
|
||||||
"app.video.meetingCamCapReached": "Toplantıda aynı anda kullanılabilecek kamera sayısı sınırına ulaşıldı",
|
"app.video.meetingCamCapReached": "Toplantıda aynı anda kullanılabilecek kamera sayısı sınırına ulaşıldı",
|
||||||
"app.video.dropZoneLabel": "Buraya bırakın",
|
"app.video.dropZoneLabel": "Buraya bırakın",
|
||||||
"app.fullscreenButton.label": "{0} tam ekrana geç",
|
"app.fullscreenButton.label": "{0} ögesini tam ekran görüntüle",
|
||||||
"app.fullscreenUndoButton.label": "{0} tam ekrandan çık",
|
"app.fullscreenUndoButton.label": "{0} ögesini tam ekrandan çıkar",
|
||||||
"app.switchButton.expandLabel": "Ekran paylaşımı görüntüsünü genişlet",
|
"app.switchButton.expandLabel": "Ekran paylaşımı görüntüsünü genişlet",
|
||||||
"app.switchButton.shrinkLabel": "Ekran paylaşımı görüntüsünü daralt",
|
"app.switchButton.shrinkLabel": "Ekran paylaşımı görüntüsünü daralt",
|
||||||
"app.sfu.mediaServerConnectionError2000": "Ortam sunucusu ile bağlantı kurulamadı (hata 2000)",
|
"app.sfu.mediaServerConnectionError2000": "Ortam sunucusu ile bağlantı kurulamadı (hata 2000)",
|
||||||
@ -826,6 +976,7 @@
|
|||||||
"app.whiteboard.annotations.poll": "Oylama sonuçları yayınlandı",
|
"app.whiteboard.annotations.poll": "Oylama sonuçları yayınlandı",
|
||||||
"app.whiteboard.annotations.pollResult": "Oylama sonuçları",
|
"app.whiteboard.annotations.pollResult": "Oylama sonuçları",
|
||||||
"app.whiteboard.annotations.noResponses": "Yanıt yok",
|
"app.whiteboard.annotations.noResponses": "Yanıt yok",
|
||||||
|
"app.whiteboard.annotations.notAllowed": "Bu değişikliği yapmanıza izin verilmiyor ",
|
||||||
"app.whiteboard.toolbar.tools": "Araçlar",
|
"app.whiteboard.toolbar.tools": "Araçlar",
|
||||||
"app.whiteboard.toolbar.tools.hand": "Kaydırma",
|
"app.whiteboard.toolbar.tools.hand": "Kaydırma",
|
||||||
"app.whiteboard.toolbar.tools.pencil": "Kalem",
|
"app.whiteboard.toolbar.tools.pencil": "Kalem",
|
||||||
@ -852,6 +1003,7 @@
|
|||||||
"app.whiteboard.toolbar.color.silver": "Gümüş",
|
"app.whiteboard.toolbar.color.silver": "Gümüş",
|
||||||
"app.whiteboard.toolbar.undo": "Açıklamayı geri al",
|
"app.whiteboard.toolbar.undo": "Açıklamayı geri al",
|
||||||
"app.whiteboard.toolbar.clear": "Tüm açıklamaları temizle",
|
"app.whiteboard.toolbar.clear": "Tüm açıklamaları temizle",
|
||||||
|
"app.whiteboard.toolbar.clearConfirmation": "Tüm açıklamaları temizlemek istediğinize emin misiniz?",
|
||||||
"app.whiteboard.toolbar.multiUserOn": "Çok kullanıcılı tahtayı aç",
|
"app.whiteboard.toolbar.multiUserOn": "Çok kullanıcılı tahtayı aç",
|
||||||
"app.whiteboard.toolbar.multiUserOff": "Çok kullanıcılı tahtayı kapat",
|
"app.whiteboard.toolbar.multiUserOff": "Çok kullanıcılı tahtayı kapat",
|
||||||
"app.whiteboard.toolbar.palmRejectionOn": "Avuçla reddetmeyi aç",
|
"app.whiteboard.toolbar.palmRejectionOn": "Avuçla reddetmeyi aç",
|
||||||
@ -871,19 +1023,19 @@
|
|||||||
"app.videoDock.webcamUnfocusDesc": "Seçilmiş kamera görüntüsünü odaktan kaldırır",
|
"app.videoDock.webcamUnfocusDesc": "Seçilmiş kamera görüntüsünü odaktan kaldırır",
|
||||||
"app.videoDock.webcamPinLabel": "Sabitle",
|
"app.videoDock.webcamPinLabel": "Sabitle",
|
||||||
"app.videoDock.webcamPinDesc": "Seçilmiş kamera görüntüsünü sabitler",
|
"app.videoDock.webcamPinDesc": "Seçilmiş kamera görüntüsünü sabitler",
|
||||||
|
"app.videoDock.webcamFullscreenLabel": "Kamerayı tam ekran görüntüle",
|
||||||
|
"app.videoDock.webcamSqueezedButtonLabel": "Kamera seçenekleri",
|
||||||
"app.videoDock.webcamUnpinLabel": "Sabitlemeyi kaldır",
|
"app.videoDock.webcamUnpinLabel": "Sabitlemeyi kaldır",
|
||||||
"app.videoDock.webcamUnpinLabelDisabled": "Yalnızca sorumlular kullanıcıların sabitlemesini kaldırabilir",
|
"app.videoDock.webcamUnpinLabelDisabled": "Yalnızca sorumlular kullanıcıların sabitlemesini kaldırabilir",
|
||||||
"app.videoDock.webcamUnpinDesc": "Seçilmiş kamera görüntüsünün sabitlemesini kaldırır",
|
"app.videoDock.webcamUnpinDesc": "Seçilmiş kamera görüntüsünün sabitlemesini kaldırır",
|
||||||
"app.videoDock.autoplayBlockedDesc": "Size diğer kullanıcıların kameralarını görüntüleyabilmemiz için izniniz gerekli.",
|
"app.videoDock.autoplayBlockedDesc": "Size diğer kullanıcıların kameralarını görüntüleyabilmemiz için izniniz gerekli.",
|
||||||
"app.videoDock.autoplayAllowLabel": "Kameraları görüntüle",
|
"app.videoDock.autoplayAllowLabel": "Kameraları görüntüle",
|
||||||
"app.invitation.title": "Grup odası çağrısı",
|
"app.createBreakoutRoom.title": "Çalışma grubu odaları",
|
||||||
"app.invitation.confirm": "Çağır",
|
"app.createBreakoutRoom.ariaTitle": "Çalışma grubu odalarını gizle",
|
||||||
"app.createBreakoutRoom.title": "Grup odaları",
|
"app.createBreakoutRoom.breakoutRoomLabel": "{0} çalışma grubu odaları",
|
||||||
"app.createBreakoutRoom.ariaTitle": "Grup odalarını gizle",
|
|
||||||
"app.createBreakoutRoom.breakoutRoomLabel": "Grup odaları {0}",
|
|
||||||
"app.createBreakoutRoom.askToJoin": "Katılma isteğinde bulun",
|
"app.createBreakoutRoom.askToJoin": "Katılma isteğinde bulun",
|
||||||
"app.createBreakoutRoom.generatingURL": "Adres oluşturuluyor",
|
"app.createBreakoutRoom.generatingURL": "Adres oluşturuluyor",
|
||||||
"app.createBreakoutRoom.generatingURLMessage": "Seçilmiş grup odasının katılım adresi oluşturuluyor. Birkaç saniye sürebilir...",
|
"app.createBreakoutRoom.generatingURLMessage": "Seçilmiş çalışma grubu odasının katılım adresi oluşturuluyor. Birkaç saniye sürebilir...",
|
||||||
"app.createBreakoutRoom.duration": "Süre {0}",
|
"app.createBreakoutRoom.duration": "Süre {0}",
|
||||||
"app.createBreakoutRoom.room": "Oda {0}",
|
"app.createBreakoutRoom.room": "Oda {0}",
|
||||||
"app.createBreakoutRoom.notAssigned": "Atanmamış ({0})",
|
"app.createBreakoutRoom.notAssigned": "Atanmamış ({0})",
|
||||||
@ -896,22 +1048,24 @@
|
|||||||
"app.createBreakoutRoom.numberOfRooms": "Oda sayısı",
|
"app.createBreakoutRoom.numberOfRooms": "Oda sayısı",
|
||||||
"app.createBreakoutRoom.durationInMinutes": "Süre (dakika)",
|
"app.createBreakoutRoom.durationInMinutes": "Süre (dakika)",
|
||||||
"app.createBreakoutRoom.randomlyAssign": "Rastgele atama",
|
"app.createBreakoutRoom.randomlyAssign": "Rastgele atama",
|
||||||
"app.createBreakoutRoom.randomlyAssignDesc": "Kullanıcıları grup odalarına rastgele atar",
|
"app.createBreakoutRoom.randomlyAssignDesc": "Kullanıcıları rastgele çalışma grubu odalarına atar",
|
||||||
"app.createBreakoutRoom.resetAssignments": "Atamaları sıfırla",
|
"app.createBreakoutRoom.resetAssignments": "Atamaları sıfırla",
|
||||||
"app.createBreakoutRoom.resetAssignmentsDesc": "Tüm grup odası kullanıcı atamalarını sıfırla",
|
"app.createBreakoutRoom.resetAssignmentsDesc": "Tüm grup odası kullanıcı atamalarını sıfırla",
|
||||||
"app.createBreakoutRoom.endAllBreakouts": "Tüm grup odalarını kapat",
|
"app.createBreakoutRoom.endAllBreakouts": "Tüm çalışma grubu odalarını kapat",
|
||||||
"app.createBreakoutRoom.chatTitleMsgAllRooms": "tüm odalar",
|
"app.createBreakoutRoom.chatTitleMsgAllRooms": "tüm odalar",
|
||||||
"app.createBreakoutRoom.msgToBreakoutsSent": "İleti {0} grup odasına gönderildi",
|
"app.createBreakoutRoom.msgToBreakoutsSent": "İleti {0} çalışma grubu odasına gönderildi",
|
||||||
"app.createBreakoutRoom.roomName": "{0} (Oda - {1})",
|
"app.createBreakoutRoom.roomName": "{0} (Oda - {1})",
|
||||||
"app.createBreakoutRoom.doneLabel": "Tamamlandı",
|
"app.createBreakoutRoom.doneLabel": "Tamamlandı",
|
||||||
"app.createBreakoutRoom.nextLabel": "Sonraki",
|
"app.createBreakoutRoom.nextLabel": "Sonraki",
|
||||||
"app.createBreakoutRoom.minusRoomTime": "Grup odası süresini kısalt",
|
"app.createBreakoutRoom.minusRoomTime": "Çalışma grubu odası süresini kısalt",
|
||||||
"app.createBreakoutRoom.addRoomTime": "Grup odası süresini arttır",
|
"app.createBreakoutRoom.addRoomTime": "Çalışma grubu odası süresini uzat",
|
||||||
"app.createBreakoutRoom.addParticipantLabel": "+ Katılımcı ekle",
|
"app.createBreakoutRoom.addParticipantLabel": "+ Katılımcı ekle",
|
||||||
"app.createBreakoutRoom.freeJoin": "Kullanıcılar katılacakları grup odasını seçebilsin",
|
"app.createBreakoutRoom.freeJoin": "Kullanıcılar katılacakları çalışma grubu odasını seçebilsin",
|
||||||
"app.createBreakoutRoom.leastOneWarnBreakout": "Bir grup odasına en az bir kullanıcı atamalısınız..",
|
"app.createBreakoutRoom.captureNotes": "Çalışma grubu odaları kapatıldığında paylaşılan notları al",
|
||||||
"app.createBreakoutRoom.minimumDurationWarnBreakout": "En kısa grup odası süresi {0} dakikadır.",
|
"app.createBreakoutRoom.captureSlides": "Çalışma grubu odaları kapatıldığında beyaz tahtayı al",
|
||||||
"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.leastOneWarnBreakout": "Bir çalışma grubu odasına en az bir kullanıcı göndermelisiniz..",
|
||||||
|
"app.createBreakoutRoom.minimumDurationWarnBreakout": "En kısa çalışma grubu odası süresi {0} dakikadır.",
|
||||||
|
"app.createBreakoutRoom.modalDesc": "İpucu: Herhangi bir çalışma grubu odasına atamak için kullanıcıların adını sürükleyip bırakabilirsiniz.",
|
||||||
"app.createBreakoutRoom.roomTime": "{0} dakika",
|
"app.createBreakoutRoom.roomTime": "{0} dakika",
|
||||||
"app.createBreakoutRoom.numberOfRoomsError": "Oda sayısı geçersiz.",
|
"app.createBreakoutRoom.numberOfRoomsError": "Oda sayısı geçersiz.",
|
||||||
"app.createBreakoutRoom.duplicatedRoomNameError": "Odaların adı aynı olamaz.",
|
"app.createBreakoutRoom.duplicatedRoomNameError": "Odaların adı aynı olamaz.",
|
||||||
@ -919,8 +1073,16 @@
|
|||||||
"app.createBreakoutRoom.setTimeInMinutes": "Süreyi ayarla (dakika)",
|
"app.createBreakoutRoom.setTimeInMinutes": "Süreyi ayarla (dakika)",
|
||||||
"app.createBreakoutRoom.setTimeLabel": "Uygula",
|
"app.createBreakoutRoom.setTimeLabel": "Uygula",
|
||||||
"app.createBreakoutRoom.setTimeCancel": "Vazgeç",
|
"app.createBreakoutRoom.setTimeCancel": "Vazgeç",
|
||||||
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Grup odalarının süresi, kalan toplantı süresini aşamaz.",
|
"app.createBreakoutRoom.setTimeHigherThanMeetingTimeError": "Çalışma grubu odalarının süresi, kalan toplantı süresini aşamaz.",
|
||||||
"app.createBreakoutRoom.roomNameInputDesc": "Grup odasının adını günceller",
|
"app.createBreakoutRoom.roomNameInputDesc": "Çalışma grubu odasının adını günceller",
|
||||||
|
"app.createBreakoutRoom.movedUserLabel": "{0} kullanıcısı {1} odasına gönderildi",
|
||||||
|
"app.updateBreakoutRoom.modalDesc": "Bir kullanıcıyı güncellemek ya da çağırmak için kullanıcı sürükleyip istediğiniz odaya bırakın.",
|
||||||
|
"app.updateBreakoutRoom.cancelLabel": "İptal",
|
||||||
|
"app.updateBreakoutRoom.title": "Çalışma grubu odalarını güncelle",
|
||||||
|
"app.updateBreakoutRoom.confirm": "Uygula",
|
||||||
|
"app.updateBreakoutRoom.userChangeRoomNotification": "{0} odasına gönderildiniz.",
|
||||||
|
"app.smartMediaShare.externalVideo": "Dış görüntüler",
|
||||||
|
"app.update.resetRoom": "Kullanıcının odasını sıfırla",
|
||||||
"app.externalVideo.start": "Yeni bir görüntü paylaş",
|
"app.externalVideo.start": "Yeni bir görüntü paylaş",
|
||||||
"app.externalVideo.title": "Dışarıdan bir görüntü paylaş",
|
"app.externalVideo.title": "Dışarıdan bir görüntü paylaş",
|
||||||
"app.externalVideo.input": "Dışarıdaki görüntünün adresi",
|
"app.externalVideo.input": "Dışarıdaki görüntünün adresi",
|
||||||
@ -946,18 +1108,27 @@
|
|||||||
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(kamera alanını sürükler ya da yeniden boyutlandırırsanız devre dışı bırakılır)",
|
"app.debugWindow.form.enableAutoarrangeLayoutDescription": "(kamera alanını sürükler ya da yeniden boyutlandırırsanız devre dışı bırakılır)",
|
||||||
"app.debugWindow.form.chatLoggerLabel": "Sohbet kaydedici düzeylerini sına",
|
"app.debugWindow.form.chatLoggerLabel": "Sohbet kaydedici düzeylerini sına",
|
||||||
"app.debugWindow.form.button.apply": "Uygula",
|
"app.debugWindow.form.button.apply": "Uygula",
|
||||||
|
"app.layout.modal.title": "Ekran düzenleri",
|
||||||
|
"app.layout.modal.confirm": "Onayla",
|
||||||
|
"app.layout.modal.cancel": "İptal",
|
||||||
|
"app.layout.modal.layoutLabel": "Ekran düzeninizi seçin",
|
||||||
|
"app.layout.modal.keepPushingLayoutLabel": "Ekran düzenini herkese gönder",
|
||||||
|
"app.layout.modal.pushLayoutLabel": "Herkese gönder",
|
||||||
|
"app.layout.modal.layoutToastLabel": "Ekran düzeni ayarları değişti",
|
||||||
|
"app.layout.modal.layoutSingular": "Ekran düzeni",
|
||||||
|
"app.layout.modal.layoutBtnDesc": "Ekran düzenini seçilmiş seçenek olarak ayarla",
|
||||||
"app.layout.style.custom": "Özel",
|
"app.layout.style.custom": "Özel",
|
||||||
"app.layout.style.smart": "Akıllı ekran düzeni",
|
"app.layout.style.smart": "Akıllı ekran düzeni",
|
||||||
"app.layout.style.presentationFocus": "Sunuma odaklan",
|
"app.layout.style.presentationFocus": "Sunuma odaklan",
|
||||||
"app.layout.style.videoFocus": "Görüntüye odaklan",
|
"app.layout.style.videoFocus": "Görüntüye odaklan",
|
||||||
"app.layout.style.customPush": "Özel ekran düzeni (herkese uygulansın)",
|
"app.layout.style.customPush": "Özel ekran düzeni (herkese uygulansın)",
|
||||||
"app.layout.style.smartPush": "Akıllı ekran düzeni (herkese uygulansın)",
|
"app.layout.style.smartPush": "Akıllı ekran düzeni (herkese uygulansın)",
|
||||||
"app.layout.style.presentationFocusPush": "Sunuma odaklanmış düzen (herkese uygulansın)",
|
"app.layout.style.presentationFocusPush": "Sunuma odaklanmış ekran düzeni (herkese uygulansın)",
|
||||||
"app.layout.style.videoFocusPush": "Görüntüye odaklanmış düzen (herkese uygulansın)",
|
"app.layout.style.videoFocusPush": "Görüntüye odaklanmış ekran düzeni (herkese uygulansın)",
|
||||||
"playback.button.about.aria": "Hakkında",
|
"playback.button.about.aria": "Hakkında",
|
||||||
"playback.button.clear.aria": "Aramayı temizle",
|
"playback.button.clear.aria": "Aramayı temizle",
|
||||||
"playback.button.close.aria": "Üste açılan pencereyi kapat",
|
"playback.button.close.aria": "Üste açılan pencereyi kapat",
|
||||||
"playback.button.fullscreen.aria": "İçeriği tam ekranda görüntüle",
|
"playback.button.fullscreen.aria": "İçeriği tam ekran görüntüle",
|
||||||
"playback.button.restore.aria": "İçeriği önceki boyutuna döndür",
|
"playback.button.restore.aria": "İçeriği önceki boyutuna döndür",
|
||||||
"playback.button.search.aria": "Arama",
|
"playback.button.search.aria": "Arama",
|
||||||
"playback.button.section.aria": "Yan bölüm",
|
"playback.button.section.aria": "Yan bölüm",
|
||||||
@ -995,6 +1166,7 @@
|
|||||||
"playback.player.thumbnails.wrapper.aria": "Küçük görsel alanı",
|
"playback.player.thumbnails.wrapper.aria": "Küçük görsel alanı",
|
||||||
"playback.player.webcams.wrapper.aria": "Kameralar alanı",
|
"playback.player.webcams.wrapper.aria": "Kameralar alanı",
|
||||||
"app.learningDashboard.dashboardTitle": "Öğrenme istatistikleri panosu",
|
"app.learningDashboard.dashboardTitle": "Öğrenme istatistikleri panosu",
|
||||||
|
"app.learningDashboard.bigbluebuttonTitle": "BigBlueButton",
|
||||||
"app.learningDashboard.downloadSessionDataLabel": "Oturum verilerini indir",
|
"app.learningDashboard.downloadSessionDataLabel": "Oturum verilerini indir",
|
||||||
"app.learningDashboard.lastUpdatedLabel": "Son güncellenme",
|
"app.learningDashboard.lastUpdatedLabel": "Son güncellenme",
|
||||||
"app.learningDashboard.sessionDataDownloadedLabel": "İndirildi!",
|
"app.learningDashboard.sessionDataDownloadedLabel": "İndirildi!",
|
||||||
@ -1019,6 +1191,12 @@
|
|||||||
"app.learningDashboard.userDetails.response": "Yanıt",
|
"app.learningDashboard.userDetails.response": "Yanıt",
|
||||||
"app.learningDashboard.userDetails.mostCommonAnswer": "En çok verilen yanıt",
|
"app.learningDashboard.userDetails.mostCommonAnswer": "En çok verilen yanıt",
|
||||||
"app.learningDashboard.userDetails.anonymousAnswer": "Anonim oylama",
|
"app.learningDashboard.userDetails.anonymousAnswer": "Anonim oylama",
|
||||||
|
"app.learningDashboard.userDetails.talkTime": "Konuşma süresi",
|
||||||
|
"app.learningDashboard.userDetails.messages": "İletiler",
|
||||||
|
"app.learningDashboard.userDetails.emojis": "Emojiler",
|
||||||
|
"app.learningDashboard.userDetails.raiseHands": "El kaldırmalar",
|
||||||
|
"app.learningDashboard.userDetails.pollVotes": "Anket oyları",
|
||||||
|
"app.learningDashboard.userDetails.onlineIndicator": "{0} çevrim içi süresi",
|
||||||
"app.learningDashboard.usersTable.title": "Özet",
|
"app.learningDashboard.usersTable.title": "Özet",
|
||||||
"app.learningDashboard.usersTable.colOnline": "Çevrim içi süresi",
|
"app.learningDashboard.usersTable.colOnline": "Çevrim içi süresi",
|
||||||
"app.learningDashboard.usersTable.colTalk": "Konuşma süresi",
|
"app.learningDashboard.usersTable.colTalk": "Konuşma süresi",
|
||||||
@ -1042,8 +1220,13 @@
|
|||||||
"app.learningDashboard.pollsTable.anonymousRowName": "Anonim",
|
"app.learningDashboard.pollsTable.anonymousRowName": "Anonim",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Henüz bir oylama oluşturulmamış",
|
"app.learningDashboard.pollsTable.noPollsCreatedHeading": "Henüz bir oylama oluşturulmamış",
|
||||||
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Kullanıcılara bir oylama gönderildiğinde, sonuçları bu listede görüntülenir.",
|
"app.learningDashboard.pollsTable.noPollsCreatedMessage": "Kullanıcılara bir oylama gönderildiğinde, sonuçları bu listede görüntülenir.",
|
||||||
|
"app.learningDashboard.pollsTable.answerTotal": "Toplam",
|
||||||
|
"app.learningDashboard.pollsTable.userLabel": "Kullanıcı",
|
||||||
"app.learningDashboard.statusTimelineTable.title": "Zaman çizelgesi",
|
"app.learningDashboard.statusTimelineTable.title": "Zaman çizelgesi",
|
||||||
"app.learningDashboard.statusTimelineTable.thumbnail": "Sunum küçük görseli",
|
"app.learningDashboard.statusTimelineTable.thumbnail": "Sunum küçük görseli",
|
||||||
|
"app.learningDashboard.statusTimelineTable.presentation": "Sunum",
|
||||||
|
"app.learningDashboard.statusTimelineTable.pageNumber": "Sayfa",
|
||||||
|
"app.learningDashboard.statusTimelineTable.setAt": "Şu zamana ayarla",
|
||||||
"app.learningDashboard.errors.invalidToken": "Oturum kodu geçersiz",
|
"app.learningDashboard.errors.invalidToken": "Oturum kodu geçersiz",
|
||||||
"app.learningDashboard.errors.dataUnavailable": "Veriler artık kullanılamıyor",
|
"app.learningDashboard.errors.dataUnavailable": "Veriler artık kullanılamıyor",
|
||||||
"mobileApp.portals.list.empty.addFirstPortal.label": "Yukarıdaki düğmeyi kullanarak ilk portalinizi ekleyin.",
|
"mobileApp.portals.list.empty.addFirstPortal.label": "Yukarıdaki düğmeyi kullanarak ilk portalinizi ekleyin.",
|
||||||
@ -1057,6 +1240,4 @@
|
|||||||
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Zorunlu alanlar",
|
"mobileApp.portals.addPortalPopup.validation.emptyFields": "Zorunlu alanlar",
|
||||||
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Adı başkası kullanıyor",
|
"mobileApp.portals.addPortalPopup.validation.portalNameAlreadyExists": "Adı başkası kullanıyor",
|
||||||
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Sayfa yüklenirken bir sorun çıktı. Adresi ve ağ bağlantınızı denetleyin"
|
"mobileApp.portals.addPortalPopup.validation.urlInvalid": "Sayfa yüklenirken bir sorun çıktı. Adresi ve ağ bağlantınızı denetleyin"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,6 +50,12 @@ You can also use this also through the test tree, adding the test suite / group
|
|||||||
$ npm run test:filter "notifications chat"
|
$ npm run test:filter "notifications chat"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If you don't have `BBB_URL` and `BBB_SECRET` set, but have ssh access to the test server, you can use the following command to obtain `BBB_URL` and `BBB_SECRET` via ssh:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ npm run test:ssh -- HOSTNAME
|
||||||
|
```
|
||||||
|
|
||||||
#### Recording Meteor messages
|
#### Recording Meteor messages
|
||||||
|
|
||||||
A modified version of `websockify` can be used to record the Meteor messages exchanged between client and server, by inserted a WebSocket proxy between the client and server, configured to record the sessions.
|
A modified version of `websockify` can be used to record the Meteor messages exchanged between client and server, by inserted a WebSocket proxy between the client and server, configured to record the sessions.
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
const { test } = require('@playwright/test');
|
const { test } = require('@playwright/test');
|
||||||
const { API } = require('./api.js');
|
const { API } = require('./api.js');
|
||||||
|
const { APIBreakout } = require('./breakout.js');
|
||||||
|
|
||||||
test.describe.parallel('API', () => {
|
test.describe.parallel('API', () => {
|
||||||
|
|
||||||
@ -13,4 +14,29 @@ test.describe.parallel('API', () => {
|
|||||||
await api.testGetMeetingInfo();
|
await api.testGetMeetingInfo();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('breakoutWithoutParent', async ({ browser, context }) => {
|
||||||
|
const api = new APIBreakout(browser, context);
|
||||||
|
await api.testBreakoutWithoutParent();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('breakoutWithoutSequenceNumber', async ({ browser, context, page }) => {
|
||||||
|
const api = new APIBreakout(browser, context);
|
||||||
|
await api.initModPage(page);
|
||||||
|
await api.testBreakoutWithoutSequenceNumber();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('breakoutWithNonexistentParent', async ({ browser, context }) => {
|
||||||
|
const api = new APIBreakout(browser, context);
|
||||||
|
await api.testBreakoutWithNonexistentParent();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('breakoutMeetingInfo', async ({ browser, context, page }) => {
|
||||||
|
const api = new APIBreakout(browser, context);
|
||||||
|
await api.initPages(page);
|
||||||
|
await api.create();
|
||||||
|
await api.testBreakoutMeetingInfoNoJoins();
|
||||||
|
await api.joinRoom();
|
||||||
|
await api.testBreakoutMeetingInfoOneJoin();
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
125
bigbluebutton-tests/playwright/api/breakout.js
Normal file
125
bigbluebutton-tests/playwright/api/breakout.js
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
const { expect } = require("@playwright/test");
|
||||||
|
|
||||||
|
const { Join } = require('../breakout/join');
|
||||||
|
const parameters = require('../core/parameters');
|
||||||
|
const { apiCall, createMeetingPromise } = require('../core/helpers');
|
||||||
|
|
||||||
|
function getMeetingInfo(meetingID) {
|
||||||
|
return apiCall('getMeetingInfo', {meetingID: meetingID});
|
||||||
|
}
|
||||||
|
|
||||||
|
class APIBreakout extends Join {
|
||||||
|
|
||||||
|
constructor(browser, context) {
|
||||||
|
super(browser, context);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to use API to create a breakout room without a parent
|
||||||
|
async testBreakoutWithoutParent() {
|
||||||
|
const response = await createMeetingPromise(parameters, `isBreakout=true&sequence=1`)
|
||||||
|
.catch(error => error);
|
||||||
|
expect(response.response.status).toEqual(500);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to use API to create a break room without a sequence number
|
||||||
|
async testBreakoutWithoutSequenceNumber() {
|
||||||
|
const response = await createMeetingPromise(parameters, `isBreakout=true&parentMeetingID=${this.modPage.meetingId}`)
|
||||||
|
.catch(error => error);
|
||||||
|
expect(response.response.status).toEqual(500);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Attempt to use API to create a break room with a non-existent parent meeting
|
||||||
|
async testBreakoutWithNonexistentParent() {
|
||||||
|
const response = await createMeetingPromise(parameters, `isBreakout=true&parentMeetingID=0000000&sequence=1`)
|
||||||
|
.catch(error => error);
|
||||||
|
expect(response.response.status).toEqual(500);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check that breakout rooms created via the GUI appear properly in the API's meeting info
|
||||||
|
async testBreakoutMeetingInfoNoJoins() {
|
||||||
|
|
||||||
|
// We have two breakout rooms, but neither user has joined a breakout room.
|
||||||
|
// Make sure the API getMeetingInfo returns expected results
|
||||||
|
|
||||||
|
const response1 = await getMeetingInfo(this.modPage.meetingId);
|
||||||
|
expect(response1.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response1.response.isBreakout).toEqual(['false']);
|
||||||
|
expect(response1.response.breakoutRooms[0].breakout.length).toEqual(2);
|
||||||
|
|
||||||
|
for (const breakoutRoom of response1.response.breakoutRooms[0].breakout) {
|
||||||
|
const response2 = await getMeetingInfo(breakoutRoom);
|
||||||
|
|
||||||
|
const expectedMeeting = {meetingID : [breakoutRoom],
|
||||||
|
isBreakout: ['true'],
|
||||||
|
running: ['false'],
|
||||||
|
participantCount: ['0'],
|
||||||
|
hasUserJoined: ['false'],
|
||||||
|
attendees: ['\n'], /* no attendees; the newline is an artifact of xml2js */
|
||||||
|
freeJoin: ['false'],
|
||||||
|
sequence: [ expect.stringMatching('[12]') ],
|
||||||
|
parentMeetingID: response1.response.internalMeetingID,
|
||||||
|
};
|
||||||
|
|
||||||
|
expect(response2.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response2.response).toMatchObject(expectedMeeting);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async testBreakoutMeetingInfoOneJoin() {
|
||||||
|
|
||||||
|
// We have two breakout rooms, and one user has joined a breakout room.
|
||||||
|
// Make sure the API getMeetingInfo returns expected results
|
||||||
|
|
||||||
|
// First, check that we can retrieve the parent meeting
|
||||||
|
|
||||||
|
const response1 = await getMeetingInfo(this.modPage.meetingId);
|
||||||
|
expect(response1.response.returncode).toEqual(['SUCCESS']);
|
||||||
|
expect(response1.response.isBreakout).toEqual(['false']);
|
||||||
|
|
||||||
|
// Then, check that the parent meeting lists two breakout rooms
|
||||||
|
|
||||||
|
const breakoutRooms = response1.response.breakoutRooms[0].breakout;
|
||||||
|
expect(breakoutRooms.length).toEqual(2);
|
||||||
|
|
||||||
|
// Retrieve meeting info for both breakout rooms
|
||||||
|
|
||||||
|
// Attendee, a VIEWER in the parent meeting, becomes a MODERATOR (and presenter) in the breakout room
|
||||||
|
|
||||||
|
const expectedUser = expect.objectContaining({fullName: ['Attendee'],
|
||||||
|
role: ['MODERATOR'],
|
||||||
|
isPresenter: ['true'],
|
||||||
|
});
|
||||||
|
|
||||||
|
const expectedMeeting1 = {isBreakout: ['true'],
|
||||||
|
running: ['true'],
|
||||||
|
participantCount: ['1'],
|
||||||
|
hasUserJoined: ['true'],
|
||||||
|
attendees: [{ attendee: [ expectedUser ] }],
|
||||||
|
freeJoin: ['false'],
|
||||||
|
sequence: [ '1' ],
|
||||||
|
parentMeetingID: response1.response.internalMeetingID,
|
||||||
|
};
|
||||||
|
|
||||||
|
const expectedMeeting2 = {isBreakout: ['true'],
|
||||||
|
running: ['false'],
|
||||||
|
participantCount: ['0'],
|
||||||
|
hasUserJoined: ['false'],
|
||||||
|
attendees: ['\n'], /* no attendees; the newline is an artifact of xml2js */
|
||||||
|
freeJoin: ['false'],
|
||||||
|
sequence: [ '2' ],
|
||||||
|
parentMeetingID: response1.response.internalMeetingID,
|
||||||
|
};
|
||||||
|
|
||||||
|
const expectedResponse1 = {response: expect.objectContaining(expectedMeeting1)};
|
||||||
|
const expectedResponse2 = {response: expect.objectContaining(expectedMeeting2)};
|
||||||
|
|
||||||
|
// Note that this is an array of two responses from two API calls,
|
||||||
|
// not a single API call response containing two breakout rooms
|
||||||
|
|
||||||
|
const response2array = await Promise.all(breakoutRooms.map(getMeetingInfo));
|
||||||
|
expect(response2array).toEqual(expect.arrayContaining([expectedResponse1, expectedResponse2]));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.APIBreakout = APIBreakout;
|
@ -12,7 +12,8 @@ class Audio extends Page {
|
|||||||
const { autoJoinAudioModal, listenOnlyCallTimeout } = this.settings;
|
const { autoJoinAudioModal, listenOnlyCallTimeout } = this.settings;
|
||||||
if (!autoJoinAudioModal) await this.waitAndClick(e.joinAudio);
|
if (!autoJoinAudioModal) await this.waitAndClick(e.joinAudio);
|
||||||
await this.waitAndClick(e.listenOnlyButton);
|
await this.waitAndClick(e.listenOnlyButton);
|
||||||
await this.wasRemoved(e.establishingAudioLabel);
|
await this.waitForSelector(e.establishingAudioLabel);
|
||||||
|
await this.wasRemoved(e.establishingAudioLabel, ELEMENT_WAIT_LONGER_TIME);
|
||||||
await this.waitForSelector(e.leaveListenOnly, listenOnlyCallTimeout);
|
await this.waitForSelector(e.leaveListenOnly, listenOnlyCallTimeout);
|
||||||
await this.waitAndClick(e.audioDropdownMenu);
|
await this.waitAndClick(e.audioDropdownMenu);
|
||||||
await this.hasElement(e.leaveAudio);
|
await this.hasElement(e.leaveAudio);
|
||||||
|
@ -3,7 +3,6 @@ const { Create } = require('./create');
|
|||||||
const { Join } = require('./join');
|
const { Join } = require('./join');
|
||||||
|
|
||||||
test.describe.parallel('Breakout', () => {
|
test.describe.parallel('Breakout', () => {
|
||||||
|
|
||||||
test.describe.parallel('Creating', () => {
|
test.describe.parallel('Creating', () => {
|
||||||
test('Create Breakout room @ci', async ({ browser, context, page }) => {
|
test('Create Breakout room @ci', async ({ browser, context, page }) => {
|
||||||
const create = new Create(browser, context);
|
const create = new Create(browser, context);
|
||||||
|
@ -50,7 +50,7 @@ class Create extends MultiUsers {
|
|||||||
await this.modPage.waitAndClick(e.increaseBreakoutTime);
|
await this.modPage.waitAndClick(e.increaseBreakoutTime);
|
||||||
await this.modPage.waitAndClick(e.modalConfirmButton, ELEMENT_WAIT_LONGER_TIME);
|
await this.modPage.waitAndClick(e.modalConfirmButton, ELEMENT_WAIT_LONGER_TIME);
|
||||||
await this.modPage.waitAndClick(e.breakoutRoomsItem);
|
await this.modPage.waitAndClick(e.breakoutRoomsItem);
|
||||||
await this.modPage.hasText(e.breakoutRemainingTime, /15:[0-5][0-9]/);
|
await this.modPage.hasText(e.breakoutRemainingTime, /15:[0-5][0-9]/, ELEMENT_WAIT_LONGER_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
async changeRoomsName() {
|
async changeRoomsName() {
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
const { Create } = require('./create');
|
const { Create } = require('./create');
|
||||||
const utilScreenShare = require('../screenshare/util');
|
const utilScreenShare = require('../screenshare/util');
|
||||||
const e = require('../core/elements');
|
const e = require('../core/elements');
|
||||||
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
const { ELEMENT_WAIT_LONGER_TIME, ELEMENT_WAIT_TIME } = require('../core/constants');
|
||||||
const { getSettings } = require('../core/settings');
|
const { getSettings } = require('../core/settings');
|
||||||
const { expect } = require('@playwright/test');
|
const { expect } = require('@playwright/test');
|
||||||
|
const { sleep } = require('../core/helpers');
|
||||||
|
|
||||||
class Join extends Create {
|
class Join extends Create {
|
||||||
constructor(browser, context) {
|
constructor(browser, context) {
|
||||||
@ -109,7 +110,7 @@ class Join extends Create {
|
|||||||
await this.modPage.waitAndClick(e.sendButtonDurationTime);
|
await this.modPage.waitAndClick(e.sendButtonDurationTime);
|
||||||
await this.modPage.hasText(e.breakoutRemainingTime, /[11-12]:[0-5][0-9]/);
|
await this.modPage.hasText(e.breakoutRemainingTime, /[11-12]:[0-5][0-9]/);
|
||||||
|
|
||||||
await breakoutUserPage.hasText(e.timeRemaining,/[11-12]:[0-5][0-9]/);
|
await breakoutUserPage.hasText(e.timeRemaining, /[11-12]:[0-5][0-9]/);
|
||||||
}
|
}
|
||||||
|
|
||||||
async endAllBreakoutRooms() {
|
async endAllBreakoutRooms() {
|
||||||
@ -133,8 +134,8 @@ class Join extends Create {
|
|||||||
await this.modPage.waitAndClick(e.modalConfirmButton);
|
await this.modPage.waitAndClick(e.modalConfirmButton);
|
||||||
|
|
||||||
await this.userPage.waitForSelector(e.modalConfirmButton);
|
await this.userPage.waitForSelector(e.modalConfirmButton);
|
||||||
|
await breakoutUserPage.hasElement(e.errorScreenMessage);
|
||||||
await expect(breakoutUserPage.page.isClosed(), "Previous breakout room page did not close!").toBeTruthy();
|
await breakoutUserPage.hasText(e.errorScreenMessage, e.error403removedLabel);
|
||||||
|
|
||||||
await this.userPage.waitAndClick(e.modalConfirmButton);
|
await this.userPage.waitAndClick(e.modalConfirmButton);
|
||||||
await this.modPage.hasText(e.userNameBreakoutRoom2, /Attendee/);
|
await this.modPage.hasText(e.userNameBreakoutRoom2, /Attendee/);
|
||||||
|
@ -201,7 +201,8 @@ exports.pollingContainer = 'div[data-test="pollingContainer"]';
|
|||||||
exports.pollLetterAlternatives = 'button[data-test="pollLetterAlternatives"]';
|
exports.pollLetterAlternatives = 'button[data-test="pollLetterAlternatives"]';
|
||||||
exports.pollOptionItem = 'input[data-test="pollOptionItem"]';
|
exports.pollOptionItem = 'input[data-test="pollOptionItem"]';
|
||||||
exports.anonymousPoll = 'input[data-test="anonymousPollBtn"]';
|
exports.anonymousPoll = 'input[data-test="anonymousPollBtn"]';
|
||||||
exports.publishPollingLabel = 'button[data-test="publishPollingLabel"]';
|
const pollAnswerOptionBtn = 'button[data-test="publishPollingLabel"]';
|
||||||
|
exports.publishPollingLabel = pollAnswerOptionBtn;
|
||||||
exports.pollAnswerOptionBtn = 'button[data-test="pollAnswerOption"]';
|
exports.pollAnswerOptionBtn = 'button[data-test="pollAnswerOption"]';
|
||||||
exports.receivedAnswer = 'td[data-test="receivedAnswer"]';
|
exports.receivedAnswer = 'td[data-test="receivedAnswer"]';
|
||||||
exports.quickPoll = 'button[data-test="quickPollBtn"]';
|
exports.quickPoll = 'button[data-test="quickPollBtn"]';
|
||||||
@ -228,8 +229,8 @@ exports.answer2 = 'div[data-test="numberOfVotes"]>>nth=1';
|
|||||||
exports.errorNoValueInput = 'div[data-test="errorNoValueInput"]';
|
exports.errorNoValueInput = 'div[data-test="errorNoValueInput"]';
|
||||||
exports.smartSlides1 = 'smartSlidesPresentation.pdf';
|
exports.smartSlides1 = 'smartSlidesPresentation.pdf';
|
||||||
exports.responsePollQuestion = 'div[data-test="pollQuestion"]';
|
exports.responsePollQuestion = 'div[data-test="pollQuestion"]';
|
||||||
exports.pollAnswerOptionBtn = 'button[data-test="pollAnswerOption"]>>nth=0';
|
exports.firstPollAnswerOptionBtn = `${pollAnswerOptionBtn}>>nth=0`;
|
||||||
exports.checkboxInput = 'div[data-test="optionsAnswers"] > div';
|
exports.checkboxInput = `${pollAnswerOptionBtn} > div`;
|
||||||
// Presentation
|
// Presentation
|
||||||
exports.currentSlideImg = 'img[id="slide-background-shape_image"]';
|
exports.currentSlideImg = 'img[id="slide-background-shape_image"]';
|
||||||
exports.uploadPresentationFileName = 'uploadTest.png';
|
exports.uploadPresentationFileName = 'uploadTest.png';
|
||||||
@ -254,7 +255,6 @@ exports.presentationContainer = 'div[data-test="presentationContainer"]';
|
|||||||
exports.minimizePresentation = 'button[data-test="minimizePresentation"]';
|
exports.minimizePresentation = 'button[data-test="minimizePresentation"]';
|
||||||
exports.restorePresentation = 'button[data-test="restorePresentation"]';
|
exports.restorePresentation = 'button[data-test="restorePresentation"]';
|
||||||
exports.shareExternalVideoBtn = 'li[data-test="shareExternalVideo"]';
|
exports.shareExternalVideoBtn = 'li[data-test="shareExternalVideo"]';
|
||||||
exports.externalVideoModalHeader = 'header[data-test="videoModalHeader"]';
|
|
||||||
exports.videoModalInput = 'input[id="video-modal-input"]';
|
exports.videoModalInput = 'input[id="video-modal-input"]';
|
||||||
exports.startShareVideoBtn = 'button[data-test="startNewVideo"]';
|
exports.startShareVideoBtn = 'button[data-test="startNewVideo"]';
|
||||||
exports.videoPlayer = 'div[data-test="videoPlayer"]';
|
exports.videoPlayer = 'div[data-test="videoPlayer"]';
|
||||||
@ -307,7 +307,7 @@ exports.copyStats = 'span[data-test="copyStats"]';
|
|||||||
exports.dataSavingScreenshare = 'input[data-test="dataSavingScreenshare"]';
|
exports.dataSavingScreenshare = 'input[data-test="dataSavingScreenshare"]';
|
||||||
exports.screenshareLocked = 'button[data-test="screenshareLocked"]';
|
exports.screenshareLocked = 'button[data-test="screenshareLocked"]';
|
||||||
exports.connectionStatusItemEmpty = 'div[data-test="connectionStatusItemEmpty"]';
|
exports.connectionStatusItemEmpty = 'div[data-test="connectionStatusItemEmpty"]';
|
||||||
exports.connectionStatusTab2 = 'div[data-tab="2"]';
|
exports.connectionStatusTab2 = 'li[id="react-tabs-2"]';
|
||||||
exports.connectionStatusItemUser = 'div[data-test="connectionStatusItemUser"]';
|
exports.connectionStatusItemUser = 'div[data-test="connectionStatusItemUser"]';
|
||||||
exports.connectionStatusLinkToSettings = `${networkDataContainer} span[role="button"]`;
|
exports.connectionStatusLinkToSettings = `${networkDataContainer} span[role="button"]`;
|
||||||
exports.dataSavingWebcams = 'input[data-test="dataSavingWebcams"]';
|
exports.dataSavingWebcams = 'input[data-test="dataSavingWebcams"]';
|
||||||
@ -329,10 +329,14 @@ exports.promoteToModerator = 'li[data-test="promoteToModerator"]';
|
|||||||
exports.demoteToViewer = 'li[data-test="demoteToViewer"]';
|
exports.demoteToViewer = 'li[data-test="demoteToViewer"]';
|
||||||
exports.makePresenter = 'li[data-test="makePresenter"]';
|
exports.makePresenter = 'li[data-test="makePresenter"]';
|
||||||
exports.takePresenter = 'li[data-test="takePresenter"]';
|
exports.takePresenter = 'li[data-test="takePresenter"]';
|
||||||
|
exports.muteAll = 'li[data-test="muteAll"]';
|
||||||
|
exports.muteAllExceptPresenter = 'li[data-test="muteAllExceptPresenter"]';
|
||||||
|
exports.error403removedLabel = 'You have been removed from the meeting';
|
||||||
|
|
||||||
// Lock Viewers
|
// Lock Viewers
|
||||||
exports.lockViewersButton = 'li[data-test="lockViewersButton"]';
|
exports.lockViewersButton = 'li[data-test="lockViewersButton"]';
|
||||||
exports.unlockUserButton = 'li[data-test="unlockUserButton"]';
|
exports.unlockUserButton = 'li[data-test="unlockUserButton"]';
|
||||||
exports.applyLockSettings ='button[data-test="applyLockSettings"]';
|
exports.applyLockSettings = 'button[data-test="applyLockSettings"]';
|
||||||
exports.lockShareWebcam = 'input[data-test="lockShareWebcam"]';
|
exports.lockShareWebcam = 'input[data-test="lockShareWebcam"]';
|
||||||
exports.lockSeeOtherViewersWebcam = 'input[data-test="lockSeeOtherViewersWebcam"]';
|
exports.lockSeeOtherViewersWebcam = 'input[data-test="lockSeeOtherViewersWebcam"]';
|
||||||
exports.lockShareMicrophone = 'input[data-test="lockShareMicrophone"]';
|
exports.lockShareMicrophone = 'input[data-test="lockShareMicrophone"]';
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
require('dotenv').config();
|
require('dotenv').config();
|
||||||
const sha1 = require('sha1');
|
const sha1 = require('sha1');
|
||||||
const path = require('path');
|
|
||||||
const axios = require('axios');
|
const axios = require('axios');
|
||||||
const { test } = require('@playwright/test');
|
const { test } = require('@playwright/test');
|
||||||
const xml2js = require('xml2js');
|
const xml2js = require('xml2js');
|
||||||
@ -9,9 +8,6 @@ const { expect } = require("@playwright/test");
|
|||||||
|
|
||||||
const parameters = require('./parameters');
|
const parameters = require('./parameters');
|
||||||
|
|
||||||
const httpPath = path.join(path.dirname(require.resolve('axios')), 'lib/adapters/http');
|
|
||||||
const http = require(httpPath);
|
|
||||||
|
|
||||||
function getRandomInt(min, max) {
|
function getRandomInt(min, max) {
|
||||||
min = Math.ceil(min);
|
min = Math.ceil(min);
|
||||||
max = Math.floor(max);
|
max = Math.floor(max);
|
||||||
@ -28,7 +24,7 @@ function apiCallUrl(name, callParams) {
|
|||||||
|
|
||||||
function apiCall(name, callParams) {
|
function apiCall(name, callParams) {
|
||||||
const url = apiCallUrl(name, callParams);
|
const url = apiCallUrl(name, callParams);
|
||||||
return axios.get(url, { adapter: http }).then(response => xml2js.parseStringPromise(response.data));
|
return axios.get(url, { adapter: 'http' }).then(response => xml2js.parseStringPromise(response.data));
|
||||||
}
|
}
|
||||||
|
|
||||||
function createMeetingUrl(params, customParameter) {
|
function createMeetingUrl(params, customParameter) {
|
||||||
@ -47,7 +43,7 @@ function createMeetingUrl(params, customParameter) {
|
|||||||
|
|
||||||
function createMeetingPromise(params, customParameter) {
|
function createMeetingPromise(params, customParameter) {
|
||||||
const url = createMeetingUrl(params, customParameter);
|
const url = createMeetingUrl(params, customParameter);
|
||||||
return axios.get(url, { adapter: http });
|
return axios.get(url, { adapter: 'http' });
|
||||||
}
|
}
|
||||||
|
|
||||||
async function createMeeting(params, customParameter) {
|
async function createMeeting(params, customParameter) {
|
||||||
|
@ -83,7 +83,7 @@ test.describe.parallel('Notifications', () => {
|
|||||||
|
|
||||||
test('Screenshare notification', async ({ browser, browserName, context, page }) => {
|
test('Screenshare notification', async ({ browser, browserName, context, page }) => {
|
||||||
test.skip(browserName === 'firefox' && process.env.DISPLAY === undefined,
|
test.skip(browserName === 'firefox' && process.env.DISPLAY === undefined,
|
||||||
"Screenshare tests not able in Firefox browser without desktop");
|
"Screenshare tests not able in Firefox browser without desktop");
|
||||||
const presenterNotifications = new PresenterNotifications(browser, context);
|
const presenterNotifications = new PresenterNotifications(browser, context);
|
||||||
await presenterNotifications.initModPage(page);
|
await presenterNotifications.initModPage(page);
|
||||||
await presenterNotifications.screenshareToast();
|
await presenterNotifications.screenshareToast();
|
||||||
|
@ -54,7 +54,7 @@ async function waitAndClearNotification(testPage) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function waitAndClearDefaultPresentationNotification(testPage) {
|
async function waitAndClearDefaultPresentationNotification(testPage) {
|
||||||
await testPage.waitForSelector(e.whiteboard,ELEMENT_WAIT_LONGER_TIME);
|
await testPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME);
|
||||||
const hasCurrentPresentationToast = await testPage.checkElement(e.currentPresentationToast);
|
const hasCurrentPresentationToast = await testPage.checkElement(e.currentPresentationToast);
|
||||||
if (hasCurrentPresentationToast) {
|
if (hasCurrentPresentationToast) {
|
||||||
await waitAndClearNotification(testPage);
|
await waitAndClearNotification(testPage);
|
||||||
|
239
bigbluebutton-tests/playwright/package-lock.json
generated
239
bigbluebutton-tests/playwright/package-lock.json
generated
@ -1,26 +1,26 @@
|
|||||||
{
|
{
|
||||||
"name": "npm-proj-1662355536800-0.49467469802579256kg5mNL",
|
"name": "playwright",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@playwright/test": "^1.25.0",
|
"@playwright/test": "^1.28.1",
|
||||||
"axios": "^0.26.1",
|
"axios": "^1.2.0",
|
||||||
"chalk": "^4.1.2",
|
"chalk": "^4.1.2",
|
||||||
"dotenv": "^16.0.0",
|
"dotenv": "^16.0.0",
|
||||||
"playwright": "^1.19.2",
|
"playwright": "^1.28.1",
|
||||||
"sha1": "^1.1.1",
|
"sha1": "^1.1.1",
|
||||||
"xml2js": "^0.4.23"
|
"xml2js": "^0.4.23"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@playwright/test": {
|
"node_modules/@playwright/test": {
|
||||||
"version": "1.25.0",
|
"version": "1.28.1",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.25.0.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.28.1.tgz",
|
||||||
"integrity": "sha512-j4EZhTTQI3dBeWblE21EV//swwmBtOpIrLdOIJIRv4uqsLdHgBg1z+JtTg+AeC5o2bAXIE26kDNW5A0TimG8Bg==",
|
"integrity": "sha512-xN6spdqrNlwSn9KabIhqfZR7IWjPpFK1835tFNgjrlysaSezuX8PYUwaz38V/yI8TJLG9PkAMEXoHRXYXlpTPQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"playwright-core": "1.25.0"
|
"playwright-core": "1.28.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -29,21 +29,10 @@
|
|||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@playwright/test/node_modules/playwright-core": {
|
|
||||||
"version": "1.25.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.0.tgz",
|
|
||||||
"integrity": "sha512-kZ3Jwaf3wlu0GgU0nB8UMQ+mXFTqBIFz9h1svTlNduNKjnbPXFxw7mJanLVjqxHJRn62uBfmgBj93YHidk2N5Q==",
|
|
||||||
"bin": {
|
|
||||||
"playwright": "cli.js"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "17.0.40",
|
"version": "18.11.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz",
|
||||||
"integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg=="
|
"integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw=="
|
||||||
},
|
},
|
||||||
"node_modules/ansi-styles": {
|
"node_modules/ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
@ -59,12 +48,19 @@
|
|||||||
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "0.26.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
|
||||||
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
|
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.14.8"
|
"follow-redirects": "^1.15.0",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/chalk": {
|
"node_modules/chalk": {
|
||||||
@ -106,6 +102,17 @@
|
|||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
},
|
},
|
||||||
|
"node_modules/combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"dependencies": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.8"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/crypt": {
|
"node_modules/crypt": {
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
||||||
@ -114,18 +121,26 @@
|
|||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/dotenv": {
|
"node_modules/dotenv": {
|
||||||
"version": "16.0.1",
|
"version": "16.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
|
||||||
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ==",
|
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.15.1",
|
"version": "1.15.2",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
|
||||||
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
|
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
@ -141,6 +156,19 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"dependencies": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/has-flag": {
|
"node_modules/has-flag": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
@ -149,13 +177,32 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/mime-db": {
|
||||||
|
"version": "1.52.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mime-types": {
|
||||||
|
"version": "2.1.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
|
"dependencies": {
|
||||||
|
"mime-db": "1.52.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/playwright": {
|
"node_modules/playwright": {
|
||||||
"version": "1.22.2",
|
"version": "1.28.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.22.2.tgz",
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.28.1.tgz",
|
||||||
"integrity": "sha512-hUTpg7LytIl3/O4t0AQJS1V6hWsaSY5uZ7w1oCC8r3a1AQN5d6otIdCkiB3cbzgQkcMaRxisinjMFMVqZkybdQ==",
|
"integrity": "sha512-92Sz6XBlfHlb9tK5UCDzIFAuIkHHpemA9zwUaqvo+w7sFMSmVMGmvKcbptof/eJObq63PGnMhM75x7qxhTR78Q==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"playwright-core": "1.22.2"
|
"playwright-core": "1.28.1"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
@ -165,9 +212,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/playwright-core": {
|
"node_modules/playwright-core": {
|
||||||
"version": "1.22.2",
|
"version": "1.28.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.2.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.28.1.tgz",
|
||||||
"integrity": "sha512-w/hc/Ld0RM4pmsNeE6aL/fPNWw8BWit2tg+TfqJ3+p59c6s3B6C8mXvXrIPmfQEobkcFDc+4KirNzOQ+uBSP1Q==",
|
"integrity": "sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag==",
|
||||||
"bin": {
|
"bin": {
|
||||||
"playwright": "cli.js"
|
"playwright": "cli.js"
|
||||||
},
|
},
|
||||||
@ -175,6 +222,11 @@
|
|||||||
"node": ">=14"
|
"node": ">=14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/proxy-from-env": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
|
},
|
||||||
"node_modules/sax": {
|
"node_modules/sax": {
|
||||||
"version": "1.2.4",
|
"version": "1.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
|
||||||
@ -183,7 +235,7 @@
|
|||||||
"node_modules/sha1": {
|
"node_modules/sha1": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
||||||
"integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=",
|
"integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"charenc": ">= 0.0.1",
|
"charenc": ">= 0.0.1",
|
||||||
"crypt": ">= 0.0.1"
|
"crypt": ">= 0.0.1"
|
||||||
@ -226,25 +278,18 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@playwright/test": {
|
"@playwright/test": {
|
||||||
"version": "1.25.0",
|
"version": "1.28.1",
|
||||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.25.0.tgz",
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.28.1.tgz",
|
||||||
"integrity": "sha512-j4EZhTTQI3dBeWblE21EV//swwmBtOpIrLdOIJIRv4uqsLdHgBg1z+JtTg+AeC5o2bAXIE26kDNW5A0TimG8Bg==",
|
"integrity": "sha512-xN6spdqrNlwSn9KabIhqfZR7IWjPpFK1835tFNgjrlysaSezuX8PYUwaz38V/yI8TJLG9PkAMEXoHRXYXlpTPQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/node": "*",
|
"@types/node": "*",
|
||||||
"playwright-core": "1.25.0"
|
"playwright-core": "1.28.1"
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"playwright-core": {
|
|
||||||
"version": "1.25.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.0.tgz",
|
|
||||||
"integrity": "sha512-kZ3Jwaf3wlu0GgU0nB8UMQ+mXFTqBIFz9h1svTlNduNKjnbPXFxw7mJanLVjqxHJRn62uBfmgBj93YHidk2N5Q=="
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/node": {
|
"@types/node": {
|
||||||
"version": "17.0.40",
|
"version": "18.11.15",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.40.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz",
|
||||||
"integrity": "sha512-UXdBxNGqTMtm7hCwh9HtncFVLrXoqA3oJW30j6XWp5BH/wu3mVeaxo7cq5benFdBw34HB3XDT2TRPI7rXZ+mDg=="
|
"integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw=="
|
||||||
},
|
},
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
@ -254,12 +299,19 @@
|
|||||||
"color-convert": "^2.0.1"
|
"color-convert": "^2.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"asynckit": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
|
||||||
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "0.26.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz",
|
||||||
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
|
"integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"follow-redirects": "^1.14.8"
|
"follow-redirects": "^1.15.0",
|
||||||
|
"form-data": "^4.0.0",
|
||||||
|
"proxy-from-env": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
@ -289,38 +341,79 @@
|
|||||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||||
},
|
},
|
||||||
|
"combined-stream": {
|
||||||
|
"version": "1.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
||||||
|
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
||||||
|
"requires": {
|
||||||
|
"delayed-stream": "~1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"crypt": {
|
"crypt": {
|
||||||
"version": "0.0.2",
|
"version": "0.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
|
||||||
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
|
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
|
||||||
},
|
},
|
||||||
|
"delayed-stream": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
|
||||||
|
},
|
||||||
"dotenv": {
|
"dotenv": {
|
||||||
"version": "16.0.1",
|
"version": "16.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
|
||||||
"integrity": "sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ=="
|
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
|
||||||
},
|
},
|
||||||
"follow-redirects": {
|
"follow-redirects": {
|
||||||
"version": "1.15.1",
|
"version": "1.15.2",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
|
||||||
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA=="
|
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
|
||||||
|
},
|
||||||
|
"form-data": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
||||||
|
"requires": {
|
||||||
|
"asynckit": "^0.4.0",
|
||||||
|
"combined-stream": "^1.0.8",
|
||||||
|
"mime-types": "^2.1.12"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"has-flag": {
|
"has-flag": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||||
},
|
},
|
||||||
"playwright": {
|
"mime-db": {
|
||||||
"version": "1.22.2",
|
"version": "1.52.0",
|
||||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.22.2.tgz",
|
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
||||||
"integrity": "sha512-hUTpg7LytIl3/O4t0AQJS1V6hWsaSY5uZ7w1oCC8r3a1AQN5d6otIdCkiB3cbzgQkcMaRxisinjMFMVqZkybdQ==",
|
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
||||||
|
},
|
||||||
|
"mime-types": {
|
||||||
|
"version": "2.1.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
||||||
|
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"playwright-core": "1.22.2"
|
"mime-db": "1.52.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"playwright": {
|
||||||
|
"version": "1.28.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.28.1.tgz",
|
||||||
|
"integrity": "sha512-92Sz6XBlfHlb9tK5UCDzIFAuIkHHpemA9zwUaqvo+w7sFMSmVMGmvKcbptof/eJObq63PGnMhM75x7qxhTR78Q==",
|
||||||
|
"requires": {
|
||||||
|
"playwright-core": "1.28.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"playwright-core": {
|
"playwright-core": {
|
||||||
"version": "1.22.2",
|
"version": "1.28.1",
|
||||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.22.2.tgz",
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.28.1.tgz",
|
||||||
"integrity": "sha512-w/hc/Ld0RM4pmsNeE6aL/fPNWw8BWit2tg+TfqJ3+p59c6s3B6C8mXvXrIPmfQEobkcFDc+4KirNzOQ+uBSP1Q=="
|
"integrity": "sha512-3PixLnGPno0E8rSBJjtwqTwJe3Yw72QwBBBxNoukIj3lEeBNXwbNiKrNuB1oyQgTBw5QHUhNO3SteEtHaMK6ag=="
|
||||||
|
},
|
||||||
|
"proxy-from-env": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
|
||||||
},
|
},
|
||||||
"sax": {
|
"sax": {
|
||||||
"version": "1.2.4",
|
"version": "1.2.4",
|
||||||
@ -330,7 +423,7 @@
|
|||||||
"sha1": {
|
"sha1": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
|
||||||
"integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=",
|
"integrity": "sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"charenc": ">= 0.0.1",
|
"charenc": ">= 0.0.1",
|
||||||
"crypt": ">= 0.0.1"
|
"crypt": ">= 0.0.1"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "npx playwright test",
|
"test": "npx playwright test",
|
||||||
|
"test:ssh": "set -e; fn () { target=$1; shift; secret=$(ssh $target sudo bbb-conf --secret); env=$(echo \"$secret\" | sed -e 's/^ *URL: /BBB_URL=/' -e '/^BBB_URL/s/$/api/' -e 's/^ *Secret: /BBB_SECRET=/' -e '/^BBB/p' -e d); env $env npx playwright test $@; }; fn",
|
||||||
"test:filter": "npx playwright test -g",
|
"test:filter": "npx playwright test -g",
|
||||||
"test:headed": "npx playwright test --headed",
|
"test:headed": "npx playwright test --headed",
|
||||||
"test:debug": "npx playwright test --debug -g",
|
"test:debug": "npx playwright test --debug -g",
|
||||||
@ -8,11 +9,11 @@
|
|||||||
"test-firefox-ci": "export CI='true' && npx playwright test --project=firefox --grep @ci"
|
"test-firefox-ci": "export CI='true' && npx playwright test --project=firefox --grep @ci"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@playwright/test": "^1.25.0",
|
"@playwright/test": "^1.28.1",
|
||||||
"playwright": "^1.19.2",
|
"axios": "^1.2.0",
|
||||||
"axios": "^0.26.1",
|
|
||||||
"chalk": "^4.1.2",
|
|
||||||
"dotenv": "^16.0.0",
|
"dotenv": "^16.0.0",
|
||||||
|
"playwright": "^1.28.1",
|
||||||
|
"chalk": "^4.1.2",
|
||||||
"sha1": "^1.1.1",
|
"sha1": "^1.1.1",
|
||||||
"xml2js": "^0.4.23"
|
"xml2js": "^0.4.23"
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ const CI = process.env.CI === 'true';
|
|||||||
const DEBUG_MODE = process.env.DEBUG_MODE === 'true';
|
const DEBUG_MODE = process.env.DEBUG_MODE === 'true';
|
||||||
|
|
||||||
const config = {
|
const config = {
|
||||||
workers: 2,
|
workers: CI ? 1 : 2,
|
||||||
timeout: 3 * 60 * 1000,
|
timeout: 3 * 60 * 1000,
|
||||||
reporter: [
|
reporter: [
|
||||||
[CI ? 'github' : 'list'],
|
[CI ? 'github' : 'list'],
|
||||||
@ -15,7 +15,7 @@ const config = {
|
|||||||
headless: true,
|
headless: true,
|
||||||
trace: DEBUG_MODE ? 'on'
|
trace: DEBUG_MODE ? 'on'
|
||||||
: CI ? 'retain-on-failure'
|
: CI ? 'retain-on-failure'
|
||||||
: 'off',
|
: 'off',
|
||||||
screenshot: 'on',
|
screenshot: 'on',
|
||||||
video: 'on',
|
video: 'on',
|
||||||
},
|
},
|
||||||
|
@ -6,6 +6,7 @@ const utilPresentation = require('../presentation/util');
|
|||||||
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
||||||
const { getSettings } = require('../core/settings');
|
const { getSettings } = require('../core/settings');
|
||||||
const { waitAndClearDefaultPresentationNotification } = require('../notifications/util');
|
const { waitAndClearDefaultPresentationNotification } = require('../notifications/util');
|
||||||
|
const { sleep } = require('../core/helpers');
|
||||||
|
|
||||||
class Polling extends MultiUsers {
|
class Polling extends MultiUsers {
|
||||||
constructor(browser, context) {
|
constructor(browser, context) {
|
||||||
@ -225,7 +226,7 @@ class Polling extends MultiUsers {
|
|||||||
await this.modPage.waitAndClick(e.publishPollingLabel);
|
await this.modPage.waitAndClick(e.publishPollingLabel);
|
||||||
await this.modPage.waitAndClick(e.nextSlide);
|
await this.modPage.waitAndClick(e.nextSlide);
|
||||||
await this.modPage.waitAndClick(e.quickPoll);
|
await this.modPage.waitAndClick(e.quickPoll);
|
||||||
await this.userPage.waitAndClick(e.pollAnswerOptionBtn);
|
await this.userPage.waitAndClick(e.pollAnswerDescTest1);
|
||||||
|
|
||||||
await this.modPage.hasText(e.answer1, '1');
|
await this.modPage.hasText(e.answer1, '1');
|
||||||
await this.modPage.hasElementDisabled(e.nextSlide);
|
await this.modPage.hasElementDisabled(e.nextSlide);
|
||||||
|
@ -50,7 +50,7 @@ class Presentation extends MultiUsers {
|
|||||||
await this.modPage.waitForSelector(e.whiteboard);
|
await this.modPage.waitForSelector(e.whiteboard);
|
||||||
await this.modPage.waitAndClick(e.actions);
|
await this.modPage.waitAndClick(e.actions);
|
||||||
await this.modPage.waitAndClick(e.shareExternalVideoBtn);
|
await this.modPage.waitAndClick(e.shareExternalVideoBtn);
|
||||||
await this.modPage.waitForSelector(e.externalVideoModalHeader);
|
await this.modPage.waitForSelector(e.closeModal);
|
||||||
await this.modPage.type(e.videoModalInput, e.youtubeLink);
|
await this.modPage.type(e.videoModalInput, e.youtubeLink);
|
||||||
await this.modPage.waitAndClick(e.startShareVideoBtn);
|
await this.modPage.waitAndClick(e.startShareVideoBtn);
|
||||||
|
|
||||||
@ -62,6 +62,7 @@ class Presentation extends MultiUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async uploadSinglePresentationTest() {
|
async uploadSinglePresentationTest() {
|
||||||
|
await this.modPage.waitForSelector(e.whiteboard, ELEMENT_WAIT_LONGER_TIME);
|
||||||
await this.modPage.waitForSelector(e.skipSlide);
|
await this.modPage.waitForSelector(e.skipSlide);
|
||||||
|
|
||||||
const modSlides0 = await getSlideOuterHtml(this.modPage);
|
const modSlides0 = await getSlideOuterHtml(this.modPage);
|
||||||
@ -81,14 +82,14 @@ class Presentation extends MultiUsers {
|
|||||||
async uploadMultiplePresentationsTest() {
|
async uploadMultiplePresentationsTest() {
|
||||||
await this.modPage.waitForSelector(e.skipSlide);
|
await this.modPage.waitForSelector(e.skipSlide);
|
||||||
|
|
||||||
const modSlides0 = await this.modPage.page.evaluate(getSvgOuterHtml);
|
const modSlides0 = await getSlideOuterHtml(this.modPage);
|
||||||
const userSlides0 = await this.userPage.page.evaluate(getSvgOuterHtml);
|
const userSlides0 = await getSlideOuterHtml(this.userPage);
|
||||||
await expect(modSlides0).toEqual(userSlides0);
|
await expect(modSlides0).toEqual(userSlides0);
|
||||||
|
|
||||||
await uploadMultiplePresentations(this.modPage, [e.uploadPresentationFileName, e.questionSlideFileName]);
|
await uploadMultiplePresentations(this.modPage, [e.uploadPresentationFileName, e.questionSlideFileName]);
|
||||||
|
|
||||||
const modSlides1 = await this.userPage.page.evaluate(async () => document.querySelector('svg g g g').outerHTML);
|
const modSlides1 = await getSlideOuterHtml(this.modPage);
|
||||||
const userSlides1 = await this.modPage.page.evaluate(async () => document.querySelector('svg g g g').outerHTML);
|
const userSlides1 = await getSlideOuterHtml(this.userPage);
|
||||||
await expect(modSlides1).toEqual(userSlides1);
|
await expect(modSlides1).toEqual(userSlides1);
|
||||||
|
|
||||||
await expect(modSlides0).not.toEqual(modSlides1);
|
await expect(modSlides0).not.toEqual(modSlides1);
|
||||||
@ -100,9 +101,9 @@ class Presentation extends MultiUsers {
|
|||||||
await this.modPage.waitForSelector(e.skipSlide);
|
await this.modPage.waitForSelector(e.skipSlide);
|
||||||
await this.modPage.waitAndClick(e.userListToggleBtn);
|
await this.modPage.waitAndClick(e.userListToggleBtn);
|
||||||
await uploadSinglePresentation(this.modPage, e.uploadPresentationFileName);
|
await uploadSinglePresentation(this.modPage, e.uploadPresentationFileName);
|
||||||
const width1 = await this.modPage.page.locator(e.whiteboard).getAttribute("width");
|
const width1 = (await this.modPage.page.locator(e.whiteboard).boundingBox()).width;
|
||||||
await this.modPage.waitAndClick(e.fitToWidthButton);
|
await this.modPage.waitAndClick(e.fitToWidthButton);
|
||||||
const width2 = await this.modPage.page.locator(e.whiteboard).getAttribute("width");
|
const width2 = (await this.modPage.page.locator(e.whiteboard).boundingBox()).width;
|
||||||
await expect(Number(width2) > Number(width1)).toBeTruthy();
|
await expect(Number(width2) > Number(width1)).toBeTruthy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ const Page = require('../core/page');
|
|||||||
const e = require('../core/elements');
|
const e = require('../core/elements');
|
||||||
const { waitAndClearDefaultPresentationNotification } = require('../notifications/util');
|
const { waitAndClearDefaultPresentationNotification } = require('../notifications/util');
|
||||||
const { sleep } = require('../core/helpers');
|
const { sleep } = require('../core/helpers');
|
||||||
const { checkAvatarIcon, checkIsPresenter } = require('./util');
|
const { checkAvatarIcon, checkIsPresenter, checkMutedUsers } = require('./util');
|
||||||
const { checkTextContent } = require('../core/util');
|
const { checkTextContent } = require('../core/util');
|
||||||
const { getSettings } = require('../core/settings');
|
const { getSettings } = require('../core/settings');
|
||||||
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
const { ELEMENT_WAIT_LONGER_TIME } = require('../core/constants');
|
||||||
@ -231,6 +231,40 @@ class MultiUsers {
|
|||||||
}, e.multiUsersWhiteboardOff);
|
}, e.multiUsersWhiteboardOff);
|
||||||
await expect(resp).toBeTruthy();
|
await expect(resp).toBeTruthy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async muteAllUsers() {
|
||||||
|
await this.modPage.joinMicrophone();
|
||||||
|
await this.modPage2.joinMicrophone();
|
||||||
|
await this.userPage.joinMicrophone();
|
||||||
|
await this.modPage.waitAndClick(e.manageUsers);
|
||||||
|
await this.modPage.waitAndClick(e.muteAll);
|
||||||
|
|
||||||
|
await checkMutedUsers(this.modPage);
|
||||||
|
await checkMutedUsers(this.modPage2);
|
||||||
|
await checkMutedUsers(this.userPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
async muteAllUsersExceptPresenter(){
|
||||||
|
await this.modPage.joinMicrophone();
|
||||||
|
await this.modPage2.joinMicrophone();
|
||||||
|
await this.userPage.joinMicrophone();
|
||||||
|
await this.modPage.waitAndClick(e.manageUsers);
|
||||||
|
await this.modPage.waitAndClick(e.muteAllExceptPresenter);
|
||||||
|
|
||||||
|
await this.modPage.hasElement(e.isTalking);
|
||||||
|
await checkMutedUsers(this.modPage2);
|
||||||
|
await checkMutedUsers(this.userPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
async giveAndRemoveWhiteboardAccess() {
|
||||||
|
await this.whiteboardAccess();
|
||||||
|
|
||||||
|
await this.modPage.waitForSelector(e.whiteboard);
|
||||||
|
await this.modPage.waitAndClick(e.userListItem);
|
||||||
|
await this.modPage.waitAndClick(e.changeWhiteboardAccess);
|
||||||
|
|
||||||
|
await this.modPage.hasElement(e.multiUsersWhiteboardOn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.MultiUsers = MultiUsers;
|
exports.MultiUsers = MultiUsers;
|
||||||
|
@ -64,11 +64,18 @@ test.describe.parallel('User', () => {
|
|||||||
await multiusers.initModPage2();
|
await multiusers.initModPage2();
|
||||||
await multiusers.demoteToViewer();
|
await multiusers.demoteToViewer();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Give and remove whiteboard access', async ({ browser, context, page }) => {
|
||||||
|
const multiusers = new MultiUsers(browser, context);
|
||||||
|
await multiusers.initModPage(page);
|
||||||
|
await multiusers.initModPage2();
|
||||||
|
await multiusers.giveAndRemoveWhiteboardAccess();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe.parallel('Manage', () => {
|
test.describe.parallel('Manage', () => {
|
||||||
test.describe.parallel('Guest policy', () => {
|
test.describe.parallel('Guest policy', () => {
|
||||||
test.describe.parallel('ASK_MODERATOR', () => {
|
test.describe.parallel('ASK_MODERATOR', () => {
|
||||||
// https://docs.bigbluebutton.org/2.6/release-tests.html#ask-moderator
|
// https://docs.bigbluebutton.org/2.6/release-tests.html#ask-moderator
|
||||||
test('Message to guest lobby', async ({ browser, context, page }) => {
|
test('Message to guest lobby', async ({ browser, context, page }) => {
|
||||||
const guestPolicy = new GuestPolicy(browser, context);
|
const guestPolicy = new GuestPolicy(browser, context);
|
||||||
@ -203,6 +210,22 @@ test.describe.parallel('User', () => {
|
|||||||
await multiusers.initModPage(page);
|
await multiusers.initModPage(page);
|
||||||
await multiusers.selectRandomUser();
|
await multiusers.selectRandomUser();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('Mute all users', async ({ browser, context, page }) => {
|
||||||
|
const multiusers = new MultiUsers(browser, context);
|
||||||
|
await multiusers.initModPage(page, false);
|
||||||
|
await multiusers.initModPage2(false);
|
||||||
|
await multiusers.initUserPage(false);
|
||||||
|
await multiusers.muteAllUsers();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('Mute all users except presenter', async ({ browser, context, page }) => {
|
||||||
|
const multiusers = new MultiUsers(browser, context);
|
||||||
|
await multiusers.initModPage(page, false);
|
||||||
|
await multiusers.initModPage2(false);
|
||||||
|
await multiusers.initUserPage(false);
|
||||||
|
await multiusers.muteAllUsersExceptPresenter();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe.parallel('Mobile devices', () => {
|
test.describe.parallel('Mobile devices', () => {
|
||||||
|
@ -27,8 +27,14 @@ async function checkIsPresenter(test) {
|
|||||||
}, [e.currentUser, e.userAvatar])
|
}, [e.currentUser, e.userAvatar])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function checkMutedUsers(test) {
|
||||||
|
await test.wasRemoved(e.muteMicButton);
|
||||||
|
await test.hasElement(e.unmuteMicButton);
|
||||||
|
}
|
||||||
|
|
||||||
exports.setStatus = setStatus;
|
exports.setStatus = setStatus;
|
||||||
exports.openLockViewers = openLockViewers;
|
exports.openLockViewers = openLockViewers;
|
||||||
exports.setGuestPolicyOption = setGuestPolicyOption;
|
exports.setGuestPolicyOption = setGuestPolicyOption;
|
||||||
exports.checkAvatarIcon = checkAvatarIcon;
|
exports.checkAvatarIcon = checkAvatarIcon;
|
||||||
exports.checkIsPresenter = checkIsPresenter;
|
exports.checkIsPresenter = checkIsPresenter;
|
||||||
|
exports.checkMutedUsers = checkMutedUsers;
|
@ -30,28 +30,28 @@ test.describe.parallel('Drawing - visual regression', () => {
|
|||||||
|
|
||||||
test('Draw rectangle', async ({ browser, context, page }) => {
|
test('Draw rectangle', async ({ browser, context, page }) => {
|
||||||
const drawRectangle = new DrawRectangle(browser, context);
|
const drawRectangle = new DrawRectangle(browser, context);
|
||||||
await drawRectangle.initModPage(page, true, { customMeetingId : 'draw_rectangle_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawRectangle.initModPage(page, true, { customMeetingId: 'draw_rectangle_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawRectangle.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawRectangle.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawRectangle.test();
|
await drawRectangle.test();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Draw ellipse', async ({ browser, context, page }) => {
|
test('Draw ellipse', async ({ browser, context, page }) => {
|
||||||
const drawEllipse = new DrawEllipse(browser, context);
|
const drawEllipse = new DrawEllipse(browser, context);
|
||||||
await drawEllipse.initModPage(page, true, { customMeetingId : 'draw_ellipse_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawEllipse.initModPage(page, true, { customMeetingId: 'draw_ellipse_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawEllipse.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawEllipse.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawEllipse.test();
|
await drawEllipse.test();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Draw triangle', async ({ browser, context, page }) => {
|
test('Draw triangle', async ({ browser, context, page }) => {
|
||||||
const drawTriangle = new DrawTriangle(browser, context);
|
const drawTriangle = new DrawTriangle(browser, context);
|
||||||
await drawTriangle.initModPage(page, true, { customMeetingId : 'draw_triangle_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawTriangle.initModPage(page, true, { customMeetingId: 'draw_triangle_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawTriangle.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawTriangle.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawTriangle.test();
|
await drawTriangle.test();
|
||||||
});
|
});
|
||||||
|
|
||||||
test('Draw line', async ({ browser, context, page }) => {
|
test('Draw line', async ({ browser, context, page }) => {
|
||||||
const drawLine= new DrawLine(browser, context);
|
const drawLine = new DrawLine(browser, context);
|
||||||
await drawLine.initModPage(page, true, { customMeetingId : 'draw_line_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawLine.initModPage(page, true, { customMeetingId: 'draw_line_meeting', customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawLine.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
await drawLine.initModPage2(true, context, { customParameter: encodeCustomParams(`userdata-bbb_custom_style=.presentationUploaderToast{display: none;}.currentPresentationToast{display:none;}`) });
|
||||||
await drawLine.test();
|
await drawLine.test();
|
||||||
});
|
});
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user