Compare commits
189 Commits
3815
...
update-js-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7469e7fa3d | ||
|
|
c170970992 | ||
|
|
d19a659871 | ||
|
|
955b24be9d | ||
|
|
de6c7e0117 | ||
|
|
feb8fe9e34 | ||
|
|
aff6d4b36d | ||
|
|
45c60717d6 | ||
|
|
6596e27f69 | ||
|
|
8cba7e91d3 | ||
|
|
3a871cbed8 | ||
|
|
a46fd60788 | ||
|
|
97735ff548 | ||
|
|
9fdc18d1ec | ||
|
|
4a21882345 | ||
|
|
cb0cea4ebd | ||
|
|
b894daa9cf | ||
|
|
06641a7dd6 | ||
|
|
94f7b570d7 | ||
|
|
ca5605620a | ||
|
|
8d0202113a | ||
|
|
f2e59226c0 | ||
|
|
951086e499 | ||
|
|
d3a26f9b4e | ||
|
|
e1a4478a06 | ||
|
|
ed8009883b | ||
|
|
4fd5dc0ee0 | ||
|
|
1bbb937d9d | ||
|
|
c1fb276937 | ||
|
|
3867d5d62e | ||
|
|
08ab513d4e | ||
|
|
a2eca4f029 | ||
|
|
3121494d4b | ||
|
|
92e81c3dbf | ||
|
|
2761a6dbb3 | ||
|
|
faf24ca7ec | ||
|
|
c5ce44f09d | ||
|
|
6969114675 | ||
|
|
1aba57e6bb | ||
|
|
e9785c8b3d | ||
|
|
03215d8906 | ||
|
|
9a5b19babe | ||
|
|
e5d87e66bf | ||
|
|
e00036d44a | ||
|
|
d8059fd0ee | ||
|
|
6fc7456196 | ||
|
|
0bd96b9c0e | ||
|
|
f502e13edc | ||
|
|
08f55ccb94 | ||
|
|
17ca9722b7 | ||
|
|
8cc9b78e21 | ||
|
|
25b4843327 | ||
|
|
d13edd8f63 | ||
|
|
cdc14586de | ||
|
|
a7f8bf2d8f | ||
|
|
8cd881945a | ||
|
|
579d08e27e | ||
|
|
5148c81dd8 | ||
|
|
40bc844caa | ||
|
|
c990a64ba9 | ||
|
|
f5a0a1ef8c | ||
|
|
58018a086c | ||
|
|
b3a7f5f38b | ||
|
|
435d11793d | ||
|
|
9ec3faa6b3 | ||
|
|
959d61468e | ||
|
|
9f28048742 | ||
|
|
19c9a808cf | ||
|
|
7576f850e9 | ||
|
|
7970b38823 | ||
|
|
b40363be31 | ||
|
|
9a0b924f99 | ||
|
|
52def54cd9 | ||
|
|
8d3b59a0d0 | ||
|
|
b0e7471a83 | ||
|
|
4616065b1d | ||
|
|
14855f3255 | ||
|
|
c40a7f736e | ||
|
|
8ffd226159 | ||
|
|
b8dda4c6c2 | ||
|
|
fca4977987 | ||
|
|
7bcece52ea | ||
|
|
155c6de822 | ||
|
|
d0bc3da0f5 | ||
|
|
011b7f9d00 | ||
|
|
9b0f5b0299 | ||
|
|
7e21c277b3 | ||
|
|
e6ade2cf84 | ||
|
|
99b21cdb2a | ||
|
|
677752c78d | ||
|
|
4e81a7abd3 | ||
|
|
5d8d0b9a01 | ||
|
|
2dd5d0a180 | ||
|
|
ccdfff8e9a | ||
|
|
829e3bfe15 | ||
|
|
e90cc0a615 | ||
|
|
b6ccc91038 | ||
|
|
beb4487044 | ||
|
|
add84af7b6 | ||
|
|
cb0d10fbe1 | ||
|
|
9a162c266c | ||
|
|
6654531112 | ||
|
|
b9cc6b6f96 | ||
|
|
6cbc04175c | ||
|
|
fb23aa54e8 | ||
|
|
b73d98f863 | ||
|
|
0289a93e5a | ||
|
|
401003b907 | ||
|
|
025e2b1ecb | ||
|
|
05a8591110 | ||
|
|
d2e6d57be8 | ||
|
|
41fd142977 | ||
|
|
04c0945930 | ||
|
|
5f2acb70de | ||
|
|
4dc10e82f1 | ||
|
|
582d4aff1c | ||
|
|
b13200ac92 | ||
|
|
53f937ba4e | ||
|
|
b9addaed71 | ||
|
|
fd8fb58eaf | ||
|
|
38d1032fec | ||
|
|
073fdc7b0e | ||
|
|
fedaa0ae6e | ||
|
|
f06fe69167 | ||
|
|
16c09c9645 | ||
|
|
24a1a60f04 | ||
|
|
d7ece58c6f | ||
|
|
aa11535db7 | ||
|
|
eea87be801 | ||
|
|
809ac42e4c | ||
|
|
cf27ad0dde | ||
|
|
2064fc8937 | ||
|
|
95eb551156 | ||
|
|
a7ac7790a8 | ||
|
|
94c48ec838 | ||
|
|
da68b9882d | ||
|
|
bd8a7edbd2 | ||
|
|
bde2343951 | ||
|
|
9b141816d6 | ||
|
|
6a7594cd9c | ||
|
|
cdbc5976a0 | ||
|
|
8fd0f56be7 | ||
|
|
5b0c6e088a | ||
|
|
202abf2a9a | ||
|
|
fb8ef366c6 | ||
|
|
7446e6165e | ||
|
|
5feaa421a8 | ||
|
|
a4333d3a80 | ||
|
|
02131f3346 | ||
|
|
8dbd1ba1b7 | ||
|
|
4c065f2de1 | ||
|
|
df895e5a61 | ||
|
|
bbf1927c70 | ||
|
|
86130c1478 | ||
|
|
15fb8a1525 | ||
|
|
64cbfb648f | ||
|
|
3e40bb19cd | ||
|
|
bbca0fc357 | ||
|
|
9bb789472e | ||
|
|
06fa175a6c | ||
|
|
5940f2890a | ||
|
|
7d09088186 | ||
|
|
34be081d87 | ||
|
|
3c36eece5e | ||
|
|
8eb0acada6 | ||
|
|
8307a8be2d | ||
|
|
d62190c644 | ||
|
|
58c4248da0 | ||
|
|
74af70a1d5 | ||
|
|
7b25b847ba | ||
|
|
18536cb14c | ||
|
|
01e36e1c56 | ||
|
|
5d96a226ed | ||
|
|
9855fac805 | ||
|
|
ed5351d250 | ||
|
|
b64260e554 | ||
|
|
7d67cb583e | ||
|
|
8e3c301d03 | ||
|
|
f9071b8b6b | ||
|
|
01abc4e8a8 | ||
|
|
c5bddda781 | ||
|
|
c2bc92ae05 | ||
|
|
a425e9c92e | ||
|
|
3bfa4744c8 | ||
|
|
bd5901d59c | ||
|
|
306c8ba8c2 | ||
|
|
5a6335207f | ||
|
|
97e8a6c3f3 | ||
|
|
523926d598 |
16
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
name: Simple CI
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
run-ci:
|
||||
name: Build Frontend
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: '12.x'
|
||||
- run: npm install
|
||||
- run: npm run lint
|
||||
- run: make
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses [Jitsi Videobridge](https://jitsi.org/videobridge) to provide high quality, [secure](#security) and scalable video conferences. Jitsi Meet in action can be seen at [here at the session #482 of the VoIP Users Conference](http://youtu.be/7vFUVClsNh0).
|
||||
|
||||
The Jitsi Meet client runs in your browser, without installing anything on your computer. You can try it out at https://meet.jit.si .
|
||||
The Jitsi Meet client runs in your browser, without installing anything else on your computer. You can try it out at https://meet.jit.si .
|
||||
|
||||
Jitsi Meet allows very efficient collaboration. Users can stream their desktop or only some windows. It also supports shared document editing with Etherpad.
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/*
|
||||
* Copyright @ 2018-present 8x8, Inc.
|
||||
* Copyright @ 2017-2018 Atlassian Pty Ltd
|
||||
* Copyright @ 2017-present 8x8, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -91,6 +90,7 @@ public class MainActivity extends JitsiMeetActivity {
|
||||
= new JitsiMeetConferenceOptions.Builder()
|
||||
.setWelcomePageEnabled(true)
|
||||
.setServerURL(buildURL("https://meet.jit.si"))
|
||||
.setFeatureFlag("call-integration.enabled", false)
|
||||
.build();
|
||||
JitsiMeet.setDefaultConferenceOptions(defaultOptions);
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 512 KiB After Width: | Height: | Size: 342 KiB |
|
Before Width: | Height: | Size: 396 KiB After Width: | Height: | Size: 264 KiB |
|
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 164 KiB |
|
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 174 KiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 4.0 MiB After Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 6.0 MiB After Width: | Height: | Size: 4.9 MiB |
|
Before Width: | Height: | Size: 948 KiB After Width: | Height: | Size: 694 KiB |
|
Before Width: | Height: | Size: 983 KiB After Width: | Height: | Size: 716 KiB |
|
Before Width: | Height: | Size: 1.2 MiB After Width: | Height: | Size: 950 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1000 KiB |
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.1 MiB |
@@ -20,5 +20,5 @@
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
appVersion=20.0.0
|
||||
sdkVersion=2.6.0
|
||||
appVersion=20.2.0
|
||||
sdkVersion=2.8.0
|
||||
|
||||
@@ -9,8 +9,8 @@ THE_MVN_REPO=${MVN_REPO:-${1:-$DEFAULT_MVN_REPO}}
|
||||
MVN_HTTP=0
|
||||
DEFAULT_SDK_VERSION=$(grep sdkVersion ${THIS_DIR}/../gradle.properties | cut -d"=" -f2)
|
||||
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
|
||||
RN_VERSION=$(jq -r '.dependencies."react-native"' ${THIS_DIR}/../../package.json)
|
||||
JSC_VERSION="r"$(jq -r '.dependencies."jsc-android"' ${THIS_DIR}/../../node_modules/react-native/package.json | cut -d . -f 1 | cut -c 2-)
|
||||
RN_VERSION=$(jq -r '.version' ${THIS_DIR}/../../node_modules/react-native/package.json)
|
||||
HERMES_VERSION=$(jq -r '.dependencies."hermes-engine"' ${THIS_DIR}/../../node_modules/react-native/package.json | cut -c 2-)
|
||||
DO_GIT_TAG=${GIT_TAG:-0}
|
||||
|
||||
if [[ $THE_MVN_REPO == http* ]]; then
|
||||
@@ -38,17 +38,19 @@ if [[ $MVN_HTTP == 1 ]]; then
|
||||
-DgeneratePom=false \
|
||||
-DpomFile=react-native-${RN_VERSION}.pom || true
|
||||
popd
|
||||
# Push JSC
|
||||
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
|
||||
# Push Hermes
|
||||
echo "Pushing Hermes ${HERMES_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/hermes-engine/android/
|
||||
mvn \
|
||||
deploy:deploy-file \
|
||||
-Durl=${MVN_REPO} \
|
||||
-DrepositoryId=${MVN_REPO_ID} \
|
||||
-Dfile=android-jsc-${JSC_VERSION}.aar \
|
||||
-Dfile=hermes-release.aar \
|
||||
-Dpackaging=aar \
|
||||
-DgeneratePom=false \
|
||||
-DpomFile=android-jsc-${JSC_VERSION}.pom || true
|
||||
-DgroupId=com.facebook \
|
||||
-DartifactId=hermes \
|
||||
-Dversion=${HERMES_VERSION} \
|
||||
-DgeneratePom=true || true
|
||||
popd
|
||||
else
|
||||
# Push React Native, if necessary
|
||||
@@ -65,17 +67,19 @@ else
|
||||
popd
|
||||
fi
|
||||
|
||||
# Push JSC, if necessary
|
||||
if [[ ! -d ${MVN_REPO}/org/webkit/android-jsc/${JSC_VERSION} ]]; then
|
||||
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
|
||||
# Push Hermes, if necessary
|
||||
if [[ ! -d ${MVN_REPO}/com/facebook/hermes/${HERMES_VERSION} ]]; then
|
||||
echo "Pushing Hermes ${HERMES_VERSION} to the Maven repo"
|
||||
pushd ${THIS_DIR}/../../node_modules/hermes-engine/android/
|
||||
mvn \
|
||||
deploy:deploy-file \
|
||||
-Durl=${MVN_REPO} \
|
||||
-Dfile=android-jsc-${JSC_VERSION}.aar \
|
||||
-Dfile=hermes-release.aar \
|
||||
-Dpackaging=aar \
|
||||
-DgeneratePom=false \
|
||||
-DpomFile=android-jsc-${JSC_VERSION}.pom
|
||||
-DgroupId=com.facebook \
|
||||
-DartifactId=hermes \
|
||||
-Dversion=${HERMES_VERSION} \
|
||||
-DgeneratePom=true
|
||||
popd
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import groovy.json.JsonSlurper
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
apply plugin: 'maven-publish'
|
||||
|
||||
@@ -31,6 +33,10 @@ android {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
packagingOptions {
|
||||
pickFirst '**/libc++_shared.so'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
@@ -38,7 +44,7 @@ dependencies {
|
||||
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||
implementation 'androidx.fragment:fragment:1.1.0'
|
||||
implementation 'androidx.fragment:fragment:1.2.0'
|
||||
|
||||
//noinspection GradleDynamicVersion
|
||||
api 'com.facebook.react:react-native:+'
|
||||
@@ -218,6 +224,14 @@ publishing {
|
||||
dependency.appendNode('artifactId', artifactId)
|
||||
dependency.appendNode('version', it.moduleVersion)
|
||||
}
|
||||
|
||||
// Add Hermes dependency.
|
||||
def hermesPkg = new File("$rootDir/../node_modules/hermes-engine/package.json")
|
||||
def hermesVersion = new JsonSlurper().parseText(hermesPkg.text).version
|
||||
def hermesDependency = dependencies.appendNode('dependency')
|
||||
hermesDependency.appendNode('groupId', "com.facebook")
|
||||
hermesDependency.appendNode('artifactId', "hermes")
|
||||
hermesDependency.appendNode('version', hermesVersion)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,8 @@ class AudioDeviceHandlerConnectionService implements
|
||||
*/
|
||||
private int supportedRouteMask = -1;
|
||||
|
||||
public AudioDeviceHandlerConnectionService() {
|
||||
public AudioDeviceHandlerConnectionService(AudioManager audioManager) {
|
||||
this.audioManager = audioManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -136,11 +137,10 @@ class AudioDeviceHandlerConnectionService implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Context context, AudioModeModule audioModeModule) {
|
||||
public void start(AudioModeModule audioModeModule) {
|
||||
JitsiMeetLogger.i("Using " + TAG + " as the audio device handler");
|
||||
|
||||
module = audioModeModule;
|
||||
audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
|
||||
|
||||
RNConnectionService rcs = ReactInstanceManagerHolder.getNativeModule(RNConnectionService.class);
|
||||
if (rcs != null) {
|
||||
|
||||
@@ -117,7 +117,8 @@ class AudioDeviceHandlerGeneric implements
|
||||
}
|
||||
};
|
||||
|
||||
public AudioDeviceHandlerGeneric() {
|
||||
public AudioDeviceHandlerGeneric(AudioManager audioManager) {
|
||||
this.audioManager = audioManager;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -178,11 +179,10 @@ class AudioDeviceHandlerGeneric implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Context context, AudioModeModule audioModeModule) {
|
||||
public void start(AudioModeModule audioModeModule) {
|
||||
JitsiMeetLogger.i("Using " + TAG + " as the audio device handler");
|
||||
|
||||
module = audioModeModule;
|
||||
audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
|
||||
|
||||
// Setup runtime device change detection.
|
||||
audioManager.registerAudioDeviceCallback(audioDeviceCallback, null);
|
||||
|
||||
@@ -59,7 +59,8 @@ class AudioDeviceHandlerLegacy implements
|
||||
*/
|
||||
private BluetoothHeadsetMonitor bluetoothHeadsetMonitor;
|
||||
|
||||
public AudioDeviceHandlerLegacy() {
|
||||
public AudioDeviceHandlerLegacy(AudioManager audioManager) {
|
||||
this.audioManager = audioManager;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -155,11 +156,11 @@ class AudioDeviceHandlerLegacy implements
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start(Context context, AudioModeModule audioModeModule) {
|
||||
public void start(AudioModeModule audioModeModule) {
|
||||
JitsiMeetLogger.i("Using " + TAG + " as the audio device handler");
|
||||
|
||||
module = audioModeModule;
|
||||
audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
|
||||
Context context = module.getContext();
|
||||
|
||||
// Setup runtime device change detection.
|
||||
//
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import android.content.Context;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Build;
|
||||
|
||||
import com.facebook.react.bridge.Arguments;
|
||||
@@ -85,6 +86,12 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
return supportsConnectionService && useConnectionService_;
|
||||
}
|
||||
|
||||
/**
|
||||
* {@link AudioManager} instance used to interact with the Android audio
|
||||
* subsystem.
|
||||
*/
|
||||
private AudioManager audioManager;
|
||||
|
||||
private AudioDeviceHandlerInterface audioDeviceHandler;
|
||||
|
||||
/**
|
||||
@@ -136,6 +143,8 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
*/
|
||||
public AudioModeModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
|
||||
audioManager = (AudioManager)reactContext.getSystemService(Context.AUDIO_SERVICE);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -198,7 +207,12 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
*/
|
||||
@Override
|
||||
public void initialize() {
|
||||
setAudioDeviceHandler();
|
||||
runInAudioThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
setAudioDeviceHandler();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setAudioDeviceHandler() {
|
||||
@@ -207,14 +221,14 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
}
|
||||
|
||||
if (useConnectionService()) {
|
||||
audioDeviceHandler = new AudioDeviceHandlerConnectionService();
|
||||
audioDeviceHandler = new AudioDeviceHandlerConnectionService(audioManager);
|
||||
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||
audioDeviceHandler = new AudioDeviceHandlerGeneric();
|
||||
audioDeviceHandler = new AudioDeviceHandlerGeneric(audioManager);
|
||||
} else {
|
||||
audioDeviceHandler = new AudioDeviceHandlerLegacy();
|
||||
audioDeviceHandler = new AudioDeviceHandlerLegacy(audioManager);
|
||||
}
|
||||
|
||||
audioDeviceHandler.start(getReactApplicationContext(), this);
|
||||
audioDeviceHandler.start(this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -292,9 +306,14 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
* @param use Boolean indicator of where it should be used or not.
|
||||
*/
|
||||
@ReactMethod
|
||||
public void setUseConnectionService(boolean use) {
|
||||
useConnectionService_ = use;
|
||||
setAudioDeviceHandler();
|
||||
public void setUseConnectionService(final boolean use) {
|
||||
runInAudioThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
useConnectionService_ = use;
|
||||
setAudioDeviceHandler();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -408,16 +427,24 @@ class AudioModeModule extends ReactContextBaseJavaModule {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Needed on the legacy handler...
|
||||
*
|
||||
* @return Context for the application.
|
||||
*/
|
||||
Context getContext() {
|
||||
return getReactApplicationContext();
|
||||
}
|
||||
|
||||
/**
|
||||
* Interface for the modules implementing the actual audio device management.
|
||||
*/
|
||||
interface AudioDeviceHandlerInterface {
|
||||
/**
|
||||
* Start detecting audio device changes.
|
||||
* @param context Android {@link Context} where detection should take place.
|
||||
* @param audioModeModule Reference to the main {@link AudioModeModule}.
|
||||
*/
|
||||
void start(Context context, AudioModeModule audioModeModule);
|
||||
void start(AudioModeModule audioModeModule);
|
||||
|
||||
/**
|
||||
* Stop audio device detection.
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
/*
|
||||
* Copyright @ 2019-present 8x8, Inc.
|
||||
* Copyright @ 2017-2018 Atlassian Pty Ltd
|
||||
* Copyright @ 2017-present 8x8, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -18,6 +17,7 @@
|
||||
package org.jitsi.meet.sdk;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
|
||||
@@ -31,13 +31,12 @@ import com.facebook.react.devsupport.DevInternalSettings;
|
||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
import com.facebook.soloader.SoLoader;
|
||||
|
||||
import com.oney.WebRTCModule.RTCVideoViewManager;
|
||||
import com.oney.WebRTCModule.WebRTCModule;
|
||||
|
||||
import org.webrtc.SoftwareVideoDecoderFactory;
|
||||
import org.webrtc.SoftwareVideoEncoderFactory;
|
||||
import org.webrtc.VideoDecoderFactory;
|
||||
import org.webrtc.VideoEncoderFactory;
|
||||
import org.webrtc.audio.AudioDeviceModule;
|
||||
import org.webrtc.audio.JavaAudioDeviceModule;
|
||||
|
||||
@@ -84,12 +83,10 @@ class ReactInstanceManagerHolder {
|
||||
|
||||
AudioDeviceModule adm = JavaAudioDeviceModule.builder(reactContext)
|
||||
.createAudioDeviceModule();
|
||||
VideoDecoderFactory videoDecoderFactory = new SoftwareVideoDecoderFactory();
|
||||
VideoEncoderFactory videoEncoderFactory = new SoftwareVideoEncoderFactory();
|
||||
|
||||
options.setAudioDeviceModule(adm);
|
||||
options.setVideoDecoderFactory(videoDecoderFactory);
|
||||
options.setVideoEncoderFactory(videoEncoderFactory);
|
||||
|
||||
options.setVideoDecoderFactory(new SoftwareVideoDecoderFactory());
|
||||
options.setVideoEncoderFactory(new SoftwareVideoEncoderFactory());
|
||||
|
||||
nativeModules.add(new WebRTCModule(reactContext, options));
|
||||
|
||||
|
||||
210
conference.js
@@ -2,6 +2,7 @@
|
||||
|
||||
import { openConnection } from './connection';
|
||||
|
||||
import { ENDPOINT_TEXT_MESSAGE_NAME } from './modules/API/constants';
|
||||
import AuthHandler from './modules/UI/authentication/AuthHandler';
|
||||
import Recorder from './modules/recorder/Recorder';
|
||||
|
||||
@@ -119,6 +120,7 @@ import {
|
||||
import { mediaPermissionPromptVisibilityChanged } from './react/features/overlay';
|
||||
import { suspendDetected } from './react/features/power-monitor';
|
||||
import { setSharedVideoStatus } from './react/features/shared-video';
|
||||
import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
|
||||
import { createPresenterEffect } from './react/features/stream-effects/presenter';
|
||||
import { endpointMessageReceived } from './react/features/subtitles';
|
||||
import { createRnnoiseProcessorPromise } from './react/features/rnnoise';
|
||||
@@ -435,7 +437,6 @@ export default {
|
||||
* the tracks won't exist).
|
||||
*/
|
||||
_localTracksInitialized: false,
|
||||
isModerator: false,
|
||||
isSharingScreen: false,
|
||||
|
||||
/**
|
||||
@@ -659,10 +660,10 @@ export default {
|
||||
startAudioOnly: config.startAudioOnly,
|
||||
startScreenSharing: config.startScreenSharing,
|
||||
startWithAudioMuted: config.startWithAudioMuted
|
||||
|| config.startSilent
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState()),
|
||||
|| config.startSilent
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState()),
|
||||
startWithVideoMuted: config.startWithVideoMuted
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState())
|
||||
|| isUserInteractionRequiredForUnmute(APP.store.getState())
|
||||
}))
|
||||
.then(([ tracks, con ]) => {
|
||||
tracks.forEach(track => {
|
||||
@@ -926,14 +927,6 @@ export default {
|
||||
this.muteVideo(!this.isLocalVideoMuted(), showUI);
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieve list of conference participants (without local user).
|
||||
* @returns {JitsiParticipant[]}
|
||||
*/
|
||||
listMembers() {
|
||||
return room.getParticipants();
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieve list of ids of conference participants (without local user).
|
||||
* @returns {string[]}
|
||||
@@ -953,6 +946,16 @@ export default {
|
||||
return user && user.isModerator();
|
||||
},
|
||||
|
||||
/**
|
||||
* Retrieve list of conference participants (without local user).
|
||||
* @returns {JitsiParticipant[]}
|
||||
*
|
||||
* NOTE: Used by jitsi-meet-torture!
|
||||
*/
|
||||
listMembers() {
|
||||
return room.getParticipants();
|
||||
},
|
||||
|
||||
get membersCount() {
|
||||
return room.getParticipants().length + 1;
|
||||
},
|
||||
@@ -1285,6 +1288,13 @@ export default {
|
||||
options.confID = `${locationURL.host}${locationURL.pathname}`;
|
||||
options.createVADProcessor = createRnnoiseProcessorPromise;
|
||||
|
||||
// Disable CallStats, if requessted.
|
||||
if (options.disableThirdPartyRequests) {
|
||||
delete options.callStatsID;
|
||||
delete options.callStatsSecret;
|
||||
delete options.getWiFiStatsMethod;
|
||||
}
|
||||
|
||||
return options;
|
||||
},
|
||||
|
||||
@@ -1415,7 +1425,7 @@ export default {
|
||||
* in case it fails.
|
||||
* @private
|
||||
*/
|
||||
_turnScreenSharingOff(didHaveVideo) {
|
||||
async _turnScreenSharingOff(didHaveVideo) {
|
||||
this._untoggleScreenSharing = null;
|
||||
this.videoSwitchInProgress = true;
|
||||
const { receiver } = APP.remoteControl;
|
||||
@@ -1425,6 +1435,9 @@ export default {
|
||||
}
|
||||
|
||||
this._stopProxyConnection();
|
||||
if (config.enableScreenshotCapture) {
|
||||
APP.store.dispatch(toggleScreenshotCaptureEffect(false));
|
||||
}
|
||||
|
||||
// It can happen that presenter GUM is in progress while screensharing is being turned off. Here it needs to
|
||||
// wait for that GUM to be resolved in order to prevent leaking the presenter track(this.localPresenterVideo
|
||||
@@ -1441,6 +1454,20 @@ export default {
|
||||
}
|
||||
});
|
||||
|
||||
// If system audio was also shared stop the AudioMixerEffect and dispose of the desktop audio track.
|
||||
if (this._mixerEffect) {
|
||||
await this.localAudio.setEffect(undefined);
|
||||
await this._desktopAudioStream.dispose();
|
||||
this._mixerEffect = undefined;
|
||||
this._desktopAudioStream = undefined;
|
||||
|
||||
// In case there was no local audio when screen sharing was started the fact that we set the audio stream to
|
||||
// null will take care of the desktop audio stream cleanup.
|
||||
} else if (this._desktopAudioStream) {
|
||||
await this.useAudioStream(null);
|
||||
this._desktopAudioStream = undefined;
|
||||
}
|
||||
|
||||
if (didHaveVideo) {
|
||||
promise = promise.then(() => createLocalTracksF({ devices: [ 'video' ] }))
|
||||
.then(([ stream ]) => this.useVideoStream(stream))
|
||||
@@ -1461,8 +1488,6 @@ export default {
|
||||
promise = promise.then(() => this.useVideoStream(null));
|
||||
}
|
||||
|
||||
APP.store.dispatch(toggleScreenshotCaptureEffect(false));
|
||||
|
||||
return promise.then(
|
||||
() => {
|
||||
this.videoSwitchInProgress = false;
|
||||
@@ -1582,26 +1607,31 @@ export default {
|
||||
}
|
||||
});
|
||||
|
||||
return getDesktopStreamPromise.then(([ desktopStream ]) => {
|
||||
return getDesktopStreamPromise.then(desktopStreams => {
|
||||
// Stores the "untoggle" handler which remembers whether was
|
||||
// there any video before and whether was it muted.
|
||||
this._untoggleScreenSharing
|
||||
= this._turnScreenSharingOff.bind(this, didHaveVideo);
|
||||
desktopStream.on(
|
||||
JitsiTrackEvents.LOCAL_TRACK_STOPPED,
|
||||
() => {
|
||||
// If the stream was stopped during screen sharing
|
||||
// session then we should switch back to video.
|
||||
this.isSharingScreen
|
||||
&& this._untoggleScreenSharing
|
||||
&& this._untoggleScreenSharing();
|
||||
}
|
||||
);
|
||||
|
||||
const desktopVideoStream = desktopStreams.find(stream => stream.getType() === MEDIA_TYPE.VIDEO);
|
||||
|
||||
if (desktopVideoStream) {
|
||||
desktopVideoStream.on(
|
||||
JitsiTrackEvents.LOCAL_TRACK_STOPPED,
|
||||
() => {
|
||||
// If the stream was stopped during screen sharing
|
||||
// session then we should switch back to video.
|
||||
this.isSharingScreen
|
||||
&& this._untoggleScreenSharing
|
||||
&& this._untoggleScreenSharing();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// close external installation dialog on success.
|
||||
externalInstallation && $.prompt.close();
|
||||
|
||||
return desktopStream;
|
||||
return desktopStreams;
|
||||
}, error => {
|
||||
DSExternalInstallationInProgress = false;
|
||||
|
||||
@@ -1664,19 +1694,40 @@ export default {
|
||||
return;
|
||||
}
|
||||
|
||||
// Create a new presenter track and apply the presenter effect.
|
||||
if (!this.localPresenterVideo && !mute) {
|
||||
// create a new presenter track and apply the presenter effect.
|
||||
let { height } = this.localVideo.track.getSettings();
|
||||
let { aspectRatio, height } = this.localVideo.track.getSettings();
|
||||
const { width } = this.localVideo.track.getSettings();
|
||||
let desktopResizeConstraints = {};
|
||||
let resizeDesktopStream = false;
|
||||
const DESKTOP_STREAM_CAP = 720;
|
||||
|
||||
// Workaround for Firefox since it doesn't return the correct width/height of the desktop stream
|
||||
// that is being currently shared.
|
||||
if (!height) {
|
||||
const desktopResizeConstraints = {
|
||||
// Determine the constraints if the desktop track needs to be resized.
|
||||
// Resizing is needed when the resolution cannot be determined or when
|
||||
// the window is bigger than 720p.
|
||||
if (height && width) {
|
||||
aspectRatio = aspectRatio ?? (width / height).toPrecision(4);
|
||||
const advancedConstraints = [ { aspectRatio } ];
|
||||
const isPortrait = height >= width;
|
||||
|
||||
// Determine which dimension needs resizing and resize only that side
|
||||
// keeping the aspect ratio same as before.
|
||||
if (isPortrait && width > DESKTOP_STREAM_CAP) {
|
||||
resizeDesktopStream = true;
|
||||
advancedConstraints.push({ width: DESKTOP_STREAM_CAP });
|
||||
} else if (!isPortrait && height > DESKTOP_STREAM_CAP) {
|
||||
resizeDesktopStream = true;
|
||||
advancedConstraints.push({ height: DESKTOP_STREAM_CAP });
|
||||
}
|
||||
desktopResizeConstraints.advanced = advancedConstraints;
|
||||
} else {
|
||||
resizeDesktopStream = true;
|
||||
desktopResizeConstraints = {
|
||||
width: 1280,
|
||||
height: 720,
|
||||
resizeMode: 'crop-and-scale'
|
||||
height: 720
|
||||
};
|
||||
|
||||
}
|
||||
if (resizeDesktopStream) {
|
||||
try {
|
||||
await this.localVideo.track.applyConstraints(desktopResizeConstraints);
|
||||
} catch (err) {
|
||||
@@ -1684,7 +1735,7 @@ export default {
|
||||
|
||||
return;
|
||||
}
|
||||
height = desktopResizeConstraints.height;
|
||||
height = this.localVideo.track.getSettings().height ?? DESKTOP_STREAM_CAP;
|
||||
}
|
||||
const defaultCamera = getUserSelectedCameraDeviceId(APP.store.getState());
|
||||
let effect;
|
||||
@@ -1731,10 +1782,34 @@ export default {
|
||||
this.videoSwitchInProgress = true;
|
||||
|
||||
return this._createDesktopTrack(options)
|
||||
.then(stream => this.useVideoStream(stream))
|
||||
.then(async streams => {
|
||||
const desktopVideoStream = streams.find(stream => stream.getType() === MEDIA_TYPE.VIDEO);
|
||||
|
||||
if (desktopVideoStream) {
|
||||
this.useVideoStream(desktopVideoStream);
|
||||
}
|
||||
|
||||
this._desktopAudioStream = streams.find(stream => stream.getType() === MEDIA_TYPE.AUDIO);
|
||||
|
||||
if (this._desktopAudioStream) {
|
||||
// If there is a localAudio stream, mix in the desktop audio stream captured by the screen sharing
|
||||
// api.
|
||||
if (this.localAudio) {
|
||||
this._mixerEffect = new AudioMixerEffect(this._desktopAudioStream);
|
||||
|
||||
await this.localAudio.setEffect(this._mixerEffect);
|
||||
} else {
|
||||
// If no local stream is present ( i.e. no input audio devices) we use the screen share audio
|
||||
// stream as we would use a regular stream.
|
||||
await this.useAudioStream(this._desktopAudioStream);
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(() => {
|
||||
this.videoSwitchInProgress = false;
|
||||
APP.store.dispatch(toggleScreenshotCaptureEffect(true));
|
||||
if (config.enableScreenshotCapture) {
|
||||
APP.store.dispatch(toggleScreenshotCaptureEffect(true));
|
||||
}
|
||||
sendAnalytics(createScreenSharingEvent('started'));
|
||||
logger.log('Screen sharing started');
|
||||
})
|
||||
@@ -1870,9 +1945,6 @@ export default {
|
||||
|
||||
logger.log(`USER ${id} connnected:`, user);
|
||||
APP.UI.addUser(user);
|
||||
|
||||
// check the roles for the new user and reflect them
|
||||
APP.UI.updateUserRole(user);
|
||||
});
|
||||
|
||||
room.on(JitsiConferenceEvents.USER_LEFT, (id, user) => {
|
||||
@@ -1903,19 +1975,8 @@ export default {
|
||||
logger.info(`My role changed, new role: ${role}`);
|
||||
|
||||
APP.store.dispatch(localParticipantRoleChanged(role));
|
||||
|
||||
if (this.isModerator !== room.isModerator()) {
|
||||
this.isModerator = room.isModerator();
|
||||
APP.UI.updateLocalRole(room.isModerator());
|
||||
}
|
||||
} else {
|
||||
APP.store.dispatch(participantRoleChanged(id, role));
|
||||
|
||||
const user = room.getParticipantById(id);
|
||||
|
||||
if (user) {
|
||||
APP.UI.updateUserRole(user);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2030,7 +2091,22 @@ export default {
|
||||
|
||||
room.on(
|
||||
JitsiConferenceEvents.ENDPOINT_MESSAGE_RECEIVED,
|
||||
(...args) => APP.store.dispatch(endpointMessageReceived(...args)));
|
||||
(...args) => {
|
||||
APP.store.dispatch(endpointMessageReceived(...args));
|
||||
if (args && args.length >= 2) {
|
||||
const [ sender, eventData ] = args;
|
||||
|
||||
if (eventData.name === ENDPOINT_TEXT_MESSAGE_NAME) {
|
||||
APP.API.notifyEndpointTextMessageReceived({
|
||||
senderInfo: {
|
||||
jid: sender._jid,
|
||||
id: sender._id
|
||||
},
|
||||
eventData
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
room.on(
|
||||
JitsiConferenceEvents.LOCK_STATE_CHANGED,
|
||||
@@ -2261,9 +2337,19 @@ export default {
|
||||
|
||||
return stream;
|
||||
})
|
||||
.then(stream => this.useAudioStream(stream))
|
||||
.then(async stream => {
|
||||
// In case screen sharing audio is also shared we mix it with new input stream. The old _mixerEffect
|
||||
// will be cleaned up when the existing track is replaced.
|
||||
if (this._mixerEffect) {
|
||||
this._mixerEffect = new AudioMixerEffect(this._desktopAudioStream);
|
||||
|
||||
await stream.setEffect(this._mixerEffect);
|
||||
}
|
||||
|
||||
return this.useAudioStream(stream);
|
||||
})
|
||||
.then(() => {
|
||||
logger.log('switched local audio device');
|
||||
logger.log(`switched local audio device: ${this.localAudio?.getDeviceId()}`);
|
||||
|
||||
this._updateAudioDeviceId();
|
||||
})
|
||||
@@ -2640,12 +2726,6 @@ export default {
|
||||
// audio devices detected or if the local audio stream already exists.
|
||||
const available = audioDeviceCount > 0 || Boolean(this.localAudio);
|
||||
|
||||
logger.debug(
|
||||
`Microphone button enabled: ${available}`,
|
||||
`local audio: ${this.localAudio}`,
|
||||
`audio devices: ${audioMediaDevices}`,
|
||||
`device count: ${audioDeviceCount}`);
|
||||
|
||||
APP.store.dispatch(setAudioAvailable(available));
|
||||
APP.API.notifyAudioAvailabilityChanged(available);
|
||||
},
|
||||
@@ -2666,12 +2746,6 @@ export default {
|
||||
// config).
|
||||
const available = videoDeviceCount > 0 || Boolean(this.localVideo);
|
||||
|
||||
logger.debug(
|
||||
`Camera button enabled: ${available}`,
|
||||
`local video: ${this.localVideo}`,
|
||||
`video devices: ${videoMediaDevices}`,
|
||||
`device count: ${videoDeviceCount}`);
|
||||
|
||||
APP.store.dispatch(setVideoAvailable(available));
|
||||
APP.API.notifyVideoAvailabilityChanged(available);
|
||||
},
|
||||
|
||||
45
config.js
@@ -75,6 +75,7 @@ var config = {
|
||||
|
||||
// Disable measuring of audio levels.
|
||||
// disableAudioLevels: false,
|
||||
// audioLevelsInterval: 200,
|
||||
|
||||
// Enabling this will run the lib-jitsi-meet no audio detection module which
|
||||
// will notify the user if the current selected microphone has no audio
|
||||
@@ -109,7 +110,7 @@ var config = {
|
||||
|
||||
// w3c spec-compliant video constraints to use for video capture. Currently
|
||||
// used by browsers that return true from lib-jitsi-meet's
|
||||
// util#browser#usesNewGumFlow. The constraints are independency from
|
||||
// util#browser#usesNewGumFlow. The constraints are independent from
|
||||
// this config's resolution value. Defaults to requesting an ideal aspect
|
||||
// ratio of 16:9 with an ideal resolution of 720.
|
||||
// constraints: {
|
||||
@@ -301,16 +302,19 @@ var config = {
|
||||
// estimation tests.
|
||||
// gatherStats: false,
|
||||
|
||||
// The interval at which PeerConnection.getStats() is called. Defaults to 10000
|
||||
// pcStatsInterval: 10000,
|
||||
|
||||
// To enable sending statistics to callstats.io you must provide the
|
||||
// Application ID and Secret.
|
||||
// callStatsID: '',
|
||||
// callStatsSecret: '',
|
||||
|
||||
// enables sending participants display name to callstats
|
||||
// enableDisplayNameInStats: false
|
||||
// enableDisplayNameInStats: false,
|
||||
|
||||
// enables sending participants email if available to callstats and other analytics
|
||||
// enableEmailInStats: false
|
||||
// enableEmailInStats: false,
|
||||
|
||||
// Privacy
|
||||
//
|
||||
@@ -340,9 +344,7 @@ var config = {
|
||||
stunServers: [
|
||||
|
||||
// { urls: 'stun:jitsi-meet.example.com:443' },
|
||||
{ urls: 'stun:stun.l.google.com:19302' },
|
||||
{ urls: 'stun:stun1.l.google.com:19302' },
|
||||
{ urls: 'stun:stun2.l.google.com:19302' }
|
||||
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
|
||||
],
|
||||
|
||||
// Sets the ICE transport policy for the p2p connection. At the time
|
||||
@@ -386,7 +388,7 @@ var config = {
|
||||
// shard: "shard1",
|
||||
// region: "europe",
|
||||
// userRegion: "asia"
|
||||
}
|
||||
},
|
||||
|
||||
// Information for the chrome extension banner
|
||||
// chromeExtensionBanner: {
|
||||
@@ -400,7 +402,7 @@ var config = {
|
||||
// path: 'jitsi-logo-48x48.png'
|
||||
// }
|
||||
// ]
|
||||
// }
|
||||
// },
|
||||
|
||||
// Local Recording
|
||||
//
|
||||
@@ -418,7 +420,7 @@ var config = {
|
||||
// format: 'flac'
|
||||
//
|
||||
|
||||
// }
|
||||
// },
|
||||
|
||||
// Options related to end-to-end (participant to participant) ping.
|
||||
// e2eping: {
|
||||
@@ -430,22 +432,22 @@ var config = {
|
||||
// // with the measured RTT will be sent. Defaults to 60000, set
|
||||
// // to <= 0 to disable.
|
||||
// analyticsInterval: 60000,
|
||||
// }
|
||||
// },
|
||||
|
||||
// If set, will attempt to use the provided video input device label when
|
||||
// triggering a screenshare, instead of proceeding through the normal flow
|
||||
// for obtaining a desktop stream.
|
||||
// NOTE: This option is experimental and is currently intended for internal
|
||||
// use only.
|
||||
// _desktopSharingSourceDevice: 'sample-id-or-label'
|
||||
// _desktopSharingSourceDevice: 'sample-id-or-label',
|
||||
|
||||
// If true, any checks to handoff to another application will be prevented
|
||||
// and instead the app will continue to display in the current browser.
|
||||
// disableDeepLinking: false
|
||||
// disableDeepLinking: false,
|
||||
|
||||
// A property to disable the right click context menu for localVideo
|
||||
// the menu has option to flip the locally seen video for local presentations
|
||||
// disableLocalVideoFlip: false
|
||||
// disableLocalVideoFlip: false,
|
||||
|
||||
// Deployment specific URLs.
|
||||
// deploymentUrls: {
|
||||
@@ -455,7 +457,16 @@ var config = {
|
||||
// // If specified a 'Download our apps' button will be displayed in the overflow menu with a link
|
||||
// // to the specified URL for an app download page.
|
||||
// downloadAppsUrl: 'https://docs.example.com/our-apps.html'
|
||||
// }
|
||||
// },
|
||||
|
||||
// Options related to the remote participant menu.
|
||||
// remoteVideoMenu: {
|
||||
// // If set to true the 'Kick out' button will be disabled.
|
||||
// disableKick: true
|
||||
// },
|
||||
|
||||
// If set to true all muting operations of remote participants will be disabled.
|
||||
// disableRemoteMute: true,
|
||||
|
||||
// List of undocumented settings used in jitsi-meet
|
||||
/**
|
||||
@@ -507,6 +518,12 @@ var config = {
|
||||
startBitrate
|
||||
*/
|
||||
|
||||
|
||||
// Allow all above example options to include a trailing comma and
|
||||
// prevent fear when commenting out the last value.
|
||||
makeJsonParserHappy: 'even if last key had a trailing comma'
|
||||
|
||||
// no configuration value should follow this line.
|
||||
};
|
||||
|
||||
/* eslint-enable no-unused-vars, no-var */
|
||||
|
||||
@@ -15,6 +15,13 @@ import {
|
||||
|
||||
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
||||
|
||||
/**
|
||||
* The feature announced so we can distinguish jibri participants.
|
||||
*
|
||||
* @type {string}
|
||||
*/
|
||||
export const DISCO_JIBRI_FEATURE = 'http://jitsi.org/protocol/jibri';
|
||||
|
||||
/**
|
||||
* Checks if we have data to use attach instead of connect. If we have the data
|
||||
* executes attach otherwise check if we have to wait for the data. If we have
|
||||
@@ -91,6 +98,10 @@ function connect(id, password, roomName) {
|
||||
jwt && issuer && issuer !== 'anonymous' ? jwt : undefined,
|
||||
connectionConfig);
|
||||
|
||||
if (config.iAmRecorder) {
|
||||
connection.addFeature(DISCO_JIBRI_FEATURE);
|
||||
}
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.addEventListener(
|
||||
JitsiConnectionEvents.CONNECTION_ESTABLISHED,
|
||||
|
||||
@@ -181,12 +181,6 @@
|
||||
visibility: hidden;
|
||||
z-index: $zindex2;
|
||||
}
|
||||
|
||||
&.audio-only {
|
||||
.videoThumbnailProblemFilter {
|
||||
filter: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#localVideoWrapper {
|
||||
@@ -573,21 +567,6 @@
|
||||
filter: grayscale(.5) opacity(0.8);
|
||||
}
|
||||
|
||||
.remoteVideoProblemFilter {
|
||||
-webkit-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
.videoProblemFilter {
|
||||
-webkit-filter: blur(10px) grayscale(.5) opacity(0.8);
|
||||
filter: blur(10px) grayscale(.5) opacity(0.8);
|
||||
}
|
||||
|
||||
.videoThumbnailProblemFilter {
|
||||
-webkit-filter: grayscale(100%);
|
||||
filter: grayscale(100%);
|
||||
}
|
||||
|
||||
#remotePresenceMessage,
|
||||
#remoteConnectionMessage {
|
||||
position: absolute;
|
||||
@@ -618,24 +597,6 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
#localConnectionMessage {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
top:50%;
|
||||
z-index: $zindex2;
|
||||
font-weight: 600;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
color: #FFF;
|
||||
opacity: .80;
|
||||
text-shadow: 0px 0px 1px rgba(0,0,0,0.3),
|
||||
0px 1px 1px rgba(0,0,0,0.3),
|
||||
1px 0px 1px rgba(0,0,0,0.3),
|
||||
0px 0px 1px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
.display-avatar-with-name {
|
||||
.avatar-container {
|
||||
visibility: visible;
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
#localConnectionMessage,
|
||||
#remoteConnectionMessage,
|
||||
.watermark {
|
||||
z-index: $filmstripVideosZ + 1;
|
||||
|
||||
@@ -136,6 +136,13 @@
|
||||
display: flex;
|
||||
transition: opacity 1s;
|
||||
}
|
||||
|
||||
.hide-scrollbar#filmstripRemoteVideos {
|
||||
margin-right: 7px; // Scrollbar size
|
||||
&::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
2
debian/compat
vendored
@@ -1 +1 @@
|
||||
8
|
||||
12
|
||||
|
||||
11
debian/control
vendored
@@ -16,8 +16,7 @@ Description: WebRTC JavaScript video conferences
|
||||
Videobridge to provide high quality, scalable video conferences.
|
||||
.
|
||||
It is a web interface to Jitsi Videobridge for audio and video
|
||||
forwarding and relaying, configured to work with jetty instance
|
||||
running embedded into Jitsi Videobridge
|
||||
forwarding and relaying.
|
||||
|
||||
Package: jitsi-meet-web-config
|
||||
Architecture: all
|
||||
@@ -27,9 +26,7 @@ Description: Configuration for web serving of Jitsi Meet
|
||||
Videobridge to provide high quality, scalable video conferences.
|
||||
.
|
||||
It is a web interface to Jitsi Videobridge for audio and video
|
||||
forwarding and relaying, configured to work with jetty instance
|
||||
running embedded into Jitsi Videobridge or using a webserver Nginx or
|
||||
Apache2.
|
||||
forwarding and relaying, using a webserver Nginx or Apache2.
|
||||
.
|
||||
This package contains configuration for Nginx to be used with
|
||||
Jitsi Meet.
|
||||
@@ -43,8 +40,7 @@ Description: Prosody configuration for Jitsi Meet
|
||||
Videobridge to provide high quality, scalable video conferences.
|
||||
.
|
||||
It is a web interface to Jitsi Videobridge for audio and video
|
||||
forwarding and relaying, configured to work with jetty instance
|
||||
running embedded into Jitsi Videobridge
|
||||
forwarding and relaying.
|
||||
.
|
||||
This package contains configuration for Prosody to be used with
|
||||
Jitsi Meet.
|
||||
@@ -56,5 +52,6 @@ Description: Prosody token authentication plugin for Jitsi Meet
|
||||
|
||||
Package: jitsi-meet-turnserver
|
||||
Architecture: all
|
||||
Breaks: apache2
|
||||
Depends: ${misc:Depends}, nginx (>= 1.13.10) | nginx-full (>= 1.13.10) | nginx-extras (>= 1.13.10), jitsi-meet-prosody, coturn, dnsutils
|
||||
Description: Configures coturn to be used with Jitsi Meet
|
||||
|
||||
2
debian/jitsi-meet-prosody.postinst
vendored
@@ -136,7 +136,7 @@ case "$1" in
|
||||
echo -e "\nComponent \"internal.auth.$JVB_HOSTNAME\" \"muc\"" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " storage = \"null\"" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " modules_enabled = { \"ping\"; }" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " admins = { \"focusUser@auth.jitmeet.example.com\", \"jvb@auth.jitmeet.example.com\" }" >> $PROSODY_HOST_CONFIG
|
||||
echo -e " admins = { \"$JICOFO_AUTH_USER@auth.$JVB_HOSTNAME\", \"jvb@auth.$JVB_HOSTNAME\" }" >> $PROSODY_HOST_CONFIG
|
||||
fi
|
||||
|
||||
if [ ! -f /var/lib/prosody/$JVB_HOSTNAME.crt ]; then
|
||||
|
||||
10
debian/jitsi-meet-prosody.postrm
vendored
@@ -36,13 +36,17 @@ case "$1" in
|
||||
rm -f /etc/prosody/conf.avail/$JVB_HOSTNAME.cfg.lua
|
||||
rm -f /etc/prosody/conf.d/$JVB_HOSTNAME.cfg.lua
|
||||
|
||||
JICOFO_AUTH_DOMAIN="auth.$JVB_HOSTNAME"
|
||||
# clean up generated certificates
|
||||
rm -f /etc/prosody/certs/$JVB_HOSTNAME.crt
|
||||
rm -f /etc/prosody/certs/$JVB_HOSTNAME.key
|
||||
rm -f /etc/prosody/certs/auth.$JVB_HOSTNAME.crt
|
||||
rm -f /etc/prosody/certs/auth.$JVB_HOSTNAME.key
|
||||
rm -rf /var/lib/prosody/auth.$JVB_HOSTNAME.*
|
||||
rm -f /etc/prosody/certs/$JICOFO_AUTH_DOMAIN.crt
|
||||
rm -f /etc/prosody/certs/$JICOFO_AUTH_DOMAIN.key
|
||||
rm -rf /var/lib/prosody/$JICOFO_AUTH_DOMAIN.*
|
||||
rm -rf /var/lib/prosody/$JVB_HOSTNAME.*
|
||||
|
||||
# clean created users
|
||||
rm -rf /var/lib/prosody/`echo $JICOFO_AUTH_DOMAIN | sed -e "s/\./%2e/g"`
|
||||
fi
|
||||
|
||||
# Clear the debconf variable
|
||||
|
||||
1
debian/jitsi-meet-turnserver.postinst
vendored
@@ -97,6 +97,7 @@ case "$1" in
|
||||
NGINX_STREAM_CONFIG="/etc/nginx/modules-enabled/60-jitsi-meet.conf"
|
||||
if [ -f $NGINX_STREAM_CONFIG ] && [ -f $NGINX_CONFIG ] ; then
|
||||
sed -i "s/listen 443 ssl/listen 4444 ssl http2/g" $NGINX_CONFIG
|
||||
sed -i "s/listen \[\:\:\]\:443 ssl/listen \[\:\:\]\:4444 ssl http2/g" $NGINX_CONFIG
|
||||
invoke-rc.d nginx reload || true
|
||||
fi
|
||||
|
||||
|
||||
60
debian/jitsi-meet-turnserver.postrm
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
#!/bin/sh
|
||||
# postrm script for jitsi-meet-turnserver
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
# Load debconf
|
||||
. /usr/share/debconf/confmodule
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove)
|
||||
if [ -x "/etc/init.d/nginx" ]; then
|
||||
invoke-rc.d nginx reload || true
|
||||
fi
|
||||
if [ -x "/etc/init.d/apache2" ]; then
|
||||
invoke-rc.d apache2 reload || true
|
||||
fi
|
||||
;;
|
||||
purge)
|
||||
if [ -x "/etc/init.d/nginx" ]; then
|
||||
invoke-rc.d nginx reload || true
|
||||
fi
|
||||
if [ -x "/etc/init.d/apache2" ]; then
|
||||
invoke-rc.d apache2 reload || true
|
||||
fi
|
||||
# Clear the debconf variable
|
||||
db_purge
|
||||
;;
|
||||
upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
db_stop
|
||||
|
||||
exit 0
|
||||
64
debian/jitsi-meet-web-config.postinst
vendored
@@ -68,12 +68,11 @@ case "$1" in
|
||||
FORCE_APACHE="true"
|
||||
fi
|
||||
|
||||
UPLOADED_CERT_CHOICE="I want to use my own certificate"
|
||||
# if first time config ask for certs, or if we are reconfiguring
|
||||
if [ -z "$JVB_HOSTNAME_OLD" ] || [ "$RECONFIGURING" = "true" ] ; then
|
||||
# SSL for nginx
|
||||
db_get jitsi-meet/cert-choice
|
||||
CERT_CHOICE="$RET"
|
||||
UPLOADED_CERT_CHOICE="I want to use my own certificate"
|
||||
|
||||
if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ] ; then
|
||||
db_set jitsi-meet/cert-path-key "/etc/ssl/$JVB_HOSTNAME.key"
|
||||
@@ -104,24 +103,57 @@ case "$1" in
|
||||
if [ ! -f $JITSI_MEET_CONFIG ] ; then
|
||||
cp /usr/share/jitsi-meet-web-config/config.js $JITSI_MEET_CONFIG
|
||||
# replaces needed config for multidomain as it works only with nginx
|
||||
sed -i "s/conference.jitsi-meet.example.com/conference.<\!--# echo var=\"subdomain\" default=\"\" -->jitsi-meet.example.com/g" $JITSI_MEET_CONFIG
|
||||
if [[ "$FORCE_NGINX" = "true" ]] ; then
|
||||
sed -i "s/conference.jitsi-meet.example.com/conference.<\!--# echo var=\"subdomain\" default=\"\" -->jitsi-meet.example.com/g" $JITSI_MEET_CONFIG
|
||||
fi
|
||||
sed -i "s/jitsi-meet.example.com/$JVB_HOSTNAME/g" $JITSI_MEET_CONFIG
|
||||
fi
|
||||
|
||||
# this is new install let's configure jvb to serve meet
|
||||
# no-nginx, no-apache installed on machine, this is new install or reconfiguring old one which have jvb_serve set
|
||||
# getting rid of jetty serving web
|
||||
if [[ "$JVB_SERVE" = "true" ]] ; then
|
||||
echo ""
|
||||
echo "------------------------------------------------"
|
||||
echo "You are using jetty to serve jitsi-meet, it is recommended to uninstall(purge) and use default installation that comes with nginx!"
|
||||
echo ""
|
||||
echo "When using the following command, any custom config will be LOST, please backup /etc/jitsi !!!"
|
||||
echo ""
|
||||
echo "You can purge your installation using the following command:"
|
||||
echo "apt-get purge jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-web jicofo jitsi-videobridge"
|
||||
echo "------------------------------------------------"
|
||||
echo ""
|
||||
elif [[ "$FORCE_NGINX" = "true" && ( -z "$JVB_HOSTNAME_OLD" || "$RECONFIGURING" = "true" ) ]] ; then
|
||||
JVB_CONFIG="/etc/jitsi/videobridge/sip-communicator.properties"
|
||||
|
||||
# we will write to the file if missing create it
|
||||
if [ -f $JVB_CONFIG ] ; then
|
||||
echo ""
|
||||
echo "------------------------------------------------"
|
||||
echo ""
|
||||
echo "You are using jetty to serve jitsi-meet, we are now upgrading you to use nginx!"
|
||||
echo ""
|
||||
echo "If you are using Let’s Encrypt certificates please re-run the script."
|
||||
echo ""
|
||||
echo "------------------------------------------------"
|
||||
echo ""
|
||||
|
||||
sed -i "s/org.jitsi.videobridge.rest.jetty/#org.jitsi.videobridge.rest.jetty/g" $JVB_CONFIG
|
||||
sed -i "s/org.jitsi.videobridge.TCP_HARVESTER_PORT/#org.jitsi.videobridge.TCP_HARVESTER_PORT/g" $JVB_CONFIG
|
||||
|
||||
if [ -d /run/systemd/system ]; then
|
||||
systemctl restart jitsi-videobridge2.service >/dev/null || true
|
||||
fi
|
||||
|
||||
# Removing this value will force nginx or apache to be locally configured
|
||||
JVB_HOSTNAME_OLD=""
|
||||
|
||||
db_get jitsi-meet/cert-choice
|
||||
CERT_CHOICE="$RET"
|
||||
# Fix certs on upgrade from jetty
|
||||
if [ "$CERT_CHOICE" = "$UPLOADED_CERT_CHOICE" ] ; then
|
||||
db_get jitsi-meet/cert-path-key
|
||||
CERT_KEY="$RET"
|
||||
db_get jitsi-meet/cert-path-crt
|
||||
CERT_CRT="$RET"
|
||||
else
|
||||
# create self-signed certs
|
||||
CERT_KEY="/etc/jitsi/meet/$JVB_HOSTNAME.key"
|
||||
CERT_CRT="/etc/jitsi/meet/$JVB_HOSTNAME.crt"
|
||||
fi
|
||||
fi
|
||||
|
||||
db_set jitsi-meet/jvb-serve "false"
|
||||
fi
|
||||
|
||||
if [[ "$FORCE_NGINX" = "true" && ( -z "$JVB_HOSTNAME_OLD" || "$RECONFIGURING" = "true" ) ]] ; then
|
||||
|
||||
# this is a reconfigure, lets just delete old links
|
||||
if [ "$RECONFIGURING" = "true" ] ; then
|
||||
|
||||
1
debian/jitsi-meet-web.install
vendored
@@ -11,4 +11,5 @@ fonts /usr/share/jitsi-meet/
|
||||
images /usr/share/jitsi-meet/
|
||||
lang /usr/share/jitsi-meet/
|
||||
connection_optimization /usr/share/jitsi-meet/
|
||||
resources/robots.txt /usr/share/jitsi-meet/
|
||||
resources/*.sh /usr/share/jitsi-meet/scripts/
|
||||
|
||||
20
doc/api.md
@@ -270,6 +270,11 @@ api.executeCommand('email', 'example@example.com');
|
||||
api.executeCommand('avatarUrl', 'https://avatars0.githubusercontent.com/u/3671647');
|
||||
```
|
||||
|
||||
* **sendEndpointTextMessage** - Sends a text message to another participant through the datachannels.
|
||||
```javascript
|
||||
api.executeCommand('receiverParticipantId', 'text');
|
||||
```
|
||||
|
||||
You can also execute multiple commands using the `executeCommands` method:
|
||||
```javascript
|
||||
api.executeCommands(commands);
|
||||
@@ -323,6 +328,21 @@ changes. The listener will receive an object with the following structure:
|
||||
}
|
||||
```
|
||||
|
||||
* **endpointTextMessageReceived** - event notifications about a text message received through datachannels.
|
||||
The listener will receive an object with the following structure:
|
||||
```javascript
|
||||
{
|
||||
senderInfo: {
|
||||
jid: string, // the jid of the sender
|
||||
id: string // the participant id of the sender
|
||||
},
|
||||
eventData: {
|
||||
name: string // the name of the datachannel event: `endpoint-text-message`
|
||||
text: string // the received text from the sender
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
* **micError** - event notifications about Jitsi-Meet having failed to access the mic. The listener will receive an object with the following structure:
|
||||
```javascript
|
||||
{
|
||||
|
||||
@@ -50,6 +50,8 @@ Component "conference.jitmeet.example.com" "muc"
|
||||
-- "token_verification";
|
||||
}
|
||||
admins = { "focusUser@auth.jitmeet.example.com" }
|
||||
muc_room_locking = false
|
||||
muc_room_default_public_jids = true
|
||||
|
||||
-- internal muc component
|
||||
Component "internal.auth.jitmeet.example.com" "muc"
|
||||
|
||||
@@ -2,6 +2,7 @@ server_names_hash_bucket_size 64;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name jitsi-meet.example.com;
|
||||
|
||||
location ^~ /.well-known/acme-challenge/ {
|
||||
@@ -17,6 +18,7 @@ server {
|
||||
}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
listen [::]:443 ssl;
|
||||
server_name jitsi-meet.example.com;
|
||||
|
||||
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||
|
||||
@@ -4,4 +4,4 @@ A. In general, if the tool ifconfig (or ipconfig) shows the assigned IP address
|
||||
|
||||
**2. Clients could communicate well in room created at meet.jit.si . The same clients still could connect to my self-hosted instance but can neither hear nor see one another. What's wrong?**
|
||||
|
||||
A. Most probably, the server is behind NAT. See this [resolved question](https://community.jitsi.org/t/cannot-see-video-or-hear-audio-on-self-hosted-instance/). You need to follow the steps detailed [here](https://github.com/jitsi/ice4j/blob/master/doc/quick-install.md#Advanced-configuration)
|
||||
A. Most probably, the server is behind NAT. See this [resolved question](https://community.jitsi.org/t/cannot-see-video-or-hear-audio-on-self-hosted-instance/). You need to follow the steps detailed [here](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md#Advanced-configuration)
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
# Server Installation for Jitsi Meet
|
||||
|
||||
|
||||
:warning: **WARNING:** Manual installation is not recommended. We recommend following the [quick-install](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md) document. The current document describes the steps that are needed to install a working deployment, but steps are easy to mess up, and the debian packages are more up-to-date, where this document sometimes is not updated to latest changes.
|
||||
|
||||
|
||||
:warning: **WARNING:** Manual installation is not recommended. We recommend following the [quick-install](https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md) document. The current document describes the steps that are needed to install a working deployment, but steps are easy to mess up, and the debian packages are more up-to-date, where this document is sometimes not updated to reflect latest changes.
|
||||
|
||||
This describes configuring a server `jitsi.example.com` running Debian or a Debian Derivative. You will need to
|
||||
change references to that to match your host, and generate some passwords for
|
||||
@@ -22,7 +19,7 @@ This is how the network looks:
|
||||
443 |
|
||||
+-------+ |
|
||||
| | |
|
||||
| NginX | |
|
||||
| Nginx | |
|
||||
| | |
|
||||
+--+-+--+ |
|
||||
| | |
|
||||
@@ -31,7 +28,7 @@ This is how the network looks:
|
||||
| jitsi-meet +<---+ +--->+ prosody/xmpp | |
|
||||
| |files 5280 | | |
|
||||
+------------+ +--------------+ v
|
||||
5222,5347^ ^5347 4443
|
||||
5222,5347^ ^5347 4443,10000
|
||||
+--------+ | | +-------------+
|
||||
| | | | | |
|
||||
| jicofo +----^ ^----+ videobridge |
|
||||
@@ -112,7 +109,7 @@ Restart prosody XMPP server with the new config
|
||||
prosodyctl restart
|
||||
```
|
||||
|
||||
## Install nginx
|
||||
## Install Nginx
|
||||
```sh
|
||||
apt-get install nginx
|
||||
```
|
||||
@@ -122,12 +119,13 @@ Add a new file `jitsi.example.com` in `/etc/nginx/sites-available` (see also the
|
||||
server_names_hash_bucket_size 64;
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
listen 0.0.0.0:443 ssl http2;
|
||||
listen [::]:443 ssl http2;
|
||||
# tls configuration that is not covered in this guide
|
||||
# we recommend the use of https://certbot.eff.org/
|
||||
server_name jitsi.example.com;
|
||||
# set the root
|
||||
root /srv/jitsi.example.com;
|
||||
root /srv/jitsi-meet;
|
||||
index index.html;
|
||||
location ~ ^/([a-zA-Z0-9=\?]+)$ {
|
||||
rewrite ^/(.*)$ / break;
|
||||
@@ -142,6 +140,12 @@ server {
|
||||
proxy_set_header X-Forwarded-For $remote_addr;
|
||||
proxy_set_header Host $http_host;
|
||||
}
|
||||
# external_api.js must be accessible from the root of the
|
||||
# installation for the electron version of Jitsi Meet to work
|
||||
# https://github.com/jitsi/jitsi-meet-electron
|
||||
location /external_api.js {
|
||||
alias /srv/jitsi-meet/libs/external_api.min.js;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -152,6 +156,7 @@ ln -s ../sites-available/jitsi.example.com jitsi.example.com
|
||||
```
|
||||
|
||||
## Install Jitsi Videobridge
|
||||
Visit https://download.jitsi.org/jitsi-videobridge/linux to determine the current build number, download and unzip it:
|
||||
```sh
|
||||
wget https://download.jitsi.org/jitsi-videobridge/linux/jitsi-videobridge-linux-{arch-buildnum}.zip
|
||||
unzip jitsi-videobridge-linux-{arch-buildnum}.zip
|
||||
@@ -164,9 +169,15 @@ apt-get install openjdk-8-jre
|
||||
|
||||
_NOTE: When installing on older Debian releases keep in mind that you need JRE >= 1.7._
|
||||
|
||||
In the user home that will be starting Jitsi Videobridge create `.sip-communicator` folder and add the file `sip-communicator.properties` with one line in it:
|
||||
```
|
||||
Create `~/.sip-communicator/sip-communicator.properties` in the home folder of the user that will be starting Jitsi Videobridge:
|
||||
```sh
|
||||
mkdir -p ~/.sip-communicator
|
||||
cat > ~/.sip-communicator/sip-communicator.properties << EOF
|
||||
org.jitsi.impl.neomedia.transform.srtp.SRTPCryptoContext.checkReplay=false
|
||||
# The videobridge uses 443 by default with 4443 as a fallback, but since we're already
|
||||
# running nginx on 443 in this example doc, we specify 4443 manually to avoid a race condition
|
||||
org.jitsi.videobridge.TCP_HARVESTER_PORT=4443
|
||||
EOF
|
||||
```
|
||||
|
||||
Start the videobridge with:
|
||||
@@ -191,7 +202,7 @@ Clone source from Github repo:
|
||||
```sh
|
||||
git clone https://github.com/jitsi/jicofo.git
|
||||
```
|
||||
Build distribution package. Replace {os-name} with one of: 'lin', 'lin64', 'macosx', 'win', 'win64'.
|
||||
Build the package.
|
||||
```sh
|
||||
cd jicofo
|
||||
mvn package -DskipTests -Dassembly.skipAssembly=false
|
||||
@@ -199,8 +210,8 @@ mvn package -DskipTests -Dassembly.skipAssembly=false
|
||||
Run jicofo:
|
||||
```sh
|
||||
=======
|
||||
unzip target/jicofo-{os-name}-1.0-SNAPSHOT.zip
|
||||
cd jicofo-{os-name}-1.0-SNAPSHOT'
|
||||
unzip target/jicofo-1.1-SNAPSHOT-archive.zip
|
||||
cd jicofo-1.1-SNAPSHOT-archive'
|
||||
./jicofo.sh --host=localhost --domain=jitsi.example.com --secret=YOURSECRET2 --user_domain=auth.jitsi.example.com --user_name=focus --user_password=YOURSECRET3
|
||||
```
|
||||
|
||||
@@ -209,13 +220,14 @@ Checkout and configure Jitsi Meet:
|
||||
```sh
|
||||
cd /srv
|
||||
git clone https://github.com/jitsi/jitsi-meet.git
|
||||
mv jitsi-meet/ jitsi.example.com
|
||||
cd jitsi.example.com
|
||||
cd jitsi-meet
|
||||
npm install
|
||||
make
|
||||
```
|
||||
|
||||
Edit host names in `/srv/jitsi.example.com/config.js` (see also the example config file):
|
||||
_NOTE: When installing on older distributions keep in mind that you need Node.js >= 10 and npm >= 6._
|
||||
|
||||
Edit host names in `/srv/jitsi-meet/config.js` (see also the example config file):
|
||||
```
|
||||
var config = {
|
||||
hosts: {
|
||||
@@ -231,15 +243,19 @@ var config = {
|
||||
};
|
||||
```
|
||||
|
||||
Restart nginx to get the new configuration:
|
||||
Verify that nginx config is valid and reload nginx:
|
||||
```sh
|
||||
invoke-rc.d nginx restart
|
||||
nginx -t && nginx -s reload
|
||||
```
|
||||
|
||||
## Running behind NAT
|
||||
Jitsi-Videobridge can run behind a NAT, provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP 10000).
|
||||
Jitsi Videobridge can run behind a NAT, provided that both required ports are routed (forwarded) to the machine that it runs on. By default these ports are `TCP/4443` and `UDP/10000`.
|
||||
|
||||
The following extra lines need to be added the file `~/.sip-communicator/sip-communicator.properties` (in the home directory of the user running the videobridge):
|
||||
If you do not route these two ports, Jitsi Meet will only work with video for two people, breaking upon 3 or more people trying to show video.
|
||||
|
||||
`TCP/443` is required for the webserver which can be running on another machine than the Jitsi Videobrige is running on.
|
||||
|
||||
The following extra lines need to be added to the file `~/.sip-communicator/sip-communicator.properties` (in the home directory of the user running the videobridge):
|
||||
```
|
||||
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
|
||||
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
|
||||
@@ -248,6 +264,5 @@ org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
|
||||
# Hold your first conference
|
||||
You are now all set and ready to have your first meet by going to http://jitsi.example.com
|
||||
|
||||
|
||||
## Enabling recording
|
||||
[Jibri](https://github.com/jitsi/jibri)is a set of tools for recording and/or streaming a Jitsi Meet conference.
|
||||
[Jibri](https://github.com/jitsi/jibri) is a set of tools for recording and/or streaming a Jitsi Meet conference.
|
||||
|
||||
@@ -1,68 +1,75 @@
|
||||
# Jitsi Meet quick install
|
||||
|
||||
This document describes the required steps for a quick Jitsi Meet installation on a Debian based GNU/Linux system. Debian 8 (Jessie) or later, and Ubuntu 14.04 or later are supported out-of-the-box.
|
||||
This guide helps you ___host your own Jitsi server___. If you want to have a video conference without setting up any infrastructure, use https://meet.jit.si instead.
|
||||
|
||||
Debian Wheezy and other older systems may require additional things to be done. Specifically for Wheezy, [libc needs to be updated](http://lists.jitsi.org/pipermail/users/2015-September/010064.html).
|
||||
This document describes the required steps for a quick Jitsi Meet installation on a Debian based GNU/Linux system. Debian 9 (Stretch) or later, and Ubuntu 18.04 (Bionic Beaver) or later are supported out-of-the-box.
|
||||
|
||||
Also note that a recent default Ubuntu installation has only the `main` repository enabled, and Jitsi Meet needs packages from `universe`. Check your `/etc/apt/sources.list` file, and if `universe` is not present refer to [Ubuntu's documentation](https://help.ubuntu.com/community/Repositories/Ubuntu) on how to enable it. (Usually it amounts to copying the `main` lines and changing to `universe`.)
|
||||
On Ubuntu systems, Jitsi requires dependencies from Ubuntu's `universe` package repository. To ensure this is enabled, run `apt-add-repository universe` at the command-line.
|
||||
|
||||
N.B.:
|
||||
|
||||
a.) All commands are supposed to be run by root. If you are logged in as a regular user with sudo rights, please prepend ___sudo___ to each of the commands.
|
||||
|
||||
b.) You only need to do this if you want to ___host your own Jitsi server___. If you just want to have a video conference with someone, use https://meet.jit.si instead.
|
||||
_Note_: Many of the installation steps require elevated privileges. If you are logged in using a regular user account, you may need to temporarily increase your permissions (for example, by using `sudo` for individual commands).
|
||||
|
||||
## Basic Jitsi Meet install
|
||||
|
||||
### Add the repository
|
||||
### Set up the Fully Qualified Domain Name (FQDN) (optional)
|
||||
|
||||
If the machine used to host the Jitsi Meet instance has a FQDN (for example `meet.example.org`) already set up in DNS, `/etc/hostname` must contain this FQDN; if this is not the case yet, [change the hostname](https://wiki.debian.org/HowTo/ChangeHostname).
|
||||
|
||||
Then add the same FQDN in the `/etc/hosts` file, associating it with the loopback address:
|
||||
|
||||
127.0.0.1 localhost meet.example.org
|
||||
|
||||
Finally on the same machine test that you can ping the FQDN with: `ping "$(hostname)"`-
|
||||
|
||||
### Add the Jitsi package repository
|
||||
```sh
|
||||
echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
|
||||
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
|
||||
```
|
||||
|
||||
### Update the package lists
|
||||
|
||||
```sh
|
||||
apt-get update
|
||||
```
|
||||
|
||||
(If you get an error:
|
||||
E: The method driver /usr/lib/apt/methods/https could not be found.
|
||||
run:
|
||||
```sh
|
||||
apt-get install apt-transport-https
|
||||
```
|
||||
)
|
||||
|
||||
### Install Jitsi Meet
|
||||
|
||||
Note : Something to consider before installation is how you're planning to serve Jitsi Meet. The installer will check if Nginx or Apache is present (with this order) and configure a virtualhost within the web server it finds to serve Jitsi Meet. If none of the above is found it then configures itself to be served via jetty. So if for example you are planning on deploying Jitsi Meet with a web server, you have to make sure to install the server **before** installing jitsi-meet.
|
||||
_Note_: The installer will check if [Nginx](https://nginx.org/) or [Apache](https://httpd.apache.org/) is present (in that order) and configure a virtualhost within the web server it finds to serve Jitsi Meet. If none of the above is found it then defaults to Nginx.
|
||||
If you are already running Nginx on port 443 on the same machine you better skip the turnserver configuration as it will conflict with your current port 443, so use the command `apt install --no-install-recommends jitsi-meet`.
|
||||
|
||||
```sh
|
||||
# Ensure support is available for apt repositories served via HTTPS
|
||||
apt-get install apt-transport-https
|
||||
|
||||
# Retrieve the latest package versions across all repositories
|
||||
apt-get update
|
||||
|
||||
# Perform jitsi-meet installation
|
||||
apt-get -y install jitsi-meet
|
||||
```
|
||||
|
||||
During the installation, you will be asked to enter the hostname of the Jitsi Meet instance. If you have a FQDN hostname for the instance already set up in DNS, enter it there. If you don't have a resolvable hostname, you can enter the IP address of the machine (if it is static or doesn't change).
|
||||
During the installation, you will be asked to enter the hostname of the Jitsi Meet instance. If you have a [FQDN](https://en.wikipedia.org/wiki/Fully_qualified_domain_name) for the instance already set up in DNS, enter it there. If you don't have a resolvable hostname, you can enter the IP address of the machine (if it is static or doesn't change).
|
||||
|
||||
This hostname (or IP address) will be used for virtualhost configuration inside the Jitsi Meet and also, you and your correspondents will be using it to access the web conferences.
|
||||
|
||||
### Generate a Let's Encrypt certificate
|
||||
### Generate a Let's Encrypt certificate (optional, recommended)
|
||||
|
||||
Simply run the following in your shell
|
||||
In order to have encrypted communications, you need a [TLS certificate](https://en.wikipedia.org/wiki/Transport_Layer_Security). The easiest way is to use [Let's Encrypt](https://letsencrypt.org/).
|
||||
|
||||
_Note_: Jitsi Meet mobile apps *require* a valid certificate signed by a trusted [Certificate Authority](https://en.wikipedia.org/wiki/Certificate_authority) and will not be able to connect to your server if you choose a self-signed certificate.
|
||||
|
||||
Simply run the following in your shell:
|
||||
|
||||
```sh
|
||||
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
|
||||
```
|
||||
|
||||
Note that this script uses the [HTTP-01 challenge type](https://letsencrypt.org/docs/challenge-types/) and thus your instance needs to be accessible from the public internet. If you want to use a different challenge type, don't use this script and instead choose ___I want to use my own certificate___ during jitsi-meet installation.
|
||||
|
||||
#### Advanced configuration
|
||||
If installation is on a machine [behind NAT](https://github.com/jitsi/jitsi-meet/blob/master/doc/faq.md) further configuration of jitsi-videobridge is needed in order for it to be accessible.
|
||||
Provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP 10000).
|
||||
The following extra lines need to be added the file `/etc/jitsi/videobridge/sip-communicator.properties`:
|
||||
If the installation is on a machine [behind NAT](https://github.com/jitsi/jitsi-meet/blob/master/doc/faq.md) jitsi-videobridge should configure itself automatically on boot. If three way call does not work further configuration of jitsi-videobridge is needed in order for it to be accessible from outside.
|
||||
Provided that all required ports are routed (forwarded) to the machine that it runs on. By default these ports are (TCP/443 or TCP/4443 and UDP/10000).
|
||||
The following extra lines need to be added to the file `/etc/jitsi/videobridge/sip-communicator.properties`:
|
||||
```
|
||||
org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
|
||||
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>
|
||||
```
|
||||
See [the documenation of ice4j](https://github.com/jitsi/ice4j/blob/master/doc/configuration.md)
|
||||
And comment the existing `org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES`.
|
||||
See [the documentation of ice4j](https://github.com/jitsi/ice4j/blob/master/doc/configuration.md)
|
||||
for details.
|
||||
|
||||
Default deployments on systems using systemd will have low default values for maximum processes and open files. If the used bridge will expect higher number of participants the default values need to be adjusted (the default values are good for less than 100 participants).
|
||||
@@ -74,20 +81,24 @@ DefaultTasksMax=65000
|
||||
```
|
||||
To load the values and check them look [here](#systemd-details) for details.
|
||||
|
||||
By default, anyone who has access to your jitsi instance will be able to start a conferencee: if your server is open to the world, anyone can have a chat with anyone else. If you want to limit the ability to start a conference to registered users, set up a "secure domain". Follow the instructions at https://github.com/jitsi/jicofo#secure-domain.
|
||||
By default, anyone who has access to your jitsi instance will be able to start a conference: if your server is open to the world, anyone can have a chat with anyone else. If you want to limit the ability to start a conference to registered users, set up a "secure domain". Follow the instructions at https://github.com/jitsi/jicofo#secure-domain.
|
||||
|
||||
### Open a conference
|
||||
### Confirm that your installation is working
|
||||
|
||||
Launch a web browser (Chrome, Chromium or latest Opera) and enter in the URL bar the hostname (or IP address) you used in the previous step.
|
||||
Launch a web browser (Chrome, Chromium or latest Opera) and enter the hostname or IP address from the previous step into the address bar.
|
||||
|
||||
Confirm that you trust the self-signed certificate of the newly installed Jitsi Meet.
|
||||
If you used a self-signed certificate (as opposed to using Let's Encrypt), your web browser will ask you to confirm that you trust the certificate.
|
||||
|
||||
Enjoy!
|
||||
You should see a web page prompting you to create a new meeting. Make sure that you can successfully create a meeting and that other participants are able to join the session.
|
||||
|
||||
If this all worked, then congratulations! You have an operational Jitsi conference service.
|
||||
|
||||
## Adding sip-gateway to Jitsi Meet
|
||||
|
||||
### Install Jigasi
|
||||
|
||||
Jigasi is a server-side application acting as a gateway to Jitsi Meet conferences. It allows regular [SIP](https://en.wikipedia.org/wiki/Session_Initiation_Protocol) clients to join meetings and provides transcription capabilities.
|
||||
|
||||
```sh
|
||||
apt-get -y install jigasi
|
||||
```
|
||||
@@ -109,7 +120,7 @@ Enjoy!
|
||||
## Uninstall
|
||||
|
||||
```sh
|
||||
apt-get purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge
|
||||
apt-get purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2
|
||||
```
|
||||
|
||||
Sometimes the following packages will fail to uninstall properly:
|
||||
@@ -119,13 +130,25 @@ Sometimes the following packages will fail to uninstall properly:
|
||||
|
||||
When this happens, just run the uninstall command a second time and it should be ok.
|
||||
|
||||
The reason for failure is that sometimes, the uninstall script is faster than the process that stops the daemons. The second run of the uninstall command fixes this, as by then the jigasi or jvb daemons are already stopped.
|
||||
The reason for the failure is that sometimes the uninstall script is faster than the process that stops the daemons. The second run of the uninstall command fixes this, as by then the jigasi or jitsi-videobridge daemons are already stopped.
|
||||
|
||||
#### Systemd details
|
||||
To reload the systemd changes on a running system execute `systemctl daemon-reload` and `service jitsi-videobridge restart`.
|
||||
To check the tasks part execute `service jitsi-videobridge status` and you should see `Tasks: XX (limit: 65000)`.
|
||||
To check the files and process part execute ```cat /proc/`cat /var/run/jitsi-videobridge.pid`/limits``` and you should see:
|
||||
To reload the systemd changes on a running system execute `systemctl daemon-reload` and `service jitsi-videobridge2 restart`.
|
||||
To check the tasks part execute `service jitsi-videobridge2 status` and you should see `Tasks: XX (limit: 65000)`.
|
||||
To check the files and process part execute ```cat /proc/`cat /var/run/jitsi-videobridge/jitsi-videobridge.pid`/limits``` and you should see:
|
||||
```
|
||||
Max processes 65000 65000 processes
|
||||
Max open files 65000 65000 files
|
||||
```
|
||||
|
||||
## Debugging problems
|
||||
|
||||
If you run into problems, one thing to try is using a different web browser. Some versions of some browsers are known to have issues with Jitsi Meet. You can also visit https://test.webrtc.org to test your browser's [WebRTC](https://en.wikipedia.org/wiki/WebRTC) support.
|
||||
|
||||
Another place to look is the various log files:
|
||||
|
||||
```
|
||||
/var/log/jitsi/jvb.log
|
||||
/var/log/jitsi/jicofo.log
|
||||
/var/log/prosody/prosody.log
|
||||
```
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
// IE11 and earlier can be identified via their user agent and be
|
||||
// redirected to a page that is known to have no newer js syntax.
|
||||
if (window.navigator.userAgent.match(/(MSIE|Trident)/)) {
|
||||
window.location.href = "static/recommendedBrowsers.html";
|
||||
var roomName = encodeURIComponent(window.location.pathname);
|
||||
window.location.href = "static/recommendedBrowsers.html" + "?room=" + roomName;
|
||||
}
|
||||
|
||||
window.indexLoadedTime = window.performance.now();
|
||||
|
||||
@@ -31,7 +31,7 @@ var interfaceConfig = {
|
||||
APP_NAME: 'Jitsi Meet',
|
||||
NATIVE_APP_NAME: 'Jitsi Meet',
|
||||
PROVIDER_NAME: 'Jitsi',
|
||||
LANG_DETECTION: false, // Allow i18n to detect the system language
|
||||
LANG_DETECTION: true, // Allow i18n to detect the system language
|
||||
INVITATION_POWERED_BY: true,
|
||||
|
||||
/**
|
||||
@@ -51,7 +51,7 @@ var interfaceConfig = {
|
||||
'fodeviceselection', 'hangup', 'profile', 'info', 'chat', 'recording',
|
||||
'livestreaming', 'etherpad', 'sharedvideo', 'settings', 'raisehand',
|
||||
'videoquality', 'filmstrip', 'invite', 'feedback', 'stats', 'shortcuts',
|
||||
'tileview', 'videobackgroundblur', 'download', 'help'
|
||||
'tileview', 'videobackgroundblur', 'download', 'help', 'mute-everyone'
|
||||
],
|
||||
|
||||
SETTINGS_SECTIONS: [ 'devices', 'language', 'moderator', 'profile', 'calendar' ],
|
||||
@@ -74,6 +74,7 @@ var interfaceConfig = {
|
||||
|
||||
// A html text to be shown to guests on the close page, false disables it
|
||||
CLOSE_PAGE_GUEST_HINT: false,
|
||||
SHOW_PROMOTIONAL_CLOSE_PAGE: false,
|
||||
RANDOM_AVATAR_URL_PREFIX: false,
|
||||
RANDOM_AVATAR_URL_SUFFIX: false,
|
||||
FILM_STRIP_MAX_HEIGHT: 120,
|
||||
@@ -127,7 +128,7 @@ var interfaceConfig = {
|
||||
* If indicated some of the error dialogs may point to the support URL for
|
||||
* help.
|
||||
*/
|
||||
SUPPORT_URL: 'https://github.com/jitsi/jitsi-meet/issues/new',
|
||||
SUPPORT_URL: 'https://community.jitsi.org/',
|
||||
|
||||
/**
|
||||
* Whether the connection indicator icon should hide itself based on
|
||||
@@ -191,14 +192,13 @@ var interfaceConfig = {
|
||||
AUTO_PIN_LATEST_SCREEN_SHARE: 'remote-only',
|
||||
|
||||
/**
|
||||
* If we should capture periodic screenshots of the content sharing.
|
||||
* If true, presence status: busy, calling, connected etc. is not displayed.
|
||||
*/
|
||||
ENABLE_SCREENSHOT_CAPTURE: false,
|
||||
|
||||
// If true, presence status: busy, calling, connected etc. is not displayed
|
||||
DISABLE_PRESENCE_STATUS: false,
|
||||
|
||||
// If true, notifications regarding joining/leaving are no longer displayed
|
||||
/**
|
||||
* If true, notifications regarding joining/leaving are no longer displayed.
|
||||
*/
|
||||
DISABLE_JOIN_LEAVE_NOTIFICATIONS: false,
|
||||
|
||||
/**
|
||||
@@ -208,6 +208,11 @@ var interfaceConfig = {
|
||||
*/
|
||||
SHOW_CHROME_EXTENSION_BANNER: false
|
||||
|
||||
/**
|
||||
* When enabled, the kick participant button will not be presented for users without a JWT
|
||||
*/
|
||||
// HIDE_KICK_BUTTON_FOR_GUESTS: false
|
||||
|
||||
/**
|
||||
* How many columns the tile view can expand to. The respected range is
|
||||
* between 1 and 5.
|
||||
|
||||
@@ -5,10 +5,10 @@ require_relative '../node_modules/@react-native-community/cli-platform-ios/nativ
|
||||
target 'jitsi-meet' do
|
||||
project 'app/app.xcodeproj'
|
||||
|
||||
pod 'Crashlytics', '~> 3.12.0'
|
||||
pod 'Fabric', '~> 1.9.0'
|
||||
pod 'Firebase/Core', '~> 5.18.0'
|
||||
pod 'Firebase/DynamicLinks', '~> 5.18.0'
|
||||
pod 'Crashlytics', '~> 3.14.0'
|
||||
pod 'Fabric', '~> 1.10.2'
|
||||
pod 'Firebase/Core', '~> 6.16.0'
|
||||
pod 'Firebase/DynamicLinks', '~> 6.16.0'
|
||||
end
|
||||
|
||||
target 'JitsiMeet' do
|
||||
|
||||
499
ios/Podfile.lock
@@ -11,46 +11,60 @@ PODS:
|
||||
- CocoaLumberjack (3.5.3):
|
||||
- CocoaLumberjack/Core (= 3.5.3)
|
||||
- CocoaLumberjack/Core (3.5.3)
|
||||
- Crashlytics (3.12.0):
|
||||
- Fabric (~> 1.9.0)
|
||||
- Crashlytics (3.14.0):
|
||||
- Fabric (~> 1.10.2)
|
||||
- DoubleConversion (1.1.6)
|
||||
- Fabric (1.9.0)
|
||||
- FBLazyVector (0.61.5)
|
||||
- FBReactNativeSpec (0.61.5):
|
||||
- Fabric (1.10.2)
|
||||
- FBLazyVector (0.61.5-jitsi.1)
|
||||
- FBReactNativeSpec (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTRequired (= 0.61.5)
|
||||
- RCTTypeSafety (= 0.61.5)
|
||||
- React-Core (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5)
|
||||
- Firebase/Core (5.18.0):
|
||||
- RCTRequired (= 0.61.5-jitsi.1)
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.1)
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- Firebase/Core (6.16.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseAnalytics (= 5.7.0)
|
||||
- Firebase/CoreOnly (5.18.0):
|
||||
- FirebaseCore (= 5.3.1)
|
||||
- Firebase/DynamicLinks (5.18.0):
|
||||
- FirebaseAnalytics (= 6.2.2)
|
||||
- Firebase/CoreOnly (6.16.0):
|
||||
- FirebaseCore (= 6.6.1)
|
||||
- Firebase/DynamicLinks (6.16.0):
|
||||
- Firebase/CoreOnly
|
||||
- FirebaseDynamicLinks (= 3.4.1)
|
||||
- FirebaseAnalytics (5.7.0):
|
||||
- FirebaseCore (~> 5.3)
|
||||
- FirebaseInstanceID (~> 3.6)
|
||||
- GoogleAppMeasurement (= 5.7.0)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 5.2)
|
||||
- GoogleUtilities/MethodSwizzler (~> 5.2)
|
||||
- GoogleUtilities/Network (~> 5.2)
|
||||
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
||||
- nanopb (~> 0.3)
|
||||
- FirebaseAnalyticsInterop (1.2.0)
|
||||
- FirebaseCore (5.3.1):
|
||||
- GoogleUtilities/Logger (~> 5.2)
|
||||
- FirebaseDynamicLinks (3.4.1):
|
||||
- FirebaseAnalytics (~> 5.1)
|
||||
- FirebaseAnalyticsInterop (~> 1.0)
|
||||
- FirebaseCore (~> 5.2)
|
||||
- FirebaseInstanceID (3.7.0):
|
||||
- FirebaseCore (~> 5.2)
|
||||
- GoogleUtilities/Environment (~> 5.2)
|
||||
- GoogleUtilities/UserDefaults (~> 5.2)
|
||||
- FirebaseDynamicLinks (~> 4.0.6)
|
||||
- FirebaseAnalytics (6.2.2):
|
||||
- FirebaseCore (~> 6.6)
|
||||
- FirebaseInstanceID (~> 4.3)
|
||||
- GoogleAppMeasurement (= 6.2.2)
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
|
||||
- GoogleUtilities/MethodSwizzler (~> 6.0)
|
||||
- GoogleUtilities/Network (~> 6.0)
|
||||
- "GoogleUtilities/NSData+zlib (~> 6.0)"
|
||||
- nanopb (= 0.3.9011)
|
||||
- FirebaseAnalyticsInterop (1.5.0)
|
||||
- FirebaseCore (6.6.1):
|
||||
- FirebaseCoreDiagnostics (~> 1.2)
|
||||
- FirebaseCoreDiagnosticsInterop (~> 1.2)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GoogleUtilities/Logger (~> 6.5)
|
||||
- FirebaseCoreDiagnostics (1.2.2):
|
||||
- FirebaseCoreDiagnosticsInterop (~> 1.2)
|
||||
- GoogleDataTransportCCTSupport (~> 2.0)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GoogleUtilities/Logger (~> 6.5)
|
||||
- nanopb (~> 0.3.901)
|
||||
- FirebaseCoreDiagnosticsInterop (1.2.0)
|
||||
- FirebaseDynamicLinks (4.0.8):
|
||||
- FirebaseAnalyticsInterop (~> 1.3)
|
||||
- FirebaseCore (~> 6.2)
|
||||
- FirebaseInstallations (1.1.1):
|
||||
- FirebaseCore (~> 6.6)
|
||||
- GoogleUtilities/UserDefaults (~> 6.5)
|
||||
- PromisesObjC (~> 1.2)
|
||||
- FirebaseInstanceID (4.3.2):
|
||||
- FirebaseCore (~> 6.6)
|
||||
- FirebaseInstallations (~> 1.0)
|
||||
- GoogleUtilities/Environment (~> 6.5)
|
||||
- GoogleUtilities/UserDefaults (~> 6.5)
|
||||
- Folly (2018.10.22.00):
|
||||
- boost-for-react-native
|
||||
- DoubleConversion
|
||||
@@ -61,33 +75,37 @@ PODS:
|
||||
- DoubleConversion
|
||||
- glog
|
||||
- glog (0.3.5)
|
||||
- GoogleAppMeasurement (5.7.0):
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 5.2)
|
||||
- GoogleUtilities/MethodSwizzler (~> 5.2)
|
||||
- GoogleUtilities/Network (~> 5.2)
|
||||
- "GoogleUtilities/NSData+zlib (~> 5.2)"
|
||||
- nanopb (~> 0.3)
|
||||
- GoogleAppMeasurement (6.2.2):
|
||||
- GoogleUtilities/AppDelegateSwizzler (~> 6.0)
|
||||
- GoogleUtilities/MethodSwizzler (~> 6.0)
|
||||
- GoogleUtilities/Network (~> 6.0)
|
||||
- "GoogleUtilities/NSData+zlib (~> 6.0)"
|
||||
- nanopb (= 0.3.9011)
|
||||
- GoogleDataTransport (5.1.0)
|
||||
- GoogleDataTransportCCTSupport (2.0.1):
|
||||
- GoogleDataTransport (~> 5.1)
|
||||
- nanopb (~> 0.3.901)
|
||||
- GoogleSignIn (5.0.1):
|
||||
- AppAuth (~> 1.2)
|
||||
- GTMAppAuth (~> 1.0)
|
||||
- GTMSessionFetcher/Core (~> 1.1)
|
||||
- GoogleUtilities/AppDelegateSwizzler (5.4.1):
|
||||
- GoogleUtilities/AppDelegateSwizzler (6.5.2):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Network
|
||||
- GoogleUtilities/Environment (5.4.1)
|
||||
- GoogleUtilities/Logger (5.4.1):
|
||||
- GoogleUtilities/Environment (6.5.2)
|
||||
- GoogleUtilities/Logger (6.5.2):
|
||||
- GoogleUtilities/Environment
|
||||
- GoogleUtilities/MethodSwizzler (5.4.1):
|
||||
- GoogleUtilities/MethodSwizzler (6.5.2):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/Network (5.4.1):
|
||||
- GoogleUtilities/Network (6.5.2):
|
||||
- GoogleUtilities/Logger
|
||||
- "GoogleUtilities/NSData+zlib"
|
||||
- GoogleUtilities/Reachability
|
||||
- "GoogleUtilities/NSData+zlib (5.4.1)"
|
||||
- GoogleUtilities/Reachability (5.4.1):
|
||||
- "GoogleUtilities/NSData+zlib (6.5.2)"
|
||||
- GoogleUtilities/Reachability (6.5.2):
|
||||
- GoogleUtilities/Logger
|
||||
- GoogleUtilities/UserDefaults (5.4.1):
|
||||
- GoogleUtilities/UserDefaults (6.5.2):
|
||||
- GoogleUtilities/Logger
|
||||
- GTMAppAuth (1.0.0):
|
||||
- AppAuth/Core (~> 1.0)
|
||||
@@ -97,175 +115,176 @@ PODS:
|
||||
- GTMSessionFetcher/Core (1.2.2)
|
||||
- GTMSessionFetcher/Full (1.2.2):
|
||||
- GTMSessionFetcher/Core (= 1.2.2)
|
||||
- nanopb (0.3.901):
|
||||
- nanopb/decode (= 0.3.901)
|
||||
- nanopb/encode (= 0.3.901)
|
||||
- nanopb/decode (0.3.901)
|
||||
- nanopb/encode (0.3.901)
|
||||
- nanopb (0.3.9011):
|
||||
- nanopb/decode (= 0.3.9011)
|
||||
- nanopb/encode (= 0.3.9011)
|
||||
- nanopb/decode (0.3.9011)
|
||||
- nanopb/encode (0.3.9011)
|
||||
- ObjectiveDropboxOfficial (3.9.4)
|
||||
- RCTRequired (0.61.5)
|
||||
- RCTTypeSafety (0.61.5):
|
||||
- FBLazyVector (= 0.61.5)
|
||||
- PromisesObjC (1.2.8)
|
||||
- RCTRequired (0.61.5-jitsi.1)
|
||||
- RCTTypeSafety (0.61.5-jitsi.1):
|
||||
- FBLazyVector (= 0.61.5-jitsi.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTRequired (= 0.61.5)
|
||||
- React-Core (= 0.61.5)
|
||||
- React (0.61.5):
|
||||
- React-Core (= 0.61.5)
|
||||
- React-Core/DevSupport (= 0.61.5)
|
||||
- React-Core/RCTWebSocket (= 0.61.5)
|
||||
- React-RCTActionSheet (= 0.61.5)
|
||||
- React-RCTAnimation (= 0.61.5)
|
||||
- React-RCTBlob (= 0.61.5)
|
||||
- React-RCTImage (= 0.61.5)
|
||||
- React-RCTLinking (= 0.61.5)
|
||||
- React-RCTNetwork (= 0.61.5)
|
||||
- React-RCTSettings (= 0.61.5)
|
||||
- React-RCTText (= 0.61.5)
|
||||
- React-RCTVibration (= 0.61.5)
|
||||
- React-Core (0.61.5):
|
||||
- RCTRequired (= 0.61.5-jitsi.1)
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React (0.61.5-jitsi.1):
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-Core/DevSupport (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-RCTActionSheet (= 0.61.5-jitsi.1)
|
||||
- React-RCTAnimation (= 0.61.5-jitsi.1)
|
||||
- React-RCTBlob (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (= 0.61.5-jitsi.1)
|
||||
- React-RCTLinking (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTSettings (= 0.61.5-jitsi.1)
|
||||
- React-RCTText (= 0.61.5-jitsi.1)
|
||||
- React-RCTVibration (= 0.61.5-jitsi.1)
|
||||
- React-Core (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/CoreModulesHeaders (0.61.5):
|
||||
- React-Core/CoreModulesHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/Default (0.61.5):
|
||||
- React-Core/Default (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/DevSupport (0.61.5):
|
||||
- React-Core/DevSupport (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5)
|
||||
- React-Core/RCTWebSocket (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-jsinspector (= 0.61.5)
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- React-jsinspector (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTActionSheetHeaders (0.61.5):
|
||||
- React-Core/RCTActionSheetHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTAnimationHeaders (0.61.5):
|
||||
- React-Core/RCTAnimationHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTBlobHeaders (0.61.5):
|
||||
- React-Core/RCTBlobHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTImageHeaders (0.61.5):
|
||||
- React-Core/RCTImageHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTLinkingHeaders (0.61.5):
|
||||
- React-Core/RCTLinkingHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTNetworkHeaders (0.61.5):
|
||||
- React-Core/RCTNetworkHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTSettingsHeaders (0.61.5):
|
||||
- React-Core/RCTSettingsHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTTextHeaders (0.61.5):
|
||||
- React-Core/RCTTextHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTVibrationHeaders (0.61.5):
|
||||
- React-Core/RCTVibrationHeaders (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-Core/RCTWebSocket (0.61.5):
|
||||
- React-Core/RCTWebSocket (0.61.5-jitsi.1):
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core/Default (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsiexecutor (= 0.61.5)
|
||||
- React-Core/Default (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsiexecutor (= 0.61.5-jitsi.1)
|
||||
- Yoga
|
||||
- React-CoreModules (0.61.5):
|
||||
- FBReactNativeSpec (= 0.61.5)
|
||||
- React-CoreModules (0.61.5-jitsi.1):
|
||||
- FBReactNativeSpec (= 0.61.5-jitsi.1)
|
||||
- Folly (= 2018.10.22.00)
|
||||
- RCTTypeSafety (= 0.61.5)
|
||||
- React-Core/CoreModulesHeaders (= 0.61.5)
|
||||
- React-RCTImage (= 0.61.5)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5)
|
||||
- React-cxxreact (0.61.5):
|
||||
- RCTTypeSafety (= 0.61.5-jitsi.1)
|
||||
- React-Core/CoreModulesHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (0.61.5-jitsi.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsinspector (= 0.61.5)
|
||||
- React-jsi (0.61.5):
|
||||
- React-jsinspector (= 0.61.5-jitsi.1)
|
||||
- React-jsi (0.61.5-jitsi.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsi/Default (= 0.61.5)
|
||||
- React-jsi/Default (0.61.5):
|
||||
- React-jsi/Default (= 0.61.5-jitsi.1)
|
||||
- React-jsi/Default (0.61.5-jitsi.1):
|
||||
- boost-for-react-native (= 1.63.0)
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-jsiexecutor (0.61.5):
|
||||
- React-jsiexecutor (0.61.5-jitsi.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-jsinspector (0.61.5)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-jsinspector (0.61.5-jitsi.1)
|
||||
- react-native-background-timer (2.1.1):
|
||||
- React
|
||||
- react-native-calendar-events (1.7.3):
|
||||
@@ -278,60 +297,60 @@ PODS:
|
||||
- React
|
||||
- react-native-webview (7.4.1):
|
||||
- React
|
||||
- React-RCTActionSheet (0.61.5):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.61.5)
|
||||
- React-RCTAnimation (0.61.5):
|
||||
- React-Core/RCTAnimationHeaders (= 0.61.5)
|
||||
- React-RCTBlob (0.61.5):
|
||||
- React-Core/RCTBlobHeaders (= 0.61.5)
|
||||
- React-Core/RCTWebSocket (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- React-RCTNetwork (= 0.61.5)
|
||||
- React-RCTImage (0.61.5):
|
||||
- React-Core/RCTImageHeaders (= 0.61.5)
|
||||
- React-RCTNetwork (= 0.61.5)
|
||||
- React-RCTLinking (0.61.5):
|
||||
- React-Core/RCTLinkingHeaders (= 0.61.5)
|
||||
- React-RCTNetwork (0.61.5):
|
||||
- React-Core/RCTNetworkHeaders (= 0.61.5)
|
||||
- React-RCTSettings (0.61.5):
|
||||
- React-Core/RCTSettingsHeaders (= 0.61.5)
|
||||
- React-RCTText (0.61.5):
|
||||
- React-Core/RCTTextHeaders (= 0.61.5)
|
||||
- React-RCTVibration (0.61.5):
|
||||
- React-Core/RCTVibrationHeaders (= 0.61.5)
|
||||
- ReactCommon/jscallinvoker (0.61.5):
|
||||
- React-RCTActionSheet (0.61.5-jitsi.1):
|
||||
- React-Core/RCTActionSheetHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTAnimation (0.61.5-jitsi.1):
|
||||
- React-Core/RCTAnimationHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTBlob (0.61.5-jitsi.1):
|
||||
- React-Core/RCTBlobHeaders (= 0.61.5-jitsi.1)
|
||||
- React-Core/RCTWebSocket (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTImage (0.61.5-jitsi.1):
|
||||
- React-Core/RCTImageHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (= 0.61.5-jitsi.1)
|
||||
- React-RCTLinking (0.61.5-jitsi.1):
|
||||
- React-Core/RCTLinkingHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTNetwork (0.61.5-jitsi.1):
|
||||
- React-Core/RCTNetworkHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTSettings (0.61.5-jitsi.1):
|
||||
- React-Core/RCTSettingsHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTText (0.61.5-jitsi.1):
|
||||
- React-Core/RCTTextHeaders (= 0.61.5-jitsi.1)
|
||||
- React-RCTVibration (0.61.5-jitsi.1):
|
||||
- React-Core/RCTVibrationHeaders (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (0.61.5-jitsi.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- ReactCommon/turbomodule (0.61.5):
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule (0.61.5-jitsi.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5)
|
||||
- ReactCommon/turbomodule/samples (= 0.61.5)
|
||||
- ReactCommon/turbomodule/core (0.61.5):
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/samples (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (0.61.5-jitsi.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5)
|
||||
- ReactCommon/turbomodule/samples (0.61.5):
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/samples (0.61.5-jitsi.1):
|
||||
- DoubleConversion
|
||||
- Folly (= 2018.10.22.00)
|
||||
- glog
|
||||
- React-Core (= 0.61.5)
|
||||
- React-cxxreact (= 0.61.5)
|
||||
- React-jsi (= 0.61.5)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5)
|
||||
- React-Core (= 0.61.5-jitsi.1)
|
||||
- React-cxxreact (= 0.61.5-jitsi.1)
|
||||
- React-jsi (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/jscallinvoker (= 0.61.5-jitsi.1)
|
||||
- ReactCommon/turbomodule/core (= 0.61.5-jitsi.1)
|
||||
- RNCAsyncStorage (1.3.4):
|
||||
- React
|
||||
- RNGoogleSignin (3.0.1):
|
||||
@@ -352,13 +371,13 @@ DEPENDENCIES:
|
||||
- Amplitude-iOS (~> 4.0.4)
|
||||
- BVLinearGradient (from `../node_modules/react-native-linear-gradient`)
|
||||
- CocoaLumberjack (~> 3.5.3)
|
||||
- Crashlytics (~> 3.12.0)
|
||||
- Crashlytics (~> 3.14.0)
|
||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||
- Fabric (~> 1.9.0)
|
||||
- Fabric (~> 1.10.2)
|
||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector/`)
|
||||
- FBReactNativeSpec (from `../node_modules/react-native/Libraries/FBReactNativeSpec/`)
|
||||
- Firebase/Core (~> 5.18.0)
|
||||
- Firebase/DynamicLinks (~> 5.18.0)
|
||||
- Firebase/Core (~> 6.16.0)
|
||||
- Firebase/DynamicLinks (~> 6.16.0)
|
||||
- Folly (from `../node_modules/react-native/third-party-podspecs/Folly.podspec`)
|
||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||
- ObjectiveDropboxOfficial (~> 3.9.4)
|
||||
@@ -401,23 +420,29 @@ SPEC REPOS:
|
||||
- Amplitude-iOS
|
||||
- boost-for-react-native
|
||||
- CocoaLumberjack
|
||||
- ObjectiveDropboxOfficial
|
||||
trunk:
|
||||
- AppAuth
|
||||
- Crashlytics
|
||||
- Fabric
|
||||
- Firebase
|
||||
- FirebaseAnalytics
|
||||
- FirebaseAnalyticsInterop
|
||||
- FirebaseCore
|
||||
- FirebaseCoreDiagnostics
|
||||
- FirebaseCoreDiagnosticsInterop
|
||||
- FirebaseDynamicLinks
|
||||
- FirebaseInstallations
|
||||
- FirebaseInstanceID
|
||||
- GoogleAppMeasurement
|
||||
- GoogleUtilities
|
||||
- nanopb
|
||||
- ObjectiveDropboxOfficial
|
||||
trunk:
|
||||
- AppAuth
|
||||
- GoogleDataTransport
|
||||
- GoogleDataTransportCCTSupport
|
||||
- GoogleSignIn
|
||||
- GoogleUtilities
|
||||
- GTMAppAuth
|
||||
- GTMSessionFetcher
|
||||
- nanopb
|
||||
- PromisesObjC
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
BVLinearGradient:
|
||||
@@ -501,58 +526,64 @@ SPEC CHECKSUMS:
|
||||
boost-for-react-native: 39c7adb57c4e60d6c5479dd8623128eb5b3f0f2c
|
||||
BVLinearGradient: e3aad03778a456d77928f594a649e96995f1c872
|
||||
CocoaLumberjack: 2f44e60eb91c176d471fdba43b9e3eae6a721947
|
||||
Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933
|
||||
Crashlytics: 540b7e5f5da5a042647227a5e3ac51d85eed06df
|
||||
DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2
|
||||
Fabric: f988e33c97f08930a413e08123064d2e5f68d655
|
||||
FBLazyVector: aaeaf388755e4f29cd74acbc9e3b8da6d807c37f
|
||||
FBReactNativeSpec: 118d0d177724c2d67f08a59136eb29ef5943ec75
|
||||
Firebase: 02f3281965c075426141a0ce1277e9de6649cab9
|
||||
FirebaseAnalytics: 23851fe602c872130a2c5c55040b302120346cc2
|
||||
FirebaseAnalyticsInterop: efbe45c8385ec626e29f9525e5ebd38520dfb6c1
|
||||
FirebaseCore: 52f851b30e11360f1e67cf04b1edfebf0a47a2d3
|
||||
FirebaseDynamicLinks: f209c3caccd82102caa0e91d393e3ccc593501fd
|
||||
FirebaseInstanceID: bd6fc5a258884e206fd5c474ebe4f5b00e21770e
|
||||
Fabric: 706c8b8098fff96c33c0db69cbf81f9c551d0d74
|
||||
FBLazyVector: 4a5251159a3ed05dc11cc8b74cf937869935814b
|
||||
FBReactNativeSpec: 6fa602a20993212cc9877a81838578ffb0008bc9
|
||||
Firebase: 497158b816d0a86fc31babbd05546fcd7e6083ff
|
||||
FirebaseAnalytics: cf95d3aab897612783020fbd98401d5366f135ee
|
||||
FirebaseAnalyticsInterop: 3f86269c38ae41f47afeb43ebf32a001f58fcdae
|
||||
FirebaseCore: 85064903ed6c28e47fec9c7bd149d94ba1b6b6e7
|
||||
FirebaseCoreDiagnostics: e9b4cd8ba60dee0f2d13347332e4b7898cca5b61
|
||||
FirebaseCoreDiagnosticsInterop: 296e2c5f5314500a850ad0b83e9e7c10b011a850
|
||||
FirebaseDynamicLinks: 417dc6dbb6013233c77558290d73296f429656a6
|
||||
FirebaseInstallations: acb3216eb9784d3b1d2d2d635ff74fa892cc0c44
|
||||
FirebaseInstanceID: 7ee0d6777013bb952f377b41965bf132b6a075be
|
||||
Folly: 30e7936e1c45c08d884aa59369ed951a8e68cf51
|
||||
glog: 1f3da668190260b06b429bb211bfbee5cd790c28
|
||||
GoogleAppMeasurement: 6cf307834da065863f9faf4c0de0a936d81dd832
|
||||
GoogleAppMeasurement: d0560d915abf15e692e8538ba1d58442217b6aff
|
||||
GoogleDataTransport: b29a21d813e906014ca16c00897827e40e4a24ab
|
||||
GoogleDataTransportCCTSupport: 6f15a89b0ca35d6fa523e1f752ef818588885988
|
||||
GoogleSignIn: 3a51b9bb8e48b635fd7f4272cee06ca260345b86
|
||||
GoogleUtilities: 1e25823cbf46540b4284f6ef8e17b3a68ee12bbc
|
||||
GoogleUtilities: ad0f3b691c67909d03a3327cc205222ab8f42e0e
|
||||
GTMAppAuth: 4deac854479704f348309e7b66189e604cf5e01e
|
||||
GTMSessionFetcher: 61bb0f61a4cb560030f1222021178008a5727a23
|
||||
nanopb: 2901f78ea1b7b4015c860c2fdd1ea2fee1a18d48
|
||||
nanopb: 18003b5e52dab79db540fe93fe9579f399bd1ccd
|
||||
ObjectiveDropboxOfficial: a5afefc83f6467c42c45f2253f583f2ad1ffc701
|
||||
RCTRequired: b153add4da6e7dbc44aebf93f3cf4fcae392ddf1
|
||||
RCTTypeSafety: 9aa1b91d7f9310fc6eadc3cf95126ffe818af320
|
||||
React: b6a59ef847b2b40bb6e0180a97d0ca716969ac78
|
||||
React-Core: 688b451f7d616cc1134ac95295b593d1b5158a04
|
||||
React-CoreModules: d04f8494c1a328b69ec11db9d1137d667f916dcb
|
||||
React-cxxreact: d0f7bcafa196ae410e5300736b424455e7fb7ba7
|
||||
React-jsi: cb2cd74d7ccf4cffb071a46833613edc79cdf8f7
|
||||
React-jsiexecutor: d5525f9ed5f782fdbacb64b9b01a43a9323d2386
|
||||
React-jsinspector: fa0ecc501688c3c4c34f28834a76302233e29dc0
|
||||
PromisesObjC: c119f3cd559f50b7ae681fa59dc1acd19173b7e6
|
||||
RCTRequired: f63dd90a89a60602acdd44c42e5d2645ca60ab79
|
||||
RCTTypeSafety: 24a3c6d55684046ed550b1d0ef083a9bf71c8bd4
|
||||
React: 71c5a51135f291c3b32c0b558e167b858ae50e84
|
||||
React-Core: e82c03ff91062abf963f35bf99a357154e570285
|
||||
React-CoreModules: e236aeecd18cec37743c8c50562431db5302f668
|
||||
React-cxxreact: 526ec106aa1bf2b3f6aab2a7d528d1d23d5f59c2
|
||||
React-jsi: 4f35c1a2273d193a80c1c3831c808413840c260c
|
||||
React-jsiexecutor: de1c37cf59ae9adcbf2be82eea0e090dc3f3205e
|
||||
React-jsinspector: b76c4e84a7833bb4c90549d59ed53ec299ff912b
|
||||
react-native-background-timer: 0d34748e53a972507c66963490c775321a88f6f2
|
||||
react-native-calendar-events: 2fe35a9294af05de0ed819d3a1b5dac048d2c010
|
||||
react-native-keep-awake: eba3137546b10003361b37c761f6c429b59814ae
|
||||
react-native-netinfo: 8d8db463bcc5db66a8ac5c48a7d86beb3b92f61a
|
||||
react-native-webrtc: 86d841823e66d68cc1f86712db1c2956056bf0c2
|
||||
react-native-webview: 4dbc1d2a4a6b9c5e9e723c62651917aa2b5e579e
|
||||
React-RCTActionSheet: 600b4d10e3aea0913b5a92256d2719c0cdd26d76
|
||||
React-RCTAnimation: 791a87558389c80908ed06cc5dfc5e7920dfa360
|
||||
React-RCTBlob: d89293cc0236d9cb0933d85e430b0bbe81ad1d72
|
||||
React-RCTImage: 6b8e8df449eb7c814c99a92d6b52de6fe39dea4e
|
||||
React-RCTLinking: 121bb231c7503cf9094f4d8461b96a130fabf4a5
|
||||
React-RCTNetwork: fb353640aafcee84ca8b78957297bd395f065c9a
|
||||
React-RCTSettings: 8db258ea2a5efee381fcf7a6d5044e2f8b68b640
|
||||
React-RCTText: 9ccc88273e9a3aacff5094d2175a605efa854dbe
|
||||
React-RCTVibration: a49a1f42bf8f5acf1c3e297097517c6b3af377ad
|
||||
ReactCommon: 198c7c8d3591f975e5431bec1b0b3b581aa1c5dd
|
||||
React-RCTActionSheet: b72ddbfbe15b44ce691d128e4b582f4bb9abb540
|
||||
React-RCTAnimation: cfaefba5024499d336b76ab850e6bd33b232b5e3
|
||||
React-RCTBlob: c427e643bef82999deeab97489ba43298ecfbe24
|
||||
React-RCTImage: 79934bc96f3349da6a75b1d61cad594a932e4097
|
||||
React-RCTLinking: 12b153399567c30efac0b32bb00f9c064587dc26
|
||||
React-RCTNetwork: 603ad75778a54521b7797fd07c67dff562317526
|
||||
React-RCTSettings: 8d45fcf14513582539ea1ddea69391207de7f046
|
||||
React-RCTText: b4c29897c3df0c9f112e29aa3167fa6caf40b690
|
||||
React-RCTVibration: a1bcfcdc0b5a73a1b0829a34cee22bd0e95bacba
|
||||
ReactCommon: 675681aba4fecff5acbc0e440530cc422103c610
|
||||
RNCAsyncStorage: 8e31405a9f12fbf42c2bb330e4560bfd79c18323
|
||||
RNGoogleSignin: 39336070b35fc4cea6a98cf111e00480317be0ae
|
||||
RNSound: c980916b596cc15c8dcd2f6ecd3b13c4881dbe20
|
||||
RNSVG: aac12785382e8fd4f28d072fe640612e34914631
|
||||
RNWatch: 09738b339eceb66e4d80a2371633ca5fb380fa42
|
||||
Yoga: f2a7cd4280bfe2cca5a7aed98ba0eb3d1310f18b
|
||||
Yoga: 7b4209fda2441f99d54dd6cf4c82b094409bb68f
|
||||
|
||||
PODFILE CHECKSUM: 0fdfa45ae809c9460c80be3e0d4bbb822fccc418
|
||||
PODFILE CHECKSUM: f615794fb9184757b00cd16e534824ba6ee2fc98
|
||||
|
||||
COCOAPODS: 1.8.4
|
||||
|
||||
@@ -293,7 +293,7 @@
|
||||
B35383AD1DDA0083008F406A /* Adjust embedded framework architectures */,
|
||||
0BB7DA181EC9E695007AAE98 /* Adjust ATS */,
|
||||
DEF4813D224925A2002AD03A /* Copy Google Plist file */,
|
||||
DEC2069321CBBD6900072F03 /* Setup Fabric */,
|
||||
DEC2069321CBBD6900072F03 /* Setup Crashlytics */,
|
||||
DE11877A21EE09640078D059 /* Setup Google reverse URL handler */,
|
||||
DE4F6D6E22005C0400DE699E /* Setup Dropbox */,
|
||||
0BEA5C491F7B8F73000D0AB4 /* Embed Watch Content */,
|
||||
@@ -492,7 +492,7 @@
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "INFO_PLIST=\"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH\"\nDROPBOX_KEY_FILE=\"$PROJECT_DIR/dropbox.key\"\n\nif [[ -f $DROPBOX_KEY_FILE ]]; then\n /usr/libexec/PlistBuddy -c \"Delete :LSApplicationQueriesSchemes\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes array\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes:0 string 'dbapi-2'\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :LSApplicationQueriesSchemes:1 string 'dbapi-8-emm'\" $INFO_PLIST\n\n DROPBOX_KEY=$(head -n 1 $DROPBOX_KEY_FILE)\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLName string dropbox\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLSchemes array\" $INFO_PLIST\n /usr/libexec/PlistBuddy -c \"Add :CFBundleURLTypes:2:CFBundleURLSchemes:0 string $DROPBOX_KEY\" $INFO_PLIST\nfi\n";
|
||||
};
|
||||
DEC2069321CBBD6900072F03 /* Setup Fabric */ = {
|
||||
DEC2069321CBBD6900072F03 /* Setup Crashlytics */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -501,14 +501,14 @@
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Setup Fabric";
|
||||
name = "Setup Crashlytics";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "${PODS_ROOT}/Fabric/run\n";
|
||||
shellScript = "GOOGLE_PLIST=\"$PROJECT_DIR/GoogleService-Info.plist\"\n\nif [[ -f $GOOGLE_PLIST ]]; then\n if [ \"${CONFIGURATION}\" != \"Debug\" ]; then\n find \"${DWARF_DSYM_FOLDER_PATH}\" -name \"*.dSYM\" | xargs -I \\{\\} ${PODS_ROOT}/Fabric/upload-symbols -gsp $GOOGLE_PLIST -p ios \\{\\}\n fi\nfi\n";
|
||||
};
|
||||
DEF4813D224925A2002AD03A /* Copy Google Plist file */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.0.0</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.0.0</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>XPC!</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>20.0.0</string>
|
||||
<string>20.2.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1</string>
|
||||
<key>CLKComplicationPrincipalClass</key>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>2.6.0</string>
|
||||
<string>2.8.0</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(CURRENT_PROJECT_VERSION)</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
"bg": "Búlgar",
|
||||
"ca": "Català",
|
||||
"cs": "Txec",
|
||||
"da": "Danès",
|
||||
"de": "Alemany",
|
||||
"el": "Grec",
|
||||
"enGB": "Anglès (Regne Unit)",
|
||||
@@ -12,9 +13,9 @@
|
||||
"esUS": "Espanyol (Amèrica llatina)",
|
||||
"fi": "Finès",
|
||||
"fr": "Francès",
|
||||
"frCA": "Francès (Canadenc)",
|
||||
"frCA": "Francès (Canadà)",
|
||||
"hr": "Croat",
|
||||
"hu": "",
|
||||
"hu": "Hongarès",
|
||||
"hy": "Armeni",
|
||||
"it": "Italià",
|
||||
"ja": "Japonès",
|
||||
@@ -28,5 +29,5 @@
|
||||
"tr": "Turc",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Xinès (Xina)",
|
||||
"zhTW": "Coreà"
|
||||
}
|
||||
"zhTW": "Xinès (Taiwan)"
|
||||
}
|
||||
|
||||
33
lang/languages-da.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"en": "Engelsk",
|
||||
"af": "Sydafrikansk",
|
||||
"bg": "Bulgarsk",
|
||||
"ca": "Katalansk",
|
||||
"cs": "Tjekkisk",
|
||||
"da": "Dansk",
|
||||
"de": "Tysk",
|
||||
"el": "Græsk",
|
||||
"enGB": "Engelsk (Storbritannien)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spansk",
|
||||
"esUS": "Spansk (Latin Amerika)",
|
||||
"fi": "Finsk",
|
||||
"fr": "Fransk",
|
||||
"frCA": "Fransk (Canada)",
|
||||
"hr": "Kroatisk",
|
||||
"hu": "Ungarsk",
|
||||
"hy": "Armensk",
|
||||
"it": "Italiensk",
|
||||
"ja": "Japansk",
|
||||
"ko": "Koreansk",
|
||||
"nl": "Hollandsk",
|
||||
"oc": "Occitansk",
|
||||
"pl": "Polsk",
|
||||
"ptBR": "Portugisisk (Brazilien)",
|
||||
"ru": "Russisk",
|
||||
"sv": "Svensk",
|
||||
"tr": "Tyrkisk",
|
||||
"vi": "Vietnamesisk",
|
||||
"zhCN": "Kinesisk (China)",
|
||||
"zhTW": "Kinesisk (Taiwan)"
|
||||
}
|
||||
@@ -1,18 +1,18 @@
|
||||
{
|
||||
"en": "Englisch",
|
||||
"af": "",
|
||||
"az": "",
|
||||
"af": "Afrikaans",
|
||||
"az": "Aserbaidschanisch",
|
||||
"bg": "Bulgarisch",
|
||||
"cs": "",
|
||||
"cs": "Tschechisch",
|
||||
"de": "Deutsch",
|
||||
"el": "",
|
||||
"el": "Griechisch",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spanisch",
|
||||
"fr": "Französisch",
|
||||
"hy": "Armenisch",
|
||||
"it": "Italienisch",
|
||||
"ja": "",
|
||||
"ko": "",
|
||||
"ja": "Japanisch",
|
||||
"ko": "Koreanisch",
|
||||
"nb": "Norwegisch (Bokmal)",
|
||||
"oc": "Okzitanisch",
|
||||
"pl": "Polnisch",
|
||||
@@ -22,6 +22,6 @@
|
||||
"sl": "Slowenisch",
|
||||
"sv": "Schwedisch",
|
||||
"tr": "Türkisch",
|
||||
"vi": "",
|
||||
"vi": "Vietnamesisch",
|
||||
"zhCN": "Chinesisch (China)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"af": "Africano",
|
||||
"bg": "Búlgaro",
|
||||
"ca": "Catalán",
|
||||
"cs": "Czech",
|
||||
"cs": "Checo",
|
||||
"de": "Alemán",
|
||||
"el": "Griego",
|
||||
"enGB": "Inglés (Reino Unido)",
|
||||
@@ -14,7 +14,7 @@
|
||||
"fr": "Francés",
|
||||
"frCA": "Franco (Canadiense)",
|
||||
"hr": "Croata",
|
||||
"hu": "",
|
||||
"hu": "Húngaro",
|
||||
"hy": "Armenio",
|
||||
"it": "Italiano",
|
||||
"ja": "Jopones",
|
||||
@@ -28,5 +28,5 @@
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chino (China)",
|
||||
"zhTW": "Chino (Taiwán)\"msgstr \""
|
||||
"zhTW": "Chino (Taiwan)"
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"en": "English",
|
||||
"af": "Afrikaans",
|
||||
"en": "Inglés",
|
||||
"af": "Africano",
|
||||
"bg": "Búlgaro",
|
||||
"ca": "Catalán",
|
||||
"cs": "Checoslovaco",
|
||||
"cs": "Checo",
|
||||
"de": "Alemán",
|
||||
"el": "Griego",
|
||||
"enGB": "Inglés",
|
||||
@@ -19,14 +19,14 @@
|
||||
"it": "Italiano",
|
||||
"ja": "Japonés",
|
||||
"ko": "Coreano",
|
||||
"nl": "Neerlandés",
|
||||
"nl": "Holandés",
|
||||
"oc": "Occitano",
|
||||
"pl": "Polonés",
|
||||
"pl": "Polaco",
|
||||
"ptBR": "Portugués (Brasil)",
|
||||
"ru": "Ruso",
|
||||
"sv": "Sueco",
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chino (China)",
|
||||
"zhTW": "Chino (Taiwan)\"msgstr \""
|
||||
"zhTW": "Chino (Taiwan)"
|
||||
}
|
||||
33
lang/languages-et.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"en": "Inglise keel",
|
||||
"af": "Afrikaani keel",
|
||||
"bg": "Bulgaaria keel",
|
||||
"ca": "Katalaani keel",
|
||||
"cs": "Tšehhi keel",
|
||||
"de": "Saksa keel",
|
||||
"el": "Kreeka keel",
|
||||
"enGB": "Inglise keel (Ühendkuningriik)",
|
||||
"eo": "Esperanto keel",
|
||||
"es": "Hispaania keel",
|
||||
"esUS": "Hispaania keel (Ladina-Ameerika)",
|
||||
"et": "Eesti keel",
|
||||
"fi": "Soome keel",
|
||||
"fr": "Prantsuse keel",
|
||||
"frCA": "Prantsuse keel (Kanada)",
|
||||
"hr": "Horvaadi keel",
|
||||
"hu": "Ungari keel",
|
||||
"hy": "Armeenia keel",
|
||||
"it": "Itaalia keel",
|
||||
"ja": "Jaapani keel",
|
||||
"ko": "Korea keel",
|
||||
"nl": "Hollandi keel",
|
||||
"oc": "Oksitaani keel",
|
||||
"pl": "Poola keel",
|
||||
"ptBR": "Portigali keel (Brasiilia)",
|
||||
"ru": "Vene keel",
|
||||
"sv": "Roosi keel",
|
||||
"tr": "Türgi keel",
|
||||
"vi": "Vietnami keel",
|
||||
"zhCN": "Hiina keel (Hiina)",
|
||||
"zhTW": "Hiina keel (Tai)"
|
||||
}
|
||||
32
lang/languages-gl.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"en": "Inglés",
|
||||
"af": "Afrikans",
|
||||
"bg": "Búlgaro",
|
||||
"ca": "Catalán",
|
||||
"cs": "Checo",
|
||||
"de": "Alemán",
|
||||
"el": "Grego",
|
||||
"enGB": "Inglés (RU)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Castelán",
|
||||
"esUS": "Español (Hispanoamérica)",
|
||||
"fi": "Finés",
|
||||
"fr": "Francés",
|
||||
"frCA": "Francés (Canadá)",
|
||||
"hr": "Croata",
|
||||
"hu": "Húngaro",
|
||||
"hy": "Armenio",
|
||||
"it": "Italiano",
|
||||
"ja": "Xaponés",
|
||||
"ko": "Coreano",
|
||||
"nl": "Neerlandés",
|
||||
"oc": "Occitano",
|
||||
"pl": "Polaco",
|
||||
"ptBR": "Portugués (Brasil)",
|
||||
"ru": "Ruso",
|
||||
"sv": "Sueco",
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chinés (China)",
|
||||
"zhTW": "Chinés (Taiwan)"
|
||||
}
|
||||
@@ -28,5 +28,5 @@
|
||||
"tr": "Török",
|
||||
"vi": "Vietnámi",
|
||||
"zhCN": "Kínai (Kína)",
|
||||
"zhTW": "Kínai (Tajvan)\"msgstr \""
|
||||
"zhTW": "Kínai (Tajvan)"
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"en": "Inglese",
|
||||
"af": "",
|
||||
"af": "Afrikaans",
|
||||
"az": "Azero",
|
||||
"bg": "Bulgaro",
|
||||
"cs": "Ceco",
|
||||
@@ -24,4 +24,4 @@
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Cinese (Cina)"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
{
|
||||
"en": "Angielski",
|
||||
"af": "Afrykanerski",
|
||||
"bg": "Bułgarski",
|
||||
"ca": "Kataloński",
|
||||
"cs": "Czeski",
|
||||
"de": "Niemiecki",
|
||||
"el": "Grecki",
|
||||
"enGB": "Angielski (Zjednoczone Królestwo)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Hiszpański",
|
||||
"esUS": "Hiszpański (Ameryka Łacińska)",
|
||||
"fi": "Fiński",
|
||||
"fr": "Francuski",
|
||||
"frCA": "Francuski (kanadyjski)",
|
||||
"hr": "Chorwacki",
|
||||
"hu": "Węgierski",
|
||||
"hy": "Ormiański",
|
||||
"it": "Włoski",
|
||||
"ja": "Japoński",
|
||||
"ko": "Koreański",
|
||||
"nl": "Holenderski",
|
||||
"oc": "Oksytański",
|
||||
"pl": "Polski",
|
||||
"ptBR": "Portugalski (brazylijski)",
|
||||
"ru": "Rosyjski",
|
||||
"sv": "Szwedzki",
|
||||
"tr": "Turecki",
|
||||
"vi": "Wietnamski",
|
||||
"zhCN": "Chiński (Chiny)",
|
||||
"zhTW": "Chiński (Tajwan)\"msgstr \""
|
||||
"en": "angielski",
|
||||
"af": "afrykanerski",
|
||||
"bg": "bułgarski",
|
||||
"ca": "kataloński",
|
||||
"cs": "czeski",
|
||||
"de": "niemiecki",
|
||||
"el": "grecki",
|
||||
"enGB": "angielski (Zjednoczone Królestwo)",
|
||||
"eo": "esperanto",
|
||||
"es": "hiszpański",
|
||||
"esUS": "hiszpański (Ameryka Łacińska)",
|
||||
"fi": "fiński",
|
||||
"fr": "francuski",
|
||||
"frCA": "francuski (kanadyjski)",
|
||||
"hr": "chorwacki",
|
||||
"hu": "węgierski",
|
||||
"hy": "ormiański",
|
||||
"it": "włoski",
|
||||
"ja": "japoński",
|
||||
"ko": "koreański",
|
||||
"nl": "holenderski",
|
||||
"oc": "oksytański",
|
||||
"pl": "polski",
|
||||
"ptBR": "portugalski (brazylijski)",
|
||||
"ru": "rosyjski",
|
||||
"sv": "szwedzki",
|
||||
"tr": "turecki",
|
||||
"vi": "wietnamski",
|
||||
"zhCN": "chiński (Chiny)",
|
||||
"zhTW": "chiński (Tajwan)"
|
||||
}
|
||||
@@ -28,5 +28,5 @@
|
||||
"tr": "Turco",
|
||||
"vi": "Vietnamita",
|
||||
"zhCN": "Chinês (China)",
|
||||
"zhTW": "Chinês (Taiwan)\"msgstr \""
|
||||
"zhTW": "Chinês (Taiwan)"
|
||||
}
|
||||
@@ -28,5 +28,5 @@
|
||||
"tr": "Turkish",
|
||||
"vi": "Vietnamese",
|
||||
"zhCN": "中文 简体 (中国)",
|
||||
"zhTW": "中文 正體 (台灣)\"msgstr \""
|
||||
"zhTW": "中文 正體 (台灣)"
|
||||
}
|
||||
@@ -4,12 +4,14 @@
|
||||
"bg": "Bulgarian",
|
||||
"ca": "Catalan",
|
||||
"cs": "Czech",
|
||||
"da": "Danish",
|
||||
"de": "German",
|
||||
"el": "Greek",
|
||||
"enGB": "English (United Kingdom)",
|
||||
"eo": "Esperanto",
|
||||
"es": "Spanish",
|
||||
"esUS": "Spanish (Latin America)",
|
||||
"et": "Estonian",
|
||||
"fi": "Finnish",
|
||||
"fr": "French",
|
||||
"frCA": "French (Canadian)",
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
"speaker": "Řečník"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Jen zvuk"
|
||||
"audioOnly": "Pouze zvuk"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "",
|
||||
@@ -46,7 +46,7 @@
|
||||
},
|
||||
"chat": {
|
||||
"error": "",
|
||||
"messagebox": "",
|
||||
"messagebox": "Prostor pro zprávu",
|
||||
"nickname": {
|
||||
"popover": "Zvolte si přezdívku",
|
||||
"title": ""
|
||||
@@ -73,7 +73,7 @@
|
||||
"address": "Adresa:",
|
||||
"bandwidth": "Odhadovaná šířka pásma:",
|
||||
"bitrate": "Přenosová rychlost:",
|
||||
"bridgeCount": "",
|
||||
"bridgeCount": "Počet serverů:",
|
||||
"connectedTo": "",
|
||||
"framerate": "Rychlost snímkování:",
|
||||
"less": "Zobrazit méně",
|
||||
@@ -86,7 +86,7 @@
|
||||
"more": "Zobrazit více",
|
||||
"packetloss": "Ztracené pakety:",
|
||||
"quality": {
|
||||
"good": "",
|
||||
"good": "Dobré",
|
||||
"inactive": "Neaktivní",
|
||||
"lost": "Ztraceno",
|
||||
"nonoptimal": "Není optimální",
|
||||
@@ -122,16 +122,16 @@
|
||||
},
|
||||
"defaultLink": "např. {{url}}",
|
||||
"deviceError": {
|
||||
"cameraError": "",
|
||||
"cameraPermission": "",
|
||||
"microphoneError": "",
|
||||
"microphonePermission": ""
|
||||
"cameraError": "Chyba při přístupu ke kameře",
|
||||
"cameraPermission": "Aplikace nemá oprávnění přistupovat ke kameře",
|
||||
"microphoneError": "Chyba při přístupu k mikrofonu",
|
||||
"microphonePermission": "Aplikace nemá oprávnění přistupovat k mikrofonu"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "",
|
||||
"previewUnavailable": "",
|
||||
"selectADevice": "",
|
||||
"testAudio": ""
|
||||
"noPermission": "Oprávnění není uděleno",
|
||||
"previewUnavailable": "Náhled není dostupný",
|
||||
"selectADevice": "Zvolte zvukové zařízení",
|
||||
"testAudio": "Vyzkoušet zvuk"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
@@ -150,7 +150,7 @@
|
||||
"cameraUnknownError": "",
|
||||
"cameraUnsupportedResolutionError": "",
|
||||
"Cancel": "Storno",
|
||||
"close": "",
|
||||
"close": "Zavřít",
|
||||
"conferenceDisconnectMsg": "Možná byste měli zkontrolovat připojení k síti. Znovu se připojíte za {{seconds}} s...",
|
||||
"conferenceDisconnectTitle": "Byl jste odhlášen.",
|
||||
"conferenceReloadMsg": "Pokoušíme se to opravit. Znovu se připojíte za {{seconds}} s...",
|
||||
@@ -223,7 +223,7 @@
|
||||
"remoteControlStopMessage": "",
|
||||
"remoteControlTitle": "",
|
||||
"Remove": "Odstranit",
|
||||
"removePassword": "",
|
||||
"removePassword": "Zrušit heslo",
|
||||
"removeSharedVideoMsg": "",
|
||||
"removeSharedVideoTitle": "",
|
||||
"reservationError": "",
|
||||
@@ -239,7 +239,7 @@
|
||||
"Share": "Sdílet",
|
||||
"shareVideoLinkError": "Zadejte prosím správný odkaz na youtube video.",
|
||||
"shareVideoTitle": "Sdílet obraz",
|
||||
"shareYourScreen": "",
|
||||
"shareYourScreen": "Sdílet obrazovku",
|
||||
"shareYourScreenDisabled": "",
|
||||
"shareYourScreenDisabledForGuest": "",
|
||||
"startLiveStreaming": "",
|
||||
@@ -285,34 +285,34 @@
|
||||
"videoCallTitle": ""
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "",
|
||||
"addPassword": "",
|
||||
"cancelPassword": "",
|
||||
"conferenceURL": "",
|
||||
"country": "",
|
||||
"accessibilityLabel": "Více info",
|
||||
"addPassword": "Nastavit heslo",
|
||||
"cancelPassword": "Zrušit heslo",
|
||||
"conferenceURL": "Odkaz:",
|
||||
"country": "Země",
|
||||
"dialANumber": "",
|
||||
"dialInConferenceID": "",
|
||||
"dialInNotSupported": "",
|
||||
"dialInNumber": "",
|
||||
"dialInSummaryError": "",
|
||||
"dialInTollFree": "",
|
||||
"genericError": "",
|
||||
"inviteLiveStream": "",
|
||||
"invitePhone": "",
|
||||
"genericError": "Ups, něco se pokazilo.",
|
||||
"inviteLiveStream": "K zobrazení živého vysílání tohoto meetingu, klikněte na tento odkaz: {{url}}",
|
||||
"invitePhone": "One tap audio Dial In: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "",
|
||||
"inviteURLFirstPartGeneral": "",
|
||||
"inviteURLFirstPartPersonal": "",
|
||||
"inviteURLSecondPart": "",
|
||||
"liveStreamURL": "",
|
||||
"moreNumbers": "",
|
||||
"noNumbers": "",
|
||||
"noPassword": "Hotovo",
|
||||
"noRoom": "",
|
||||
"numbers": "",
|
||||
"password": "",
|
||||
"liveStreamURL": "Živé vysílání:",
|
||||
"moreNumbers": "More numbers",
|
||||
"noNumbers": "No dial-in numbers.",
|
||||
"noPassword": "Bez hesla",
|
||||
"noRoom": "No room was specified to dial-in into.",
|
||||
"numbers": "Dial-in Numbers",
|
||||
"password": "Heslo:",
|
||||
"title": "Sdílet",
|
||||
"tooltip": "",
|
||||
"label": ""
|
||||
"tooltip": "Sdílet odkaz k tomuto meetingu",
|
||||
"label": "Informace o meetingu"
|
||||
},
|
||||
"\u0005info": {},
|
||||
"inviteDialog": {
|
||||
@@ -334,16 +334,16 @@
|
||||
"focusRemote": "Vybrat obraz jiného volajícího",
|
||||
"fullScreen": "Zobrazení / Opuštění režimu celé obrazovky",
|
||||
"keyboardShortcuts": "Klávesové zkratky",
|
||||
"localRecording": "",
|
||||
"localRecording": "Spravovat kvalitu hovoru",
|
||||
"mute": "Ztlumení nebo zesílení vašeho mikrofonu",
|
||||
"pushToTalk": "Zmáčknout a mluvit",
|
||||
"raiseHand": "Přihlásit nebo odhlásit se o slovo",
|
||||
"showSpeakerStats": "Zobrazení statistiky řečníka",
|
||||
"toggleChat": "Otevřít nebo zavřít chat",
|
||||
"toggleFilmstrip": "",
|
||||
"toggleFilmstrip": "Zobrazit / Skrýt videonáhledy účastníků",
|
||||
"toggleScreensharing": "Přepnutí mezi kamerou a sdílením obrazovky",
|
||||
"toggleShortcuts": "",
|
||||
"videoMute": "Spuštění nebo vypnutí vaší kamery"
|
||||
"toggleShortcuts": "Zobrazení / Skrytí klávesových zkratek",
|
||||
"videoMute": "Spuštění / Vypnutí vaší kamery"
|
||||
},
|
||||
"\u0005keyboardShortcuts": {},
|
||||
"liveStreaming": {
|
||||
@@ -397,23 +397,23 @@
|
||||
"moderator": "Moderátor",
|
||||
"no": "",
|
||||
"participant": "",
|
||||
"participantStats": "",
|
||||
"participantStats": "Zobrazit statistiku účastníků",
|
||||
"sessionToken": "",
|
||||
"start": "",
|
||||
"stop": "",
|
||||
"yes": ""
|
||||
},
|
||||
"lockRoomPassword": "Heslo",
|
||||
"lockRoomPassword": "heslo",
|
||||
"lockRoomPasswordUppercase": "Heslo",
|
||||
"me": "já",
|
||||
"notify": {
|
||||
"connectedOneMember": "",
|
||||
"connectedThreePlusMembers": "",
|
||||
"connectedOneMember": "{{name}} se připojil",
|
||||
"connectedThreePlusMembers": "{{name}} a {{count}} dalších se připojili",
|
||||
"connectedTwoMembers": "",
|
||||
"disconnected": "odpojeno",
|
||||
"focus": "Vybrat konferenci",
|
||||
"focusFail": "{{component}} není k dispozici - další pokus za {{ms}} sec",
|
||||
"grantedTo": "Moderátorská práva přidělena účastníkovi{{to}}!",
|
||||
"grantedTo": "Moderátorská práva přidělena účastníkovi {{to}}!",
|
||||
"invitedOneMember": "",
|
||||
"invitedThreePlusMembers": "",
|
||||
"invitedTwoMembers": "",
|
||||
@@ -440,27 +440,27 @@
|
||||
"\u0005notify": {},
|
||||
"passwordSetRemotely": "",
|
||||
"passwordDigitsOnly": "",
|
||||
"poweredby": "poháněno",
|
||||
"poweredby": "Poháněno",
|
||||
"presenceStatus": {
|
||||
"busy": "",
|
||||
"calling": "",
|
||||
"connected": "",
|
||||
"connecting": "Připojení:",
|
||||
"connecting2": "Připojení:",
|
||||
"disconnected": "odpojeno",
|
||||
"expired": "",
|
||||
"ignored": "",
|
||||
"initializingCall": "",
|
||||
"invited": "",
|
||||
"rejected": "",
|
||||
"ringing": ""
|
||||
"busy": "Obsazeno",
|
||||
"calling": "Vytáčím...",
|
||||
"connected": "Spojování",
|
||||
"connecting": "Spojování...",
|
||||
"connecting2": "Spojování*...",
|
||||
"disconnected": "Odpojeno",
|
||||
"expired": "Spojení vypršelo",
|
||||
"ignored": "Spojení ignorováno",
|
||||
"initializingCall": "Nastavuji hovor...",
|
||||
"invited": "Pozván",
|
||||
"rejected": "Odmítnuto",
|
||||
"ringing": "Zvoní..."
|
||||
},
|
||||
"\u0005presenceStatus": {},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Nastavte si jméno",
|
||||
"setEmailInput": "Zadejte e-mail",
|
||||
"setEmailLabel": "Nastavte si email vašeho gravataru",
|
||||
"title": ""
|
||||
"title": "Profil"
|
||||
},
|
||||
"recording": {
|
||||
"authDropboxText": "",
|
||||
@@ -498,20 +498,20 @@
|
||||
"signedIn": "",
|
||||
"title": "Kalendář"
|
||||
},
|
||||
"devices": "",
|
||||
"devices": "Zařízení",
|
||||
"followMe": "Všichni sledují mě",
|
||||
"language": "",
|
||||
"loggedIn": "",
|
||||
"language": "Jazyk",
|
||||
"loggedIn": "Přihlášen jako {{name}}",
|
||||
"moderator": "Moderátor",
|
||||
"more": "",
|
||||
"name": "",
|
||||
"noDevice": "Hotovo",
|
||||
"more": "Více",
|
||||
"name": "Jméno",
|
||||
"noDevice": "Žádné zařízení",
|
||||
"selectAudioOutput": "Zvukový výstup",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
"startAudioMuted": "Při připojení všem zlumit zvuk",
|
||||
"startVideoMuted": "Všechny připojovat jako skrýté",
|
||||
"title": ""
|
||||
"title": "Nastavení"
|
||||
},
|
||||
"\u0005settings": {
|
||||
"calendar": {}
|
||||
@@ -539,10 +539,10 @@
|
||||
"speakerStats": {
|
||||
"hours": "",
|
||||
"minutes": "",
|
||||
"name": "",
|
||||
"name": "Řečník",
|
||||
"seconds": "",
|
||||
"speakerStats": "",
|
||||
"speakerTime": ""
|
||||
"speakerStats": "Statistika řečníků",
|
||||
"speakerTime": "Mluvil již"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
@@ -568,7 +568,7 @@
|
||||
"kick": "",
|
||||
"localRecording": "",
|
||||
"lockRoom": "",
|
||||
"moreActions": "",
|
||||
"moreActions": "Více možností",
|
||||
"moreActionsMenu": "",
|
||||
"mute": "",
|
||||
"pip": "",
|
||||
@@ -579,11 +579,11 @@
|
||||
"Settings": "",
|
||||
"sharedvideo": "",
|
||||
"shareRoom": "",
|
||||
"shareYourScreen": "",
|
||||
"shortcuts": "",
|
||||
"shareYourScreen": "Sdílet obrazovku",
|
||||
"shortcuts": "Zobrazit zkratky",
|
||||
"show": "",
|
||||
"speakerStats": "",
|
||||
"tileView": "",
|
||||
"speakerStats": "Statistika řečníků",
|
||||
"tileView": "Přepnout režim zobrazení",
|
||||
"toggleCamera": "",
|
||||
"videomute": "",
|
||||
"videoblur": ""
|
||||
@@ -593,13 +593,13 @@
|
||||
"audioOnlyOn": "",
|
||||
"audioRoute": "",
|
||||
"authenticate": "Ověřit",
|
||||
"callQuality": "",
|
||||
"callQuality": "Kvalita hovoru",
|
||||
"chat": "Otevřít / Zavřít chat",
|
||||
"closeChat": "",
|
||||
"documentClose": "Otevřít / Zavřít sdílený dokument",
|
||||
"documentOpen": "Otevřít / Zavřít sdílený dokument",
|
||||
"enterFullScreen": "",
|
||||
"enterTileView": "",
|
||||
"enterFullScreen": "Přepnout na celou obrazovku",
|
||||
"enterTileView": "Přepnout režim zobrazení",
|
||||
"exitFullScreen": "",
|
||||
"exitTileView": "",
|
||||
"feedback": "",
|
||||
@@ -608,29 +608,29 @@
|
||||
"login": "Přihlásit se",
|
||||
"logout": "Odhlásit",
|
||||
"lowerYourHand": "",
|
||||
"moreActions": "",
|
||||
"moreActions": "Více možností",
|
||||
"mute": "Ztlumit / Zesílit",
|
||||
"openChat": "",
|
||||
"pip": "",
|
||||
"profile": "Upravit váš profil",
|
||||
"raiseHand": "Příhlásit / Odhlásit se o slovo",
|
||||
"raiseYourHand": "",
|
||||
"Settings": "",
|
||||
"sharedvideo": "Sdílet YouTube video",
|
||||
"Settings": "Nastavení",
|
||||
"sharedvideo": "Sdílet obraz YouTube videa",
|
||||
"shareRoom": "",
|
||||
"shortcuts": "",
|
||||
"speakerStats": "",
|
||||
"shortcuts": "Klávesové zkratky",
|
||||
"speakerStats": "Statistiky řečníků",
|
||||
"startScreenSharing": "",
|
||||
"startSubtitles": "",
|
||||
"stopScreenSharing": "",
|
||||
"stopSubtitles": "",
|
||||
"stopSharedVideo": "",
|
||||
"talkWhileMutedPopup": "Snažíte se mluvit? Máte ztlumené audio.",
|
||||
"tileViewToggle": "",
|
||||
"tileViewToggle": "Přepnout režim zobrazení",
|
||||
"toggleCamera": "",
|
||||
"videomute": "Zapnutí / Vypnutí kamery",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
"startvideoblur": "Rozmazat pozadí",
|
||||
"stopvideoblur": "Zrušit rozmazání"
|
||||
},
|
||||
"\u0005toolbar": {
|
||||
"accessibilityLabel": {}
|
||||
@@ -670,22 +670,25 @@
|
||||
"pending": ""
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "",
|
||||
"audioOnly": "AU",
|
||||
"audioOnlyExpanded": "",
|
||||
"callQuality": "",
|
||||
"callQuality": "Nastavení kvality hovoru",
|
||||
"hd": "",
|
||||
"highDefinition": "",
|
||||
"hdTooltip": "Sledujete obraz ve vysoké kvalitě",
|
||||
"highDefinition": "Vysoká kvalita",
|
||||
"labelTooiltipNoVideo": "",
|
||||
"labelTooltipAudioOnly": "",
|
||||
"ld": "",
|
||||
"lowDefinition": "",
|
||||
"ldTooltip": "Sledujete obraz v nízké kvalitě",
|
||||
"lowDefinition": "Nizká kvalita",
|
||||
"onlyAudioAvailable": "",
|
||||
"onlyAudioSupported": "",
|
||||
"p2pEnabled": "",
|
||||
"p2pVideoQualityDescription": "",
|
||||
"recHighDefinitionOnly": "",
|
||||
"sd": "",
|
||||
"standardDefinition": ""
|
||||
"sdTooltip": "Sledujete obraz v běžné kvalitě",
|
||||
"standardDefinition": "Běžná kvalita"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Ztlumený zvuk",
|
||||
@@ -704,7 +707,7 @@
|
||||
"join": "",
|
||||
"roomname": "Zadejte jméno místnosti"
|
||||
},
|
||||
"appDescription": "Jděte na to, videokonference v rámci celého týmu. Do konference můžete pozvat kohokoliv. Veškerá komunikace přes aplikaci {{app}} je plně šifrovaná, 100% open source zajištuje, že aplikaci můžete využívat bez omezení a navíc se nemusíte ani registrovat.",
|
||||
"appDescription": "Videokonference pro celý Váš tým, zdarma, bez nároků na Vaše data. Do konference můžete pozvat kohokoliv. Veškerá komunikace přes aplikaci {{app}} je plně šifrovaná, 100% open source zajištuje, že aplikaci můžete využívat bez omezení a navíc se nemusíte ani registrovat.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Hlas",
|
||||
"video": "Obraz"
|
||||
@@ -712,19 +715,19 @@
|
||||
"calendar": "Kalendář",
|
||||
"connectCalendarButton": "",
|
||||
"connectCalendarText": "",
|
||||
"enterRoomTitle": "",
|
||||
"enterRoomTitle": "Začít nový videohovor",
|
||||
"go": "ZAČÍT",
|
||||
"join": "PŘIPOJIT",
|
||||
"info": "",
|
||||
"privacy": "Soukromí",
|
||||
"recentList": "",
|
||||
"recentListDelete": "",
|
||||
"recentListEmpty": "",
|
||||
"recentListEmpty": "Váš seznam nedávných hovorů je prázdný. Spojte se s kolegy z Vašeho týmu, poté zde naleznete seznam nedávných hovorů.",
|
||||
"reducedUIText": "",
|
||||
"roomname": "Zadejte jméno místnosti",
|
||||
"roomnameHint": "Zadejte název nebo URL odkaz místnosti ke které se chcete připojit. Pokud jste místnost vytvořili, ujistěte se, že ostatní účastníci schůzky zadají stejné jméno jako vy.",
|
||||
"sendFeedback": "Poslat zpětnou vazbu",
|
||||
"terms": "Podmínky používání",
|
||||
"title": ""
|
||||
"title": "Bezpečné, plnotučné videokonference, zcela zdarma a soukromě, od lidí pro lidi."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
772
lang/main-da.json
Normal file
@@ -0,0 +1,772 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Inviter",
|
||||
"countryNotSupported": "Vi supporterer ikke dette land endnu.",
|
||||
"countryReminder": "Ringer du til uden for USA? Benyt venligst landekode!",
|
||||
"disabled": "Du kan ikke invitere deltagere.",
|
||||
"failedToAdd": "Kunne ikke tilføje deltagere.",
|
||||
"footerText": "Udgående opkald er slået fra.",
|
||||
"loading": "Søger efter personer og telefonnumre.",
|
||||
"loadingNumber": "Validerer telefonnummer",
|
||||
"loadingPeople": "Søger efter folk der kan inviteres",
|
||||
"noResults": "Der blev ikke fundet noget",
|
||||
"noValidNumbers": "Indtast venligst er telefonnummer",
|
||||
"searchNumbers": "Tilføj telefonnummer",
|
||||
"searchPeople": "Søg efter personer",
|
||||
"searchPeopleAndNumbers": "Søg efter personer eller tilføj deres telefonnummer",
|
||||
"telephone": "Telefon: {{number}}",
|
||||
"title": "Inviter personer til dette møde"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Høretelefoner",
|
||||
"phone": "Telefon",
|
||||
"speaker": "Højtaler",
|
||||
"none": "Der er ikke nogen lyd enheder tilgængelige"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Kun lyd"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Tilføj et mødelink",
|
||||
"confirmAddLink": "Ønsker du at tilføj et Jitsi link til denne aftale?",
|
||||
"error": {
|
||||
"appConfiguration": "Kalender integration er ikke sat korrekt op.",
|
||||
"generic": "Der er sket en fejl. Verificer venligst dine kalenderindstilliinger eller prøv på at genopfriske din kalender.",
|
||||
"notSignedIn": "Der er sket en fejl under log ind for at hente kalenderaftalerne. Kontroller venligst dine kalenderindstilliinger og forsøg at logge ind igen."
|
||||
},
|
||||
"join": "Deltag",
|
||||
"joinTooltip": "Deltag i mødet",
|
||||
"nextMeeting": "næste møde",
|
||||
"noEvents": "Der er ikke nogen kommande aftaler i kalenderen.",
|
||||
"ongoingMeeting": "igangværende møde",
|
||||
"permissionButton": "Åben indstillinger",
|
||||
"permissionMessage": "Kalender tilladelsen er nødvendig for at kunne se dine aftaler i appen.",
|
||||
"refresh": "Genopfrisk aftaler",
|
||||
"today": "I dag"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Fejl: din besked \"{{originalText}}\" blev ikke sendt. Årsag: {{error}}",
|
||||
"fieldPlaceHolder": "Skriv din besked her",
|
||||
"messagebox": "Indtast en besked",
|
||||
"messageTo": "Privat besked til {{recipient}}",
|
||||
"noMessagesMessage": "Der er ikke nogen beskeder i mødet endnu. Skriv noget!",
|
||||
"nickname": {
|
||||
"popover": "Vælg dit navn/alias",
|
||||
"title": "Indtast et navn/alias for at deltage i chatten"
|
||||
},
|
||||
"privateNotice": "Privat besked til {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": "dig"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Installér plugin for Google Kalender og Office 365 integration",
|
||||
"buttonText": "Installér Chrome plugin",
|
||||
"dontShowAgain": "Vis ikke dette igen"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Forbinder dig til mødet..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Forbundet",
|
||||
"AUTHENTICATING": "Autoriserer",
|
||||
"AUTHFAIL": "Autorisation lykkedes ikke",
|
||||
"CONNECTED": "Forbundet",
|
||||
"CONNECTING": "Forbinder",
|
||||
"CONNFAIL": "Forbindelse kunne ikke oprettes",
|
||||
"DISCONNECTED": "Frakoblet",
|
||||
"DISCONNECTING": "Frakobler",
|
||||
"ERROR": "Fejl",
|
||||
"RECONNECTING": "Et netværksproblem opstod. Forbinder igen...",
|
||||
"GET_SESSION_ID_ERROR": "Hent session-id fejl: {{code}}",
|
||||
"GOT_SESSION_ID": "HEnter session-id... Udført",
|
||||
"LOW_BANDWIDTH": "Video for {{displayName}} er slået fra for at spare båndbredde"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresse:",
|
||||
"bandwidth": "Estimeret båndbredde:",
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Server antal: ",
|
||||
"connectedTo": "Forbundet til:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Frame rate:",
|
||||
"less": "Vis mindre",
|
||||
"localaddress": "Lokal adresse:",
|
||||
"localaddress_plural": "Lokale adresser:",
|
||||
"localport": "Lokal port:",
|
||||
"localport_plural": "Lokale porte:",
|
||||
"more": "Vis mere",
|
||||
"packetloss": "Pakke tab:",
|
||||
"quality": {
|
||||
"good": "God",
|
||||
"inactive": "Inaktiv",
|
||||
"lost": "Tabt",
|
||||
"nonoptimal": "Ikke optimal",
|
||||
"poor": "Dårlig"
|
||||
},
|
||||
"remoteaddress": "Fjern adresse:",
|
||||
"remoteaddress_plural": "Fjern adresser:",
|
||||
"remoteport": "Fjern port:",
|
||||
"remoteport_plural": "Fjern porte:",
|
||||
"resolution": "Opløsning:",
|
||||
"status": "Forbindelse:",
|
||||
"transport": "Transport:",
|
||||
"transport_plural": "Transporter:",
|
||||
"turn": " (turn)"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Tidligere",
|
||||
"today": "I dag",
|
||||
"yesterday": "I går"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Du skal bruge {{app}} mobil appen for at forbinde til dette møde med din mobiltelefon.",
|
||||
"description": "Skete der ikke noget? Vi forsøgte at åbne dit videomøde i {{app}} desktop appen. Prøv igen eller start mødet på {{app}} web app.",
|
||||
"descriptionWithoutWeb": "",
|
||||
"downloadApp": "Download appen",
|
||||
"launchWebButton": "Start på web",
|
||||
"openApp": "Fortsæt til appen",
|
||||
"title": "Start dit møde i {{app}}...",
|
||||
"tryAgainButton": "Prøv igen"
|
||||
},
|
||||
"defaultLink": "e.g. {{url}}",
|
||||
"defaultNickname": "ex. Jane Pink",
|
||||
"deviceError": {
|
||||
"cameraError": "Kunne ikke forbinde til dit kamera",
|
||||
"cameraPermission": "Kamera tilladelse mangler",
|
||||
"microphoneError": "Kunne ikke forbinde til din mikrofon",
|
||||
"microphonePermission": "Mikrofon tilladelse mangler"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Tilladelse ikke givet",
|
||||
"previewUnavailable": "Forhåndsvisning mangler",
|
||||
"selectADevice": "Vælg en enhed",
|
||||
"testAudio": "Afspil testlyd"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Live Stream"
|
||||
},
|
||||
"allow": "Tillad",
|
||||
"alreadySharedVideoMsg": "En anden deltager deler allerede en video. Denne konference tillader kun en delt video af gangen.",
|
||||
"alreadySharedVideoTitle": "Det er kun muligt at dele en video af gangen",
|
||||
"applicationWindow": "Applikations vindue",
|
||||
"Back": "Tilbage",
|
||||
"cameraConstraintFailedError": "Dit kamera lever ikke op til de nødvendige krav..",
|
||||
"cameraNotFoundError": "Kamera kunne ikke findes.",
|
||||
"cameraNotSendingData": "Vi kan ikke tilgå dit kamera. Kontroller venligst om der er en anden applikation der gør brug af dit kamera, eller vælg en andet kamera og genindlæs siden.",
|
||||
"cameraNotSendingDataTitle": "Kan ikke tilgå kamera",
|
||||
"cameraPermissionDeniedError": "Du har ikke givet tilladelse til at bruge dit kamera. Du kan stadig deltage i mødet men de andre deltagere vil ikke kunne se dig. Gør brug af kamera knappen i adressebaren for at give tilladelse.",
|
||||
"cameraUnknownError": "Kan ikke gør brug af dit kamera, årsag ukendt.",
|
||||
"cameraUnsupportedResolutionError": "Dit kamera supporterer ikke den nødvendige opløsning.",
|
||||
"Cancel": "Afbryd",
|
||||
"close": "Luk",
|
||||
"conferenceDisconnectMsg": "Kontroller venligst din netværksforbindelse. Forbinder igen om {{seconds}} sekunder...",
|
||||
"conferenceDisconnectTitle": "Din forbindelse er blevet afbrudt.",
|
||||
"conferenceReloadMsg": "Forsøger at genoprette forbindelsen. Forbinder igen om {{seconds}} sekunder...",
|
||||
"conferenceReloadTitle": "Der er desværre gået noget galt.",
|
||||
"confirm": "Bekræft",
|
||||
"confirmNo": "Nej",
|
||||
"confirmYes": "Ja",
|
||||
"connectError": "Det var ikke muligt at forbinde til mødet.",
|
||||
"connectErrorWithMsg": "Det var ikke muligt at forbinde til mødet: {{msg}}",
|
||||
"connecting": "Forbinder",
|
||||
"contactSupport": "Kontakt support",
|
||||
"copy": "Kopier invitation",
|
||||
"dismiss": "Afbryd",
|
||||
"displayNameRequired": "Navn/alias er påkrævet",
|
||||
"done": "Gem",
|
||||
"enterDisplayName": "Indtast venligst dit navn/alias",
|
||||
"error": "Fejl",
|
||||
"externalInstallationMsg": "Du skal installerer vores skærmdelings plugin.",
|
||||
"externalInstallationTitle": "Plugin skal bruges",
|
||||
"goToStore": "Gå til webstore",
|
||||
"gracefulShutdown": "Vores service er pt. under vedligeholdese. Forsøg venligst igen senere.",
|
||||
"IamHost": "Jeg er vært",
|
||||
"incorrectRoomLockPassword": "",
|
||||
"incorrectPassword": "Forkert brugernavn eller adgangskode",
|
||||
"inlineInstallationMsg": "Du skal installerer vores skærmdelings plugin.",
|
||||
"inlineInstallExtension": "Installer nu",
|
||||
"internalError": "Der er opstået en fejl: {{error}}",
|
||||
"internalErrorTitle": "Intern fejl",
|
||||
"kickMessage": "Du er blevet afbrudt fra mødet!",
|
||||
"kickParticipantButton": "Afbryd",
|
||||
"kickParticipantDialog": "Er du sikker på at du vil afbryde den deltager?",
|
||||
"kickParticipantTitle": "Afbryd denne deltager?",
|
||||
"kickTitle": "Afbrudt fra møde",
|
||||
"liveStreaming": "Live Streaming",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gæster kan ikke starte en live stream.",
|
||||
"liveStreamingDisabledTooltip": "Live streaming er slået fra.",
|
||||
"lockMessage": "Kunne ikke sikre mødet.",
|
||||
"lockRoom": "Tilføj adgangskode",
|
||||
"lockTitle": "Sikring fejlet",
|
||||
"logoutQuestion": "Er du sikker på at du vil logge ud og stoppe mødet?",
|
||||
"logoutTitle": "Log ud",
|
||||
"maxUsersLimitReached": "Grænsen for antal deltagere er nået. Mødet er fuldt. Kontakt ejeren af mødet eller prøv igen senere!",
|
||||
"maxUsersLimitReachedTitle": "Maksimum antal deltagere nået",
|
||||
"micConstraintFailedError": "Din mikrofon supporterer ikke de nødvendige specifikationer.",
|
||||
"micNotFoundError": "Mikrofon ikke fundet.",
|
||||
"micNotSendingData": "Vi kunne ikke tilgå din mikrofon. Vælg en anden mikrofon under indstillinger eller genindlæs applikationen.",
|
||||
"micNotSendingDataTitle": "Kunne ikke tilgå din mikrofon",
|
||||
"micPermissionDeniedError": "Du har ikke givet tilladelse til at bruge din mikrofon. Du kan stadig deltage i mødet men de andre deltagere kan ikke høre dig. Benyt kamera knappen i adressbaren for at give tilladelse.",
|
||||
"micUnknownError": "Kan ikke tilgå mikrofon af ukendt årsag.",
|
||||
"muteEveryoneElseDialog": "Er du sikker på at du vil slå lyden fra for denne deltager? Du kan ikke tænde igen, men de kan selv tænde til enhver tid.",
|
||||
"muteEveryoneElseTitle": "Slå lyd fra for alle undtagen {{whom}}?",
|
||||
"muteEveryoneDialog": "Er du sikker på at du vil slå lyden fra for denne deltager? Du kan ikke tænde igen, men de kan selv tænde til enhver tid.",
|
||||
"muteEveryoneTitle": "Slå lyd fra for alle?",
|
||||
"muteEveryoneSelf": "dig selv",
|
||||
"muteEveryoneStartMuted": "Lyden er slpet fra for alle fra nu af",
|
||||
"muteParticipantBody": "Du kan ikke tænde for deres mikrofon, men de kan selv tænde for deres mikrofon til enhver tid.",
|
||||
"muteParticipantButton": "Slå lyd fra",
|
||||
"muteParticipantDialog": "Er du sikker på at du vil slå lyden fra for denne deltager? Du kan ikke tænde igen, men de kan selv tænde til enhver tid.",
|
||||
"muteParticipantTitle": "Slå lyd fra for denne deltager?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "Adgangskode",
|
||||
"passwordNotSupported": "Sætte en adgangskode for mødet er ikke understøttet.",
|
||||
"passwordNotSupportedTitle": "Adgangskode er ikke understøttet",
|
||||
"passwordRequired": "Adgangskode påkrævet",
|
||||
"popupError": "Din browser blockerer for pop-upper fra denne hjemmeside. Slå venligst pop-upper til i din browsers indstillinger og forsøg igen.",
|
||||
"popupErrorTitle": "Pop-up blokkeret",
|
||||
"recording": "Optager",
|
||||
"recordingDisabledForGuestTooltip": "Gæster kan ikke starte en optagelse.",
|
||||
"recordingDisabledTooltip": "Start optagelse er slået fra.",
|
||||
"rejoinNow": "Deltag igen",
|
||||
"remoteControlAllowedMessage": "{{user}} accepterede din fjernstyring anmodning!",
|
||||
"remoteControlDeniedMessage": "{{user}} afviste din fjernstyring anmodning!",
|
||||
"remoteControlErrorMessage": "En fejl er opstået ved anmodning om fjernstyring for {{user}}!",
|
||||
"remoteControlRequestMessage": "Vil du tillade at {{user}} fjerstyrer din computer?",
|
||||
"remoteControlShareScreenWarning": "Bemærk at hvis du vælger \"Tillad\" så vil du tillade fjernstyring!",
|
||||
"remoteControlStopMessage": "Fjernstyrings sessionen er afsluttet!",
|
||||
"remoteControlTitle": "Fjerstyring",
|
||||
"Remove": "Fjern",
|
||||
"removePassword": "Fjern adgangskode",
|
||||
"removeSharedVideoMsg": "Er du sikker på at du vil fjerne di delte video?",
|
||||
"removeSharedVideoTitle": "Fjern delt video",
|
||||
"reservationError": "Reservation - system fejl",
|
||||
"reservationErrorMsg": "Fejlkode: {{code}}, fejl: {{msg}}",
|
||||
"retry": "Forsøg igen",
|
||||
"screenSharingFailedToInstall": "Skærmdelings-plugin kunne ikke installeres.",
|
||||
"screenSharingFailedToInstallTitle": "Skærmdelings-plugin kunne ikke installeres.",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Noget gik galt under skærmdeling. Kontroller venligst at du har givet tilladelse til skærmdeling. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Skærmdeling kunne ikke startes!",
|
||||
"screenSharingPermissionDeniedError": "Noget gik galt under skærmdeling. Kontroller venligst at du har givet tilladelse til skærmdeling. Genindlæs siden og forsøg igen.",
|
||||
"sendPrivateMessage": "Du har modtage en privat besked. Ønsker du at svare private eller øsnker du at svare til gruppen?",
|
||||
"sendPrivateMessageCancel": "Send til gruppen",
|
||||
"sendPrivateMessageOk": "Send privat",
|
||||
"sendPrivateMessageTitle": "Send privat?",
|
||||
"serviceUnavailable": "Service er ikke tilgængelig",
|
||||
"sessTerminated": "Møde afsluttet",
|
||||
"Share": "Del",
|
||||
"shareVideoLinkError": "Angiv venligst et validt Youtube link.",
|
||||
"shareVideoTitle": "Del en video",
|
||||
"shareYourScreen": "Del din skærm",
|
||||
"shareYourScreenDisabled": "Skærmdeling er ikke slået til.",
|
||||
"shareYourScreenDisabledForGuest": "Gæster kan ikke dele deres skærm.",
|
||||
"startLiveStreaming": "Start live stream",
|
||||
"startRecording": "Start optagelse",
|
||||
"startRemoteControlErrorMessage": "Der er sket en fejl under opstart af fjern kontrol sessionen!",
|
||||
"stopLiveStreaming": "Stop live stream",
|
||||
"stopRecording": "Stop optagelse",
|
||||
"stopRecordingWarning": "Er du sikker på at du ønsker at stoppe optagelesen?",
|
||||
"stopStreamingWarning": "Er du sikker på at du ønsker at stoppe live streaming?",
|
||||
"streamKey": "Live stream nøgle",
|
||||
"Submit": "Gem",
|
||||
"thankYou": "Tak for at du har benyttet {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Beklager, du kan ikke deltage i dette møde.",
|
||||
"tokenAuthFailedTitle": "Log ind fejlede",
|
||||
"transcribing": "Transcribering",
|
||||
"unlockRoom": "Fjern møde adgangskode",
|
||||
"userPassword": "bruger adgangskode",
|
||||
"WaitForHostMsg": "Mødet <b>{{room}}</b> er ikke startet endnu. Hvis du er hosten log venligst ind, ellers vent på at hosten kommer.",
|
||||
"WaitForHostMsgWOk": "Mødet <b>{{room}}</b> er ikke startet endnu. Hvis du er hosten tryk venligst på OK for at logge ind, ellers vent på at hosten kommer.",
|
||||
"WaitingForHost": "Venter på host ...",
|
||||
"Yes": "Ja",
|
||||
"yourEntireScreen": "Hele din skærm"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "er nu {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Delt dokument"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Normal",
|
||||
"bad": "Dårlig",
|
||||
"detailsLabel": "Uddyb.",
|
||||
"good": "God",
|
||||
"rateExperience": "Vurder din oplevelse",
|
||||
"veryBad": "Meget dårlig",
|
||||
"veryGood": "Meget god"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Besvar",
|
||||
"audioCallTitle": "Indkommende opkald",
|
||||
"decline": "Afvis",
|
||||
"productLabel": "fra Appinux skærmbesøg",
|
||||
"videoCallTitle": "Indkommende videoopkald"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Vis info",
|
||||
"addPassword": "Tilføj adgangskode",
|
||||
"cancelPassword": "Annulé adgangskode",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "Land",
|
||||
"dialANumber": "For at deltage i mødet ring til et af følgende telefonnumre og indtast pinkode.",
|
||||
"dialInConferenceID": "Pinkode:",
|
||||
"dialInNotSupported": "Deltagelse vis telfonen er pt. ikke understøttet.",
|
||||
"dialInNumber": "Ring ind:",
|
||||
"dialInSummaryError": "Der er opstået en fejl under hentning af ring ind information. Forsøg venligst igen senere.",
|
||||
"dialInTollFree": "Gratis",
|
||||
"genericError": "Der er opstået en fejl",
|
||||
"inviteLiveStream": "For at se en live stream i dette møde klik på dette link: {{url}}",
|
||||
"invitePhone": "Ring-ind: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "",
|
||||
"inviteURLFirstPartGeneral": "Der er blevet inviteret til at deltage i et møde.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} inviterer dig til at deltage i et møde.\n",
|
||||
"inviteURLSecondPart": "\nDeltag i mødet:\n{{url}}\n",
|
||||
"liveStreamURL": "Live stream:",
|
||||
"moreNumbers": "Flere telefonnumre",
|
||||
"noNumbers": "Ring-ind nummer findes ikke.",
|
||||
"noPassword": "Ingen",
|
||||
"noRoom": "Ring-ind møde information blev ikke angivet.",
|
||||
"numbers": "Ring-ind numre",
|
||||
"password": "Adgangskode:",
|
||||
"title": "Del",
|
||||
"tooltip": "Del link og rind-ind information for dette møde",
|
||||
"label": "Møde information"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Kunne ikke invitere nogle af deltagerne.",
|
||||
"header": "Invitér",
|
||||
"searchCallOnlyPlaceholder": "Indtast telefonnummer",
|
||||
"searchPeopleOnlyPlaceholder": "Søg efter deltagere",
|
||||
"searchPlaceholder": "Deltager eller telefonnummer",
|
||||
"send": "Send"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Der er opstået en fejl.",
|
||||
"retry": "Forsøg igen",
|
||||
"support": "Support",
|
||||
"supportMsg": "Hvis denne fejl bliver ved, kontakt"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Fokusér på din video",
|
||||
"focusRemote": "Fokusér på en anden persons video",
|
||||
"fullScreen": "Vis eller annullér fuld skærm",
|
||||
"keyboardShortcuts": "Tastaturgenveje",
|
||||
"localRecording": "Vis eller skjul optage kontrolknapper",
|
||||
"mute": "Slå lyd fra eller til for din mikrofon",
|
||||
"pushToTalk": "Tryk for at tale",
|
||||
"raiseHand": "Lyft eller sænk din hånd",
|
||||
"showSpeakerStats": "Vis højtaler statistik",
|
||||
"toggleChat": "Åben eller luk chat",
|
||||
"toggleFilmstrip": "Vis eller skjul video små billeder",
|
||||
"toggleScreensharing": "Skift mellem video og skærmdeling",
|
||||
"toggleShortcuts": "Vis eller skjul tastaturgenveje",
|
||||
"videoMute": "Tænd eller sluk dit kamera",
|
||||
"videoQuality": "Indstil opkaldskvalitet"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Der arbejdes på at frigive streamingresourcer, forsøg venligst igen om et par minutter.",
|
||||
"busyTitle": "Alle streamers er optaget",
|
||||
"changeSignIn": "Skift konto.",
|
||||
"choose": "Vælg en live stream",
|
||||
"chooseCTA": "Vælg en stream mulighed. Du er pt. logget ind som {{email}}.",
|
||||
"enterStreamKey": "Indtast din Youtube live stream her.",
|
||||
"error": "Fejl under live streaming. Forsøg venligst igen.",
|
||||
"errorAPI": "En fejl opstod ved forsøg på at tilgå din YouTube broadcast. Forsøg venligst at logge ind igen.",
|
||||
"errorLiveStreamNotEnabled": "Live Streaming er ikke slpet til for {{email}}. Slå venligst live streaming til eller log ind på en konto der har live streaming slået til.",
|
||||
"expandedOff": "Live stream er stoppet",
|
||||
"expandedOn": "Mødet bliver pt. streamet til Youtube.",
|
||||
"expandedPending": "Live streaming starter...",
|
||||
"failedToStart": "Kunne ikke starte live streaming",
|
||||
"getStreamKeyManually": "Vi kunne ikke hente nogle live streams. Forsøg at hente din live stream nøgle fra Youtube.",
|
||||
"invalidStreamKey": "Live stream nøgle er muligvis forkert.",
|
||||
"off": "Live Streaming er stoppet",
|
||||
"offBy": "{{name}} stoppede live streaming",
|
||||
"on": "Live Streaming",
|
||||
"onBy": "{{name}} startede live streaming",
|
||||
"pending": "Starter Live Stream...",
|
||||
"serviceName": "Live Streaming service",
|
||||
"signedInAs": "Du er pt. logget ind som:",
|
||||
"signIn": "Log ind med Google",
|
||||
"signInCTA": "Log ind eller indtast din live stream nøgle fra YouTube.",
|
||||
"signOut": "Log ud",
|
||||
"start": "Start en live stream",
|
||||
"streamIdHelp": "Hvad er dette?",
|
||||
"unavailableTitle": "Live Streaming er ikke tilgængelig"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Slået fra",
|
||||
"on": "Slået til",
|
||||
"unknown": "Ukendt"
|
||||
},
|
||||
"dialogTitle": "Optage kontrolknapper",
|
||||
"duration": "Varighed",
|
||||
"durationNA": "Ikke tilgængelig",
|
||||
"encoding": "Encoding",
|
||||
"label": "Optager",
|
||||
"labelToolTip": "Optager er slået til",
|
||||
"localRecording": "Local Recording",
|
||||
"me": "Mig",
|
||||
"messages": {
|
||||
"engaged": "Optager er slået til.",
|
||||
"finished": "Optagelses session {{token}} afsluttet. Send venligst den optagede fil til moderator.",
|
||||
"finishedModerator": "Optagelses session {{token}} afsluttet. Optagelsen er gemt. Bed deltageren om at sende deres optagelser.",
|
||||
"notModerator": "Du er ikke moderator. Du kan ikke starte eller stoppe optagelser."
|
||||
},
|
||||
"moderator": "Moderator",
|
||||
"no": "Nej",
|
||||
"participant": "Deltager",
|
||||
"participantStats": "Deltager statistik",
|
||||
"sessionToken": "Sessionsnøgle",
|
||||
"start": "Start optagelse",
|
||||
"stop": "Stop optagelse",
|
||||
"yes": "Ja"
|
||||
},
|
||||
"lockRoomPassword": "adgangskode",
|
||||
"lockRoomPasswordUppercase": "Adgangskode",
|
||||
"me": "mig",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} deltager nu i mødet",
|
||||
"connectedThreePlusMembers": "{{name}} og {{count}} andre deltager nu i mødet",
|
||||
"connectedTwoMembers": "{{first}} og {{second}} deltager nu i mødet",
|
||||
"disconnected": "afbrudt",
|
||||
"focus": "Konference fokus",
|
||||
"focusFail": "{{component}} ikke tilgængelig - forsøg igen om {{ms}} sekunder",
|
||||
"grantedTo": "Moderator rettigheder er givet til {{to}}!",
|
||||
"invitedOneMember": "{{name}} er blevet inviteret",
|
||||
"invitedThreePlusMembers": "{{name}} og {{count}} andre er blevet inviteret",
|
||||
"invitedTwoMembers": "{{first}} og {{second}} er blevet inviteret",
|
||||
"kickParticipant": "{{kicked}} blev afbrudt fra mødet af {{kicker}}",
|
||||
"me": "Mig",
|
||||
"moderator": "Moderator rettigheder givet!",
|
||||
"muted": "Du har startet samtalen med lyden slået fra.",
|
||||
"mutedTitle": "Din lyd er slået fra!",
|
||||
"mutedRemotelyTitle": "Din lyd er slået fra af {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"raisedHand": "{{name}} ønsker at få ordet.",
|
||||
"somebody": "Nogen",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalExperienceDescription": "Hmmm... vi er bange for at din oplevelse med {{appName}} ikke vil være optimal. Vi arbejder på at forbedre dette, men indtil da så forsøg venligst at bruge en af følgende <a href='static/recommendedBrowsers.html' target='_blank'>fuldt understøttede internet browsere</a>.",
|
||||
"suboptimalExperienceTitle": "Browser Advarsel",
|
||||
"unmute": "",
|
||||
"newDeviceCameraTitle": "Nyt kamerat fundet",
|
||||
"newDeviceAudioTitle": "Ny lyd enhed fundet",
|
||||
"newDeviceAction": "Benyt"
|
||||
},
|
||||
"passwordSetRemotely": "sat af et andet medlem",
|
||||
"passwordDigitsOnly": "Op til {{number}} tal",
|
||||
"poweredby": "powered by",
|
||||
"presenceStatus": {
|
||||
"busy": "Optaget",
|
||||
"calling": "Ringer op...",
|
||||
"connected": "Forbundet",
|
||||
"connecting": "Forbinder...",
|
||||
"connecting2": "Forbinder*...",
|
||||
"disconnected": "Forbindelse afbrudt",
|
||||
"expired": "Udløbet",
|
||||
"ignored": "Ignoreret",
|
||||
"initializingCall": "Starter opkald...",
|
||||
"invited": "Inviteret",
|
||||
"rejected": "Afvist",
|
||||
"ringing": "Ringer..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Vælg navn/alias",
|
||||
"setEmailInput": "Indtast email",
|
||||
"setEmailLabel": "Indtast gravatar email",
|
||||
"title": "Profil"
|
||||
},
|
||||
"raisedHand": "Ønsker at tale",
|
||||
"recording": {
|
||||
"authDropboxText": "Upload til Dropbox",
|
||||
"availableSpace": "Tilgængelig plads: {{spaceLeft}} MB (plads til ca. {{duration}} minutters optagelse)",
|
||||
"beta": "BETA",
|
||||
"busy": "Der arbejdes på at frigive optagelsesresourcer. Prøv venligst igen om nogle få minutter.",
|
||||
"busyTitle": "Alle optagere er pt optaget",
|
||||
"error": "Fejl under optagelse, forsøg venligst igen om lidt.",
|
||||
"expandedOff": "Optagelse er stoppet½",
|
||||
"expandedOn": "Mødet bliver pt. optaget.",
|
||||
"expandedPending": "Optagelse starter...",
|
||||
"failedToStart": "Kunne ikke start optagelse",
|
||||
"fileSharingdescription": "Del optagelse med deltagere",
|
||||
"live": "LIVE",
|
||||
"loggedIn": "Logget ind som {{userName}}",
|
||||
"off": "Optagelse stoppet",
|
||||
"offBy": "{{name}} stoppede optagelsen",
|
||||
"on": "Optager",
|
||||
"onBy": "{{name}} startede optagelsen",
|
||||
"pending": "Gør klar til at optage mødet...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Din optagelse bliver gemt af optager servicen",
|
||||
"serviceName": "Optager service",
|
||||
"signIn": "Log ind",
|
||||
"signOut": "Log ud",
|
||||
"unavailable": "Optager service {{serviceName}} er ikke tilgængelig. Der arbejdes på at løse problemet, forsøg igen senere.",
|
||||
"unavailableTitle": "Optagelse ikke tilgængelig"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Træk ned for update"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "{{appName}}s kalenderintegration benyttes til at sikkert tilgå din kalender så den kan læse fremtidige aftaler.",
|
||||
"disconnect": "Afbryd",
|
||||
"microsoftSignIn": "Log ind med Microsoft",
|
||||
"signedIn": "Henter kalenderaftaler for {{email}}. Tryk på Afbryd knappen for at afbryde forbindelsen.",
|
||||
"title": "Kalender"
|
||||
},
|
||||
"devices": "Enheder",
|
||||
"followMe": "Alle følger mig",
|
||||
"language": "Sprog",
|
||||
"loggedIn": "Logget ind som {{name}}",
|
||||
"moderator": "Moderator",
|
||||
"more": "Mere",
|
||||
"name": "Navn",
|
||||
"noDevice": "Ingen",
|
||||
"selectAudioOutput": "Lyd udgang",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
"startAudioMuted": "Alle starter med lyden slået fra",
|
||||
"startVideoMuted": "Alle starter skjult",
|
||||
"title": "Indstillinger"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Avanceret",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Advarsel",
|
||||
"alertURLText": "Den indtastede server url er ikke korrekt",
|
||||
"buildInfoSection": "Build Information",
|
||||
"conferenceSection": "Konference",
|
||||
"disableCallIntegration": "Slå indbygget opkalds integration fra",
|
||||
"disableP2P": "Slå Peer-To-Peer fra",
|
||||
"displayName": "Navn/alias",
|
||||
"email": "Email",
|
||||
"header": "Indstillinger",
|
||||
"profileSection": "Profil",
|
||||
"serverURL": "Server URL",
|
||||
"showAdvanced": "Show advanced settings",
|
||||
"startWithAudioMuted": "Start med lyden slået fra",
|
||||
"startWithVideoMuted": "Start med video slået fra",
|
||||
"version": "Version"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nØnsker du at ringe ind fra din telefon?\n\n{{defaultDialInNumber}}Klik på dette link for at se telefonnummeret for dette møde\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Klik på det følgende link for at deltage i mødet:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Højtaler",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}t",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Navn",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Højtaler info",
|
||||
"speakerTime": "Højtaler tid"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} har brug for adgang til din mikrofon og kamera."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Forbind igen",
|
||||
"text": "Tryk på <i>Forbind igen </i> knappen for at deltage igen.",
|
||||
"title": "Dit møde blev afbrudt da din computer gik i dvale."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Tænd/sluk lyd",
|
||||
"audioRoute": "Vælg lydenhed",
|
||||
"callQuality": "Indstil møde kvalitet",
|
||||
"cc": "Slå undertekst fra/til",
|
||||
"chat": "Slå chat fra/til",
|
||||
"document": "Slå delte dokumenter fra/til",
|
||||
"download": "Hent vores apps",
|
||||
"feedback": "Giv tilbagemelding",
|
||||
"fullScreen": "Slå fuld skærm fra/til",
|
||||
"hangup": "Forlad mødet",
|
||||
"help": "Hjælp",
|
||||
"invite": "Inviter deltagere",
|
||||
"kick": "Afbryd deltager",
|
||||
"localRecording": "Slå optagekontroller fra/til",
|
||||
"lockRoom": "Slå mødeadgangskode fra/til",
|
||||
"moreActions": "Slå \"Flere indstillinger\" menu fra/til",
|
||||
"moreActionsMenu": "Flere indtstillinger",
|
||||
"moreOptions": "Show more options",
|
||||
"mute": "Slå lyd til/fra",
|
||||
"muteEveryone": "Mute everyone",
|
||||
"pip": "Slå Billede-i-billede fra/til",
|
||||
"privateMessage": "Send privat besked",
|
||||
"profile": "Redigér profil",
|
||||
"raiseHand": "Slå løft hånden fra/til",
|
||||
"recording": "Slå optagelse til/fra",
|
||||
"remoteMute": "Slå lyd fra for deltager",
|
||||
"Settings": "Slå indstillinger fra/til",
|
||||
"sharedvideo": "Slå Youtube video deling fra/til",
|
||||
"shareRoom": "Invitér nogen",
|
||||
"shareYourScreen": "Slå skærmdeling fra/til",
|
||||
"shortcuts": "Slå genveje fra/til",
|
||||
"show": "Vis",
|
||||
"speakerStats": "Slå højtaler info fra/til",
|
||||
"tileView": "Slå tileview fra/til",
|
||||
"toggleCamera": "Slå kamera fra/til",
|
||||
"videomute": "Slå video fra/til",
|
||||
"videoblur": "Slå baggrundsløring fra/til"
|
||||
},
|
||||
"addPeople": "Tilføj deltager til mødet",
|
||||
"audioOnlyOff": "Slå kun-lyd møder fra",
|
||||
"audioOnlyOn": "Slå kun-lyd møder til",
|
||||
"audioRoute": "Vælg lydenhed",
|
||||
"authenticate": "Log ind",
|
||||
"callQuality": "Indstil møde kvalitet",
|
||||
"chat": "Åben / Luk chat",
|
||||
"closeChat": "Luk chat",
|
||||
"documentClose": "Luk delt dokument",
|
||||
"documentOpen": "Åben delt dokument",
|
||||
"download": "Hent vores apps",
|
||||
"enterFullScreen": "Vis fuld skærm",
|
||||
"enterTileView": "Tileview",
|
||||
"exitFullScreen": "Luk fuld skærm",
|
||||
"exitTileView": "Luk Tileview",
|
||||
"feedback": "Giv tilbagemeldign",
|
||||
"hangup": "Forlad",
|
||||
"help": "Hjælp",
|
||||
"invite": "Invitér deltagere",
|
||||
"login": "Log ind",
|
||||
"logout": "Log ud",
|
||||
"lowerYourHand": "Ta hånden ned",
|
||||
"moreActions": "Flere handlinger",
|
||||
"moreOptions": "Flere indstillinger",
|
||||
"mute": "Slå lyd fra / Slå lyd til",
|
||||
"muteEveryone": "Slå lyd fra for alle",
|
||||
"noAudioSignalTitle": "Der kommer ingen input fra din mikrofon!",
|
||||
"noAudioSignalDesc": "Hvis du ikke med vilje har slået den fra under systemindstillinger eller hardware, kan du overveje at skifte enhed.",
|
||||
"noAudioSignalDescSuggestion": "Hvis du ikke med vilje har slået den fra under systemindstillinger eller hardware, skal du overveje at skifte til den foreslåede enhed.",
|
||||
"noAudioSignalDialInDesc": "Du kan også ringe op ved hjælp af:",
|
||||
"noAudioSignalDialInLinkDesc": "Opkaldsnumre",
|
||||
"noisyAudioInputTitle": "Det lyder som om din mikrofon laver støj!",
|
||||
"noisyAudioInputDesc": "Det lyder som om din mikrofon laver støj. Overvej venligst at slå lyden fra eller skifte enhed.",
|
||||
"openChat": "Åben chat",
|
||||
"pip": "Benyt Billede-i-billede",
|
||||
"privateMessage": "Send private message",
|
||||
"profile": "Rediger profil",
|
||||
"raiseHand": "Ræk hånden op / Tag hånden ned",
|
||||
"raiseYourHand": "Ræk hånden op",
|
||||
"Settings": "Indstillinger",
|
||||
"sharedvideo": "Del en Youtube video",
|
||||
"shareRoom": "Invitér deltagere",
|
||||
"shortcuts": "Vis genveje",
|
||||
"speakerStats": "Højtaler info",
|
||||
"startScreenSharing": "Start skærmdeling",
|
||||
"startSubtitles": "Vis undertekster",
|
||||
"stopScreenSharing": "Stop skærmdeling",
|
||||
"stopSubtitles": "Skjul undertekster",
|
||||
"stopSharedVideo": "Stop YouTube video",
|
||||
"talkWhileMutedPopup": "Forsøger du at sige noget? Din lyd er slået fra.",
|
||||
"tileViewToggle": "Slå tileview fra/til",
|
||||
"toggleCamera": "Slå kamera fra/til",
|
||||
"videomute": "Start / Stop kamera",
|
||||
"startvideoblur": "Slå baggrundssløring til",
|
||||
"stopvideoblur": "Slå baggrundssløring fra"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Start / Stop undertekster",
|
||||
"error": "Transkription mislykkedes. Prøv venligst igen.",
|
||||
"expandLabel": "Transkription er i øjeblikket tændt",
|
||||
"failedToStart": "Transkription kunne ikke starte",
|
||||
"labelToolTip": "Mødet transkriberes",
|
||||
"off": "Transkription stoppet",
|
||||
"pending": "Forbereder sig til at transkribere mødet ...",
|
||||
"start": "Begynd at vise undertekster",
|
||||
"stop": "Stop med at få vist undertekster",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser.",
|
||||
"chromeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser.",
|
||||
"edgeGrantPermissions": "Vælg <b><i>Ja</i> </b>, når din browser beder om tilladelser.",
|
||||
"electronGrantPermissions": "Giv tilladelse til at bruge dit kamera og din mikrofon",
|
||||
"firefoxGrantPermissions": "Vælg <b> <i> Del valgt enhed </i> </b>, når din browser beder om tilladelser.",
|
||||
"iexplorerGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser.",
|
||||
"nwjsGrantPermissions": "Giv tilladelse til at bruge dit kamera og din mikrofon",
|
||||
"operaGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser.",
|
||||
"react-nativeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser.",
|
||||
"safariGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Vi arbejder på at frigøre ressourcer. Prøv igen om et par minutter.",
|
||||
"busyTitle": "Mødeservice er i øjeblikket optaget",
|
||||
"errorAlreadyInvited": "{{displayName}} allerede inviteret",
|
||||
"errorInvite": "Mødet er endnu ikke etableret. Prøv igen senere.",
|
||||
"errorInviteFailed": "Vi arbejder på at løse problemet. Prøv igen senere.",
|
||||
"errorInviteFailedTitle": "Inviterer {{displayName}} mislykkedes",
|
||||
"errorInviteTitle": "Fejl ved indbydelse til møde",
|
||||
"pending": "{{displayName}} er blevet inviteret"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Du er i kun-lyd tilstand. Denne tilstand sparrer båndbredde, men du kan ikke se andres video.",
|
||||
"callQuality": "Opkaldskvalitet",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Viser HD video",
|
||||
"highDefinition": "Høj opløsning",
|
||||
"labelTooiltipNoVideo": "Ingen video",
|
||||
"labelTooltipAudioOnly": "Tilstand kun-lyd er slået til",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Viser lav opløsnings video",
|
||||
"lowDefinition": "Lav opløsning",
|
||||
"onlyAudioAvailable": "Kun-lyd er tilgængelig",
|
||||
"onlyAudioSupported": "Vi understøtter kun-lyd i denne browser.",
|
||||
"p2pEnabled": "Peer to Peer slået til",
|
||||
"p2pVideoQualityDescription": "I peer-to-peer tilstand kan den modtagne opkaldskvalitet kun skiftes mellem høj og kun-lyd. Andre indstillinger vil ikke virke, før peer to peer er afsluttet.",
|
||||
"recHighDefinitionOnly": "Foretrækker høj opløsning.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Vider normal opløsnings video",
|
||||
"standardDefinition": "Standard opløsning"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Slå lyd fra",
|
||||
"domuteOthers": "Slå lyd fra for alle andre",
|
||||
"flip": "Flip",
|
||||
"kick": "Afbryd",
|
||||
"moderator": "Moderator",
|
||||
"mute": "Medlemmets lyd er slået fra",
|
||||
"muted": "Lyd slået fra",
|
||||
"remoteControl": "Fjernbetjening",
|
||||
"show": "",
|
||||
"videomute": "Deltageren har stoppet kameraet"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tryk for at deltage",
|
||||
"roomname": "Skriv møde navn"
|
||||
},
|
||||
"appDescription": "Chat med hele dit team eller inviter alle du kender. {{app}} er en fuldt krypteret, 100% open source videokonference løsning som du kan bruge hele dagen, hver dag, gratis - uden at du behøver en konto. ",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Lyd",
|
||||
"video": "Video"
|
||||
},
|
||||
"calendar": "Kalender",
|
||||
"connectCalendarButton": "Forbind til din kalender",
|
||||
"connectCalendarText": "",
|
||||
"enterRoomTitle": "Start et nyt møde",
|
||||
"go": "Start",
|
||||
"join": "Deltag",
|
||||
"info": "Info",
|
||||
"privacy": "Privatliv",
|
||||
"recentList": "Seneste",
|
||||
"recentListDelete": "Slet",
|
||||
"recentListEmpty": "Din seneste liste er i øjeblikket tom. Chat med dit team, og du finder alle dine seneste møder her.",
|
||||
"reducedUIText": "",
|
||||
"roomname": "Indtast mødenavn",
|
||||
"roomnameHint": "Indtast mødenavnet, du vil deltage i.",
|
||||
"sendFeedback": "Giv tilbagemelding",
|
||||
"betingelser": "Betingelser",
|
||||
"title": "Skærmbesøg & videomøder"
|
||||
}
|
||||
}
|
||||
@@ -20,39 +20,49 @@
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Kopfhörer",
|
||||
"phone": "Telefon",
|
||||
"speaker": "Sprecher"
|
||||
"phone": "Hörer",
|
||||
"speaker": "Lautsprecher",
|
||||
"none": "Keine Audiogeräte verfügbar"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Nur Audio"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Meeting-Link hinzufügen",
|
||||
"confirmAddLink": "Wollen Sie einen Jitsi-Link zu dieser Veranstaltung hinzufügen?",
|
||||
"confirmAddLink": "Wollen Sie einen Jitsi-Link zu diesem Termin hinzufügen?",
|
||||
"error": {
|
||||
"appConfiguration": "Kalenderintegration ist nicht richtig konfiguriert.",
|
||||
"generic": "Ein Fehler ist aufgetreten. Prüfen Sie Ihre Kalendereinstellungen oder versuchen Sie, den Kalender zu aktualisieren.",
|
||||
"notSignedIn": "Ein Fehler ist während der Authentifizierung zur Anzeige von Kalendererveranstaltungen aufgetreten. Prüfen Sie Ihre Kalendereinstellungen oder versuchen Sie, sich erneut anzumelden."
|
||||
"notSignedIn": "Ein Fehler ist während der Authentifizierung zur Anzeige von Kalenderertermine aufgetreten. Prüfen Sie Ihre Kalendereinstellungen oder versuchen Sie, sich erneut anzumelden."
|
||||
},
|
||||
"join": "Teilnehmen",
|
||||
"joinTooltip": "Am Meeting teilnehmen",
|
||||
"nextMeeting": "Nächste Konferenz",
|
||||
"noEvents": "Es sind keine bevorstehenden Veranstaltungen geplant.",
|
||||
"noEvents": "Es gibt keine bevorstehenden Termine.",
|
||||
"ongoingMeeting": "Laufendes Meeting",
|
||||
"permissionButton": "Einstellungen öffnen",
|
||||
"permissionMessage": "Die App benötigt Zugriff auf den Kalender um die Termine und Konferenzen anzuzeigen.",
|
||||
"permissionMessage": "Die App benötigt Zugriff auf den Kalender, um Termine und Konferenzen anzuzeigen.",
|
||||
"refresh": "Kalender aktualisieren",
|
||||
"today": "Heute"
|
||||
},
|
||||
"\u0005calendarSync": {},
|
||||
"chat": {
|
||||
"error": "",
|
||||
"error": "Fehler: Ihre Nachricht wurde nicht versendet. Grund: {{error}}",
|
||||
"fieldPlaceHolder": "Geben Sie Ihre Nachricht hier ein",
|
||||
"messagebox": "Nachricht eingeben",
|
||||
"messageTo": "Private Nachricht an {{recipient}}",
|
||||
"noMessagesMessage": "Es gibt noch keine Nachricht in dieser Konferenz. Starten Sie hier eine Unterhaltung!",
|
||||
"nickname": {
|
||||
"popover": "Name",
|
||||
"title": "Geben Sie einen Alias zum Chatten ein"
|
||||
},
|
||||
"title": "Chatten"
|
||||
"privateNotice": "Private Nachricht an {{recipient}}",
|
||||
"title": "Chatten",
|
||||
"you": "Sie"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Installieren Sie die Erweiterung für die Integration von Google Calendar und Office 365",
|
||||
"buttonText": "Chrome-Erweiterung installieren",
|
||||
"dontShowAgain": "Hinweis nicht mehr anzeigen"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Eine Verbindung zu Ihrem Meeting wird hergestellt…"
|
||||
@@ -67,7 +77,10 @@
|
||||
"DISCONNECTED": "Getrennt",
|
||||
"DISCONNECTING": "Verbindung wird getrennt",
|
||||
"ERROR": "Fehler",
|
||||
"RECONNECTING": "Es ist ein Netzwerkproblem aufgetreten. Verbinde..."
|
||||
"FETCH_SESSION_ID": "Sitzungs-ID erhalten...",
|
||||
"GET_SESSION_ID_ERROR": "Sitzungs-ID-Fehler erhalten: {{code}}",
|
||||
"GOT_SESSION_ID": "Sitzungs-ID erhalten... Beendet",
|
||||
"LOW_BANDWIDTH": "Video für {{displayName}} wurde ausgeschaltet, um Bandbreite einzusparen"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adresse:",
|
||||
@@ -75,6 +88,7 @@
|
||||
"bitrate": "Bitrate:",
|
||||
"bridgeCount": "Serverzahl: ",
|
||||
"connectedTo": "Verbunden mit:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Bildwiederholrate:",
|
||||
"less": "Weniger anzeigen",
|
||||
"localaddress": "Lokale Adresse:",
|
||||
@@ -97,7 +111,7 @@
|
||||
"resolution": "Auflösung:",
|
||||
"status": "Verbindung:",
|
||||
"transport": "Protokoll:",
|
||||
"turn": " (TURN)"
|
||||
"transport_plural": "Protokolle:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Früher",
|
||||
@@ -105,9 +119,9 @@
|
||||
"yesterday": "Gestern"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Sie benötigen die {{app}} App um der Konferenz auf dem Smartphone beizutreten.",
|
||||
"description": "Nichts passiert? Wir haben versucht die Konferenz in {{app}} zu öffnen. Versuchen Sie es erneut oder treten Sie der Konferenz in {{app}} im Web bei.",
|
||||
"descriptionWithoutWeb": "",
|
||||
"appNotInstalled": "Sie benötigen die „{{app}}“-App, um der Konferenz auf dem Smartphone beizutreten.",
|
||||
"description": "Nichts passiert? Wir haben versucht, die Konferenz in {{app}} zu öffnen. Versuchen Sie es erneut oder treten Sie der Konferenz in {{app}} im Web bei.",
|
||||
"descriptionWithoutWeb": "Ist nichts passiert? Wir haben versucht, Ihre Besprechung in der „{{{app}}}“-Desktop-App zu starten.",
|
||||
"downloadApp": "App herunterladen",
|
||||
"launchWebButton": "Im Web öffnen",
|
||||
"openApp": "In der App fortfahren",
|
||||
@@ -115,6 +129,7 @@
|
||||
"tryAgainButton": "Erneut mit der nativen Applikation versuchen"
|
||||
},
|
||||
"defaultLink": "Bsp.: {{url}}",
|
||||
"defaultNickname": "Z.B. Jane Pink",
|
||||
"deviceError": {
|
||||
"cameraError": "Fehler beim Zugriff auf die Kamera",
|
||||
"cameraPermission": "Fehler beim Bezug der Kamera-Zugriffsberechtigungen",
|
||||
@@ -132,19 +147,19 @@
|
||||
"liveStreaming": "Livestream:"
|
||||
},
|
||||
"allow": "Erlauben",
|
||||
"alreadySharedVideoMsg": "",
|
||||
"alreadySharedVideoMsg": "Ein anderer Teilnehmer gibt bereits ein Video weiter. Bei dieser Konferenz ist jeweils nur ein geteiltes Video möglich.",
|
||||
"alreadySharedVideoTitle": "Nur ein geteiltes Video gleichzeitig",
|
||||
"applicationWindow": "Anwendungsfenster",
|
||||
"Back": "Zurück",
|
||||
"cameraConstraintFailedError": "Ihre Kamera erfüllt die notwendigen Anforderungen nicht.",
|
||||
"cameraNotFoundError": "Kamera nicht gefunden.",
|
||||
"cameraNotSendingData": "Die Kamera ist nicht verfügbar. Bitte prüfen ob eine andere Applikation die Kamera verwendet, eine andere Kamera vom Einstellungs-Menu auswählen oder die Applikation neu laden.",
|
||||
"cameraNotSendingData": "Die Kamera ist nicht verfügbar. Bitte prüfen, ob eine andere Applikation die Kamera verwendet, eine andere Kamera vom Einstellungs-Menü auswählen oder die Applikation neu laden.",
|
||||
"cameraNotSendingDataTitle": "Zugriff auf Kamera nicht möglich",
|
||||
"cameraPermissionDeniedError": "Die Berechtigung zur Verwendung der Kamera wurde nicht erteilt. Sie können trotzdem an der Konferenz teilnehmen, aber die anderen Teilnehmer können Sie nicht sehen. Verwenden Sie die Kamera-Schaltfläche in der Adressleiste um die Berechtigungen zu erteilen.",
|
||||
"cameraUnknownError": "Die Kamera kann aus einem unbekannten Grund nicht verwendet werden.",
|
||||
"cameraUnsupportedResolutionError": "Die Kamera unterstützt die erforderliche Auflösung nicht.",
|
||||
"Cancel": "Abbrechen",
|
||||
"close": "Schliessen",
|
||||
"close": "Schließen",
|
||||
"conferenceDisconnectMsg": "Prüfen Sie allenfalls Ihre Netzwerkverbindung. Verbinde in {{seconds}} Sekunden...",
|
||||
"conferenceDisconnectTitle": "Ihre Verbindung ist getrennt worden.",
|
||||
"conferenceReloadMsg": "Wir versuchen das zu beheben. Verbinde in {{seconds}} Sekunden...",
|
||||
@@ -158,67 +173,73 @@
|
||||
"contactSupport": "Support kontaktieren",
|
||||
"copy": "Kopieren",
|
||||
"dismiss": "OK",
|
||||
"displayNameRequired": "",
|
||||
"displayNameRequired": "Hallo! Wie ist Ihr Name?",
|
||||
"done": "Fertig",
|
||||
"enterDisplayName": "",
|
||||
"enterDisplayName": "Bitte geben Sie hier Ihren Namen ein",
|
||||
"error": "Fehler",
|
||||
"externalInstallationMsg": "Die Bildschirmfreigabeerweiterung muss installiert werden.",
|
||||
"externalInstallationMsg": "Die Bildschirmfreigabe-Erweiterung muss installiert werden.",
|
||||
"externalInstallationTitle": "Erweiterung erforderlich",
|
||||
"goToStore": "Zum Store",
|
||||
"gracefulShutdown": "Der Dienst steht momentan wegen Wartungsarbeiten nicht zur Verfügung. Bitte versuchen Sie es später noch einmal.",
|
||||
"IamHost": "Ich bin der Organisator",
|
||||
"incorrectRoomLockPassword": "",
|
||||
"incorrectRoomLockPassword": "Falsches Passwort",
|
||||
"incorrectPassword": "Benutzername oder Passwort ungültig",
|
||||
"inlineInstallationMsg": "Die Bildschirmfreigabeerweiterung muss installiert werden.",
|
||||
"inlineInstallationMsg": "Die Bildschirmfreigabe-Erweiterung muss installiert werden.",
|
||||
"inlineInstallExtension": "Jetzt installieren",
|
||||
"internalError": "Oh! Es hat etwas nicht funktioniert. Der folgende Fehler ist aufgetreten: {{error}}",
|
||||
"internalErrorTitle": "Interner Fehler",
|
||||
"kickMessage": "",
|
||||
"kickMessage": "Sie können sich für weitere Einzelheiten an {{participantDisplayName}}} wenden.",
|
||||
"kickParticipantButton": "Entfernen",
|
||||
"kickParticipantDialog": "Wollen Sie diesen Teilnehmer wirklich entfernen?",
|
||||
"kickParticipantTitle": "Teilnehmer stummschalten?",
|
||||
"kickTitle": "",
|
||||
"liveStreaming": "Live-Streaming",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gäste können kein Live-Streaming starten.",
|
||||
"liveStreamingDisabledTooltip": "Starten des Live-Streams deaktiviert.",
|
||||
"kickTitle": "Autsch! {{participantDisplayName}} hat Sie aus dem Meeting geworfen.",
|
||||
"liveStreaming": "Livestreaming",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gäste können kein Livestreaming starten.",
|
||||
"liveStreamingDisabledTooltip": "Starten des Livestreams deaktiviert.",
|
||||
"lockMessage": "Die Konferenz konnte nicht gesperrt werden.",
|
||||
"lockRoom": "",
|
||||
"lockRoom": "Meeting $t(lockRoomPasswordUppercase) hinzufügen",
|
||||
"lockTitle": "Sperren fehlgeschlagen",
|
||||
"logoutQuestion": "Sind Sie sicher, dass Sie sich abmelden und die Konferenz verlassen möchten?",
|
||||
"logoutTitle": "Abmelden",
|
||||
"maxUsersLimitReached": "",
|
||||
"maxUsersLimitReachedTitle": "",
|
||||
"maxUsersLimitReached": "Das Limit für die maximale Teilnehmerzahl ist erreicht. Die Konferenz ist voll. Bitte wenden Sie sich an den Besitzer des Meetings oder versuchen Sie es später noch einmal!",
|
||||
"maxUsersLimitReachedTitle": "Maximales Teilnehmerlimit erreicht",
|
||||
"micConstraintFailedError": "Ihr Mikrofon erfüllt die notwendigen Anforderungen nicht.",
|
||||
"micNotFoundError": "Mikrofon nicht gefunden.",
|
||||
"micNotSendingData": "",
|
||||
"micNotSendingDataTitle": "",
|
||||
"micNotSendingData": "Gehen Sie zu den Einstellungen Ihres Computers, um die Stummschaltung Ihres Mikrofons aufzuheben und seinen Pegel einzustellen.",
|
||||
"micNotSendingDataTitle": "Ihr Mikrofon ist durch Ihre Systemeinstellungen stumm geschaltet.",
|
||||
"micPermissionDeniedError": "Die Berechtigung zur Verwendung des Mikrofons wurde nicht erteilt. Sie können trotzdem an der Konferenz teilnehmen, aber die anderen Teilnehmer können Sie nicht hören. Verwenden Sie die Kamera-Schaltfläche in der Adressleiste um die Berechtigungen zu erteilen.",
|
||||
"micUnknownError": "Das Mikrofon kann aus einem unbekannten Grund nicht verwendet werden.",
|
||||
"muteEveryoneElseDialog": "Einmal stummgeschaltet, können Sie deren Stummschaltung nicht mehr beenden, aber sie können ihre Stummschaltung jederzeit selbst beenden.",
|
||||
"muteEveryoneElseTitle": "Alle außer {{whom}} stummschaten?",
|
||||
"muteEveryoneDialog": "Wollen Sie wirklich alle stummschalten? Sie können deren Stummschaltung nicht mehr beenden, aber sie können ihre Stummschaltung jederzeit selbst beenden.",
|
||||
"muteEveryoneTitle": "Alle stummschalten?",
|
||||
"muteEveryoneSelf": "sich selbst",
|
||||
"muteEveryoneStartMuted": "Alle beginnen von jetzt an stummgeschaltet",
|
||||
"muteParticipantBody": "Sie können die Stummschaltung anderer Teilnehmer nicht aufheben, aber ein Teilnehmer kann seine eigene Stummschaltung jederzeit beenden.",
|
||||
"muteParticipantButton": "Stummschalten",
|
||||
"muteParticipantDialog": "Wollen Sie diesen Teilnehmer wirklich stummschalten? Sie können die Stummschaltung nicht wieder aufheben, der Teilnehmer kann dies aber jederzeit selbst tun.",
|
||||
"muteParticipantTitle": "Teilnehmer stummschalten?",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Setzen eines Konferenz-Passworts ist nicht unterstützt",
|
||||
"passwordNotSupportedTitle": "",
|
||||
"passwordRequired": "",
|
||||
"popupError": "Ihr Browser blockiert Popups von dieser Website. Bitte aktivieren Sie Popups in den Sicherheitseinstellungen des Browsers und versuchen Sie es erneut.",
|
||||
"popupErrorTitle": "Popup blockiert",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) nicht unterstützt",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) erforderlich",
|
||||
"popupError": "Ihr Browser blockiert Pop-ups von dieser Website. Bitte aktivieren Sie Pop-ups in den Sicherheitseinstellungen des Browsers und versuchen Sie es erneut.",
|
||||
"popupErrorTitle": "Pop-up blockiert",
|
||||
"recording": "Aufnahme",
|
||||
"recordingDisabledForGuestTooltip": "Gäste können kein Aufzeichnungen starten.",
|
||||
"recordingDisabledForGuestTooltip": "Gäste können keine Aufzeichnungen starten.",
|
||||
"recordingDisabledTooltip": "Start der Aufzeichnung deaktiviert.",
|
||||
"rejoinNow": "Jetzt erneut beitreten",
|
||||
"remoteControlAllowedMessage": "{{user}} hat die Anfrage zur Fernsteuerung angenommen.",
|
||||
"remoteControlDeniedMessage": "{{user}} hat die Anfrage zur Fernsteuerung verweigert.",
|
||||
"remoteControlErrorMessage": "Beim Anfordern der Fernsteuerungsberechtigung von {{user}} ist ein Fehler aufgetreten.",
|
||||
"remoteControlRequestMessage": "Möchten Sie {{user}} erlauben den Computer fernzusteuern?",
|
||||
"remoteControlShareScreenWarning": "Achtung, wenn Sie die Anfrage genehmigen starten Sie die Bildschirmfreigabe!",
|
||||
"remoteControlRequestMessage": "Möchten Sie {{user}} erlauben, den Computer fernzusteuern?",
|
||||
"remoteControlShareScreenWarning": "Achtung, wenn Sie die Anfrage genehmigen, starten Sie die Bildschirmfreigabe!",
|
||||
"remoteControlStopMessage": "Die Fernsteuerung wurde beendet.",
|
||||
"remoteControlTitle": "Fernsteuerung",
|
||||
"Remove": "Entfernen",
|
||||
"removePassword": "",
|
||||
"removeSharedVideoMsg": "Sind Sie sicher dass Sie das geteilte Video entfernen möchten?",
|
||||
"removePassword": "$t(lockRoomPassword) entfernen",
|
||||
"removeSharedVideoMsg": "Sind Sie sicher, dass Sie das geteilte Video entfernen möchten?",
|
||||
"removeSharedVideoTitle": "Freigegebenes Video entfernen",
|
||||
"reservationError": "Fehler im Reservationssystem",
|
||||
"reservationErrorMsg": "Fehler, Nummer: {{code}}, Nachricht: {{msg}}",
|
||||
@@ -228,6 +249,10 @@
|
||||
"screenSharingFirefoxPermissionDeniedError": "Die Bildschirmfreigabe ist leider fehlgeschlagen. Bitte stellen Sie sicher, dass die Berechtigung für die Bildschirmfreigabe im Browser erteilt wurde.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Die Bildschirmfreigabe konnte nicht gestartet werden.",
|
||||
"screenSharingPermissionDeniedError": "Oh! Beim Anfordern der Bildschirmfreigabe-Berechtigungen hat etwas nicht funktioniert. Bitte aktualisieren und erneut versuchen.",
|
||||
"sendPrivateMessage": "Sie haben kürzlich eine private Nachricht erhalten. Hatten Sie die Absicht, darauf privat zu antworten, oder wollen Sie Ihre Nachricht an die Gruppe senden?",
|
||||
"sendPrivateMessageCancel": "An die Gruppe senden",
|
||||
"sendPrivateMessageOk": "Privat antworten",
|
||||
"sendPrivateMessageTitle": "Privat antworten?",
|
||||
"serviceUnavailable": "Dienst nicht verfügbar",
|
||||
"sessTerminated": "Konferenz beendet",
|
||||
"Share": "Teilen",
|
||||
@@ -239,33 +264,33 @@
|
||||
"startLiveStreaming": "Einen Livestream starten",
|
||||
"startRecording": "Aufnahme starten",
|
||||
"startRemoteControlErrorMessage": "Beim Versuch die Fernsteuerung zu starten ist ein Fehler aufgetreten.",
|
||||
"stopLiveStreaming": "Live-Streaming stoppen",
|
||||
"stopLiveStreaming": "Livestreaming stoppen",
|
||||
"stopRecording": "Aufnahme stoppen",
|
||||
"stopRecordingWarning": "Sind Sie sicher dass Sie die Aufnahme stoppen möchten?",
|
||||
"stopStreamingWarning": "Sind Sie sicher dass Sie das Live-Streaming stoppen möchten?",
|
||||
"stopRecordingWarning": "Sind Sie sicher, dass Sie die Aufnahme stoppen möchten?",
|
||||
"stopStreamingWarning": "Sind Sie sicher, dass Sie das Livestreaming stoppen möchten?",
|
||||
"streamKey": "Name/Schlüssel für den Stream",
|
||||
"Submit": "OK",
|
||||
"thankYou": "Danke für die Verwendung von {{appName}}!",
|
||||
"token": "Token",
|
||||
"tokenAuthFailed": "Sie sind nicht berechtigt dieser Konferenz beizutreten.",
|
||||
"tokenAuthFailed": "Sie sind nicht berechtigt, dieser Konferenz beizutreten.",
|
||||
"tokenAuthFailedTitle": "Authentifizierung fehlgeschlagen",
|
||||
"transcribing": "Wird transkribiert",
|
||||
"unlockRoom": "",
|
||||
"unlockRoom": "Meeting $t(lockRoomPassword) entfernen",
|
||||
"userPassword": "Benutzerpasswort",
|
||||
"WaitForHostMsg": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Veranstalter sind, authentifizieren Sie sich. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitForHostMsgWOk": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Veranstalter sind, drücken Sie zum Authentifizieren auf OK. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitForHostMsg": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, authentifizieren Sie sich. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitForHostMsgWOk": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Wenn Sie der Organisator sind, drücken Sie zum Authentifizieren auf OK. Warten Sie andernfalls, bis der Veranstalter erscheint.",
|
||||
"WaitingForHost": "Warten auf den Organisator...",
|
||||
"Yes": "Ja",
|
||||
"yourEntireScreen": "Ganzer Bildschirm"
|
||||
},
|
||||
"\u0005dialog": {
|
||||
"accessibilityLabel": {}
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "ist jetzt {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Freigegebenes Dokument"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Durschnittlich",
|
||||
"average": "Durchschnittlich",
|
||||
"bad": "Schlecht",
|
||||
"detailsLabel": "Sagen Sie uns mehr dazu.",
|
||||
"good": "Gut",
|
||||
@@ -282,11 +307,11 @@
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Informationen anzeigen",
|
||||
"addPassword": "",
|
||||
"cancelPassword": "",
|
||||
"addPassword": "$t(lockRoomPassword) hinzufügen",
|
||||
"cancelPassword": "$t(lockRoomPassword) löschen",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "Land",
|
||||
"dialANumber": "Um am Metting teilzunehmen, müssen Sie eine dieser Nummern wählen und dann die PIN eingeben.",
|
||||
"dialANumber": "Um am Meeting teilzunehmen, müssen Sie eine dieser Nummern wählen und dann die PIN eingeben.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Entschuldigung, leider wird das Einwählen derzeit nicht unterstützt.",
|
||||
"dialInNumber": "Einwählen:",
|
||||
@@ -294,18 +319,18 @@
|
||||
"dialInTollFree": "Gebührenfrei",
|
||||
"genericError": "Es ist leider etwas schiefgegangen.",
|
||||
"inviteLiveStream": "Klicken Sie auf {{url}} um den Livestream dieser Konferenz zu öffnen",
|
||||
"invitePhone": "",
|
||||
"invitePhoneAlternatives": "",
|
||||
"invitePhone": "Wenn Sie stattdessen per Telefon beitreten möchten, tippen Sie hier: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Suche nach einer anderen Einwahlnummer?\nMeetings-Einwahlnummern sehen: {{{url}}\n\n\n\nWenn Sie sich auch über ein Raumtelefon einwählen, nehmen Sie teil, ohne sich mit dem Ton zu verbinden: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Sie wurden zur Teilnahme an einem Meeting eingeladen.",
|
||||
"inviteURLFirstPartPersonal": "",
|
||||
"inviteURLSecondPart": "",
|
||||
"inviteURLFirstPartPersonal": "{{name}} lädt Sie zu einem Meeting ein.\n",
|
||||
"inviteURLSecondPart": "\nAm Meeting teilnehmen:\n{{url}}\n",
|
||||
"liveStreamURL": "Livestream:",
|
||||
"moreNumbers": "Weitere Telefonnummern",
|
||||
"noNumbers": "Keine Telefonnummern verfügbar.",
|
||||
"noPassword": "Kein",
|
||||
"noRoom": "Keine Konferenz für die Einwähl-Informationen angegeben.",
|
||||
"numbers": "Einwählnummern",
|
||||
"password": "",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Teilen",
|
||||
"tooltip": "Freigabe-Link und Einwählinformationen für dieses Meeting",
|
||||
"label": "Meeting-Informationen"
|
||||
@@ -322,7 +347,7 @@
|
||||
"msg": "Es ist ein Fehler aufgetreten.",
|
||||
"retry": "Erneut versuchen",
|
||||
"support": "Support",
|
||||
"supportMsg": "Wenn der Fehler erneut auftritt, bitte kontaktieren sie"
|
||||
"supportMsg": "Wenn der Fehler erneut auftritt, bitte kontaktieren Sie"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Lokales Video fokussieren",
|
||||
@@ -331,45 +356,46 @@
|
||||
"keyboardShortcuts": "Tastenkürzel",
|
||||
"localRecording": "Lokale Aufzeichnungssteuerelemente ein- oder ausblenden",
|
||||
"mute": "Stummschaltung aktivieren oder deaktivieren",
|
||||
"pushToTalk": "Drücken um zu sprechen",
|
||||
"pushToTalk": "Push-to-Talk (Sprechtaste)",
|
||||
"raiseHand": "Hand erheben",
|
||||
"showSpeakerStats": "Statistiken für Sprecher anzeigen",
|
||||
"toggleChat": "Chat öffnen oder schliessen",
|
||||
"toggleChat": "Chat öffnen oder schließen",
|
||||
"toggleFilmstrip": "Video-Miniaturansichten ein- oder ausblenden",
|
||||
"toggleScreensharing": "Zwischen Kamera und Bildschirmfreigabe wechseln",
|
||||
"toggleShortcuts": "Tastenkombinationen ein- oder ausblenden",
|
||||
"videoMute": "Kamera starten oder stoppen"
|
||||
"videoMute": "Kamera starten oder stoppen",
|
||||
"videoQuality": "Anrufqualität verwalten"
|
||||
},
|
||||
"\u0005keyboardShortcuts": {},
|
||||
"liveStreaming": {
|
||||
"busy": "Es werden Resourcen zum Streamen bereitgestellt. Bitte in ein paar Minuten erneut versuchen.",
|
||||
"busyTitle": "Alle Streaming-Instanzen sind in Gebrauch",
|
||||
"changeSignIn": "Konten wechseln.",
|
||||
"choose": "Live stream auswählen",
|
||||
"choose": "Livestream auswählen",
|
||||
"chooseCTA": "Streaming-Option auswählen. Sie sind aktuell als {{email}} angemeldet.",
|
||||
"enterStreamKey": "Name/Schlüssel für den YouTube Livestream hier eingeben.",
|
||||
"error": "Das Live-Streaming ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"errorAPI": "Beim abrufen der YouTube Livestreams ist ein Fehler aufgetreten. Bitte versuchen Sie sich erneut anzumelden.",
|
||||
"errorLiveStreamNotEnabled": "Live-Streaming ist für {{email}} nicht aktiviert. Aktivieren Sie das Live-Streaming oder melden Sie sich bei einem Konto mit aktiviertem Live-Streaming an.",
|
||||
"expandedOff": "Live-Streaming wurde angehalten",
|
||||
"enterStreamKey": "Name/Schlüssel für den YouTube-Livestream hier eingeben.",
|
||||
"error": "Das Livestreaming ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"errorAPI": "Beim Abrufen der YouTube-Livestreams ist ein Fehler aufgetreten. Bitte versuchen Sie, sich erneut anzumelden.",
|
||||
"errorLiveStreamNotEnabled": "Livestreaming ist für {{email}} nicht aktiviert. Aktivieren Sie das Livestreaming oder melden Sie sich bei einem Konto mit aktiviertem Livestreaming an.",
|
||||
"expandedOff": "Livestreaming wurde angehalten",
|
||||
"expandedOn": "Das Meeting wird momentan an YouTube gestreamt.",
|
||||
"expandedPending": "Live-Streaming wird gestartet...",
|
||||
"failedToStart": "Live-Streaming konnte nicht gestartet werden",
|
||||
"getStreamKeyManually": "",
|
||||
"invalidStreamKey": "Der Live-Stream-Schlüssel ist u. U. falsch.",
|
||||
"off": "Live-Streaming gestoppt",
|
||||
"on": "Live-Streaming",
|
||||
"pending": "Live-Stream wird gestartet...",
|
||||
"serviceName": "Live Streaming-Dienst",
|
||||
"expandedPending": "Livestreaming wird gestartet...",
|
||||
"failedToStart": "Livestreaming konnte nicht gestartet werden",
|
||||
"getStreamKeyManually": "Wir waren nicht in der Lage, Livestreams abzurufen. Versuchen Sie, Ihren Livestream-Schlüssel von YouTube zu erhalten.",
|
||||
"invalidStreamKey": "Der Livestream-Schlüssel ist u. U. falsch.",
|
||||
"off": "Livestreaming gestoppt",
|
||||
"offBy": "{{name}} stoppte das Livestreaming",
|
||||
"on": "Livestreaming",
|
||||
"onBy": "{{name}} startete das Livestreaming",
|
||||
"pending": "Livestream wird gestartet...",
|
||||
"serviceName": "Livestreaming-Dienst",
|
||||
"signedInAs": "Sie sind derzeit angemeldet als:",
|
||||
"signIn": "Mit Google anmelden",
|
||||
"signInCTA": "Anmelden oder den Name/Schlüssel des YouTube Livestreams eingeben.",
|
||||
"signInCTA": "Anmelden oder den Namen/Schlüssel des YouTube-Livestreams eingeben.",
|
||||
"signOut": "Abmelden",
|
||||
"start": "Einen Livestream starten",
|
||||
"streamIdHelp": "Was ist das?",
|
||||
"unavailableTitle": "Live-Streaming nicht verfügbar"
|
||||
"unavailableTitle": "Livestreaming nicht verfügbar"
|
||||
},
|
||||
"\u0005liveStreaming": {},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Aus",
|
||||
@@ -387,7 +413,7 @@
|
||||
"messages": {
|
||||
"engaged": "Lokale Aufzeichnung ist aktiviert",
|
||||
"finished": "Aufzeichnung der Sitzung {{token}} ist beendet. Senden Sie die aufgezeichnete Datei an den Moderator.",
|
||||
"finishedModerator": "Aufzeichnung der Sitzung {{token}} ist beendet. Die Aufzeichnung der lokalen Verlaufs wurde gespeichert. Bitten Sie die anderen Teilnehmer, ihre Aufzeichnungen zu übermitteln.",
|
||||
"finishedModerator": "Aufzeichnung der Sitzung {{token}} ist beendet. Die Aufzeichnung des lokalen Verlaufs wurde gespeichert. Bitten Sie die anderen Teilnehmer, ihre Aufzeichnungen zu übermitteln.",
|
||||
"notModerator": "Sie sind nicht der Moderator. Sie können die lokale Aufzeichnung nicht starten oder stoppen."
|
||||
},
|
||||
"moderator": "Moderator",
|
||||
@@ -399,7 +425,6 @@
|
||||
"stop": "Aufnahme stoppen",
|
||||
"yes": "Ja"
|
||||
},
|
||||
"\u0005localRecording": {},
|
||||
"lockRoomPassword": "Passwort",
|
||||
"lockRoomPasswordUppercase": "Passwort",
|
||||
"me": "ich",
|
||||
@@ -412,30 +437,30 @@
|
||||
"focusFail": "{{component}} ist im Moment nicht verfügbar - wiederholen in {{ms}} Sekunden",
|
||||
"grantedTo": "Moderatorenrechte an {{to}} vergeben.",
|
||||
"invitedOneMember": "{{displayName}} wurde eingeladen",
|
||||
"invitedThreePlusMembers": "",
|
||||
"invitedTwoMembers": "",
|
||||
"kickParticipant": "",
|
||||
"invitedThreePlusMembers": "{{name}} und {{count}} andere wurden eingeladen",
|
||||
"invitedTwoMembers": "{{first}} und {{second}} wurden eingeladen",
|
||||
"kickParticipant": "Sie können sich für weitere Einzelheiten an {{participantDisplayName}}} wenden.",
|
||||
"me": "Ich",
|
||||
"moderator": "Moderatorenrechte vergeben",
|
||||
"muted": "Der Konferenz wurde stumm beigetreten.",
|
||||
"mutedTitle": "Stummschaltung aktiv!",
|
||||
"mutedRemotelyTitle": "",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"mutedRemotelyTitle": "Sie wurden von {{participantDisplayName}} stummgeschaltet!",
|
||||
"mutedRemotelyDescription": "Sie können jederzeit die Stummschaltung aufheben, wenn Sie bereit sind zu sprechen. Wenn Sie fertig sind, können sich wieder stummschalten, um Geräusche vom Meeting fernzuhalten.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) von einem anderen Teilnehmer entfernt",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) von einem anderen Teilnehmer gesetzt",
|
||||
"raisedHand": "{{name}} möchte sprechen.",
|
||||
"somebody": "Jemand",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalExperienceDescription": "Tut uns leid, aber die Konferenz wird mit {{appName}} kein grossartiges Erlebnis. Wir versuchen immer die Situation zu verbessern, bis dahin empfehlen wir aber die Verwendung einer der <a href=\"static/recommendedBrowsers.html\" target=\"_blank\">vollständig unterstützen Browser</a>.",
|
||||
"startSilentTitle": "Sie sind ohne Audioausgabe beigetreten!",
|
||||
"startSilentDescription": "Treten Sie dem Meeting noch einmal bei, um Ihr Audio zu aktivieren",
|
||||
"suboptimalExperienceDescription": "Tut uns leid, aber die Konferenz wird mit {{appName}} kein großartiges Erlebnis. Wir versuchen immer die Situation zu verbessern, bis dahin empfehlen wir aber die Verwendung einer der <a href=\"static/recommendedBrowsers.html\" target=\"_blank\">vollständig unterstützen Browser</a>.",
|
||||
"suboptimalExperienceTitle": "Browserwarnung",
|
||||
"unmute": "",
|
||||
"unmute": "Stummschaltung aufheben",
|
||||
"newDeviceCameraTitle": "Neue Kamera erkannt",
|
||||
"newDeviceAudioTitle": "Neues Audiogerät erkannt",
|
||||
"newDeviceAction": "Verwenden"
|
||||
},
|
||||
"passwordSetRemotely": "von einem anderen Teilnehmer gesetzt",
|
||||
"passwordDigitsOnly": "",
|
||||
"passwordDigitsOnly": "Bis zu {{number}} Ziffern",
|
||||
"poweredby": "Betrieben von",
|
||||
"presenceStatus": {
|
||||
"busy": "Beschäftigt",
|
||||
@@ -451,18 +476,18 @@
|
||||
"rejected": "Abgelehnt",
|
||||
"ringing": "Es klingelt…"
|
||||
},
|
||||
"\u0005presenceStatus": {},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Anzeigename festlegen",
|
||||
"setEmailInput": "E-Mail eingeben",
|
||||
"setEmailLabel": "E-Mail Adresse für Gravatar",
|
||||
"setEmailLabel": "E-Mail-Adresse für Gravatar",
|
||||
"title": "Profil"
|
||||
},
|
||||
"raisedHand": "Ich möchte sprechen",
|
||||
"recording": {
|
||||
"authDropboxText": "In Dropbox hochladen",
|
||||
"availableSpace": "Verfügbarer Speicherplatz: {{spaceLeft}} MB (ca. {{duration}} Minuten Aufzeichnung)",
|
||||
"beta": "BETA",
|
||||
"busy": "Es werden Resourcen für eine Aufnahme bereitgestellt. Bitte in ein paar Minuten erneut versuchen.",
|
||||
"busy": "Es werden Ressourcen für eine Aufnahme bereitgestellt. Bitte in ein paar Minuten erneut versuchen.",
|
||||
"busyTitle": "Alle Aufnahme-Instanzen sind in Gebrauch",
|
||||
"error": "Die Aufzeichnung ist fehlgeschlagen. Bitte versuchen Sie es erneut.",
|
||||
"expandedOff": "Aufzeichnung wurde gestoppt",
|
||||
@@ -473,7 +498,9 @@
|
||||
"live": "LIVE",
|
||||
"loggedIn": "Als {{userName}} angemeldet",
|
||||
"off": "Aufnahme gestoppt",
|
||||
"offBy": "{{name}} stoppte die Aufnahme",
|
||||
"on": "Aufnahme",
|
||||
"onBy": "{{name}} startete die Aufnahme",
|
||||
"pending": "Aufzeichnung des Meetings wird vorbereitet…",
|
||||
"rec": "AUFZ",
|
||||
"serviceDescription": "Ihre Aufzeichnung wird vom Aufzeichnungsdienst gespeichert",
|
||||
@@ -484,14 +511,14 @@
|
||||
"unavailableTitle": "Aufnahme nicht verfügbar"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Ziehen um zu aktualisieren"
|
||||
"pullToRefresh": "Ziehen, um zu aktualisieren"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "Die Kalenderintegration von {{appName}} wird verwendet, um ein sicheres Zugreifen auf Ihren Kalender und Auslesen der bevorstehenden Veranstaltungen zu ermöglichen.",
|
||||
"about": "Die Kalenderintegration von {{appName}} wird verwendet, um ein sicheres Zugreifen auf Ihren Kalender und Auslesen der bevorstehenden Termine zu ermöglichen.",
|
||||
"disconnect": "Getrennt",
|
||||
"microsoftSignIn": "Mit Microsoft anmelden",
|
||||
"signedIn": "Momentan wird auf Kalenderveranstaltungen von {{email}} zugegriffen. Klicken Sie auf die folgende Schaltfläche „Trennen“, um den Zugriff auf die Kalenderveranstaltungen zu stoppen.",
|
||||
"signedIn": "Momentan wird auf Kalendertermine von {{email}} zugegriffen. Klicken Sie auf die folgende Schaltfläche „Trennen“, um den Zugriff auf die Kalendertermine zu stoppen.",
|
||||
"title": "Kalender"
|
||||
},
|
||||
"devices": "Geräte",
|
||||
@@ -509,27 +536,28 @@
|
||||
"startVideoMuted": "Alle Teilnehmer treten ohne Video bei",
|
||||
"title": "Einstellungen"
|
||||
},
|
||||
"\u0005settings": {
|
||||
"calendar": {}
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Erweitert",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Warnung",
|
||||
"alertURLText": "Die angegebene Server URL ist ungültig",
|
||||
"alertURLText": "Die angegebene Server-URL ist ungültig",
|
||||
"buildInfoSection": "Build-Informationen",
|
||||
"conferenceSection": "Konferenz",
|
||||
"disableCallIntegration": "Native Anrufintegration deaktivieren",
|
||||
"disableP2P": "Ende-zu-Ende-Modus deaktivieren",
|
||||
"displayName": "Anzeigename",
|
||||
"email": "E-Mail",
|
||||
"header": "Einstellungen",
|
||||
"profileSection": "Profil",
|
||||
"serverURL": "Server URL",
|
||||
"serverURL": "Server-URL",
|
||||
"showAdvanced": "Erweiterte Einstellungen anzeigen",
|
||||
"startWithAudioMuted": "Stumm beitreten",
|
||||
"startWithVideoMuted": "Ohne Video beitreten",
|
||||
"version": "Version"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "",
|
||||
"mainText": ""
|
||||
"dialInfoText": "\n\n=====\n\nWollen Sie sich nur auf Ihrem Telefon einwählen?\n\n{{{defaultDialInNumber}}}Klicken Sie auf diesen Link, um die eingewählten Telefonnummern für dieses Meeting zu sehen\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Klicken Sie auf den folgenden Link, um dem Meeting beizutreten:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Sprecher",
|
||||
"speakerStats": {
|
||||
@@ -546,28 +574,33 @@
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Erneut teilnehmen",
|
||||
"text": "<i>Erneut teilnehmen</i> Schaltfläche betätigen um erneut zu verbinden.",
|
||||
"title": "Die Konferenz wurde unterbrochen weil der Standbymodus aktiviert wurde."
|
||||
"text": "„<i>Erneut teilnehmen</i>“-Schaltfläche betätigen, um erneut zu verbinden.",
|
||||
"title": "Die Konferenz wurde unterbrochen, weil der Standby-Modus aktiviert wurde."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Nur Audio ein-/ausschalten",
|
||||
"audioOnly": "„Nur Audio“ ein-/ausschalten",
|
||||
"audioRoute": "Audiogerät auswählen",
|
||||
"callQuality": "Qualitätseinstellungen",
|
||||
"cc": "Untertitel ein-/ausschalten",
|
||||
"chat": "Chatfenster ein-/ausblenden",
|
||||
"document": "Geteiltes Dokument schliessen",
|
||||
"feedback": "Feedback hinterlasen",
|
||||
"fullScreen": "Vollbildschirm ein-/ausblenden",
|
||||
"document": "Geteiltes Dokument schließen",
|
||||
"download": "Unsere Apps herunterladen",
|
||||
"feedback": "Feedback hinterlassen",
|
||||
"fullScreen": "Vollbildmodus aktivieren/deaktivieren",
|
||||
"hangup": "Anruf beenden",
|
||||
"help": "Hilfe",
|
||||
"invite": "Teilnehmer einladen",
|
||||
"kick": "Teilnehmer entfernen",
|
||||
"localRecording": "Lokale Aufzeichnungssteuerelemente ein-/ausschalten",
|
||||
"lockRoom": "Meeting-Passwort ein-/auschalten",
|
||||
"moreActions": "Menü „Weitere Aktionen“ ein-/ausschalten",
|
||||
"moreActionsMenu": "Menü „Weitere Aktionen“",
|
||||
"moreOptions": "Menü „Weitere Optionen“",
|
||||
"mute": "„Audio stummschalten“ ein-/ausschalten",
|
||||
"muteEveryone": "Alle stummschalten",
|
||||
"pip": "Bild-in-Bild-Modus ein-/ausschalten",
|
||||
"privateMessage": "Private Nachricht senden",
|
||||
"profile": "Profil bearbeiten",
|
||||
"raiseHand": "„Melden“ ein-/ausschalten",
|
||||
"recording": "Aufzeichnung ein-/ausschalten",
|
||||
@@ -577,12 +610,12 @@
|
||||
"shareRoom": "Person einladen",
|
||||
"shareYourScreen": "Bildschirmfreigabe ein-/ausschalten",
|
||||
"shortcuts": "Tastenkombinationen ein-/ausblenden",
|
||||
"show": "",
|
||||
"show": "Im Vordergrund anzeigen",
|
||||
"speakerStats": "Sprecherstatistik ein-/ausblenden",
|
||||
"tileView": "Kachelansicht ein-/ausschalten",
|
||||
"toggleCamera": "Kamera ein-/ausschalten",
|
||||
"toggleCamera": "Kamera wechseln",
|
||||
"videomute": "„Video stummschalten“ ein-/ausschalten",
|
||||
"videoblur": ""
|
||||
"videoblur": "Video-Unschärfe ein-/ausschalten"
|
||||
},
|
||||
"addPeople": "Teilnehmer zur Konferenz hinzufügen",
|
||||
"audioOnlyOff": "Modus „Nur Audio“ deaktivieren",
|
||||
@@ -590,24 +623,36 @@
|
||||
"audioRoute": "Audiogerät auswählen",
|
||||
"authenticate": "Anmelden",
|
||||
"callQuality": "Qualitätseinstellungen",
|
||||
"chat": "Chat öffnen / schliessen",
|
||||
"chat": "Chat öffnen / schließen",
|
||||
"closeChat": "Chat schließen",
|
||||
"documentClose": "Geteiltes Dokument schliessen",
|
||||
"documentClose": "Geteiltes Dokument schließen",
|
||||
"documentOpen": "Geteiltes Dokument öffnen",
|
||||
"download": "Unsere Apps herunterladen",
|
||||
"enterFullScreen": "Vollbildmodus",
|
||||
"enterTileView": "Kachelansicht einschalten",
|
||||
"exitFullScreen": "Vollbildmodus verlassen",
|
||||
"exitTileView": "Kachelansicht ausschalten",
|
||||
"feedback": "Feedback hinterlasen",
|
||||
"feedback": "Feedback hinterlassen",
|
||||
"hangup": "Verlassen",
|
||||
"help": "Hilfe",
|
||||
"invite": "Teilnehmer einladen",
|
||||
"login": "Anmelden",
|
||||
"logout": "Abmelden",
|
||||
"lowerYourHand": "Hand senken",
|
||||
"moreActions": "Weitere Einstellungen",
|
||||
"moreOptions": "Weitere Optionen",
|
||||
"mute": "Stummschaltung aktivieren / deaktivieren",
|
||||
"muteEveryone": "Alle stummschalten",
|
||||
"noAudioSignalTitle": "Es kommt kein Input von Ihrem Mikrofon!",
|
||||
"noAudioSignalDesc": "Wenn Sie das Gerät nicht absichtlich über die Systemeinstellungen oder die Hardware stumm geschaltet haben, sollten Sie einen Wechsel des Geräts in Erwägung ziehen.",
|
||||
"noAudioSignalDescSuggestion": "Wenn Sie das Gerät nicht absichtlich über die Systemeinstellungen oder die Hardware stummgeschaltet haben, sollten Sie einen Wechsel auf das vorgeschlagene Gerät in Erwägung ziehen.",
|
||||
"noAudioSignalDialInDesc": "Sie können sich auch über die Einwahlnummer einwählen:",
|
||||
"noAudioSignalDialInLinkDesc" : "Einwahlnummern:",
|
||||
"noisyAudioInputTitle": "Ihr Mikrofon scheint lärmintensiv zu sein!",
|
||||
"noisyAudioInputDesc": "Es klingt, als ob Ihr Mikrofon Störgeräusche verursacht. Bitte überlegen Sie, ob Sie das Gerät stummschalten oder austauschen wollen.",
|
||||
"openChat": "Chat öffnen",
|
||||
"pip": "Bild-in-Bild-Modus einschalten",
|
||||
"privateMessage": "Private Nachricht senden",
|
||||
"profile": "Profil bearbeiten",
|
||||
"raiseHand": "Hand erheben",
|
||||
"raiseYourHand": "Melden",
|
||||
@@ -620,16 +665,13 @@
|
||||
"startSubtitles": "Untertitel einschalten",
|
||||
"stopScreenSharing": "Bildschirmfreigabe stoppen",
|
||||
"stopSubtitles": "Untertitel ausschalten",
|
||||
"stopSharedVideo": "YouTube Video stoppen",
|
||||
"talkWhileMutedPopup": "Versuchen sie zu sprechen? Ihr Mikrofon ist stummgeschaltet.",
|
||||
"stopSharedVideo": "YouTube-Video stoppen",
|
||||
"talkWhileMutedPopup": "Versuchen Sie zu sprechen? Ihr Mikrofon ist stummgeschaltet.",
|
||||
"tileViewToggle": "Kachelansicht ein-/ausschalten",
|
||||
"toggleCamera": "Kamera ein-/ausschalten",
|
||||
"toggleCamera": "Kamera wechseln",
|
||||
"videomute": "Kamera starten / stoppen",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
},
|
||||
"\u0005toolbar": {
|
||||
"accessibilityLabel": {}
|
||||
"startvideoblur": "Hintergrundunschärfe aktivieren",
|
||||
"stopvideoblur": "Hintergrundunschärfe deaktivieren"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Untertitel ein-/ausschalten",
|
||||
@@ -643,18 +685,17 @@
|
||||
"stop": "Anzeige der Untertitel stoppen",
|
||||
"tr": "TR"
|
||||
},
|
||||
"\u0005transcribing": {},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"chromeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"edgeGrantPermissions": "Wählen Sie <b><i>Ja</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"androidGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"chromeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"edgeGrantPermissions": "Wählen Sie <b><i>Ja</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"electronGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"firefoxGrantPermissions": "Wählen Sie <b><i>Markiertes Gerät teilen</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"iexplorerGrantPermissions": "Wählen Sie <b><i>OK</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"firefoxGrantPermissions": "Wählen Sie <b><i>Markiertes Gerät teilen</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"iexplorerGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"nwjsGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
|
||||
"operaGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"react-nativeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b> wenn der Browser um Berechtigungen bittet.",
|
||||
"safariGrantPermissions": "Wählen Sie <b><i>OK</i></b> wenn der Browser um Berechtigungen bittet."
|
||||
"operaGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"react-nativeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
|
||||
"safariGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Es stehen keine freien Ressourcen zur Verfügung. Bitte versuchen Sie es später noch einmal.",
|
||||
@@ -669,58 +710,64 @@
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Sie befinden sich im Modus „Nur Audio“. Dieser Modus benötigt weniger Bandbreite, Sie sehen jedoch nicht die Videos der anderen.",
|
||||
"callQuality": "",
|
||||
"callQuality": "Videoqualität",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Video wird in hoher Auflösung angezeigt",
|
||||
"highDefinition": "Hohe Auflösung",
|
||||
"labelTooiltipNoVideo": "Kein Video",
|
||||
"labelTooltipAudioOnly": "Nur-Audio Modus aktiv",
|
||||
"labelTooltipAudioOnly": "„Nur Audio“-Modus aktiv",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Video wird in niedriger Auflösung angezeigt",
|
||||
"lowDefinition": "Niedrige Auflösung",
|
||||
"onlyAudioAvailable": "Nur Ton",
|
||||
"onlyAudioSupported": "In diesem Browser wird nur Audio unterstützt.",
|
||||
"p2pEnabled": "Ende-zu-Ende aktiviert",
|
||||
"p2pVideoQualityDescription": "",
|
||||
"p2pVideoQualityDescription": "Im Ende-zu-Ende-Modus kann die empfangene Videoqualität nur zwischen „Hoch“ und „Nur Audio“ umgeschaltet werden. Andere Einstellungen werden erst beim Verlassen des Ende-zu-Ende-Modus berücksichtigt.",
|
||||
"recHighDefinitionOnly": "Hohe Qualität wird bevorzugt.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Video wird in Standardauflösung angezeigt",
|
||||
"standardDefinition": "Standardauflösung"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Stummschalten",
|
||||
"domuteOthers": "Alle anderen stummschalten",
|
||||
"flip": "Spiegeln",
|
||||
"kick": "Hinauswerfen",
|
||||
"moderator": "Moderator",
|
||||
"mute": "Teilnehmer ist stumm geschaltet",
|
||||
"muted": "Stummgeschaltet",
|
||||
"remoteControl": "Fernsteuerung",
|
||||
"show": "",
|
||||
"videomute": ""
|
||||
"show": "Im Vordergrund anzeigen",
|
||||
"videomute": "Teilnehmer hat die Kamera angehalten"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Zum Teilnehmen tippen",
|
||||
"roomname": "Konferenzname eingeben"
|
||||
},
|
||||
"appDescription": "Auf geht's! Beginne eine Videokonferenz mit dem ganzen Team. Oder eigentlich, lade alle ein die du kennst. {{app}} ist eine vollständig verschlüsselte, aus 100% Open-Source-Software bestehende Videokonferenzlösung die du den ganzen Tag kostenlos verwenden kannst — ohne Registrierung.",
|
||||
"appDescription": "Auf geht's! Starten Sie eine Videokonferenz mit dem ganzen Team. Oder besser noch: Laden Sie alle ein, die Sie kennen. {{app}} ist eine vollständig verschlüsselte, aus 100% Open-Source-Software bestehende Videokonferenzlösung, die Sie den ganzen Tag kostenlos verwenden können — ohne Registrierung.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Sprache",
|
||||
"audio": "Audio",
|
||||
"video": "Video"
|
||||
},
|
||||
"calendar": "Kalender",
|
||||
"connectCalendarButton": "Kalender verbinden",
|
||||
"connectCalendarText": "Verbinden Sie Ihren Kalender, um all Ihre Meetings in {{app}} anzuzeigen. Fügen Sie zudem {{provider}}-Meetings in Ihren Kalender ein und starten Sie sie mit nur einem Klick.",
|
||||
"enterRoomTitle": "Neues Meeting starten",
|
||||
"roomNameAllowedChars": "Der Meeting-Name sollte keines der folgenden Zeichen enthalten: ?, &, :, ', \", %, #.",
|
||||
"go": "Los",
|
||||
"goSmall": "Los",
|
||||
"join": "Beitreten",
|
||||
"info": "Informationen",
|
||||
"privacy": "Privatsphäre",
|
||||
"recentList": "Letzte\"",
|
||||
"privacy": "Datenschutz",
|
||||
"recentList": "Letzte",
|
||||
"recentListDelete": "Löschen",
|
||||
"recentListEmpty": "Die Liste „Letzte“ ist momentan leer. Chatten Sie mit Ihrem Team. Sie finden all Ihre letzten Meetings hier.",
|
||||
"reducedUIText": "",
|
||||
"reducedUIText": "Willkommen bei {{app}}!",
|
||||
"roomname": "Konferenzname eingeben",
|
||||
"roomnameHint": "Name oder URL der Konferenz der Sie beitreten möchten. Sie können einen Namen erfinden, er muss nur den anderen Teilnehmern übermittelt werden damit sie der gleichen Konferenz beitreten.",
|
||||
"sendFeedback": "Senden Sie uns Ihr Feedback",
|
||||
"terms": "Bedingungen",
|
||||
"roomnameHint": "Name oder URL der Konferenz, der Sie beitreten möchten. Sie können einen Namen erfinden, er muss nur den anderen Teilnehmern übermittelt werden, damit diese der gleichen Konferenz beitreten.",
|
||||
"sendFeedback": "Feedback senden",
|
||||
"terms": "AGB",
|
||||
"title": "Sichere, mit umfassenden Funktionen ausgestattete und vollkommen kostenlose Videokonferenzen"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Invitar",
|
||||
"countryNotSupported": "Aun no contamos con soporte a este destino.",
|
||||
"countryNotSupported": "Aún no contamos con soporte a este destino.",
|
||||
"countryReminder": "¿Llamando fuera de los Estados Unidos? ¡Por favor, asegúrese de empezar con el código de país!",
|
||||
"disabled": "No puede invitar a otras personas.",
|
||||
"failedToAdd": "Error al agregar participantes",
|
||||
@@ -31,7 +31,7 @@
|
||||
"addMeetingURL": "Agregar un vínculo a la reunión",
|
||||
"confirmAddLink": "¿Quiere añadir un enlace de Jitsi a este evento?",
|
||||
"error": {
|
||||
"appConfiguration": "La integración del calendario no se está configurada correctamente",
|
||||
"appConfiguration": "La integración del calendario no está configurada correctamente",
|
||||
"generic": "Se ha producido un error. Compruebe la configuración del calendario o pruebe a recargarlo",
|
||||
"notSignedIn": "Se ha producido un error de autenticación para ver los eventos del calendario. Compruebe la configuración del calendario e intente iniciar sesión de nuevo"
|
||||
},
|
||||
@@ -46,18 +46,23 @@
|
||||
"today": "Hoy"
|
||||
},
|
||||
"chat": {
|
||||
"error": "",
|
||||
"fieldPlaceHolder": "",
|
||||
"error": "Error: su mensaje no se envío. Motivo: {{error}}",
|
||||
"fieldPlaceHolder": "Escriba su mensaje aquí",
|
||||
"messagebox": "Escriba un mensaje",
|
||||
"messageTo": "",
|
||||
"noMessagesMessage": "",
|
||||
"messageTo": "Mensaje privado para {{recipient}}",
|
||||
"noMessagesMessage": "No hay mensajes en la reunión. ¡Inicie una conversación!",
|
||||
"nickname": {
|
||||
"popover": "Seleccione un apodo",
|
||||
"title": "Introduzca un apodo para usar el chat"
|
||||
},
|
||||
"privateNotice": "",
|
||||
"privateNotice": "Mensaje privado para {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": ""
|
||||
"you": "usted"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "",
|
||||
"buttonText": "",
|
||||
"dontShowAgain": ""
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Conectándose a su reunión…"
|
||||
@@ -206,7 +211,7 @@
|
||||
"muteParticipantTitle": "¿Silenciar a este participante?",
|
||||
"Ok": "Aceptar",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "No se permite establecer $t(lockRoomPassword) en una reunión",
|
||||
"passwordNotSupported": "No se soporta $t(lockRoomPassword) en la reunión",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) no es compatible",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) necesario",
|
||||
"popupError": "Su navegador está bloqueando las ventanas emergentes de este sitio. Habilite las ventanas emergentes en la configuración de seguridad de su navegador y vuelva a intentarlo.",
|
||||
@@ -234,10 +239,10 @@
|
||||
"screenSharingFirefoxPermissionDeniedError": "Algo salió mal mientras tratábamos de compartir la pantalla. Por favor, asegúrese de que nos ha dado permiso para hacerlo. ",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "OOPS! ¡ No pudimos empezar a compartir la pantalla!",
|
||||
"screenSharingPermissionDeniedError": "Oops! Algo salió mal con sus permisos de extensión para compartir pantalla. Por favor, vuelva a cargar e intente de nuevo.",
|
||||
"sendPrivateMessage": "",
|
||||
"sendPrivateMessageCancel": "",
|
||||
"sendPrivateMessageOk": "",
|
||||
"sendPrivateMessageTitle": "",
|
||||
"sendPrivateMessage": "Acaba de recibir un mensaje privado. ¿Desea responder de forma privada?, ¿Desea responder al grupo?",
|
||||
"sendPrivateMessageCancel": "Enviar al grupo",
|
||||
"sendPrivateMessageOk": "Enviar privado",
|
||||
"sendPrivateMessageTitle": "¿Enviar privado?",
|
||||
"serviceUnavailable": "Servicio no disponible",
|
||||
"sessTerminated": "Llamada terminada",
|
||||
"Share": "Compartir",
|
||||
@@ -272,7 +277,7 @@
|
||||
"statusMessage": "esta {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": ""
|
||||
"title": "Compartir documento"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Promedio",
|
||||
@@ -304,7 +309,7 @@
|
||||
"dialInTollFree": "Número gratuito",
|
||||
"genericError": "Ups, algo salió mal.",
|
||||
"inviteLiveStream": "Marcado de un solo toque: {{number}},,{{conferenceID}}#",
|
||||
"invitePhone": "Para unirse por teléfono, toque esto: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhone": "Para unirse por teléfono, presione: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "¿Busca un número de marcación diferente?\nConsulte los números de marcación de la reunión: {{url}}\n\n\nSi está marcando a través del teléfono de otra reunión, únase sin conectarse al audio: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Le han invitado a unirse a una reunión",
|
||||
"inviteURLFirstPartPersonal": "{{name}} te esta invitando a una sesión.\n",
|
||||
@@ -368,9 +373,9 @@
|
||||
"getStreamKeyManually": "No pudimos buscar ninguna transmisión en vivo. Trate de obtener su clave de transmisión en vivo de YouTube.",
|
||||
"invalidStreamKey": "Es posible que la clave de transmisión sea incorrecta",
|
||||
"off": "Transmisión en vivo detenida",
|
||||
"offBy": "",
|
||||
"offBy": "{{name}} transmisión en directo",
|
||||
"on": "Emisión en Directo",
|
||||
"onBy": "",
|
||||
"onBy": "{{name}} transmisión en directo iniciada",
|
||||
"pending": "Iniciando Emisión en Directo...",
|
||||
"serviceName": "Servicio de streaming en vivo",
|
||||
"signedInAs": "Actualmente está conectado como:",
|
||||
@@ -422,30 +427,30 @@
|
||||
"focusFail": "{{component}} no disponible - reintentar en {{ms}} seg",
|
||||
"grantedTo": "¡Se otorgaron privilegios de moderador a {{to}}!",
|
||||
"invitedOneMember": "{{displayName}} ha sido invitado",
|
||||
"invitedThreePlusMembers": "",
|
||||
"invitedTwoMembers": "",
|
||||
"kickParticipant": "",
|
||||
"invitedThreePlusMembers": "{{name}} y otros {{count}} fueron invitados",
|
||||
"invitedTwoMembers": "{{first}} y {{second}} fueron invitados",
|
||||
"kickParticipant": "{{kicked}} desalojado por {{kicker}}",
|
||||
"me": "Yo",
|
||||
"moderator": "¡Se otorgaron privilegios de moderador!",
|
||||
"muted": "Has iniciado la conversación silenciado.",
|
||||
"mutedTitle": "¡Estás silenciado!",
|
||||
"mutedRemotelyTitle": "",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"mutedRemotelyTitle": "¡{{Nombre del participante}} te ha silenciado!",
|
||||
"mutedRemotelyDescription": "Siempre puedes quitar el silencio cuando estés listo para hablar. Silencie cuando termine para mantener el ruido alejado de la reunión.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) eliminado por otro participante",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) establecido por otro participante",
|
||||
"raisedHand": "{{name}} quisiera hablar.",
|
||||
"somebody": "Alguien",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalBrowserWarning": "",
|
||||
"startSilentTitle": "¡Te uniste sin salida de audio!",
|
||||
"startSilentDescription": "Vuelva a unirse a la reunión para habilitar el audio",
|
||||
"suboptimalBrowserWarning": "Tememos que su experiencia en la reunión no sea tan buena. Estamos buscando formas de mejorar esto, pero hasta entonces intente utilizar uno de los <a href='static/recommendedBrowsers.html' target='_blank'>navegadores totalmente compatibles</a>.",
|
||||
"suboptimalExperienceTitle": "Advertencia del Explorador",
|
||||
"unmute": "",
|
||||
"unmute": "Dejar de silenciar",
|
||||
"newDeviceCameraTitle": "Se ha detectado una nueva cámara",
|
||||
"newDeviceAudioTitle": "Se ha detectado un nuevo dispositivo de audio",
|
||||
"newDeviceAction": "Usar"
|
||||
},
|
||||
"passwordSetRemotely": "definido por otro participante",
|
||||
"passwordDigitsOnly": "",
|
||||
"passwordDigitsOnly": "Hasta {{number}} dígitos",
|
||||
"poweredby": "proporcionado por",
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupado",
|
||||
@@ -483,9 +488,9 @@
|
||||
"live": "Directo",
|
||||
"loggedIn": "Sesión iniciada como {{userName}}",
|
||||
"off": "Grabación detenida",
|
||||
"offBy": "",
|
||||
"offBy": "{{name}} detuvo la grabación",
|
||||
"on": "Grabando",
|
||||
"onBy": "",
|
||||
"onBy": "{{name}} comenzó la grabación",
|
||||
"pending": "Preparando para grabar la reunión...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "El servicio de grabación guardará la grabación",
|
||||
@@ -522,27 +527,27 @@
|
||||
"title": "Ajustes"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "",
|
||||
"advanced": "Avanzado",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Aviso",
|
||||
"alertURLText": "La dirección URL del servidor no es válida",
|
||||
"buildInfoSection": "Información de la compilación",
|
||||
"conferenceSection": "Conferencia",
|
||||
"disableCallIntegration": "",
|
||||
"disableP2P": "",
|
||||
"disableCallIntegration": "Deshabilitar la integración nativa de llamadas",
|
||||
"disableP2P": "Deshabilitar el modo punto a punto",
|
||||
"displayName": "Nombre a mostrar",
|
||||
"email": "Email",
|
||||
"header": "Ajustes",
|
||||
"profileSection": "Perfil",
|
||||
"serverURL": "URL del servidor",
|
||||
"showAdvanced": "",
|
||||
"showAdvanced": "Mostrar configuración avanzada",
|
||||
"startWithAudioMuted": "Inicio con audio en silencio",
|
||||
"startWithVideoMuted": "Iniciar con el vídeo en silencio",
|
||||
"version": "Versión"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "",
|
||||
"mainText": "Pulse en el siguiente enlace para unirse a la reunión:\n{{roomUrl}}"
|
||||
"dialInfoText": "\n\n===== \\ n\n¿Solo quieres marcar en tu teléfono? \\ N\n{{defaultDialInNumber}} Haga clic en este enlace para ver el marcado en los números de teléfono de esta reunión\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Presione en el siguiente enlace para unirse a la reunión:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Orador",
|
||||
"speakerStats": {
|
||||
@@ -566,15 +571,15 @@
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Alternar sólo audio",
|
||||
"audioRoute": "Seleccione el dispositivo de sonido",
|
||||
"callQuality": "Administrar la calidad de llamadas",
|
||||
"callQuality": "Administrar la calidad del video",
|
||||
"cc": "Alternar subtítulos",
|
||||
"chat": "Alternar ventana de chat",
|
||||
"document": "Alternar documento compartido",
|
||||
"download": "",
|
||||
"download": "Descarga nuestras aplicaciones",
|
||||
"feedback": "Dejar comentarios",
|
||||
"fullScreen": "Alternar pantalla completa",
|
||||
"hangup": "Dejar la llamada",
|
||||
"help": "",
|
||||
"help": "Ayuda",
|
||||
"invite": "Invitar personas",
|
||||
"kick": "Expulsar participante",
|
||||
"localRecording": "Alternar controles de grabación locales",
|
||||
@@ -583,7 +588,7 @@
|
||||
"moreActionsMenu": "Menú más acciones",
|
||||
"mute": "Alternar audio mudo",
|
||||
"pip": "Alternar modo de Picture-in-Picture",
|
||||
"privateMessage": "",
|
||||
"privateMessage": "Enviar mensaje privado",
|
||||
"profile": "Editar tu perfil",
|
||||
"raiseHand": "Levantar / Bajar tu mano",
|
||||
"recording": "Activar grabación",
|
||||
@@ -593,43 +598,45 @@
|
||||
"shareRoom": "Invitar a alguien",
|
||||
"shareYourScreen": "Alternar compartir pantalla",
|
||||
"shortcuts": "Alternar accesos directos",
|
||||
"show": "",
|
||||
"show": "Mostrar en escena",
|
||||
"speakerStats": "Alternar estadísticas del orador",
|
||||
"tileView": "Alternar vista de mosaico",
|
||||
"toggleCamera": "Alternar cámara",
|
||||
"videomute": "Alternar silencio de video",
|
||||
"videoblur": ""
|
||||
"videoblur": "Alternar desenfoque de video"
|
||||
},
|
||||
"addPeople": "Agregar personas a su llamada",
|
||||
"audioOnlyOff": "",
|
||||
"audioOnlyOn": "",
|
||||
"audioOnlyOff": "Deshabilitar el modo de ancho de banda bajo",
|
||||
"audioOnlyOn": "Habilitar el modo de ancho de banda bajo",
|
||||
"audioRoute": "Seleccione el dispositivo de sonido",
|
||||
"authenticate": "Autenticar",
|
||||
"callQuality": "Administrar la calidad de llamadas",
|
||||
"callQuality": "Administrar la calidad del video",
|
||||
"chat": "Abrir / cerrar sala de charla",
|
||||
"closeChat": "Cerrar chat",
|
||||
"documentClose": "Cerrar documento compartido",
|
||||
"documentOpen": "Abrir documento compartido",
|
||||
"download": "",
|
||||
"download": "Descarga nuestras aplicaciones",
|
||||
"enterFullScreen": "Ver pantalla completa",
|
||||
"enterTileView": "Entrar en vista de mosaico",
|
||||
"exitFullScreen": "Salir de pantalla completa",
|
||||
"exitTileView": "Salir de vista de mosaico",
|
||||
"feedback": "Dejar comentarios",
|
||||
"hangup": "Salir",
|
||||
"help": "",
|
||||
"help": "Ayuda",
|
||||
"invite": "Invitar personas",
|
||||
"login": "Inicio de sesión",
|
||||
"logout": "Cerrar sesión",
|
||||
"lowerYourHand": "Bajar la mano",
|
||||
"moreActions": "Más acciones",
|
||||
"mute": "Activar / Desactivar Silencio",
|
||||
"noAudioSignalTitle": "",
|
||||
"noAudioSignalDesc": "",
|
||||
"noAudioSignalDescSuggestion": "",
|
||||
"noAudioSignalTitle": "¡No hay entrada proveniente de su micrófono!",
|
||||
"noAudioSignalDesc": "Si no lo silenció a propósito desde la configuración del sistema o el dispositivo, considere cambiar el dispositivo.",
|
||||
"noAudioSignalDescSuggestion": "Si no lo silenció a propósito desde la configuración del sistema o el dispositivo, considere usar el siguiente dispositivo:",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"openChat": "Abrir chat",
|
||||
"pip": "Entra en el modo Picture-in-Picture",
|
||||
"privateMessage": "",
|
||||
"privateMessage": "Enviar mensaje privado",
|
||||
"profile": "Editar tu perfil",
|
||||
"raiseHand": "Levantar / Bajar tu mano",
|
||||
"raiseYourHand": "Alzar la mano",
|
||||
@@ -647,8 +654,8 @@
|
||||
"tileViewToggle": "Alternar vista de mosaico",
|
||||
"toggleCamera": "Alternar cámara",
|
||||
"videomute": "Iniciar / detener cámara",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
"startvideoblur": "Desenfocar mi fondo",
|
||||
"stopvideoblur": "Desactivar desenfoque de fondo"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Iniciar / Detener subtítulos",
|
||||
@@ -686,35 +693,35 @@
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "",
|
||||
"callQuality": "",
|
||||
"audioOnlyExpanded": "Estás en modo de ancho de banda bajo. En este modo, solo recibirá audio y pantalla compartida.",
|
||||
"callQuality": "Calidad de video",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Visualizando vídeo en alta definición",
|
||||
"highDefinition": "Alta definición",
|
||||
"labelTooiltipNoVideo": "No hay vídeo",
|
||||
"labelTooltipAudioOnly": "",
|
||||
"labelTooltipAudioOnly": "Modo de ancho de banda bajo habilitado",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Visualizando vídeo en baja definición",
|
||||
"lowDefinition": "Baja definición",
|
||||
"onlyAudioAvailable": "Solo hay audio disponible",
|
||||
"onlyAudioSupported": "Solo soportamos audio en este navegador.",
|
||||
"p2pEnabled": "Punto a Punto Activado",
|
||||
"p2pVideoQualityDescription": "",
|
||||
"p2pVideoQualityDescription": "En el modo punto a punto, la calidad de video recibida solo se puede alternar entre calidad alta y solo audio. No se respetarán otras configuraciones hasta que se salga del modo punto a punto.",
|
||||
"recHighDefinitionOnly": "Preferirá alta definición.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Visualizando vídeo en definición estándar",
|
||||
"standardDefinition": "Definición estándar"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Control de escritorio remoto",
|
||||
"domute": "Silenciar",
|
||||
"flip": "Voltear",
|
||||
"kick": "Expulsar",
|
||||
"moderator": "Moderador",
|
||||
"mute": "Participante está silenciado",
|
||||
"muted": "Silenciado",
|
||||
"remoteControl": "Control remoto",
|
||||
"show": "",
|
||||
"videomute": ""
|
||||
"remoteControl": "",
|
||||
"show": "Mostrar en escena",
|
||||
"videomute": "El participante ha detenido la cámara."
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
@@ -730,20 +737,20 @@
|
||||
"connectCalendarButton": "Conecte su calendario",
|
||||
"connectCalendarText": "Conecte su calendario para ver todas sus reuniones en {{app}}. Plus, add {{provider}}reuniones a tu calendario e iniciarlas con un solo clic.",
|
||||
"enterRoomTitle": "Comenzar una reunión",
|
||||
"roomNameAllowedChars": "",
|
||||
"roomNameAllowedChars": "El nombre de la reunión no debe contener ninguno de estos caracteres: ?, &, :, ', \", %, #.",
|
||||
"go": "IR",
|
||||
"goSmall": "IR",
|
||||
"join": "",
|
||||
"join": "CREAR / UNIRSE",
|
||||
"info": "Información",
|
||||
"privacy": "Privacidad",
|
||||
"recentList": "Reciente",
|
||||
"recentListDelete": "Borrar",
|
||||
"recentListEmpty": "Su lista de recientes está actualmente vacía. Chatea con tu equipo y encontrarás todas tus reuniones aquí.",
|
||||
"reducedUIText": "",
|
||||
"reducedUIText": "¡Bienvenido a {{app}}!",
|
||||
"roomname": "Introduzca un nombre de sala",
|
||||
"roomnameHint": "Introduce el nombre o URL de la sala a la que quieres unirte. Puedes crear un nombre nuevo, sólo tienes que hacer llegar este nombre al resto de participantes para que puedan unirse a esta sala.",
|
||||
"sendFeedback": "Enviar comentarios",
|
||||
"terms": "Términos",
|
||||
"title": "Seguro, lleno de funcionalidades y videoconferencias completamente gratuitas"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Invitar",
|
||||
"countryNotSupported": "Todavía no admitimos este destino.",
|
||||
"countryReminder": "Llama de fuera de los EE.UU.? Asegúrese de marcar primero el indicativo de país (+1).",
|
||||
"disabled": "No puede invitar participantes.",
|
||||
"failedToAdd": "Falla al agregar los participantes",
|
||||
"footerText": "La marcación externa está deshabilitada.",
|
||||
"countryNotSupported": "Aun no contamos con soporte a este destino.",
|
||||
"countryReminder": "¿Llamando fuera de los Estados Unidos? ¡Por favor, asegúrese de empezar con el código de país!",
|
||||
"disabled": "No puede invitar a otras personas.",
|
||||
"failedToAdd": "Error al agregar participantes",
|
||||
"footerText": "La marcación está desactivada.",
|
||||
"loading": "Buscar personas y números de teléfono",
|
||||
"loadingNumber": "Validar número de teléfono",
|
||||
"loadingPeople": "Buscar personas para invitar",
|
||||
"noResults": "No se encontraron resultados de búsqueda que coincidan",
|
||||
"noValidNumbers": "Indique un número telefónico",
|
||||
"loadingNumber": "Validando el número de teléfono",
|
||||
"loadingPeople": "Buscando contactos a invitar",
|
||||
"noResults": "No se encontraron coincidencias",
|
||||
"noValidNumbers": "Por favor ingrese un número de teléfono",
|
||||
"searchNumbers": "Agregar números telefónicos",
|
||||
"searchPeople": "Buscar personas",
|
||||
"searchPeopleAndNumbers": "Buscar personas o agregar sus números telefónicos",
|
||||
"searchPeople": "Búsqueda de personas",
|
||||
"searchPeopleAndNumbers": "Buscar personas o añadir sus números de teléfono",
|
||||
"telephone": "Teléfono: {{number}}",
|
||||
"title": "Invitar participantes a esta reunión"
|
||||
"title": "Invitar a otras personas a esta reunión"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
@@ -28,59 +28,68 @@
|
||||
"audioOnly": "Ancho de banda bajo"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Agregar un enlace de reunión",
|
||||
"confirmAddLink": "Desea agregar un enlace Jitsi Meet a este evento?",
|
||||
"addMeetingURL": "Agregar un vínculo a la reunión",
|
||||
"confirmAddLink": "¿Quiere añadir un enlace de Jitsi a este evento?",
|
||||
"error": {
|
||||
"appConfiguration": "La integración del calendario no está correctamente configurada.",
|
||||
"generic": "Se produjo un error. Compruebe la configuración del calendario o intente actualizarlo.",
|
||||
"notSignedIn": "Se produjo un error al autenticar para ver eventos de calendario. Compruebe la configuración del calendario e intente volver a iniciar sesión."
|
||||
"appConfiguration": "La integración del calendario no está configurada correctamente",
|
||||
"generic": "Se ha producido un error. Compruebe la configuración del calendario o pruebe cargarlo nuevamente.",
|
||||
"notSignedIn": "Se ha producido un error de autenticación para ver los eventos del calendario. Compruebe la configuración del calendario e intente iniciar sesión de nuevo"
|
||||
},
|
||||
"join": "Ingresar",
|
||||
"joinTooltip": "Ingresar a la reunión",
|
||||
"nextMeeting": "reunión siguiente",
|
||||
"noEvents": "No hay eventos futuros programados.",
|
||||
"ongoingMeeting": "reunión en progreso",
|
||||
"join": "Unir",
|
||||
"joinTooltip": "Unirse a la reunión",
|
||||
"nextMeeting": "próxima reunión",
|
||||
"noEvents": "No hay eventos próximos programados.",
|
||||
"ongoingMeeting": "reunión en proceso",
|
||||
"permissionButton": "Abrir configuración",
|
||||
"permissionMessage": "Se requiere el permiso del calendario para ver las reuniones en la aplicación.",
|
||||
"permissionMessage": "Los permisos al calendario son necesarios para ver sus reuniones en la aplicación.",
|
||||
"refresh": "Actualizar calendario",
|
||||
"today": "Hoy"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Error: su mensaje no fue enviado. Razón : {{error}}",
|
||||
"fieldPlaceHolder": "Entre su mensaje aquí",
|
||||
"messagebox": "Escribir un mensaje",
|
||||
"messageTo": "",
|
||||
"noMessagesMessage": "Todavía no hay mensajes en la reunión. Comience una conversación aquí!",
|
||||
"error": "Error: su mensaje no se envío. Motivo: {{error}}",
|
||||
"fieldPlaceHolder": "Escriba su mensaje aquí",
|
||||
"messagebox": "Escriba un mensaje",
|
||||
"messageTo": "Mensaje privado para {{recipient}}",
|
||||
"noMessagesMessage": "No hay mensajes en la reunión. ¡Inicie una conversación!",
|
||||
"nickname": {
|
||||
"popover": "Elegir un apodo",
|
||||
"popover": "Seleccione un apodo",
|
||||
"title": "Introducir un apodo para usar el chat"
|
||||
},
|
||||
"privateNotice": "Mensaje privado a {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": "ud."
|
||||
"privateNotice": "Mensaje privado para {{recipient}}",
|
||||
"title": "Mensajes",
|
||||
"you": "usted"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Instalar la extensión para Google Calendar y la integración con Office 365",
|
||||
"buttonText": "Instalar extensión de Chrome",
|
||||
"dontShowAgain": "No mostrar nuevamente"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Conectando a la reunión..."
|
||||
"joiningRoom": "Conectando a su reunión..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Adjunto",
|
||||
"AUTHENTICATING": "Autenticación",
|
||||
"AUTHENTICATING": "Autenticando",
|
||||
"AUTHFAIL": "Error de autenticación",
|
||||
"CONNECTED": "Conectado",
|
||||
"CONNECTING": "Conexión",
|
||||
"CONNECTING": "Conectando",
|
||||
"CONNFAIL": "Error de conexión",
|
||||
"DISCONNECTED": "Desconectado",
|
||||
"DISCONNECTING": "Desconexión",
|
||||
"DISCONNECTING": "Desconectando",
|
||||
"ERROR": "Error",
|
||||
"RECONNECTING": "Se produjo un problema de red. Reconectando..."
|
||||
"RECONNECTING": "Ocurrió un problema en la red. Reconectando...",
|
||||
"FETCH_SESSION_ID": "Obteniendo session-id...",
|
||||
"GET_SESSION_ID_ERROR": "Obtener session-id error: {{code}}",
|
||||
"GOT_SESSION_ID": "Obteniendo session-id... Listo",
|
||||
"LOW_BANDWIDTH": "Video para {{displayName}} ha sido deshabilitado para economizar ancho de banda"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Dirección:",
|
||||
"bandwidth": "Ancho de banda estimado:",
|
||||
"bitrate": "Velocidad de transferencia:",
|
||||
"bridgeCount": "Recuento de servidor: ",
|
||||
"bitrate": "Tasa de transferencia:",
|
||||
"bridgeCount": "Contador del servidor: ",
|
||||
"connectedTo": "Conectado a:",
|
||||
"framerate": "Frecuencia de imagen:",
|
||||
"framerate": "Cuadros por segundo:",
|
||||
"less": "Mostrar menos",
|
||||
"localaddress": "Dirección local:",
|
||||
"localaddress_plural": "Direcciones locales:",
|
||||
@@ -105,30 +114,30 @@
|
||||
"transport_plural": "Transportes:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Más temprano",
|
||||
"earlier": "Temprano",
|
||||
"today": "Hoy",
|
||||
"yesterday": "Ayer"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Necesitas la aplicación móvil de {{app}} para unirte a esta reunión en el teléfono.",
|
||||
"description": "¿No sucedió nada? Intentamos iniciar la reunión en la aplicación de escritorio de {{app}}. Vuelve a intentarlo o iníciala en la aplicación web de {{app}}.",
|
||||
"descriptionWithoutWeb": "No pasó nada ? Intentamos iniciar su reunión en la aplicación de escritorio {{app}}.",
|
||||
"description": "¿No pasó nada? Hemos intentado iniciar su reunión en la aplicación {{app}} de escritorio. intente de nuevo o inicie en la aplicación {{app}} vía web.",
|
||||
"descriptionWithoutWeb": "¿No pasó nada? Intentamos iniciar su reunión en la aplicación {{app}} de escritorio.",
|
||||
"downloadApp": "Descargar la aplicación",
|
||||
"launchWebButton": "Iniciar en la Web",
|
||||
"openApp": "Continuar a la aplicación",
|
||||
"title": "Iniciando la reunión en {{app}}...",
|
||||
"tryAgainButton": "Volver a intentar en escritorio"
|
||||
"tryAgainButton": "Intentar de nuevo en el escritorio"
|
||||
},
|
||||
"defaultLink": "por ejemplo, {{url}}",
|
||||
"defaultNickname": "por ejemplo, Jane Pink",
|
||||
"defaultLink": "p.ej. {{url}}",
|
||||
"defaultNickname": "p. ej. Juan Pérez",
|
||||
"deviceError": {
|
||||
"cameraError": "No se pudo acceder a la cámara",
|
||||
"cameraPermission": "Error al obtener el permiso de la cámara",
|
||||
"microphoneError": "No se pudo acceder al micrófono",
|
||||
"microphonePermission": "Error al obtener el permiso del micrófono"
|
||||
"cameraError": "Error al acceder a tu cámara",
|
||||
"cameraPermission": "Error de permisos en la cámara",
|
||||
"microphoneError": "Error al acceder a tu micrófono",
|
||||
"microphonePermission": "Error al obtener permiso del micrófono"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "No se otorgó permiso",
|
||||
"noPermission": "Permiso no concedido",
|
||||
"previewUnavailable": "Vista previa no disponible",
|
||||
"selectADevice": "Seleccionar un dispositivo",
|
||||
"testAudio": "Reproducir un sonido de prueba"
|
||||
@@ -141,8 +150,8 @@
|
||||
"alreadySharedVideoMsg": "Otro participante ya está compartiendo un vídeo. Esta conferencia sólo permite compartir un vídeo a la vez.",
|
||||
"alreadySharedVideoTitle": "Solo se permite un video compartido por vez",
|
||||
"applicationWindow": "Ventana de aplicación",
|
||||
"Back": "Volver",
|
||||
"cameraConstraintFailedError": "La cámara no satisface algunas de las limitaciones requeridas.",
|
||||
"Back": "Anterior",
|
||||
"cameraConstraintFailedError": "Su cámara no satisface algunos de los requerimientos.",
|
||||
"cameraNotFoundError": "No se encontró la cámara.",
|
||||
"cameraNotSendingData": "No podemos acceder a la cámara. Comprueba si otra aplicación está usando este dispositivo, selecciona otro dispositivo del menú de configuración o intenta volver a cargar la aplicación.",
|
||||
"cameraNotSendingDataTitle": "No es posible acceder a la cámara",
|
||||
@@ -152,78 +161,84 @@
|
||||
"Cancel": "Cancelar",
|
||||
"close": "Cerrar",
|
||||
"conferenceDisconnectMsg": "Se recomienda que compruebes la conexión de la red. Reconectando en {{seconds}} segundos...",
|
||||
"conferenceDisconnectTitle": "Se te ha desconectado.",
|
||||
"conferenceReloadMsg": "Estamos intentando solucionarlo. Reconectando en {{seconds}} segundos...",
|
||||
"conferenceReloadTitle": "Lamentablemente, algo salió mal.",
|
||||
"conferenceDisconnectTitle": "Ha sido desconectado.",
|
||||
"conferenceReloadMsg": "Estamos tratando de arreglar esto. Reconectando en {{seconds}} segundos...",
|
||||
"conferenceReloadTitle": "Desafortunadamente, algo salió mal.",
|
||||
"confirm": "Confirmar",
|
||||
"confirmNo": "No",
|
||||
"confirmYes": "Sí",
|
||||
"connectError": "¡Uy! Algo salió mal y no pudimos conectar con la conferencia.",
|
||||
"connectErrorWithMsg": "¡Uy! Algo salió mal y no pudimos conectar con la conferencia: {{msg}}",
|
||||
"connecting": "Conexión",
|
||||
"contactSupport": "Contactar con soporte",
|
||||
"connectError": "¡Oops! Algo salio mal y no fue posible conectarnos a la conferencia.",
|
||||
"connectErrorWithMsg": "¡Oops! Algo salio mal y no fue posible conectarnos a la conferencia: {{msg}}",
|
||||
"connecting": "Conectando",
|
||||
"contactSupport": "Contacte a soporte técnico",
|
||||
"copy": "Copiar",
|
||||
"dismiss": "Descartar",
|
||||
"displayNameRequired": "Hola! Cuál es su nombre ?",
|
||||
"displayNameRequired": "¡Hola! ¿Cuál es tu nombre?",
|
||||
"done": "Listo",
|
||||
"enterDisplayName": "Por favor indique su nombre aquí",
|
||||
"enterDisplayName": "Por favor ingresa tu nombre aquí",
|
||||
"error": "Error",
|
||||
"externalInstallationMsg": "Tienes que instalar nuestra extensión de uso compartido del escritorio.",
|
||||
"externalInstallationTitle": "Se requiere extensión",
|
||||
"externalInstallationMsg": "Necesita instalar nuestra extensión para compartir escritorio.",
|
||||
"externalInstallationTitle": "Extensión requerida",
|
||||
"goToStore": "Ir a la tienda web",
|
||||
"gracefulShutdown": "Nuestro servicio está actualmente interrumpido debido a tareas de mantenimiento. Vuelve a intentarlo más tarde.",
|
||||
"gracefulShutdown": "Nuestro servicio se encuentra en mantenimiento. Por favor, intente más tarde.",
|
||||
"IamHost": "Soy el anfitrión",
|
||||
"incorrectRoomLockPassword": "Clave incorrecta",
|
||||
"incorrectPassword": "Nombre de usuario o contraseña incorrectos",
|
||||
"inlineInstallationMsg": "Tienes que instalar nuestra extensión de uso compartido del escritorio.",
|
||||
"incorrectRoomLockPassword": "Contraseña incorrecta",
|
||||
"incorrectPassword": "Nombre de usuario o contraseña incorrecta",
|
||||
"inlineInstallationMsg": "Necesita instalar nuestra extensión para compartir escritorio.",
|
||||
"inlineInstallExtension": "Instalar ahora",
|
||||
"internalError": "¡Uy! Algo salió mal. Se produjo el siguiente error: {{error}}",
|
||||
"internalError": "¡Oops! Algo salió mal. El siguiente error ocurrió: {{error}}",
|
||||
"internalErrorTitle": "Error interno",
|
||||
"kickMessage": "Puede contactar {{participantDisplayName}} para más detalles.",
|
||||
"kickParticipantButton": "Echar",
|
||||
"kickParticipantDialog": "¿Estás seguro de que deseas echar a este participante?",
|
||||
"kickParticipantTitle": "Sacar este participante ?",
|
||||
"kickTitle": "Ay! {{participantDisplayName}} lo sacó de la reunión",
|
||||
"kickMessage": "Puede ponerse en contacto con {{participantDisplayName}} para obtener más detalles.",
|
||||
"kickParticipantButton": "Expulsar",
|
||||
"kickParticipantDialog": "¿Seguro que quiere expulsar a este participante?",
|
||||
"kickParticipantTitle": "¿Sacar este participante?",
|
||||
"kickTitle": "¡Ay! {{participantDisplayName}} te expulsó de la reunión",
|
||||
"liveStreaming": "Transmisión en vivo",
|
||||
"liveStreamingDisabledForGuestTooltip": "Los invitados no pueden iniciar la transmisión en vivo.",
|
||||
"liveStreamingDisabledTooltip": "Inicio de transmisión en vivo deshabilitado.",
|
||||
"liveStreamingDisabledTooltip": "Iniciar transmisión en vivo deshabilitado.",
|
||||
"lockMessage": "No se pudo bloquear la conferencia.",
|
||||
"lockRoom": "Agregar una $t(lockRoomPasswordUppercase) a la reunión",
|
||||
"lockTitle": "Error de bloqueo",
|
||||
"logoutQuestion": "¿Estás seguro de que deseas cerrar la sesión y detener la conferencia?",
|
||||
"lockRoom": "Agregar $t(lockRoomPasswordUppercase) a la reunión",
|
||||
"lockTitle": "El bloqueo falló",
|
||||
"logoutQuestion": "¿Está seguro que desea salir y detener la conferencia?",
|
||||
"logoutTitle": "Cierre de sesión",
|
||||
"maxUsersLimitReached": "Se ha alcanzado el límite de número máximo de participantes. La conferencia está llena. Póngase en contacto con el propietario de la reunión o inténtelo de nuevo más tarde.",
|
||||
"maxUsersLimitReachedTitle": "Límite máximo de participantes alcanzado",
|
||||
"micConstraintFailedError": "El micrófono no cumple algunas de las restricciones requeridas.",
|
||||
"maxUsersLimitReached": "El límite máximo de participantes ha sido alcanzado. La conferencia está llena. Por favor contacta al organizador o intenta mas tarde.",
|
||||
"maxUsersLimitReachedTitle": "Se ha alcanzado el límite máximo de participantes",
|
||||
"micConstraintFailedError": "El micrófono no satisface algunos de los requerimientos.",
|
||||
"micNotFoundError": "No se encontró el micrófono.",
|
||||
"micNotSendingData": "Vaya a la configuración de su ordenador para desactivar el silencio de su micrófono y ajustar su nivel.",
|
||||
"micNotSendingDataTitle": "La configuración del sistema silencia el micrófono",
|
||||
"micPermissionDeniedError": "No has otorgado permiso para usar el micrófono. Puedes unirte a la conferencia de todos modos, pero los demás asistente no te podrán escuchar. Usa el botón de la cámara en la barra de direcciones para solucionarlo.",
|
||||
"micUnknownError": "No se puede usar el micrófono por un motivo desconocido.",
|
||||
"muteParticipantBody": "No podrás anular el silencio, pero él/ella podrá hacerlo en cualquier momento.",
|
||||
"micNotSendingData": "Vaya a la configuración de su computadora para activar el micrófono y ajustar su nivel",
|
||||
"micNotSendingDataTitle": "Su micrófono está silenciado en la configuración de su sistema",
|
||||
"micPermissionDeniedError": "No ha otorgado permisos para usar su micrófono. Puede unirse a la conferencia, pero no lo podrán escuchar. Utilice el botón en la barra de dirección para solucionar esto.",
|
||||
"micUnknownError": "No se puede usar su micrófono por motivos desconocidos.",
|
||||
"muteEveryoneElseDialog": "Una vez silenciados, No podrás quitarles el modo en silencio, pero ellos pueden quitárselo en cualquier momento.",
|
||||
"muteEveryoneElseTitle": "¿Silenciar a todos excepto a {{whom}}?",
|
||||
"muteEveryoneDialog": "¿Está seguro que quiere silenciar a todos? No podrás quitarles el modo en silencio, pero ellos pueden quitárselo en cualquier momento.",
|
||||
"muteEveryoneTitle": "¿Silenciar a todos?",
|
||||
"muteEveryoneSelf": "Usted mismo",
|
||||
"muteEveryoneStartMuted": "Todos inician silenciados desde ahora",
|
||||
"muteParticipantBody": "No podrás quitarles el modo en silencio, pero ellos pueden quitárselo en cualquier momento.",
|
||||
"muteParticipantButton": "Silenciar",
|
||||
"muteParticipantDialog": "¿Estás seguro de que deseas silenciar a este participante? No podrás anular el silencio, pero él/ella podrá hacerlo en cualquier momento.",
|
||||
"muteParticipantTitle": "Silenciar este participante ?",
|
||||
"muteParticipantDialog": "¿Seguro que quiere silenciar a este participante? No podrá revertir esta acción, pero el participante podrá hacerlo en cualquier momento",
|
||||
"muteParticipantTitle": "Silenciar este participante?",
|
||||
"Ok": "Aceptar",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Definir una $t(lockRoomPassword) de reunión no está soportado.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) no soportada",
|
||||
"passwordRequired": "Se requiere $t(lockRoomPasswordUppercase)",
|
||||
"popupError": "El navegador bloquea las ventanas emergentes de este sitio. Habilítalas en la configuración de seguridad del navegador y vuelve a intentarlo.",
|
||||
"passwordNotSupported": "No se soporta $t(lockRoomPassword) en la reunión",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) no es compatible",
|
||||
"passwordRequired": "$t(lockRoomPasswordUppercase) necesario",
|
||||
"popupError": "Su navegador está bloqueando las ventanas emergentes de este sitio. Habilite las ventanas emergentes en la configuración de seguridad de su navegador y vuelva a intentarlo.",
|
||||
"popupErrorTitle": "Ventana emergente bloqueada",
|
||||
"recording": "Grabación",
|
||||
"recordingDisabledForGuestTooltip": "Los invitados no pueden iniciar grabaciones.",
|
||||
"recordingDisabledTooltip": "Inicio de grabación deshabilitado.",
|
||||
"rejoinNow": "Volver a unirse ahora",
|
||||
"remoteControlAllowedMessage": "{{user}} aceptó su solicitud de control remoto.",
|
||||
"remoteControlDeniedMessage": "{{user}} rechazó su solicitud de control remoto.",
|
||||
"remoteControlErrorMessage": "Se produjo un error al intentar solicitar permisos de control remoto de {{user}}.",
|
||||
"remoteControlRequestMessage": "Permitir que {{user}} controle su escritorio de manera remota?",
|
||||
"remoteControlShareScreenWarning": "Tenga en cuenta que si presiona \"Permitir\", compartirá su pantalla.",
|
||||
"remoteControlStopMessage": "La sesión de control remoto finalizó.",
|
||||
"recordingDisabledTooltip": "Inicio de grabación desactivado.",
|
||||
"rejoinNow": "Reunirse ahora",
|
||||
"remoteControlAllowedMessage": "¡{{user}} ha aceptado tu solicitud de control remoto!",
|
||||
"remoteControlDeniedMessage": "¡{{user}} ha rechazado tu solicitud de control remoto!",
|
||||
"remoteControlErrorMessage": "¡Ha ocurrido un error tratando de solicitar permiso de control remoto de {{user}}!",
|
||||
"remoteControlRequestMessage": "¿Permitirá que {{user}} controle remotamente su escritorio?",
|
||||
"remoteControlShareScreenWarning": "¡Tenga en cuenta que si presiona \"Permitir\" usted compartirá su pantalla!",
|
||||
"remoteControlStopMessage": "¡La sesión de control remoto ha finalizado!",
|
||||
"remoteControlTitle": "Control de escritorio remoto",
|
||||
"Remove": "Eliminar",
|
||||
"removePassword": "Remover la $t(lockRoomPassword)",
|
||||
"removePassword": "Eliminar $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "¿Estás seguro de que deseas eliminar el video compartido?",
|
||||
"removeSharedVideoTitle": "Eliminar video compartido",
|
||||
"reservationError": "Error del sistema de reservaciones",
|
||||
@@ -237,7 +252,7 @@
|
||||
"sendPrivateMessage": "Recientemente ha recibido un mensaje privado. ¿Pretendía responder a eso en privado, o quería enviar su mensaje al grupo?",
|
||||
"sendPrivateMessageCancel": "Enviar al grupo",
|
||||
"sendPrivateMessageOk": "Enviar en privado",
|
||||
"sendPrivateMessageTitle": "Enviar en privado ?",
|
||||
"sendPrivateMessageTitle": "¿Enviar en privado?",
|
||||
"serviceUnavailable": "Servicio no disponible",
|
||||
"sessTerminated": "Llamada finalizada",
|
||||
"Share": "Compartir",
|
||||
@@ -304,8 +319,8 @@
|
||||
"dialInTollFree": "Sin cargo",
|
||||
"genericError": "Epa, algo salió mal.",
|
||||
"inviteLiveStream": "Para ver la transmisión en vivo de esta reunión, haz clic en este enlace: {{url}}",
|
||||
"invitePhone": "Para unirse por teléfono, marque ésto: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Busca un número de acceso diferente?\nConsulte los números de acceso a las reuniones : {{url}}\n\n\nSi también marca a través de un teléfono externo, ingrese sin conectarse al audio: {{silentUrl}}",
|
||||
"invitePhone": "Para unirse por teléfono, marque: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "¿Busca un número de acceso diferente?\nConsulte los números de acceso a las reuniones : {{url}}\n\n\nSi también marca a través de un teléfono externo, ingrese sin conectarse al audio: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Estás invitado a unirte a una reunión.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} lo invita a una reunión.\n",
|
||||
"inviteURLSecondPart": "\nIngrese a la reunión :\n{{url}}\n",
|
||||
@@ -429,13 +444,13 @@
|
||||
"moderator": "Derechos de moderador otorgados.",
|
||||
"muted": "Has iniciado la conversación con el silencio activado.",
|
||||
"mutedTitle": "Tienes el silencio activado.",
|
||||
"mutedRemotelyTitle": "Su micrófono fue silenciado por {{participantDisplayName}}!",
|
||||
"mutedRemotelyTitle": "¡Su micrófono fue silenciado por {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "Siempre puede reactivar sur micrófono cuando esté listo para hablar. Desactívelo de nuevo cuando termine para mantener el ruido al mínimo en la reunión.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) retirada por otro participante",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) agregada por otro participante",
|
||||
"raisedHand": "{{name}} desea hablar.",
|
||||
"somebody": "Alguien",
|
||||
"startSilentTitle": "Ingresó sin salida de audio!",
|
||||
"startSilentTitle": "¡Ingresó sin salida de audio!",
|
||||
"startSilentDescription": "Vuelva a ingresar para activar el audio",
|
||||
"suboptimalBrowserWarning": "Nos tememos que su experiencia de reunión no será tan buena aquí. Estamos buscando formas de mejorar esto, pero hasta entonces, por favor, intente utilizar uno de los <a href='static/recommendedBrowsers.html' target='_blank'>navegadores soportados</a>.",
|
||||
"suboptimalExperienceTitle": "Advertencia del navegador",
|
||||
@@ -459,7 +474,7 @@
|
||||
"initializingCall": "Inicializando llamada...",
|
||||
"invited": "Invitado",
|
||||
"rejected": "Rechazado",
|
||||
"ringing": "Sonando..."
|
||||
"ringing": "Timbrando..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Configurar su nombre para mostrar",
|
||||
@@ -541,7 +556,7 @@
|
||||
"version": "Versión"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nDesea llamar desde su teléfono ?\n\n{{defaultDialInNumber}}La lista de números disponibles para la reunión está disponible aquí : \n{{dialInfoPageUrl}}",
|
||||
"dialInfoText": "\n\n=====\n\n¿Desea llamar desde su teléfono?\n\n{{defaultDialInNumber}}La lista de números disponibles para la reunión está disponible aquí : \n{{dialInfoPageUrl}}",
|
||||
"mainText": "Haz clic en el enlace siguiente para unirte a la reunión:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Altavoz",
|
||||
@@ -555,7 +570,7 @@
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} tiene que usar el micrófono y la cámara."
|
||||
"title": "{{app}} necesita usar el micrófono y la cámara."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Volver a unirme",
|
||||
@@ -566,24 +581,26 @@
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Alternar solo audio",
|
||||
"audioRoute": "Seleccionar el dispositivo de sonido",
|
||||
"callQuality": "",
|
||||
"callQuality": "Ajustar la calidad vídeo",
|
||||
"cc": "Alternar subtítulos",
|
||||
"chat": "Alternar ventana de chat",
|
||||
"document": "Alternar documento compartido",
|
||||
"download": "Descargar la aplicación",
|
||||
"download": "Descargar nuestras aplicaciones",
|
||||
"feedback": "Dejar comentario",
|
||||
"fullScreen": "Alternar pantalla completa",
|
||||
"hangup": "Dejar la llamada",
|
||||
"help": "",
|
||||
"help": "Ayuda",
|
||||
"invite": "Invitar personas",
|
||||
"kick": "Echar participante",
|
||||
"localRecording": "Alternar controles de grabación local",
|
||||
"lockRoom": "Alternar contraseña de reunión",
|
||||
"moreActions": "Alternar menú de más acciones",
|
||||
"moreActionsMenu": "Menú de más acciones",
|
||||
"moreOptions": "Mostrar más opciones",
|
||||
"mute": "Alternar silenciar audio",
|
||||
"muteEveryone": "Silenciar a todos",
|
||||
"pip": "Alternar modo de imagen en imagen",
|
||||
"privateMessage": "",
|
||||
"privateMessage": "Enviar un mensaje privado",
|
||||
"profile": "Editar el perfil",
|
||||
"raiseHand": "Alternar levantar la mano",
|
||||
"recording": "Alternar grabación",
|
||||
@@ -593,7 +610,7 @@
|
||||
"shareRoom": "Invitar a alguien",
|
||||
"shareYourScreen": "Alternar uso compartido de pantalla",
|
||||
"shortcuts": "Alternar accesos directos",
|
||||
"show": "",
|
||||
"show": "Mostrar en primer plano",
|
||||
"speakerStats": "Alternar estadísticas del altavoz",
|
||||
"tileView": "Alternar vista de mosaico",
|
||||
"toggleCamera": "Alternar cámara",
|
||||
@@ -623,10 +640,16 @@
|
||||
"logout": "Cierre de sesión",
|
||||
"lowerYourHand": "Bajar la mano",
|
||||
"moreActions": "Más acciones",
|
||||
"moreOptions": "Más opciones",
|
||||
"mute": "Silenciar/anular silencio",
|
||||
"noAudioSignalTitle": "No hay ninguna entrada que provenga de su micrófono!",
|
||||
"muteEveryone": "Silenciar a todos",
|
||||
"noAudioSignalTitle": "¡No hay ninguna entrada que provenga de su micrófono!",
|
||||
"noAudioSignalDesc": "Si no lo silenció intencionalmente desde la configuración del sistema o el hardware, considere la posibilidad de cambiar el dispositivo.",
|
||||
"noAudioSignalDescSuggestion": "Si no lo silenció intencionalmente desde la configuración del sistema o el hardware, considere utilizar el siguiente dispositivo:",
|
||||
"noAudioSignalDialInDesc": "Usted puede además llamar usando:",
|
||||
"noAudioSignalDialInLinkDesc" : "Números de llamada",
|
||||
"noisyAudioInputTitle": "Su micrófono parece estar ruidoso",
|
||||
"noisyAudioInputDesc": "Parece que su micráfono está haciendo ruido, por favor considere silenciarlo o cambiar de dispositivo.",
|
||||
"openChat": "Abrir chat",
|
||||
"pip": "Introducir modo de imagen en imagen",
|
||||
"privateMessage": "Enviar un mensaje privado",
|
||||
@@ -707,12 +730,13 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Silenciar",
|
||||
"domuteOthers": "Silenciar a todos",
|
||||
"flip": "Dar vuelta",
|
||||
"kick": "Echar",
|
||||
"moderator": "Moderador",
|
||||
"mute": "Se silenció el participante",
|
||||
"muted": "Silenciado",
|
||||
"remoteControl": "Control remoto",
|
||||
"remoteControl": "",
|
||||
"show": "Mostrar en primer plano",
|
||||
"videomute": "El participante paró su cámara"
|
||||
},
|
||||
@@ -739,11 +763,11 @@
|
||||
"recentList": "Reciente",
|
||||
"recentListDelete": "Eliminar",
|
||||
"recentListEmpty": "Su lista reciente está actualmente vacía. Abra una sesión de chat con su equipo y encontrará todas sus reuniones recientes aquí.",
|
||||
"reducedUIText": "BIenvenid@ a {{app}}!",
|
||||
"reducedUIText": "¡Bienvenid@ a {{app}}!",
|
||||
"roomname": "Introducir nombre de sala",
|
||||
"roomnameHint": "Introduce el nombre o la dirección URL de la sala a la que deseas unirte. Puedes inventar un nombre, simplemente infórmaselo a las personas con las que te reunirás para que introduzcan el mismo nombre.",
|
||||
"sendFeedback": "Enviar comentario",
|
||||
"terms": "Términos",
|
||||
"title": "Conferencias en video seguras, con gran variedad de funciones y completamente gratuitas"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
777
lang/main-et.json
Normal file
@@ -0,0 +1,777 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Lisa",
|
||||
"countryNotSupported": "Valitud riik ei ole toetatud.",
|
||||
"countryReminder": "Veendu, et suunakood oleks lisatud.",
|
||||
"disabled": "Uusi kontakte ei saa kõnesse lisada.",
|
||||
"failedToAdd": "Uue kontakti kõnesse lisamine ebaõnnestus",
|
||||
"footerText": "Numbri valimine on keelatud.",
|
||||
"loading": "Kontaktide otsimine...",
|
||||
"loadingNumber": "Telefoninumbri kontrollimine...",
|
||||
"loadingPeople": "Kontaktide otsimine kõnesse lisamiseks...",
|
||||
"noResults": "Vasteid ei leitud",
|
||||
"noValidNumbers": "Sisesta telefoninumber",
|
||||
"searchNumbers": "Lisa telefoninumber",
|
||||
"searchPeople": "Kontaktide otsimine",
|
||||
"searchPeopleAndNumbers": "Otsi kontakti või lisa telefoninumber",
|
||||
"telephone": "Telefoninumber: {{number}}",
|
||||
"title": "Lisa kontakte kõnesse"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Kõrvaklapid",
|
||||
"phone": "Telefon",
|
||||
"speaker": "Kõlar",
|
||||
"none": "Heli vahendid pole kättesaadavad"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Ainult heli"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Lisa kõne link",
|
||||
"confirmAddLink": "Kas soovid käesolevale kõnele lisada lingi?",
|
||||
"error": {
|
||||
"appConfiguration": "Ühendus kalendriga ei ole õigesti seadistatud.",
|
||||
"generic": "Viga! Palun kontrolli kalendri seadistusi või värskenda kalendrit.",
|
||||
"notSignedIn": "Viga kalendri autentimisel! Palun kontrolli kalendri seadistusi ja logi uuesti sisse."
|
||||
},
|
||||
"join": "Liitu",
|
||||
"joinTooltip": "Liitu kõnega",
|
||||
"nextMeeting": "järgmine kõne",
|
||||
"noEvents": "Uusi kõnesid pole planeeritud..",
|
||||
"ongoingMeeting": "aktiivne kõne",
|
||||
"permissionButton": "Ava seadistused",
|
||||
"permissionMessage": "Planeeritud kõne nägemiseks on vajalik kalendri ligipääsuõigus.",
|
||||
"refresh": "Värskenda kalendrit",
|
||||
"today": "Täna"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Viga: sõnumi \"{{originalText}}\" saatmine ebaõnnestus. Põhjus: {{error}}",
|
||||
"fieldPlaceHolder": "Sisesta oma sõnum siia",
|
||||
"messagebox": "Sisesta sõnum",
|
||||
"messageTo": "Privaatsõnum kasutajale {{recipient}}",
|
||||
"noMessagesMessage": "Kirjavahetust pole veel alustatud. Alusta kirjavahetust siin!",
|
||||
"nickname": {
|
||||
"popover": "Sisesta nimi",
|
||||
"title": "Sisesta nimi, et kõnega alustada"
|
||||
},
|
||||
"privateNotice": "Privaatsõnum kasutajale {{recipient}}",
|
||||
"title": "Kõne",
|
||||
"you": "you"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "Paigalda Google Kalendri laiendus ja Office 365 integratsioon",
|
||||
"buttonText": "Paigalda Chrome'i laiendus",
|
||||
"dontShowAgain": "Ära rohkem näita"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Kõnega ühendamine..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Ühendatud",
|
||||
"AUTHENTICATING": "Autentimine...",
|
||||
"AUTHFAIL": "Autentimine ebaõnnestus",
|
||||
"CONNECTED": "Ühendatud",
|
||||
"CONNECTING": "Ühendamine...",
|
||||
"CONNFAIL": "Ühendamine ebaõnnestus",
|
||||
"DISCONNECTED": "Ühendus katkestatud",
|
||||
"DISCONNECTING": "Ühenduse katkestamine...",
|
||||
"ERROR": "Viga",
|
||||
"FETCH_SESSION_ID": "Sessiooni-ID püüdmine...",
|
||||
"GET_SESSION_ID_ERROR": "Sessiooni-ID püüdmisel tekkis viga: {{code}}",
|
||||
"GOT_SESSION_ID": "Sessiooni-ID püüdmine... Tehtud",
|
||||
"LOW_BANDWIDTH": "Kasutaja {{displayName}} video on ülekandekiiruse parandamiseks välja lülitatud"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Aadress:",
|
||||
"bandwidth": "Eeldatav ülekandekiirus:",
|
||||
"bitrate": "Andmeedastuskiirus:",
|
||||
"bridgeCount": "Serverite arv: ",
|
||||
"connectedTo": "Ühendatud:",
|
||||
"e2e_rtt": "E2E RTT:",
|
||||
"framerate": "Ekraani eraldusvõime:",
|
||||
"less": "Näita vähem",
|
||||
"localaddress": "Lokaalne aadress:",
|
||||
"localaddress_plural": "Lokaalsed aadressid:",
|
||||
"localport": "Lokaalne port:",
|
||||
"localport_plural": "Lokaalsed pordid:",
|
||||
"more": "Näita rohkem",
|
||||
"packetloss": "Andmepaketi kaotus:",
|
||||
"quality": {
|
||||
"good": "Hea",
|
||||
"inactive": "Mitteaktiivne",
|
||||
"lost": "Kaotatud",
|
||||
"nonoptimal": "Mitteoptimaalne",
|
||||
"poor": "Nõrk"
|
||||
},
|
||||
"remoteaddress": "Kaugtöö aadress:",
|
||||
"remoteaddress_plural": "Kaugtöö aadressid:",
|
||||
"remoteport": "Kaugtöö port:",
|
||||
"remoteport_plural": "Kaugtöö pordid:",
|
||||
"resolution": "Resolutsioon:",
|
||||
"status": "Ühendus:",
|
||||
"transport": "Transport:",
|
||||
"transport_plural": "Transpordid:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Varem",
|
||||
"today": "Täna",
|
||||
"yesterday": "Eile"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Kõnega liitumiseks läbi mobiiltelefoni on vaja paigaldada {{app}} rakendus.",
|
||||
"description": "Midagi ei juhtunud? Proovisime ühendust luua töölaua rakendusega. Proovi uuesti või käivita {{app}} rakendus.",
|
||||
"descriptionWithoutWeb": "Midagi ei juhtunud? Televastuvõttu prooviti avada töölaua rakendusest {{app}}.",
|
||||
"downloadApp": "Laadi rakendus alla",
|
||||
"launchWebButton": "Käivita veebis",
|
||||
"openApp": "Jätka töölaua rakendusega",
|
||||
"title": "Kõne avamine rakenduses {{app}}...",
|
||||
"tryAgainButton": "Proovi töölaua rakendusega uuesti "
|
||||
},
|
||||
"defaultLink": "nt {{url}}",
|
||||
"defaultNickname": "nt. Mari Maasikas",
|
||||
"deviceError": {
|
||||
"cameraError": "Ei saanud kaameraga ühendust",
|
||||
"cameraPermission": "Puudub õigus kasutada kaamerat",
|
||||
"microphoneError": "Ei saanud mikrofoniga ühendust",
|
||||
"microphonePermission": "Puudub õigus kasutada mikrofoni"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Luba pole antud",
|
||||
"previewUnavailable": "Eelvaade pole kättesaadav",
|
||||
"selectADevice": "Vali seade",
|
||||
"testAudio": "Mängi testimiseks heli"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Otseülekanne"
|
||||
},
|
||||
"allow": "Luba",
|
||||
"alreadySharedVideoMsg": "Teine kasutaja jagab videot. Selles kõnes on ainult ühe video jagamine korraga lubatud.",
|
||||
"alreadySharedVideoTitle": "Korraga on lubatud ainult ühe video jagamine.",
|
||||
"applicationWindow": "Rakenduse aken",
|
||||
"Back": "Tagasi",
|
||||
"cameraConstraintFailedError": "Kaamera ei vasta teatud piirangutele.",
|
||||
"cameraNotFoundError": "Kaamerat ei leitud.",
|
||||
"cameraNotSendingData": "Ei saa ühendust kaameraga. Kontrolli, kas vahend on mõne teise rakenduse poolt kasutusel, vali menüüst teine vahend või värskenda rakendust.",
|
||||
"cameraNotSendingDataTitle": "Kaamera pole kättesaadav.",
|
||||
"cameraPermissionDeniedError": "Kaamera kasutamine on keelatud. Kõnega on võimalik ühineda ilma kaamerata. Kaamera kasutamiseks vajuta aadressiribal kaamera nupule.",
|
||||
"cameraUnknownError": "Kaamerat ei saa kasutada! Põhjus teadmata.",
|
||||
"cameraUnsupportedResolutionError": "Kaamera ei toeta nõutud resolutsiooni.",
|
||||
"Cancel": "Tühista",
|
||||
"close": "Sulge",
|
||||
"conferenceDisconnectMsg": "Kontrolli võrguühendust. Taasühendamine {{seconds}}...",
|
||||
"conferenceDisconnectTitle": "Ühendus on katkenud.",
|
||||
"conferenceReloadMsg": "Lahenduse otsime. Taasühendus {{seconds}} sek...",
|
||||
"conferenceReloadTitle": "Midagi läks valesti!",
|
||||
"confirm": "Kinnita",
|
||||
"confirmNo": "Ei",
|
||||
"confirmYes": "Kinnita",
|
||||
"connectError": "Oih, midagi läks valesti! Kõnega ühendamine ebaõnnestus.",
|
||||
"connectErrorWithMsg": "Oih, midagi läks valesti! Kõnega ühendamine ebaõnnestus. Põhjus: {{msg}}.",
|
||||
"connecting": "Ühendamine.",
|
||||
"contactSupport": "Võta ühendust kasutustoega",
|
||||
"copy": "Kopeeri",
|
||||
"dismiss": "Lõpeta",
|
||||
"displayNameRequired": "Nimi on kohustuslik",
|
||||
"done": "Valmis",
|
||||
"enterDisplayName": "Sisesta nimi",
|
||||
"error": "Viga",
|
||||
"externalInstallationMsg": "Töölauale on vaja paigaldada jagamise laiendus.",
|
||||
"externalInstallationTitle": "Laiendus on kohustuslik",
|
||||
"goToStore": "Mine veebipoodi",
|
||||
"gracefulShutdown": "Rakendus on hoolduseks ajutiselt maas. Proovi hiljem uuesti!",
|
||||
"IamHost": "Mina olen võõrustaja",
|
||||
"incorrectRoomLockPassword": "Vale parool",
|
||||
"incorrectPassword": "Vale kasutajanimi või parool",
|
||||
"inlineInstallationMsg": "Töölauale tuleb paigaldada jagamise laiendus.",
|
||||
"inlineInstallExtension": "Paiglada kohe",
|
||||
"internalError": "Oih, midagi läks valesti! Veateate: {{error}}.",
|
||||
"internalErrorTitle": "Sisemine viga",
|
||||
"kickMessage": "Oih, oled kõnest eemaldatud!",
|
||||
"kickParticipantButton": "Eemalda kõnest",
|
||||
"kickParticipantDialog": "Oled kindel, et tahad kasutaja kõnest eemaldada?",
|
||||
"kickParticipantTitle": "Eemalda kasutaja kõnest?",
|
||||
"kickTitle": "Kõnest eemaldatud",
|
||||
"liveStreaming": "Otseülekanne",
|
||||
"liveStreamingDisabledForGuestTooltip": "Külalised ei saa otseülekannet alustada.",
|
||||
"liveStreamingDisabledTooltip": "Otseülekande alustamine on keelatud.",
|
||||
"lockMessage": "Ebaõnnestunud lukustada kõnet.",
|
||||
"lockRoom": "Lisa kõnele parool",
|
||||
"lockTitle": "Lukustamine ebaõnnestus",
|
||||
"logoutQuestion": "Oled kindel, et tahad kõne peatada ja välja logida?",
|
||||
"logoutTitle": "Logi välja",
|
||||
"maxUsersLimitReached": "Maksimaalne kõnes osalejate arv on täis. Võta ühendust kõne omanikuga või proovi hiljem uuesti!",
|
||||
"maxUsersLimitReachedTitle": "Maksimaalne kõnes osalejate arv on täis",
|
||||
"micConstraintFailedError": "Mikrofon ei vasta teatud piirangutele.",
|
||||
"micNotFoundError": "Mikrofoni ei leitud.",
|
||||
"micNotSendingData": "Ei saa ühendust mikrofoniga. Vali menüüst teine vahend või värskenda rakendust.",
|
||||
"micNotSendingDataTitle": "Mikrofon pole kättesaadav.",
|
||||
"micPermissionDeniedError": "Mikrofoni kasutamine on keelatud. Kõnega on võimalik ühineda, aga teised Sind ei kuule. Mikrofoni kasutamiseks vajuta aadressiribal mikrofoni nupule.",
|
||||
"micUnknownError": "Mikrofoni ei saa kasutada. Põhjus teadmata.",
|
||||
"muteEveryoneElseDialog": "Peale mikrofoni vaigistamist saab ainult kasutaja ise oma mikrofoni tagasi sisse lülitada.",
|
||||
"muteEveryoneElseTitle": "Vaigista kõikide teiste mikrofonid, välja arvatud {{whom}}?",
|
||||
"muteEveryoneDialog": "Oled kindel, et soovid kõikide teiste mikrofonid vaigistada? Neid saab tagasi sisse lülitada ainult kasutaja ise.",
|
||||
"muteEveryoneTitle": "Vaigista kõik?",
|
||||
"muteEveryoneSelf": "Sina ise",
|
||||
"muteEveryoneStartMuted": "Edaspidi alustavad kõik välja lülitatud mikrofonidega",
|
||||
"muteParticipantBody": "Teiste kasutajate mikrofoni ei saa sisse lülitada. Kasutaja saab ise otsutada, kas mikrofon on sees või väljas.",
|
||||
"muteParticipantButton": "Lülita mikrofon välja",
|
||||
"muteParticipantDialog": "Oled kindel, et soovid kasutaja mikrofoni välja lülitada? Seda saab ainult kasutaja ise sisse tagasi lülitada.",
|
||||
"muteParticipantTitle": "Lülita kasutaja mikrofon välja?",
|
||||
"Ok": "Jah",
|
||||
"passwordLabel": "Parool",
|
||||
"passwordNotSupported": "Kõnele ei saa parooli määrata.",
|
||||
"passwordNotSupportedTitle": "Parooli lisamine pole toetatud",
|
||||
"passwordRequired": "Parool on kohustuslik",
|
||||
"popupError": "Modaalaknad on veebilehitsejas keelatud. Palun luba modaalakende kasutamine veebilehitseja turvalisuse seadistuses ning proovi uuesti.",
|
||||
"popupErrorTitle": "Modaalaknad on keelatud",
|
||||
"recording": "Salvetamine",
|
||||
"recordingDisabledForGuestTooltip": "Külalised ei saa kõne salvestada.",
|
||||
"recordingDisabledTooltip": "Kõne salvestamine on keelatud.",
|
||||
"rejoinNow": "Ühine uuesti",
|
||||
"remoteControlAllowedMessage": "{{user}} andis kaugjuhtimiseks loa!",
|
||||
"remoteControlDeniedMessage": "{{user}} keelas kaugjuhtimise!",
|
||||
"remoteControlErrorMessage": "Viga kaugjuhtimiseks loa küsimisel kasutajalt {{user}}!",
|
||||
"remoteControlRequestMessage": "Kas lubad kasutajal {{user}} oma töölauda kaugjuhtida?",
|
||||
"remoteControlShareScreenWarning": "Kui vajutad nupule \"Luba\", siis jagad oma ekraani.",
|
||||
"remoteControlStopMessage": "Kaugjuhtimise sessioon on lõppenud!",
|
||||
"remoteControlTitle": "Kaugjuhtimine",
|
||||
"Remove": "Eemalda",
|
||||
"removePassword": "Eemalda parool",
|
||||
"removeSharedVideoMsg": "Oled kindel, et soovid oma jagatud video eemaldada?",
|
||||
"removeSharedVideoTitle": "Eemalda jagatud video",
|
||||
"reservationError": "Broneerimise süsteemi viga",
|
||||
"reservationErrorMsg": "Veakood: {{code}}, sõnum: {{msg}}",
|
||||
"retry": "Proovi uuesti",
|
||||
"screenSharingFailedToInstall": "Oih, ekraanijagamise laienduse paigaldamine ebaõnnestus!",
|
||||
"screenSharingFailedToInstallTitle": "Ekraanijagamise laienduse paigaldamine ebaõnnestus",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Ekraani jagamisega läks midagi valesti! Veendu, et oled ekraani jagamiseks loa andnud.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Oih, ekraani jagamist ei saanud alustada!",
|
||||
"screenSharingPermissionDeniedError": "Oih, midagi läks valesti ekraanijagamise laienduse õigustega! Värskenda ja proovi uuesti.",
|
||||
"sendPrivateMessage": "Sulle saabus privaatsõnum. Kas soovid vastata privaatselt või avalikult?",
|
||||
"sendPrivateMessageCancel": "Saada sõnum avalikult",
|
||||
"sendPrivateMessageOk": "Saada sõnum privaatselt",
|
||||
"sendPrivateMessageTitle": "Saada privaatselt?",
|
||||
"serviceUnavailable": "Teenus pole kättesaadav",
|
||||
"sessTerminated": "Kõne lõpetatud",
|
||||
"Share": "Jaga",
|
||||
"shareVideoLinkError": "Sisesta korrektne Youtube’i link.",
|
||||
"shareVideoTitle": "Jaga videot",
|
||||
"shareYourScreen": "Jaga ekraani",
|
||||
"shareYourScreenDisabled": "Ekraani jagamine on keelatud.",
|
||||
"shareYourScreenDisabledForGuest": "Külalised ei saa ekraani jagada.",
|
||||
"startLiveStreaming": "Alusta otseülekannet",
|
||||
"startRecording": "Alusta salvestamist",
|
||||
"startRemoteControlErrorMessage": "Kaugjuhtimise sessiooni alustamisel tekkis viga!",
|
||||
"stopLiveStreaming": "Lõpeta otseülekanne",
|
||||
"stopRecording": "Lõpeta salvestamine",
|
||||
"stopRecordingWarning": "Oled kindel, et soovid salvestamist lõpetada?",
|
||||
"stopStreamingWarning": "Oled kindel, et soovid otseülekannet lõpetada?",
|
||||
"streamKey": "Otseülekande võti",
|
||||
"Submit": "Esita",
|
||||
"thankYou": "Aitäh, et kasutasid rakendust {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Kahjuks ei ole kõnega ühinemine lubatud.",
|
||||
"tokenAuthFailedTitle": "Autentimine ebaõnnestus",
|
||||
"transcribing": "Transkribeerimine",
|
||||
"unlockRoom": "Eemalda kõne parool",
|
||||
"userPassword": "kasutaja parool",
|
||||
"WaitForHostMsg": "Kõne <b>{{room}}</b> ei ole veel alanud. Autendi ennast, kui oled võõrustaja. Külalisena oota, kuni võõrustaja saabub.",
|
||||
"WaitForHostMsgWOk": "Kõne <b>{{room}}</b> ei ole veel alanud. Kui oled võõrustaja, vajuta OK, et ennast autentida. Külalisena oota, kuni võõrustaja saabub.",
|
||||
"WaitingForHost": "Võõrustaja ootamine...",
|
||||
"Yes": "Jah",
|
||||
"yourEntireScreen": "Täisekraan"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "on staatusega {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Jagatud dokument"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Keskmine",
|
||||
"bad": "Halb",
|
||||
"detailsLabel": "Kirjelda täpsemalt.",
|
||||
"good": "Hea",
|
||||
"rateExperience": "Hinda kõne kvaliteeti",
|
||||
"veryBad": "Väga halb",
|
||||
"veryGood": "Väga hea"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Vasta",
|
||||
"audioCallTitle": "Sissetulev kõne",
|
||||
"decline": "Lõpeta",
|
||||
"productLabel": "Jitsi",
|
||||
"videoCallTitle": "Sissetulev videokõne"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Näita infot",
|
||||
"addPassword": "Lisa parool",
|
||||
"cancelPassword": "Tühista parool",
|
||||
"conferenceURL": "Link:",
|
||||
"country": "Riik",
|
||||
"dialANumber": "Kõnega ühinemiseks vali number ja sisesta pin-kood.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Oih, sissehelistamine ei ole toetatud!",
|
||||
"dialInNumber": "Sissehelistamine:",
|
||||
"dialInSummaryError": "Sissehelistamise info pole kättesaadav. Proovi hiljem uuesti!",
|
||||
"dialInTollFree": "Maksuvaba",
|
||||
"genericError": "Oih, midagi läks valesti!",
|
||||
"inviteLiveStream": "Otseülekande nägemiseks vajuta lingile: {{url}}",
|
||||
"invitePhone": "Üks klikk heliga sissehelistamiseks: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "Otsid teist sissehelistamise numbrit?\nVaata sissehelistamise numbreid: {{url}}\n\n\nKui helistad läbi ruumi, ühine kõnega väljalülitatud mikrofoni režiimis: {{silentUrl}}",
|
||||
"inviteURLFirstPartGeneral": "Oled kõnesse kutsutud.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} kutsub Sind kõnesse.\n",
|
||||
"inviteURLSecondPart": "\nÜhine kõnega:\n{{url}}\n",
|
||||
"liveStreamURL": "Otseülekanne:",
|
||||
"moreNumbers": "Rohkem numbreid",
|
||||
"noNumbers": "Sissehelistamise numbrid puuduvad.",
|
||||
"noPassword": "Andmed puuduvad",
|
||||
"noRoom": "Sissehelistamise ruum pole täpsustatud.",
|
||||
"numbers": "Sissehelistamise numbrid",
|
||||
"password": "Parool:",
|
||||
"title": "Jaga",
|
||||
"tooltip": "Jaga linki ja helista, et kõnega ühineda",
|
||||
"label": "Kõne info"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Osade kasutajate kutsumine ebaõnnestus.",
|
||||
"header": "Kutsu",
|
||||
"searchCallOnlyPlaceholder": "Sisesta telefoninumber",
|
||||
"searchPeopleOnlyPlaceholder": "Otsi kasutajaid",
|
||||
"searchPlaceholder": "Kasutaja telefoninumber",
|
||||
"send": "Saada"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Midagi läks valesti.",
|
||||
"retry": "Proovi uuesti",
|
||||
"support": "Kasutajatugi",
|
||||
"supportMsg": "Kui see juhtub uuesti, võta ühendust"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Keskendu videole",
|
||||
"focusRemote": "Keskendu teise kasutaja videole",
|
||||
"fullScreen": "Ava/sulge täisekraani vaade",
|
||||
"keyboardShortcuts": "Klaviatuuri kiirvalikud",
|
||||
"localRecording": "Näita/peida salvestamise võimalused",
|
||||
"mute": "Lülita mikrofon sisse/välja",
|
||||
"pushToTalk": "Vajuta, et rääkida",
|
||||
"raiseHand": "Tõsta/langeta kätt",
|
||||
"showSpeakerStats": "Näita kõnelejate statistikat",
|
||||
"toggleChat": "Ava/sulge vestluse aken",
|
||||
"toggleFilmstrip": "Näita/peida video eelvaade",
|
||||
"toggleScreensharing": "Vaheta kaamera ja ekraanijagamise vahel",
|
||||
"toggleShortcuts": "Näita/peida klaviatuuri kiirvalikud",
|
||||
"videoMute": "Lülita kaamera sisse/välja",
|
||||
"videoQuality": "Halda kõne kvaliteeti"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Toimub ülekande ressursi vabastamine. Proovi mõne minuti pärast uuesti.",
|
||||
"busyTitle": "Kõik ülekandjad on hetkel hõivatud",
|
||||
"changeSignIn": "Vaheta kontot.",
|
||||
"choose": "Vali otseülekanne",
|
||||
"chooseCTA": "Vali ülekande viis. Oled sisse logitud e-mailiga {{email}}.",
|
||||
"enterStreamKey": "Sisesta siia oma YouTube’i ülekande võti.",
|
||||
"error": "Otseülekanne ebaõnnestus. Proovi uuesti.",
|
||||
"errorAPI": "YouTube’i kanaliga ühendumisel tekkis viga. Palun logi uuesti sisse.",
|
||||
"errorLiveStreamNotEnabled": "Otseülekanne ei ole e-mailiga {{email}} sisse lülitatud. Luba kasutajaga otseülekanded või vaheta kontot.",
|
||||
"expandedOff": "Otseülekanne on peatatud",
|
||||
"expandedOn": "Kõnest tehakse otseülekanne YouTube’i.",
|
||||
"expandedPending": "Otseülekanne algab...",
|
||||
"failedToStart": "Otseülekandega alustamine ebaõnnestus.",
|
||||
"getStreamKeyManually": "Ülekandjaid ei leitud. Leia YouTube’st otseülekande võti.",
|
||||
"invalidStreamKey": "Otseülekande võti võib olla vale.",
|
||||
"off": "Otseülekanne on peatatud",
|
||||
"offBy": "{{name}} lõpetas otseülekande",
|
||||
"on": "Otseülekanne",
|
||||
"onBy": "{{name}} alustas otseülekandega",
|
||||
"pending": "Otseülekande alustamine...",
|
||||
"serviceName": "Otseülekande teenus",
|
||||
"signedInAs": "Oled sisse logitud kasutajana:",
|
||||
"signIn": "Google’ga sisselogimine",
|
||||
"signInCTA": "Logi sisse või sisesta otseülekande võti YouTube’st.",
|
||||
"signOut": "Logi välja",
|
||||
"start": "Alusta otseülekannet.",
|
||||
"streamIdHelp": "Mis see on?",
|
||||
"unavailableTitle": "Otseülekanne pole kättesaadav."
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Väljas",
|
||||
"on": "Sees",
|
||||
"unknown": "Teadmata"
|
||||
},
|
||||
"dialogTitle": "Kohalikud salvestamise nupud",
|
||||
"duration": "Kestvus",
|
||||
"durationNA": "N/A",
|
||||
"encoding": "Kodeerimine",
|
||||
"label": "LOR",
|
||||
"labelToolTip": "Kohalik salvestamine on alustatud",
|
||||
"localRecording": "Kohalik salvestamine",
|
||||
"me": "Mina",
|
||||
"messages": {
|
||||
"engaged": "Local recording engaged.",
|
||||
"finished": "Salvestamise sessioon {{token}} on lõppenud. Palun saada salvestatud fail moderaatorile.",
|
||||
"finishedModerator": "Salvestamise sessioon {{token}} on lõppenud ja salvestatud. Küsi teistelt kontaktidelt nende koopiaid.",
|
||||
"notModerator": "Sa ei ole moderaator. Sa ei saa alustada ega lõpetada kohalikku salvestamist."
|
||||
},
|
||||
"moderator": "Moderaator",
|
||||
"no": "Ei",
|
||||
"participant": "Osaleja",
|
||||
"participantStats": "Osaleja andmed",
|
||||
"sessionToken": "Sessiooni token",
|
||||
"start": "Alusta salvestamist",
|
||||
"stop": "Lõpeta salvestamine",
|
||||
"yes": "Jah"
|
||||
},
|
||||
"lockRoomPassword": "parool",
|
||||
"lockRoomPasswordUppercase": "Parool",
|
||||
"me": "mina",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} ühines kõnega",
|
||||
"connectedThreePlusMembers": "{{name}} ja {{count}} teist kasutajat ühines kõnega",
|
||||
"connectedTwoMembers": "{{first}} ja {{second}} ühinesid kõnega",
|
||||
"disconnected": "lahti ühendatud",
|
||||
"focus": "Konverentsi fookus",
|
||||
"focusFail": "{{component}} pole kättesaadav - proovi uuesti {{ms}} sekundi pärast.",
|
||||
"grantedTo": "Moderaatori õigused on antud kasutajale {{to}}!",
|
||||
"invitedOneMember": "{{name}} on kutsutud",
|
||||
"invitedThreePlusMembers": "{{name}} ja {{count}} teist kasutajat on kutsutud",
|
||||
"invitedTwoMembers": "{{first}} ja {{second}} on kutsutud",
|
||||
"kickParticipant": "{{kicked}} eemaldati kõnest kasutaja {{kicker}} poolt",
|
||||
"me": "Mina",
|
||||
"moderator": "Moderaatori õigused jagatud!",
|
||||
"muted": "Alustasid kõnet väljalülitatud mikrofoniga.",
|
||||
"mutedTitle": "Mikrofon on välja lülitatud!",
|
||||
"mutedRemotelyTitle": "Sinu mikrofon lülitati välja kasutaja {{participantDisplayName}} poolt!",
|
||||
"mutedRemotelyDescription": "Saad alati oma mikrofoni sisse lülitada, kui soovid rääkida. Lülita mikrofon peale rääkimist uuesti välja liigse müra ja kaja vältimiseks.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) eemaldatud teise kasutaja poolt",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) lisatud teise kasutaja poolt",
|
||||
"raisedHand": "{{name}} soovib rääkida.",
|
||||
"somebody": "Keegi",
|
||||
"startSilentTitle": "Ühinesid ilma mikrofonita!",
|
||||
"startSilentDescription": "Mikrofoni kasutamiseks ühine kõnega uuesti",
|
||||
"suboptimalExperienceDescription": "Rakenduse {{appName}} parima kvaliteedi tagamiseks palun kasuta <a href='static/recommendedBrowsers.html' target='_blank'>ühte nendest veebilehitsejatest</a>.",
|
||||
"suboptimalExperienceTitle": "Veebilehitseja hoiatus",
|
||||
"unmute": "Lülita mikrofon sisse",
|
||||
"newDeviceCameraTitle": "Leitud uus kaamera",
|
||||
"newDeviceAudioTitle": "Leitud uus heliseadeldis",
|
||||
"newDeviceAction": "Kasuta"
|
||||
},
|
||||
"passwordSetRemotely": "määratud teise kasutaja poolt",
|
||||
"passwordDigitsOnly": "Kuni {{number}} tähemärki",
|
||||
"poweredby": "teieni toodud",
|
||||
"presenceStatus": {
|
||||
"busy": "Hõivatud",
|
||||
"calling": "Helistamine...",
|
||||
"connected": "Ühendatud",
|
||||
"connecting": "Ühendamine...",
|
||||
"connecting2": "Ühendamine*...",
|
||||
"disconnected": "Lahti ühendatud",
|
||||
"expired": "Aegunud",
|
||||
"ignored": "Eiratud",
|
||||
"initializingCall": "Kõne alustamine...",
|
||||
"invited": "Kutsutud",
|
||||
"rejected": "Tagasi lükatud",
|
||||
"ringing": "Kutsumine..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Sisesta nimi",
|
||||
"setEmailInput": "Sisesta e-mail",
|
||||
"setEmailLabel": "Sisesta gravatar email",
|
||||
"title": "Profiil"
|
||||
},
|
||||
"raisedHand": "Soovin rääkida",
|
||||
"recording": {
|
||||
"authDropboxText": "Lisa Dropbox’i",
|
||||
"availableSpace": "Vaba ruum: {{spaceLeft}} MB (ca {{duration}} minutit salvestamist)",
|
||||
"beta": "BETA",
|
||||
"busy": "Salvestamise ressursi vabastamine... Proovi mõne minuti pärast uuesti.",
|
||||
"busyTitle": "Kõik salvestajad on praegu kinni",
|
||||
"error": "Salvestamine ebaõnnestus. Proovi uuesti.",
|
||||
"expandedOff": "Salvestamine peatatud",
|
||||
"expandedOn": "Kõne salvestatakse.",
|
||||
"expandedPending": "Salvestamine on alustatud...",
|
||||
"failedToStart": "Salvestamine ebaõnnestus",
|
||||
"fileSharingdescription": "Jaga salvestust kõnelejatega",
|
||||
"live": "Otse",
|
||||
"loggedIn": "Sisseloginud kasutajana {{userName}}",
|
||||
"off": "Salvestamine on lõpetatud",
|
||||
"offBy": "{{name}} lõpetas salvestamise",
|
||||
"on": "Salvestatakse",
|
||||
"onBy": "{{name}} alustas salvestamist",
|
||||
"pending": "Kõne salvestamise ettevalmistus...",
|
||||
"rec": "REC",
|
||||
"serviceDescription": "Salvestus toimub teenuse kaudu",
|
||||
"serviceName": "Salvestamise teenus",
|
||||
"signIn": "Logi sisse",
|
||||
"signOut": "Logi välja",
|
||||
"unavailable": "Oih! {{serviceName}} ei ole hetkel kättesaadav! Proovi hiljem uuesti.",
|
||||
"unavailableTitle": "Salvestamine ei ole võimalik."
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Tõmba uuendamiseks"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "Rakenduse {{appName}} kalender kasutab turvalist ühendust ning näeb eesolevaid kõnesid.",
|
||||
"disconnect": "Ühenda lahti",
|
||||
"microsoftSignIn": "Logi sisse Microsoft’i kontoga",
|
||||
"signedIn": "Hetkel nähakse kasutaja {{email}} kalendrit. Kalendrikutsete peitmiseks vajuta “Ühenda lahti” nupule.",
|
||||
"title": "Kalender"
|
||||
},
|
||||
"devices": "Seaded",
|
||||
"followMe": "Kõik jälgivad mind",
|
||||
"language": "Keel",
|
||||
"loggedIn": "Logitud sisse nimega: {{name}}",
|
||||
"moderator": "Moderaator",
|
||||
"more": "Rohkem",
|
||||
"name": "Nimi",
|
||||
"noDevice": "Andmed puuduvad",
|
||||
"selectAudioOutput": "Heli väljund",
|
||||
"selectCamera": "Kaamera",
|
||||
"selectMic": "Mikrofon",
|
||||
"startAudioMuted": "Kõik alustavad väljalülitatud mikrofoniga",
|
||||
"startVideoMuted": "Kõik alustavad väljalülitatud kaameraga",
|
||||
"title": "Seaded"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Täpsem",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Hoiatus",
|
||||
"alertURLText": "Sisestatud link ei ole õige",
|
||||
"buildInfoSection": "Versioon",
|
||||
"conferenceSection": "Kõne",
|
||||
"disableCallIntegration": "Lülita kohaliku kõne integratsioon välja",
|
||||
"disableP2P": "Lülita otseühendus välja",
|
||||
"displayName": "Kasutatav nimi",
|
||||
"email": "E-mail",
|
||||
"header": "Seaded",
|
||||
"profileSection": "Profiil",
|
||||
"serverURL": "Serveri link",
|
||||
"showAdvanced": "Näita täpsemaid seadistusi",
|
||||
"startWithAudioMuted": "Alusta väljalülitatud heliga",
|
||||
"startWithVideoMuted": "Alusta väljalülitatud videoga",
|
||||
"version": "Versioon"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nSoovid sisse helistada oma telefonilt?\n\n{{defaultDialInNumber}}Vajuta lingile, et näha telefoninumbreid sisse helistamiseks\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Vajuta lingile, et kõnega ühineda:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Kõneleja",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}t",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Nimi",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Kõneleja andmed",
|
||||
"speakerTime": "Kõnelemise aeg"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} vajab ligipääsu mikrofonile ja kaamerale."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Ühine uuesti",
|
||||
"text": "Vajuta <i>Ühine uuesti</i> nupule, et uuesti ühineda.",
|
||||
"title": "Kõne katkestati, sest arvuti läks magama."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Kasuta ainult heli",
|
||||
"audioRoute": "Vali heli vahend",
|
||||
"callQuality": "Halda kõne kvaliteeti",
|
||||
"cc": "Kasuta subtiitreid",
|
||||
"chat": "Kasuta vestluse akent",
|
||||
"document": "Kasuta jagatud dokumente",
|
||||
"download": "Laadi rakendus alla",
|
||||
"feedback": "Jäta tagasiside",
|
||||
"fullScreen": "Kasuta täisekraani",
|
||||
"hangup": "Lahku kõnest",
|
||||
"help": "Abi",
|
||||
"invite": "Kutsu inimesi",
|
||||
"kick": "Eemalda kõneleja",
|
||||
"localRecording": "Näita salvestamise paneeli",
|
||||
"lockRoom": "Kasuta kõne parooli",
|
||||
"moreActions": "Kasuta toimingute menüüd",
|
||||
"moreActionsMenu": "Toimingute menüü",
|
||||
"moreOptions": "Näita rohkem valikuid",
|
||||
"mute": "Lülita heli välja",
|
||||
"muteEveryone": "Vaigista kõikide mikrofonid",
|
||||
"pip": "Kasuta pilt-pildis vaadet",
|
||||
"privateMessage": "Saada privaatsõnum",
|
||||
"profile": "Muuda profiili",
|
||||
"raiseHand": "Käe tõstmine",
|
||||
"recording": "Salvestamine",
|
||||
"remoteMute": "Lülita kasutaja mikrofon välja",
|
||||
"Settings": "Seadistused",
|
||||
"sharedvideo": "Kasuta Youtube’i video jagamist",
|
||||
"shareRoom": "Kutsu",
|
||||
"shareYourScreen": "Jaga ekraani",
|
||||
"shortcuts": "Kasuta kiirvalikuid",
|
||||
"show": "Näita laval",
|
||||
"speakerStats": "Kõnelejate statistika",
|
||||
"tileView": "Paneelvaade",
|
||||
"toggleCamera": "Kasuta kaamerat",
|
||||
"videomute": "Video väljalülitamine",
|
||||
"videoblur": "Video hägustamine"
|
||||
},
|
||||
"addPeople": "Lisa kõnesse inimesi",
|
||||
"audioOnlyOff": "Lülita “ainult heli” valik välja",
|
||||
"audioOnlyOn": "Lülita “ainult heli” valik sisse",
|
||||
"audioRoute": "Vali heli vahend",
|
||||
"authenticate": "Autendi",
|
||||
"callQuality": "Halda kõne kvaliteeti",
|
||||
"chat": "Ava/sulge vestlus",
|
||||
"closeChat": "Sulge vestlus",
|
||||
"documentClose": "Sulge jagatud dokument",
|
||||
"documentOpen": "Ava jagatud dokument",
|
||||
"download": "Laadi rakendus alla",
|
||||
"enterFullScreen": "Vaata täisekraanil",
|
||||
"enterTileView": "Vaata paneelvaates",
|
||||
"exitFullScreen": "Välju täisekraani vaatest",
|
||||
"exitTileView": "Välju paneelvaatest",
|
||||
"feedback": "Jäta tagasiside",
|
||||
"hangup": "Lahku",
|
||||
"help": "Abi",
|
||||
"invite": "Kutsu",
|
||||
"login": "Logi sisse",
|
||||
"logout": "Logi välja",
|
||||
"lowerYourHand": "Langeta kätt",
|
||||
"moreActions": "Rohkem tegevusi",
|
||||
"moreOptions": "Rohkem valikuid",
|
||||
"mute": "Mikrofon sisse/välja",
|
||||
"muteEveryone": "Vaigista kõikide mikrofonid",
|
||||
"noAudioSignalTitle": "Mikrofon ei püüa sisendit kinni!",
|
||||
"noAudioSignalDesc": "Kui Sa ei lülitanud mikrofoni seadistustest tahtlikult välja, kaalu seadme vahetamist.",
|
||||
"noAudioSignalDescSuggestion": "Kui Sa ei lülitanud mikrofoni seadistustest tahtlikult välja, kaalu seadme vahetamist.",
|
||||
"noAudioSignalDialInDesc": "Võid sisse helistada valides:",
|
||||
"noAudioSignalDialInLinkDesc" : "Sissehelistamise numbrid",
|
||||
"noisyAudioInputTitle": "Mikrofonis on müra! Tundub, et läbi mikrofoni kostub palju helisid. Kaalu mikrofoni välja lülitamist või seadme vahetamist.",
|
||||
"noisyAudioInputDesc": "Tundub, et läbi mikrofoni kostub palju helisid. Kaalu mikrofoni välja lülitamist või seadme vahetamist.",
|
||||
"openChat": "Ava vestlus",
|
||||
"pip": "Ava pilt-pildis vaade",
|
||||
"privateMessage": "Saada privaatsõnum",
|
||||
"profile": "Muuda profiili",
|
||||
"raiseHand": "Tõsta/langeta kätt",
|
||||
"raiseYourHand": "Tõsta kätt",
|
||||
"Settings": "Seaded",
|
||||
"sharedvideo": "Jaga YouTube’i videot",
|
||||
"shareRoom": "Kutsu",
|
||||
"shortcuts": "Vaata kiirvalikuid",
|
||||
"speakerStats": "Kõneleja andmed",
|
||||
"startScreenSharing": "Alust ekraani jagamist",
|
||||
"startSubtitles": "Alusta subtiitrite näitamist",
|
||||
"stopScreenSharing": "Lõpeta ekraani jagamine",
|
||||
"stopSubtitles": "Lõpeta subtiitrite näitamine",
|
||||
"stopSharedVideo": "Lõpeta YouTube’i video",
|
||||
"talkWhileMutedPopup": "Soovid rääkida? Mikrofon on välja lülitatud.",
|
||||
"tileViewToggle": "Näita paneelvaadet",
|
||||
"toggleCamera": "Kasuta kaamerat",
|
||||
"videomute": "Kaamera sisse/välja",
|
||||
"startvideoblur": "Tausta hägustamine",
|
||||
"stopvideoblur": "Lülita tausta hägustamine välja"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Subtiitrid sisse/välja",
|
||||
"error": "Transkribeerimine ebaõnnestus. Proovi uuesti.",
|
||||
"expandedLabel": "Transkribeerimine on sisse lülitatud",
|
||||
"failedToStart": "Transkribeerimise alustamine ebaõnnestus",
|
||||
"labelToolTip": "Kõne transkribeeritakse",
|
||||
"off": "Transkribeerimine peatatud",
|
||||
"pending": "Transkribeerimise ettevalmistus...",
|
||||
"start": "Alusta subtiitrite kuvamist",
|
||||
"stop": "Lõpeta subtiitrite kuvamine",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"chromeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"edgeGrantPermissions": "Vali <b><i>Jah</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"electronGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
|
||||
"firefoxGrantPermissions": "Vali <b><i>Jaga valitud vahendit</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"iexplorerGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"nwjsGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
|
||||
"operaGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"react-nativeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
|
||||
"safariGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut."
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Vabastatakse ressurssi... Proovi mõne minuti pärast uuesti.",
|
||||
"busyTitle": "Ruumi teenus on hetkel hõivatud",
|
||||
"errorAlreadyInvited": "{{displayName}} on juba kutsutud",
|
||||
"errorInvite": "Ühendus ei ole veel saavutatud. Proovi hiljem uuesti.",
|
||||
"errorInviteFailed": "Probleemi lahendatakse. Proovi hiljem uuesti.",
|
||||
"errorInviteFailedTitle": "Kasutaja {{displayName}} kutsumine ebaõnnestus",
|
||||
"errorInviteTitle": "Ruumi kutsumine ebaõnnestus",
|
||||
"pending": "{{displayName}} on kutsutud"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Kasutad kõnes ainult heli. See hõivab ülekandekiirust vähem, aga video jagamine on välja lülitatud.",
|
||||
"callQuality": "Kõne kvaliteet",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Video vaatamine kõrgkvaliteediga",
|
||||
"highDefinition": "Kõrgresolutsioon",
|
||||
"labelTooiltipNoVideo": "Video puudub",
|
||||
"labelTooltipAudioOnly": "Valitud on “ainult heli” seadistus",
|
||||
"ld": "LD",
|
||||
"ldTooltip": "Video vaatamine madala kvaliteediga",
|
||||
"lowDefinition": "Madal",
|
||||
"onlyAudioAvailable": "Saab kasutada ainult heli",
|
||||
"onlyAudioSupported": "Selles veebilehitsejas on toetatud ainult heli.",
|
||||
"p2pEnabled": "Otseühendus on sisse lülitatud",
|
||||
"p2pVideoQualityDescription": "Otseühenduse režiimis saab vastuvõetava kõne heli olla “ainult heli“, või kõrge. Teisi seadistusi ei saa valida.",
|
||||
"recHighDefinitionOnly": "Eelistan kõrgresolutsiooni.",
|
||||
"sd": "SD",
|
||||
"sdTooltip": "Video vaatamine vaikekvaliteediga",
|
||||
"standardDefinition": "Vaike resolutsioon"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Lülita mikrofon välja",
|
||||
"domuteOthers": "Vaigista teiste mikrofonid",
|
||||
"flip": "Pööra",
|
||||
"kick": "Eemalda kõnest",
|
||||
"moderator": "Moderaator",
|
||||
"mute": "Kasutaja mikrofon välja lülitatud",
|
||||
"muted": "Mikrofon välja lülitatud",
|
||||
"remoteControl": "Kaugjuhtimine",
|
||||
"show": "Näita laval",
|
||||
"videomute": "Kasutaja on kaamera peatanud"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Vajuta, et ühineda",
|
||||
"roomname": "Sisesta ruumi nimi"
|
||||
},
|
||||
"appDescription": "Lase käia, tee videoülekanne kogu meeskonnaga! Kutsu kõik, keda soovid. Rakendus {{app}} on krüpteeritud. 100% vabavara ülekannete tegemiseks, mida saab kasutada iga päev tasuta - ilma konto loomiseta.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Heli",
|
||||
"video": "Video"
|
||||
},
|
||||
"calendar": "Kalender",
|
||||
"connectCalendarButton": "Ühenda kalender",
|
||||
"connectCalendarText": "Ühenda oma kalender, et kõiki kohtumisi näha rakenduses {{app}}. Lisa {{provider}} kohtumised kalendrisse ja alusta kõnesid ühe klikiga.",
|
||||
"enterRoomTitle": "Alusta uut kõnet",
|
||||
"roomNameAllowedChars": "Televastuvõtu nimi ei tohi sisaldada sümboleid: ?, &, :, ', \", %, #.",
|
||||
"go": "Mine",
|
||||
"goSmall": "Mine",
|
||||
"join": "Ühine",
|
||||
"info": "Info",
|
||||
"privacy": "Privaatsus",
|
||||
"recentList": "Hiljutised",
|
||||
"recentListDelete": "Kustuta",
|
||||
"recentListEmpty": "Hiljutiste valikute nimekiri on tühi. Vestle kasutajatega ja leia oma hiljutised kõned siit.",
|
||||
"reducedUIText": "Tere tulemast rakendusse {{app}}!",
|
||||
"roomname": "Sisesta ruumi nimi",
|
||||
"roomnameHint": "Sisesta ruumi nimi või link, millega soovid ühinega. Võid nime välja mõelda, aga anna osalejatele sellest teada, et nad saaksid ruumiga ühineda.",
|
||||
"sendFeedback": "Saada tagasiside",
|
||||
"terms": "Tingimused",
|
||||
"title": "Turvaline, võimalusi täis ja tasuta keskkond videokõnede jaoks."
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Kutsu teisi",
|
||||
"youAreAlone": "Asud hetkel ruumis üksi"
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@
|
||||
"error": "Erreur : votre message n'a pas été envoyé. Raison : {{error}}",
|
||||
"fieldPlaceHolder": "Tapez votre message ici",
|
||||
"messagebox": "Saisissez un message",
|
||||
"messageTo": "",
|
||||
"messageTo": "Message privé à {{recipient}}",
|
||||
"noMessagesMessage": "Il n'y a pas encore de messages dans cette réunion. Démarrez une conversation ici !",
|
||||
"nickname": {
|
||||
"popover": "Choisissez un pseudonyme",
|
||||
@@ -59,6 +59,11 @@
|
||||
"title": "Chat",
|
||||
"you": "vous"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "",
|
||||
"buttonText": "",
|
||||
"dontShowAgain": ""
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Connexion à la réunion..."
|
||||
},
|
||||
@@ -536,7 +541,7 @@
|
||||
"profileSection": "Profil",
|
||||
"serverURL": "URL du serveur",
|
||||
"showAdvanced": "Afficher les paramètres avancés",
|
||||
"startWithAudioMuted": "Commencez avec la vidéo en sourdine",
|
||||
"startWithAudioMuted": "Commencez avec l'audio en sourdine",
|
||||
"startWithVideoMuted": "Commencez avec la vidéo en sourdine",
|
||||
"version": "Version"
|
||||
},
|
||||
@@ -570,11 +575,11 @@
|
||||
"cc": "Activer/désactiver les sous-titres",
|
||||
"chat": "Afficher/masquer la discussion instantanée",
|
||||
"document": "Activer/désactiver le document partagé",
|
||||
"download": "",
|
||||
"download": "Télécharger nos applications",
|
||||
"feedback": "Laisser des commentaires",
|
||||
"fullScreen": "Activer/désactiver le plein écran",
|
||||
"hangup": "Quitter la conversation",
|
||||
"help": "",
|
||||
"help": "Aide",
|
||||
"invite": "Inviter des participants",
|
||||
"kick": "Expulser le participant",
|
||||
"localRecording": "Activer/désactiver les contrôles d'enregistrement local",
|
||||
@@ -583,7 +588,7 @@
|
||||
"moreActionsMenu": "Menu d'actions supplémentaires",
|
||||
"mute": "Activer/désactiver l'audio",
|
||||
"pip": "Activer/désactiver le mode Picture in Picture",
|
||||
"privateMessage": "",
|
||||
"privateMessage": "Envoyer un message privé",
|
||||
"profile": "Éditer votre profil",
|
||||
"raiseHand": "Lever/baisser la main",
|
||||
"recording": "Activer/désactiver l'enregistrement",
|
||||
@@ -596,7 +601,7 @@
|
||||
"show": "Afficher en premier plan",
|
||||
"speakerStats": "Afficher/cacher les statistiques de parole",
|
||||
"tileView": "Activer/désactiver la vue mosaïque",
|
||||
"toggleCamera": "Activer/désactiver la caméra",
|
||||
"toggleCamera": "Changer de caméra",
|
||||
"videomute": "Activer/désactiver la vidéo",
|
||||
"videoblur": "Activer/désactiver le flou de la vidéo"
|
||||
},
|
||||
@@ -627,6 +632,8 @@
|
||||
"noAudioSignalTitle": "Il n'y a pas d'entrée provenant de votre micro !",
|
||||
"noAudioSignalDesc": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, envisagez de changer le périphérique.",
|
||||
"noAudioSignalDescSuggestion": "Si vous n'avez pas délibérément coupé le son des paramètres du système ou du matériel, pensez à utiliser le périphérique suivant :",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"openChat": "Ouvrir le chat",
|
||||
"pip": "Entrer en mode Picture-in-Picture",
|
||||
"privateMessage": "Envoyer un message privé",
|
||||
@@ -712,7 +719,7 @@
|
||||
"moderator": "Moderateur",
|
||||
"mute": "Un participant a coupé son micro",
|
||||
"muted": "Muet",
|
||||
"remoteControl": "Contrôle à distance",
|
||||
"remoteControl": "",
|
||||
"show": "Afficher en premier plan",
|
||||
"videomute": "Le participant a arrêté la caméra"
|
||||
},
|
||||
@@ -721,7 +728,7 @@
|
||||
"join": "Touchez pour rejoindre",
|
||||
"roomname": "Saisissez un nom de salle"
|
||||
},
|
||||
"appDescription": "Allez-y, chat vidéo avec toute l'équipe. En fait, invitez tout le monde que vous connaissez. {{app}} est une solution de visioconférence entièrement cryptée et 100% open source que vous pouvez utiliser toute la journée, tous les jours, gratuitement— aucun compte requis.",
|
||||
"appDescription": "Allez-y, chat vidéo avec toute l'équipe. En fait, invitez tout le monde que vous connaissez. {{app}} est une solution de visioconférence entièrement chiffrée et 100% open source que vous pouvez utiliser toute la journée, tous les jours, gratuitement— aucun compte requis.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voix",
|
||||
"video": "Vidéo"
|
||||
@@ -746,4 +753,4 @@
|
||||
"terms": "Termes",
|
||||
"title": "Vidéoconférence Sécurisée, entièrement en vedette et gratuite"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
756
lang/main-gl.json
Normal file
@@ -0,0 +1,756 @@
|
||||
{
|
||||
"addPeople": {
|
||||
"add": "Convidar",
|
||||
"countryNotSupported": "Aínda non é posíbel chamar a este destino",
|
||||
"countryReminder": "Chamar fóra dos EE.UU. ? Asegúrese de comezar co código de país!",
|
||||
"disabled": "Non pode convidar xente.",
|
||||
"failedToAdd": "Produciuse un erro ao engadir participantes",
|
||||
"footerText": "As chamadas están desactivadas",
|
||||
"loading": "Procurar xente e números de teléfono",
|
||||
"loadingNumber": "Validar número de teléfono",
|
||||
"loadingPeople": "Procurar xente para convidala",
|
||||
"noResults": "Non hai resultados",
|
||||
"noValidNumbers": "Escriba un número de teléfono",
|
||||
"searchNumbers": "Engadir números de teléfono",
|
||||
"searchPeople": "Procurar xente",
|
||||
"searchPeopleAndNumbers": "Procurar xente ou engadir os seus números de teléfono",
|
||||
"telephone": "Teléfono: {{number}}",
|
||||
"title": "Convidar xente a esta reunión"
|
||||
},
|
||||
"audioDevices": {
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Auriculares",
|
||||
"phone": "Teléfono",
|
||||
"speaker": "Altofalante",
|
||||
"none": "Non hai dispositivos de son dispoñíbeis"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Largo de banda escaso"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Engadir unha ligazón de reunión",
|
||||
"confirmAddLink": "Quere engadir unha ligazón de Jitsi a esta reunión?",
|
||||
"error": {
|
||||
"appConfiguration": "A integración do calendario está configurada apropiadamente.",
|
||||
"generic": "Produciuse un erro. Comprobe a configuración do seu calendario ou tente cunha recarga.",
|
||||
"notSignedIn": "Produciuse un erro mentres se autenticaba para ver as citas do calendario. Comprobe a súa configuración e tente de novo iniciar sesión."
|
||||
},
|
||||
"join": "Unirse",
|
||||
"joinTooltip": "Unirse á reunión",
|
||||
"nextMeeting": "próxima reunión",
|
||||
"noEvents": "Non hai fitos futuros programados.",
|
||||
"ongoingMeeting": "Reunión en curso",
|
||||
"permissionButton": "Configuración aberta",
|
||||
"permissionMessage": "Cómpre ter permiso de acceso ao calendario para ver as reunións na aplicación.",
|
||||
"refresh": "Recargar o calendario",
|
||||
"today": "Hoxe"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Erro: a súa mensaxe non se enviou. Razón: {{error}}",
|
||||
"fieldPlaceHolder": "Escriba a súa mensaxe aquí",
|
||||
"messagebox": "Escriba unha mensaxe",
|
||||
"messageTo": "Mensaxe privada para {{recipient}}",
|
||||
"noMessagesMessage": "Aínda non hai mensaxes na reunión. Comece unha conversación aquí!",
|
||||
"nickname": {
|
||||
"popover": "Escolla un alcume",
|
||||
"title": "Escriba un alcume para utilizar no chat"
|
||||
},
|
||||
"privateNotice": "Mensaxe privada para {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": "vostede"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "",
|
||||
"buttonText": "",
|
||||
"dontShowAgain": ""
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Está a conectar coa reunión..."
|
||||
},
|
||||
"connection": {
|
||||
"ATTACHED": "Unido",
|
||||
"AUTHENTICATING": "Autenticando",
|
||||
"AUTHFAIL": "Fallou a autenticación",
|
||||
"CONNECTED": "Conectado",
|
||||
"CONNECTING": "Conectando",
|
||||
"CONNFAIL": "Fallou a conexión",
|
||||
"DISCONNECTED": "Desconectado",
|
||||
"DISCONNECTING": "Desconectando",
|
||||
"ERROR": "Erro",
|
||||
"RECONNECTING": "Produciuse un problema na rede. Reconectando..."
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Enderezo:",
|
||||
"bandwidth": "Largo de banda estimado:",
|
||||
"bitrate": "Densidade de bits:",
|
||||
"bridgeCount": "Conta no servidor: ",
|
||||
"connectedTo": "Conectado a:",
|
||||
"framerate": "Imaxes por segundo",
|
||||
"less": "Amosar menos",
|
||||
"localaddress": "Enderezo local:",
|
||||
"localaddress_plural": "Enderezos locais:",
|
||||
"localport": "Porto local:",
|
||||
"localport_plural": "Portos locais:",
|
||||
"more": "Amosar máis",
|
||||
"packetloss": "Paquete perdido:",
|
||||
"quality": {
|
||||
"good": "Ben",
|
||||
"inactive": "Inactivo",
|
||||
"lost": "Perdido",
|
||||
"nonoptimal": "Non-óptimo",
|
||||
"poor": "Pobre"
|
||||
},
|
||||
"remoteaddress": "Enderezo remoto:",
|
||||
"remoteaddress_plural": "Enderezos remotos:",
|
||||
"remoteport": "Porto remoto:",
|
||||
"remoteport_plural": "Portos remotos:",
|
||||
"resolution": "Resolución:",
|
||||
"status": "Conexión:",
|
||||
"transport": "Transporte:",
|
||||
"transport_plural": "Transportes:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Cedo",
|
||||
"today": "Hoxe",
|
||||
"yesterday": "Onte"
|
||||
},
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "Fai falta a aplicación móbil {{app}} para unirse a esta reunión vía teléfono.",
|
||||
"description": "Non pasa nada? Tentouse lanzar a reunión na aplicación de escritorio {{app}}. Ténteo de novo ou arránquea na aplicación web {{app}}.",
|
||||
"descriptionWithoutWeb": "Non sucede nada? Pois xa tentamos lanzar a reunión na aplicación de escritorio {{app}}.",
|
||||
"downloadApp": "Descargar a aplicación",
|
||||
"launchWebButton": "Lanzar en web",
|
||||
"openApp": "Continuar coa app",
|
||||
"title": "Lanzando a reunión en {{app}}...",
|
||||
"tryAgainButton": "Volver tentar no escritorio"
|
||||
},
|
||||
"defaultLink": "i.e. {{url}}",
|
||||
"defaultNickname": "ex. Xan da Vila",
|
||||
"deviceError": {
|
||||
"cameraError": "Non foi posíbel acceder á súa cámaraº",
|
||||
"cameraPermission": "Produciuse un erro co permiso da cámara",
|
||||
"microphoneError": "Fallou o acceso ao micrófono",
|
||||
"microphonePermission": "Produciuse un erro co permiso do micrófono"
|
||||
},
|
||||
"deviceSelection": {
|
||||
"noPermission": "Non se concedeu o permiso",
|
||||
"previewUnavailable": "A visualización non está dispoñíbel",
|
||||
"selectADevice": "Seleccione un dispositivo",
|
||||
"testAudio": "Reproducir un son de proba"
|
||||
},
|
||||
"dialog": {
|
||||
"accessibilityLabel": {
|
||||
"liveStreaming": "Difusión ao vivo"
|
||||
},
|
||||
"allow": "Permitir",
|
||||
"alreadySharedVideoMsg": "Outro participante xa está a compartindo un vídeo. Esta sala de conferencia só permite compartir un vídeo á vez.",
|
||||
"alreadySharedVideoTitle": "Permítese un único vídeo compartido á vez",
|
||||
"applicationWindow": "Xanela da aplicación",
|
||||
"Back": "Volver",
|
||||
"cameraConstraintFailedError": "A súa cámara non satisfai algún dos requisitos necesarios.",
|
||||
"cameraNotFoundError": "Non se atopou unha cámara.",
|
||||
"cameraNotSendingData": "Non se puido acceder á súa cámara. Comprobe se outra aplicación a está a utilizar, seleccione outro dispositivo no menú de configuración ou tente recargar a aplicación.",
|
||||
"cameraNotSendingDataTitle": "Non se puido acceder á cámara",
|
||||
"cameraPermissionDeniedError": "Non concedeu o permiso para utilizar a súa cámara. Aínda así pode unirse á conferencia pero os outros non o verán a vostede. Utilice o botón da cámara na barra de enderezos para arranxalo.",
|
||||
"cameraUnknownError": "Non se pode utilizar a cámara por algunha razón descoñecida.",
|
||||
"cameraUnsupportedResolutionError": "A cámara non admite a resolución de vídeo requirida.",
|
||||
"Cancel": "Anular",
|
||||
"close": "Pechar",
|
||||
"conferenceDisconnectMsg": "Pode querer comprobar a conexión de rede. Reconectando en {{seconds}} seg...",
|
||||
"conferenceDisconnectTitle": "Foi desconectado.",
|
||||
"conferenceReloadMsg": "Estamos a tentar arranxar isto. Reconectando en {{seconds}} seg...",
|
||||
"conferenceReloadTitle": "Lamentablemente, algo foi mal.",
|
||||
"confirm": "Confirmar",
|
||||
"confirmNo": "Non",
|
||||
"confirmYes": "Si",
|
||||
"connectError": "Opa! Algo vai malamente e non podemos conectar coa conferencia.",
|
||||
"connectErrorWithMsg": "Opa! Algo vai malamente e non podemos conectar coa conferencia: {{msg}}",
|
||||
"connecting": "Conectando",
|
||||
"contactSupport": "Contacto de axuda técnica",
|
||||
"copy": "Copiar",
|
||||
"dismiss": "Rexeitar",
|
||||
"displayNameRequired": "Ola! Como se chama?",
|
||||
"done": "Feito",
|
||||
"enterDisplayName": "Escriba o seu nome aquí",
|
||||
"error": "Erro",
|
||||
"externalInstallationMsg": "Cómpre instalar a nosa extensión para o escritorio compartido.",
|
||||
"externalInstallationTitle": "Requírese a extensión:",
|
||||
"goToStore": "Ir á tenda web",
|
||||
"gracefulShutdown": "O servizo está caído por mantemento. Ténteo outra vez máis adiante.",
|
||||
"IamHost": "Eu son o anfitrión",
|
||||
"incorrectRoomLockPassword": "Contrasinal incorrecto",
|
||||
"incorrectPassword": "Nome de usuario ou contrasinal incorrecto",
|
||||
"inlineInstallationMsg": "Cómpre instalar a nosa extensión para o escritorio compartido.",
|
||||
"inlineInstallExtension": "Instalar agora",
|
||||
"internalError": "Opa! Algo foi malamente. Produciuse o seguinte erro: {{erro}}",
|
||||
"internalErrorTitle": "Erro interno",
|
||||
"kickMessage": "Pode contactar {{participantDisplayName}} para máis detalles.",
|
||||
"kickParticipantButton": "Expulsar",
|
||||
"kickParticipantDialog": "Confirma que quere expulsar a este participante?",
|
||||
"kickParticipantTitle": "Expulsar a este participante?",
|
||||
"kickTitle": "Ouh! {{participantDisplayName}} expulsouno da reunión",
|
||||
"liveStreaming": "Difusión ao vivo",
|
||||
"liveStreamingDisabledForGuestTooltip": "Os convidados non poden iniciar unha difusión ao vivo.",
|
||||
"liveStreamingDisabledTooltip": "Desactivouse o inicio de difusión ao vivo",
|
||||
"lockMessage": "Fallou o bloqueo da sala de conferencia.",
|
||||
"lockRoom": "Engadir reunión $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "Fallou o bloqueo",
|
||||
"logoutQuestion": "Confirma que quere saír e parar a conferencia?",
|
||||
"logoutTitle": "Saír",
|
||||
"maxUsersLimitReached": "Acadouse o número máximo e límite de participantes. A conferencia está chea. Contacte co propietario da reunión e ténteo de novo máis adiante!",
|
||||
"maxUsersLimitReachedTitle": "Acadouse o límite máximo de participantes",
|
||||
"micConstraintFailedError": "O micrófono con cumpre algunha das condicións necesarias",
|
||||
"micNotFoundError": "Non se atopou o micrófono",
|
||||
"micNotSendingData": "Reactive o seu micro na configuración do seu computador e axuste o nivel.",
|
||||
"micNotSendingDataTitle": "O micro está desactivado na configuración do seu sistema",
|
||||
"micPermissionDeniedError": "Non concedeu permiso para utilizar o micrófono. Aínda así pode unirse á reunión mais os demais non poderán oílo. Utilice o botón de cámara na barra de enderezos para arranxar isto.",
|
||||
"micUnknownError": "Non pode utilizar o micro por algunha razón descoñecida.",
|
||||
"muteParticipantBody": "Non poderá activarlles o son a eles mais eles poden activalo para si en calquera momento. ",
|
||||
"muteParticipantButton": "Silenciar",
|
||||
"muteParticipantDialog": "Confirma que quere silenciar este participante? Non poderá activalo para eles mais eles poderán activalo para si en calquera momento.",
|
||||
"muteParticipantTitle": "Silenciar este participante?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Configurar un $t(lockRoomPassword) de reunión non é posíbel.",
|
||||
"passwordNotSupportedTitle": "Non se dispón de $t(lockRoomPasswordUppercase)",
|
||||
"passwordRequired": "Requírese $t(lockRoomPasswordUppercase)",
|
||||
"popupError": "O navegador está bloqueando as xanelas emerxentes deste sitio. Active as xanelas emerxentes na configuración de seguranza do seu navegador e ténteo de novo outra vez.",
|
||||
"popupErrorTitle": "Xanela emerxentes bloqueada",
|
||||
"recording": "Gravando",
|
||||
"recordingDisabledForGuestTooltip": "Os convidados non poden facer gravacións.",
|
||||
"recordingDisabledTooltip": "O arrinque de gravación está desactivado.",
|
||||
"rejoinNow": "Volverse unir agora",
|
||||
"remoteControlAllowedMessage": "{{user}} aceptou a súa solicitude de control remoto!",
|
||||
"remoteControlDeniedMessage": "{{user}} rexeitou a súa solicitude de control remoto!",
|
||||
"remoteControlErrorMessage": "Produciuse un erro ao tentar solicitar os permisos para o control remoto de {{user}}!",
|
||||
"remoteControlRequestMessage": "Permitiralle a {{user}} controlar remotamente o seu escritorio?",
|
||||
"remoteControlShareScreenWarning": "Saiba que se preme «Permitir» compartirá a súa pantalla!",
|
||||
"remoteControlStopMessage": "A sesión de control remoto rematou!",
|
||||
"remoteControlTitle": "Control de escritorio remoto",
|
||||
"Remove": "Retirar",
|
||||
"removePassword": "Retirar $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "Confirma que quere retirar o seu vídeo compartido?",
|
||||
"removeSharedVideoTitle": "Retirar o vídeo compartido",
|
||||
"reservationError": "Produciuse un erro no sistema de reserva",
|
||||
"reservationErrorMsg": "Código de erro: {{code}}, mensaxe: {{msg}}",
|
||||
"retry": "Reintento",
|
||||
"screenSharingFailedToInstall": "Opa! Fallou a instalación da extensión para compartir a pantalla.",
|
||||
"screenSharingFailedToInstallTitle": "A extensión para compartir a pantalla non se puido instalar",
|
||||
"screenSharingFirefoxPermissionDeniedError": "Algo foi mal cando se estaba tentando compartir a pantalla. Asegúrese de nos ter dado os permisos para facelo.",
|
||||
"screenSharingFirefoxPermissionDeniedTitle": "Opa! Non foi posíbel arrincar a compartición de pantalla!",
|
||||
"screenSharingPermissionDeniedError": "Opa! Algo foi mal cos permisos da extensión para compartir a pantalla. Recargue e ténteo de novo outra vez.",
|
||||
"sendPrivateMessage": "Acaba de recibir unha mensaxe privada. Pretende contestala privadamente ou quere enviar a súa mensaxe ao grupo?",
|
||||
"sendPrivateMessageCancel": "Enviar ao grupo",
|
||||
"sendPrivateMessageOk": "Enviar privadamente",
|
||||
"sendPrivateMessageTitle": "Enviar por privado?",
|
||||
"serviceUnavailable": "O servizo non está dispoñíbel",
|
||||
"sessTerminated": "Terminouse a chamada",
|
||||
"Share": "Compartir",
|
||||
"shareVideoLinkError": "Forneza unha ligazón de YouTube correcta.",
|
||||
"shareVideoTitle": "Compartir un vídeo",
|
||||
"shareYourScreen": "Compartir a súa pantalla",
|
||||
"shareYourScreenDisabled": "Compartición de pantalla desactivada.",
|
||||
"shareYourScreenDisabledForGuest": "Os convidados non poden compartir a pantalla.",
|
||||
"startLiveStreaming": "Comezar a difusión ao vivo",
|
||||
"startRecording": "Comezar a gravación",
|
||||
"startRemoteControlErrorMessage": "Produciuse un erro mentres se tentaba comezar a sesión de control remoto!",
|
||||
"stopLiveStreaming": "Parar a difusión ao vivo",
|
||||
"stopRecording": "Parar a gravación",
|
||||
"stopRecordingWarning": "Confirma que quere parar a gravación?",
|
||||
"stopStreamingWarning": "Confirma que quere parar a difusión ao vivo?",
|
||||
"streamKey": "Clave de vídeo ao vivo",
|
||||
"Submit": "Enviar",
|
||||
"thankYou": "Grazas por utilizar {{appName}}!",
|
||||
"token": "token",
|
||||
"tokenAuthFailed": "Desculpe, non ten permiso para unirse a esta chamada.",
|
||||
"tokenAuthFailedTitle": "Fallou a autenticación",
|
||||
"transcribing": "Transcribindo",
|
||||
"unlockRoom": "Retirar a reunión $t(lockRoomPassword)",
|
||||
"userPassword": "contrasinal do usuario",
|
||||
"WaitForHostMsg": "A sala <b>{{room}}</b> aínda non comezou. Se vostede é o anfitrión, autentíquese. Se non, agarde a que o anfitrión chegue.",
|
||||
"WaitForHostMsgWOk": "A sala <b>{{room}}</b> aínda non comezou. Se vostede é o anfitrión, prema en Aceptar para autenticar. Se non, agarde a que o anfitrión chegue.",
|
||||
"WaitingForHost": "Agardando polo anfitrión...",
|
||||
"Yes": "Si",
|
||||
"yourEntireScreen": "A pantalla completa"
|
||||
},
|
||||
"dialOut": {
|
||||
"statusMessage": "está agora {{status}}"
|
||||
},
|
||||
"documentSharing": {
|
||||
"title": "Documento compartido"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Media",
|
||||
"bad": "Mal",
|
||||
"detailsLabel": "Déanos máis detalles disto.",
|
||||
"good": "Ben",
|
||||
"rateExperience": "Puntúe a súa experiencia de reunión",
|
||||
"veryBad": "Moi mal",
|
||||
"veryGood": "Moi ben"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Resposta",
|
||||
"audioCallTitle": "Chamada entrante",
|
||||
"decline": "Rexeitar",
|
||||
"productLabel": "de Jitsi Meet",
|
||||
"videoCallTitle": "Chamada de vídeo entrante"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Amosar info",
|
||||
"addPassword": "Engadir $t(lockRoomPassword)",
|
||||
"cancelPassword": "Anular $t(lockRoomPassword)",
|
||||
"conferenceURL": "Ligazón:",
|
||||
"country": "País",
|
||||
"dialANumber": "Para unirse á reunión, marque un deses números e logo introduza o pin.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Desculpe pero a chamada por teléfono non está permitida.",
|
||||
"dialInNumber": "Marcar:",
|
||||
"dialInSummaryError": "Produciuse un erro ao recuperar agora a información de marcado. Ténteo de novo máis tarde.",
|
||||
"dialInTollFree": "Número gratuíto",
|
||||
"genericError": "Vaia, algo foi mal.",
|
||||
"inviteLiveStream": "Para ver o vídeo ao vivo desta reunión, prema esta ligazón: {{url}}",
|
||||
"invitePhone": "Para unirse vía teléfono, escriba isto: {{number}},,{{conferenceID}}#\n",
|
||||
"invitePhoneAlternatives": "Para unirse vía teléfono, escriba isto: {{number}},,{{conferenceID}}#\n",
|
||||
"inviteURLFirstPartGeneral": "Convidárono a unirse á reunión.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} invítao a unha reunión.\n",
|
||||
"inviteURLSecondPart": "\nUnirse á reunión:\n{{url}}\n",
|
||||
"liveStreamURL": "Vídeo ao vivo:",
|
||||
"moreNumbers": "Máis números",
|
||||
"noNumbers": "Non hai números de marcado.",
|
||||
"noPassword": "Ningunha",
|
||||
"noRoom": "Non se especificou ningunha sala para marcar.",
|
||||
"numbers": "Números de marcado",
|
||||
"password": "$t(lockRoomPasswordUppercase):",
|
||||
"title": "Compartir",
|
||||
"tooltip": "Compartir a ligazón e a información de marcado desta reunión",
|
||||
"label": "Información da reunión"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "Produciuse un fallo ao convidar algúns participantes",
|
||||
"header": "Convidar",
|
||||
"searchCallOnlyPlaceholder": "Escriba o número telefónico",
|
||||
"searchPeopleOnlyPlaceholder": "Procurar aos participantes",
|
||||
"searchPlaceholder": "Participante ou número de teléfono",
|
||||
"send": "Enviar"
|
||||
},
|
||||
"inlineDialogFailure": {
|
||||
"msg": "Trancámonos un pouco.",
|
||||
"retry": "Ténteo outra vez",
|
||||
"support": "Asistencia",
|
||||
"supportMsg": "Se isto continúa, contacte con"
|
||||
},
|
||||
"keyboardShortcuts": {
|
||||
"focusLocal": "Foco no seu vídeo",
|
||||
"focusRemote": "Foco no vídeo doutra persoa",
|
||||
"fullScreen": "Ver ou saír da pantalla completa",
|
||||
"keyboardShortcuts": "Atallos de teclado",
|
||||
"localRecording": "Amosar ou agochar os controis de gravación local",
|
||||
"mute": "Silenciar ou activar o seu micrófono",
|
||||
"pushToTalk": "Prema para falar",
|
||||
"raiseHand": "Levantar ou baixar a man",
|
||||
"showSpeakerStats": "Amosar as estatísticas do falante",
|
||||
"toggleChat": "Abrir ou pechar o chat",
|
||||
"toggleFilmstrip": "Amosar ou agochar as miniaturas de vídeo",
|
||||
"toggleScreensharing": "Trocar entre cámara e compartición de pantalla",
|
||||
"toggleShortcuts": "Amosar ou agochar os atallos de teclado",
|
||||
"videoMute": "Iniciar ou parara a súa cámara",
|
||||
"videoQuality": "Xestionar a calidade da chamada"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Estamos a traballar en liberar recursos de difusión. Ténteo de novo outra vez nuns poucos minutos.",
|
||||
"busyTitle": "Todos os difusores están actualmente ocupados",
|
||||
"changeSignIn": "Trocar contas.",
|
||||
"choose": "Escolla unha emisión ao vivo",
|
||||
"chooseCTA": "Escolla unha opción de difusión. Neste intre ten unha sesión iniciada como {{email}}.",
|
||||
"enterStreamKey": "Escriba a súa clave de difusión ao vivo de YouTube aquí.",
|
||||
"error": "Fallou a difusión ao vivo. Ténteo de novo.",
|
||||
"errorAPI": "Produciuse un erro ao acceder ás súas emisións por YouTube. Tente iniciar sesión de novo.",
|
||||
"errorLiveStreamNotEnabled": "A difusión ao vivo non está activada en {{email}}. Active a difusión ao vivo ou inicie sesión nunha conta con esa opción activada.",
|
||||
"expandedOff": "Parouse a difusión ao vivo",
|
||||
"expandedOn": "A reunión está actualmente sendo difundida via YouTube.",
|
||||
"expandedPending": "A difusión ao vivo está arrincando...",
|
||||
"failedToStart": "Fallou o inicio da difusión ao vivo",
|
||||
"getStreamKeyManually": "Non foi posíbel recuperar ningunha difusión ao vivo. Tente obter a súa clave de difusión de YouTube",
|
||||
"invalidStreamKey": "A clave de difusión ao vivo puider ser incorrecta.",
|
||||
"off": "Difusión ao vivo parada",
|
||||
"offBy": "{{name}} parou a difusión ao vivo",
|
||||
"on": "Difusión ao vivo",
|
||||
"onBy": "{{name}} comezou a difusión ao vivo",
|
||||
"pending": "Arrincando a difusión ao vivo...",
|
||||
"serviceName": "Servizo de difusión ao vivo",
|
||||
"signedInAs": "Está conectado como:",
|
||||
"signIn": "Iniciar sesión con Google",
|
||||
"signInCTA": "Iniciar sesión ou escribir a súa clave de difusión ao vivo de YouTube",
|
||||
"signOut": "Desconectarse",
|
||||
"start": "Arrincar unha difusión ao vivo",
|
||||
"streamIdHelp": "Que é isto?",
|
||||
"unavailableTitle": "A difusión ao vivo non está dispoñíbel"
|
||||
},
|
||||
"localRecording": {
|
||||
"clientState": {
|
||||
"off": "Apagada",
|
||||
"on": "Acesa",
|
||||
"unknown": "Descoñecida"
|
||||
},
|
||||
"dialogTitle": "Controis de gravación local",
|
||||
"duration": "Duración",
|
||||
"durationNA": "N/D",
|
||||
"encoding": "Codificando",
|
||||
"label": "GRVLOC",
|
||||
"labelToolTip": "A gravación local está disposta",
|
||||
"localRecording": "Gravación local",
|
||||
"me": "Eu",
|
||||
"messages": {
|
||||
"engaged": "Gravación local disposta.",
|
||||
"finished": "A sesión de gravación {{token}} rematou. Envíe o ficheiro gravado ao moderador.",
|
||||
"finishedModerator": "Acabou a sesión de gravación {{token}}. A gravación da pista local gardouse. Pídalles aos outros participantes que envíen as súas gravacións.",
|
||||
"notModerator": "Vostede non é o moderador. Non pode arrincar nin parar a gravación local."
|
||||
},
|
||||
"moderator": "Moderador",
|
||||
"no": "Non",
|
||||
"participant": "Participante",
|
||||
"participantStats": "Estatísticas do participante",
|
||||
"sessionToken": "Token de sesión",
|
||||
"start": "Arrincar a gravación",
|
||||
"stop": "Parar a gravación",
|
||||
"yes": "Si"
|
||||
},
|
||||
"lockRoomPassword": "contrasinal",
|
||||
"lockRoomPasswordUppercase": "Contrasinal",
|
||||
"me": "eu",
|
||||
"notify": {
|
||||
"connectedOneMember": "{{name}} uniuse á reunión",
|
||||
"connectedThreePlusMembers": "{{name}} e {{count}} máis uníronse á reunión",
|
||||
"connectedTwoMembers": "{{first}} e {{second}} uníronse á reunión",
|
||||
"disconnected": "desconectado",
|
||||
"focus": "Foco da conferencia",
|
||||
"focusFail": "O {{component}} non está dispoñíbel - volverase tentar dentro de {{ms}} seg",
|
||||
"grantedTo": "Concedéronse permisos de moderador a {{to}}!",
|
||||
"invitedOneMember": "{{name}} foi invitado",
|
||||
"invitedThreePlusMembers": "{{name}} e {{count}} máis foron convidados",
|
||||
"invitedTwoMembers": "{{first}} e {{second}} foron convidados",
|
||||
"kickParticipant": "{{kicked}} foi expulsado por {{kicker}}",
|
||||
"me": "Eu",
|
||||
"moderator": "Dereitos de moderador concedidos!",
|
||||
"muted": "Vostede comezou a conversación silenciada.",
|
||||
"mutedTitle": "Vostede está silenciado!",
|
||||
"mutedRemotelyTitle": "Vostede foi silenciado por {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "Sempre pode activar o son cando estea listo para falar. Volva silenciar cando acabe para despexar de ruído a reunión.",
|
||||
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) retirada por outro participante",
|
||||
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) estabelecida por outro participante",
|
||||
"raisedHand": "{{name}} pide a palabra.",
|
||||
"somebody": "Alguén",
|
||||
"startSilentTitle": "Vostede uniuse sen saída de son!",
|
||||
"startSilentDescription": "Volva a unirse para activar o son",
|
||||
"suboptimalBrowserWarning": "Lamentamos que a súa experiencia non estea a ser boa. Procuramos maneiras de mellorala mais, ata entón, probe utilizar un dos <a href='static/recommendedBrowsers.html' target='_blank'>navegadores totalmente compatíbeis</a>.",
|
||||
"suboptimalExperienceTitle": "Aviso verbo do navegador",
|
||||
"unmute": "Activar o son",
|
||||
"newDeviceCameraTitle": "Detectada unha nova cámara",
|
||||
"newDeviceAudioTitle": "Detectouse un novo dispositivo de son",
|
||||
"newDeviceAction": "Utilizar"
|
||||
},
|
||||
"passwordSetRemotely": "estabelecida por outro participante",
|
||||
"passwordDigitsOnly": "Ata {{number}} díxitos",
|
||||
"poweredby": "fornecido por",
|
||||
"presenceStatus": {
|
||||
"busy": "Ocupado",
|
||||
"calling": "Chamando...",
|
||||
"connected": "Conectado",
|
||||
"connecting": "Conectando...",
|
||||
"connecting2": "Conectando*...",
|
||||
"disconnected": "Desconectado",
|
||||
"expired": "Expirou",
|
||||
"ignored": "Ignorado",
|
||||
"initializingCall": "Facendo chamada...",
|
||||
"invited": "Convidado/a",
|
||||
"rejected": "Rexeitada",
|
||||
"ringing": "Chamando..."
|
||||
},
|
||||
"profile": {
|
||||
"setDisplayNameLabel": "Escoller o seu nome en pantalla",
|
||||
"setEmailInput": "Escribir correo-e",
|
||||
"setEmailLabel": "Estabelecer o seu correo gravatar",
|
||||
"title": "Perfil"
|
||||
},
|
||||
"raisedHand": "Gustaríalle falar",
|
||||
"recording": {
|
||||
"authDropboxText": "Cargar en Dropbox",
|
||||
"availableSpace": "Espazo dispoñíbel: {{spaceLeft}} MB (aproximadamente {{duration}} minutos de gravación)",
|
||||
"beta": "BETA",
|
||||
"busy": "Estamos a liberar recursos de gravación. Ténteo de novo dentro duns minutos.",
|
||||
"busyTitle": "Todas as rexistradoras están ocupadas neste momento",
|
||||
"error": "Fallou a gravación. Ténteo de novo.",
|
||||
"expandedOff": "A gravación parouse",
|
||||
"expandedOn": "Esta reunión está actualmente sendo gravada",
|
||||
"expandedPending": "A gravación está a comezar...",
|
||||
"failedToStart": "Fallou o arrinque da gravación",
|
||||
"fileSharingdescription": "Compartir a gravación cos participantes na reunión",
|
||||
"live": "VIVO",
|
||||
"loggedIn": "En sesión como {{userName}}",
|
||||
"off": "Gravación parada",
|
||||
"offBy": "{{name}} parou a gravación",
|
||||
"on": "Gravando",
|
||||
"onBy": "{{name}} comezou a gravación",
|
||||
"pending": "Preparando a gravación da reunión...",
|
||||
"rec": "GRA",
|
||||
"serviceDescription": "A súa gravación será gardada polo servizo de gravación",
|
||||
"serviceName": "Servizo de gravación",
|
||||
"signIn": "Conectarse",
|
||||
"signOut": "Desconectarse",
|
||||
"unavailable": "Opa! O {{serviceName}} non está dispoñíbel actualmente. Estamos traballando na resolución da incidencia. Ténteo de novo máis adiante.",
|
||||
"unavailableTitle": "A gravación non está dispoñíbel"
|
||||
},
|
||||
"sectionList": {
|
||||
"pullToRefresh": "Tirar para recargar"
|
||||
},
|
||||
"settings": {
|
||||
"calendar": {
|
||||
"about": "A integración do calendario de {{appName}} utilízase para asegurar o acceso ao seu calendario e que poida consultar citas.",
|
||||
"disconnect": "Desconectar",
|
||||
"microsoftSignIn": "Iniciar sesión con Microsoft",
|
||||
"signedIn": "Accedendo neste intre ás citas de calendario de {{email}}. Prema no botón Desconectar de abaixo se quere deter o acceso ás citas do calendario.",
|
||||
"title": "Calendario"
|
||||
},
|
||||
"devices": "Dispositivos",
|
||||
"followMe": "Todos me seguen",
|
||||
"language": "Idioma",
|
||||
"loggedIn": "Sesión iniciada como {{name}}",
|
||||
"moderator": "Moderador",
|
||||
"more": "Máis",
|
||||
"name": "Nome",
|
||||
"noDevice": "Ningunha",
|
||||
"selectAudioOutput": "Saída de son",
|
||||
"selectCamera": "Cámara",
|
||||
"selectMic": "Micrófono",
|
||||
"startAudioMuted": "Todo o mundo comeza silenciado",
|
||||
"startVideoMuted": "Todo o mundo comeza agochado",
|
||||
"title": "Configuración"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Avanzado",
|
||||
"alertOk": "Aceptar",
|
||||
"alertTitle": "Aviso",
|
||||
"alertURLText": "O URL do servidor fornecido non é correcto",
|
||||
"buildInfoSection": "Información da compilación",
|
||||
"conferenceSection": "Conferencia",
|
||||
"disableCallIntegration": "Desactivar a integración de chamadas nativa",
|
||||
"disableP2P": "Desactivar o modo entre pares",
|
||||
"displayName": "Presentar o nome",
|
||||
"email": "Correo",
|
||||
"header": "Configuración",
|
||||
"profileSection": "Perfil",
|
||||
"serverURL": "URL do servidor",
|
||||
"showAdvanced": "Amosar a configuración avanzada",
|
||||
"startWithAudioMuted": "Comezar co son silenciado",
|
||||
"startWithVideoMuted": "Inicio do vídeo silenciado",
|
||||
"version": "Versión"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "\n\n=====\n\nQuere simplemente marcar no seu móbil?\n\n{{defaultDialInNumber}}Prema esta ligazón para ver o número de teléfono ao que chamar para esta reunión\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Premer na seguinte ligazón para unirse á reunión:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Altofalante",
|
||||
"speakerStats": {
|
||||
"hours": "{{count}}h",
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Nome",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Estatísticas do falante",
|
||||
"speakerTime": "Tempo do falante"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
"title": "{{app}} necessita acceso ao seu micro e cámara."
|
||||
},
|
||||
"suspendedoverlay": {
|
||||
"rejoinKeyTitle": "Volverse unir",
|
||||
"text": "Prema o botón <i>Volverse unir</i> para reconectar.",
|
||||
"title": "A súa chamada de vídeo interrompeuse porque este computador entrou en suspensión."
|
||||
},
|
||||
"toolbar": {
|
||||
"accessibilityLabel": {
|
||||
"audioOnly": "Trocar só o son",
|
||||
"audioRoute": "Seleccionar o dispositivo de son",
|
||||
"callQuality": "Xestionar a calidade do vídeo",
|
||||
"cc": "Trocar subtítulos",
|
||||
"chat": "Trocar xanela de chat",
|
||||
"document": "Trocar documento compartido",
|
||||
"download": "Descargar as apps",
|
||||
"feedback": "Deixar comentarios",
|
||||
"fullScreen": "Trocar a pantalla completa",
|
||||
"hangup": "Deixar a chamada",
|
||||
"help": "Axuda",
|
||||
"invite": "Convidar xente",
|
||||
"kick": "Expulsar participante",
|
||||
"localRecording": "Trocar os controis de gravación local",
|
||||
"lockRoom": "Trocar o contrasinal da reunión",
|
||||
"moreActions": "Trocar o menú de accións complementarias",
|
||||
"moreActionsMenu": "Menú de accións complementarias",
|
||||
"mute": "Trocar o silenciador de son",
|
||||
"pip": "Trocar o modo Picture-in-Picture",
|
||||
"privateMessage": "Enviar mensaxe privada",
|
||||
"profile": "Editar o seu perfil",
|
||||
"raiseHand": "Trocar entre levantar e baixar a man",
|
||||
"recording": "Trocar a gravación",
|
||||
"remoteMute": "Silenciar participante",
|
||||
"Settings": "Alternar axustes",
|
||||
"sharedvideo": "Trocar a compartición de YouTube",
|
||||
"shareRoom": "Convidar a alguén",
|
||||
"shareYourScreen": "Trocar a pantalla compartida",
|
||||
"shortcuts": "Trocar atallos",
|
||||
"show": "Amosar en primeiro plano",
|
||||
"speakerStats": "Trocar as estatísticas do falante",
|
||||
"tileView": "Trocar a vista en mosaico",
|
||||
"toggleCamera": "Trocar a cámara",
|
||||
"videomute": "Trocar o activador de vídeo",
|
||||
"videoblur": "Trocar o difuminador de vídeo"
|
||||
},
|
||||
"addPeople": "Engadir xente á súa chamada",
|
||||
"audioOnlyOff": "Desactivar o modo de largo de banda reducido",
|
||||
"audioOnlyOn": "Activar o modo de largo de banda reducido",
|
||||
"audioRoute": "Seleccionar o dispositivo de son",
|
||||
"authenticate": "Autenticar",
|
||||
"callQuality": "Xestionar a calidade do vídeo",
|
||||
"chat": "Abrir/Pechar o chat",
|
||||
"closeChat": "Pechar o chat",
|
||||
"documentClose": "Pechar o documento compartido",
|
||||
"documentOpen": "Abrir o documento compartido",
|
||||
"download": "Descargar as apps",
|
||||
"enterFullScreen": "Ver a pantalla completa",
|
||||
"enterTileView": "Entrar á vista de mosaico",
|
||||
"exitFullScreen": "Saír da pantalla completa",
|
||||
"exitTileView": "Saír da vista de mosaico",
|
||||
"feedback": "Deixar comentarios",
|
||||
"hangup": "Marchar",
|
||||
"help": "Axuda",
|
||||
"invite": "Convidar xente",
|
||||
"login": "Inicio de sesión",
|
||||
"logout": "Saír",
|
||||
"lowerYourHand": "Baixar a man",
|
||||
"moreActions": "Accións complementarias",
|
||||
"mute": "Silenciar / Activar",
|
||||
"noAudioSignalTitle": "Non hai sinal de entrada desde o seu micro!",
|
||||
"noAudioSignalDesc": "Se vostede non o silenciou adrede na configuración do seu sistema ou hardware, considere cambiar de dispositivo.",
|
||||
"noAudioSignalDescSuggestion": "Se vostede non o silenciou adrede na configuración do sistema ou no hardware, considere utilizar o seguinte dispositivo:",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"openChat": "Abrir chat",
|
||||
"pip": "Entrar no modo Picture-in-Picture",
|
||||
"privateMessage": "Enviar mensaxe privada",
|
||||
"profile": "Editar o seu perfil",
|
||||
"raiseHand": "Levantar / Baixar a man",
|
||||
"raiseYourHand": "Levantar a súa man",
|
||||
"Settings": "Configuración",
|
||||
"sharedvideo": "Compartir un vídeo de YouTube",
|
||||
"shareRoom": "Convidar a alguén",
|
||||
"shortcuts": "Ver atallos de teclado",
|
||||
"speakerStats": "Estatísticas de falante",
|
||||
"startScreenSharing": "Comezar a compartir pantalla",
|
||||
"startSubtitles": "Comezar subtítulos",
|
||||
"stopScreenSharing": "Parar de compartir pantalla",
|
||||
"stopSubtitles": "Parar subtítulos",
|
||||
"stopSharedVideo": "Parar o vídeo de YouTube",
|
||||
"talkWhileMutedPopup": "Está a tentar falar? Está silenciado.",
|
||||
"tileViewToggle": "Trocar a vista en mosaico",
|
||||
"toggleCamera": "Trocar a cámara",
|
||||
"videomute": "Comezar / Parar a cámara",
|
||||
"startvideoblur": "Difuminar o meu fondo",
|
||||
"stopvideoblur": "Desactivar o difuminado do fondo"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "Comezar / Parar os subtítulos",
|
||||
"error": "Fallou a transcrición. Ténteo de novo.",
|
||||
"expandedLabel": "A transcrición está agora activa.",
|
||||
"failedToStart": "A transcrición non puido arrincar",
|
||||
"labelToolTip": "A reunión está sendo transcrita",
|
||||
"off": "Transcrición parada",
|
||||
"pending": "Preparando a transcrición da reunión...",
|
||||
"start": "Comezar a amosar subtítulos",
|
||||
"stop": "Parar a mostra de subtítulos",
|
||||
"tr": "TR"
|
||||
},
|
||||
"userMedia": {
|
||||
"androidGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"chromeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"edgeGrantPermissions": "Seleccionar <b><i>Si</i></b> cando o seu navegador pida permisos.",
|
||||
"electronGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
|
||||
"firefoxGrantPermissions": "Seleccionar <b><i>Compartir o dispositivo seleccionado</i></b> cando o navegador pida permisos.",
|
||||
"iexplorerGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. ",
|
||||
"nwjsGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
|
||||
"operaGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"react-nativeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
|
||||
"safariGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. "
|
||||
},
|
||||
"videoSIPGW": {
|
||||
"busy": "Estamos liberando recursos. Ténteo de novo nuns minutos.",
|
||||
"busyTitle": "O servizo de sala está actualmente ocupado",
|
||||
"errorAlreadyInvited": "{{displayName}} xa foi invitado",
|
||||
"errorInvite": "A conferencia aínda non se estabeleceu. Ténteo de novo máis tarde.",
|
||||
"errorInviteFailed": "Estamos traballando na resolución da incidencia. Ténteo de novo máis tarde.",
|
||||
"errorInviteFailedTitle": "Fallou o convite a {{displayName}}",
|
||||
"errorInviteTitle": "Erro no convite da sala",
|
||||
"pending": "Convidouse a {{displayName}}"
|
||||
},
|
||||
"videoStatus": {
|
||||
"audioOnly": "SON",
|
||||
"audioOnlyExpanded": "Está en modo de largo de banda reducido. Neste modo recibirá soamente son e pantalla compartida.",
|
||||
"callQuality": "Calidade de vídeo",
|
||||
"hd": "HD",
|
||||
"hdTooltip": "Visualizando vídeo en alta definición",
|
||||
"highDefinition": "Alta definición",
|
||||
"labelTooiltipNoVideo": "Ningún vídeo",
|
||||
"labelTooltipAudioOnly": "Activado o modo de largo de banda reducido.",
|
||||
"ld": "BD",
|
||||
"ldTooltip": "Vendo o vídeo en baixa definición",
|
||||
"lowDefinition": "Baixa definición",
|
||||
"onlyAudioAvailable": "Soamente está dispoñíbel o son",
|
||||
"onlyAudioSupported": "Soamente está dispoñíbel o son neste navegador.",
|
||||
"p2pEnabled": "Activado entre pares",
|
||||
"p2pVideoQualityDescription": "No modo entre pares, a calidade de recepción de vídeo soamente pode escollerse entre alta ou soamente con son. Calquera outra configuración non se admitirá ata que se saia do modo entre pares. ",
|
||||
"recHighDefinitionOnly": "Preferir alta definición.",
|
||||
"sd": "MD",
|
||||
"sdTooltip": "Ver un vídeo en definición estándar",
|
||||
"standardDefinition": "Definición estándar"
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Silenciar",
|
||||
"flip": "Voltar",
|
||||
"kick": "Expulsar",
|
||||
"moderator": "Moderador",
|
||||
"mute": "O participante está silenciado",
|
||||
"muted": "Silenciado",
|
||||
"remoteControl": "",
|
||||
"show": "Amosar en primeiro plano",
|
||||
"videomute": "O participante parou a cámara"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tocar para unirse",
|
||||
"roomname": "Escriba o nome da sala"
|
||||
},
|
||||
"appDescription": "Adiante, chat de vídeo co equipo enteiro. De feito, convidar a todos os que coñece. {{app}} está totalmente cifrado, unha solución de videoconferencia 100% de código aberto que pode utilizar todo o día, cada día, de balde — sen sequera unha conta. ",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voz",
|
||||
"video": "Vídeo"
|
||||
},
|
||||
"calendar": "Calendario",
|
||||
"connectCalendarButton": "Conectar o seu calendario",
|
||||
"connectCalendarText": "Conectar o calendario para ver todas as reunións en {{app}}. Ademais, engada reunións de {{provider}} ao seu calendario e coméceas dun clic.",
|
||||
"enterRoomTitle": "Arrincar unha nova reunión",
|
||||
"roomNameAllowedChars": "O nome da reunión non debería conter ningún destes caracteres: ?, &, :, ', \", %, #.",
|
||||
"go": "CREAR",
|
||||
"goSmall": "CREAR",
|
||||
"join": "CREAR / UNIRSE",
|
||||
"info": "Info",
|
||||
"privacy": "Confidencialidade",
|
||||
"recentList": "Recente",
|
||||
"recentListDelete": "Eliminar",
|
||||
"recentListEmpty": "Neste intre, a súa lista de recentes está baleira. Converse co seu equipo e atopará todas as reunións recentes aquí.",
|
||||
"reducedUIText": "Dámoslle a benvida a {{app}}!",
|
||||
"roomname": "Escriba o nome da sala",
|
||||
"roomnameHint": "Escribir o nome ou o URL da sala á que se quere unir. Pode dar de alta un nome e permitir que a xente coa que se reúne o saiba para que introduzan o mesmo nome.",
|
||||
"sendFeedback": "Enviar un comentario",
|
||||
"terms": "Termos",
|
||||
"title": "Sistema de conferencia seguro, cheo de funcionalidades e completamente libre"
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"addPeople": {
|
||||
"add": "Invita",
|
||||
"countryNotSupported": "Non supportiamo ancora questa destinazione.",
|
||||
"countryReminder": "Stai chiamando fuori dagli Stati Uniti? Assicurati di iniziare inserendo il codice paese!",
|
||||
"countryReminder": "Stai chiamando fuori dagli Stati Uniti? Assicurati d'inserire il prefisso internazionale!",
|
||||
"disabled": "Non puoi invitare persone.",
|
||||
"failedToAdd": "",
|
||||
"footerText": "La chiamata dall'esterno è disabilitata.",
|
||||
@@ -21,7 +21,7 @@
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Cuffie",
|
||||
"phone": "Telefono",
|
||||
"speaker": "Relatore"
|
||||
"speaker": "Vivavoce"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Solo audio"
|
||||
@@ -131,7 +131,7 @@
|
||||
"liveStreaming": "Diretta"
|
||||
},
|
||||
"allow": "Consenti",
|
||||
"alreadySharedVideoMsg": "",
|
||||
"alreadySharedVideoMsg": "Un altro utente sta condividendo un video. Questa conferenza permette di condividere un solo video alla volta.",
|
||||
"alreadySharedVideoTitle": "È permesso un solo video alla volta",
|
||||
"applicationWindow": "Finestra applicazione",
|
||||
"Back": "Indietro",
|
||||
@@ -157,9 +157,9 @@
|
||||
"contactSupport": "Contatta il supporto",
|
||||
"copy": "Copia",
|
||||
"dismiss": "Scarta",
|
||||
"displayNameRequired": "",
|
||||
"displayNameRequired": "Tutti devono avere un nome",
|
||||
"done": "Fatto",
|
||||
"enterDisplayName": "",
|
||||
"enterDisplayName": "Inserisci il nome da visualizzare",
|
||||
"error": "Errore",
|
||||
"externalInstallationMsg": "Devi installare la nostra estensione per la condivisione desktop.",
|
||||
"externalInstallationTitle": "Richiesta estensione",
|
||||
@@ -172,31 +172,31 @@
|
||||
"inlineInstallExtension": "Installa adesso",
|
||||
"internalError": "Ops! Qualcosa è andato storto. Questo è l'errore: {{error}}",
|
||||
"internalErrorTitle": "Errore interno",
|
||||
"kickMessage": "",
|
||||
"kickMessage": "Acc! Sei stato espulso dal meeting!",
|
||||
"kickParticipantButton": "Espelli",
|
||||
"kickParticipantDialog": "Espellere questo partecipante?",
|
||||
"kickParticipantTitle": "",
|
||||
"kickTitle": "",
|
||||
"kickParticipantDialog": "Sei sicuro di voler espellere questo partecipante?",
|
||||
"kickParticipantTitle": "Espellere questi partecipante?",
|
||||
"kickTitle": "Espulso dal meeting",
|
||||
"liveStreaming": "Live Streaming",
|
||||
"liveStreamingDisabledForGuestTooltip": "Gli ospiti non possono avviare una diretta.",
|
||||
"liveStreamingDisabledTooltip": "Trasmissioni in diretta disabilitate.",
|
||||
"lockMessage": "Impossibile bloccare la conferenza.",
|
||||
"lockRoom": "",
|
||||
"lockRoom": "Aggiungi una password al meeting",
|
||||
"lockTitle": "Blocco fallito",
|
||||
"logoutQuestion": "Vuoi disconnetterti e interrompere la conferenza ?",
|
||||
"logoutTitle": "Logout",
|
||||
"maxUsersLimitReached": "",
|
||||
"maxUsersLimitReachedTitle": "",
|
||||
"maxUsersLimitReached": "E' stato raggiunto il numero massimo di partecipanti. La conferenza è al completo. Contatta l'organizzatore, o riprova più tardi!",
|
||||
"maxUsersLimitReachedTitle": "Raggiunto limite partecipanti",
|
||||
"micConstraintFailedError": "Il tuo microfono non soddisfa alcuni dei requisiti richiesti.",
|
||||
"micNotFoundError": "Microfono non trovato.",
|
||||
"micNotSendingData": "",
|
||||
"micNotSendingDataTitle": "",
|
||||
"micNotSendingData": "Non riusciamo a ricevere suoni dal microfono scelto. Prova a selezionare nelle impostazioni un microfono diverso, o a riavvare l'applicazione.",
|
||||
"micNotSendingDataTitle": "Impossibile accedere al microfono",
|
||||
"micPermissionDeniedError": "Non hai concesso il permesso di usare il microfono. Puoi comunque partecipare alla conferenza ma gli altri non potranno sentirti. Usa il bottone a forma di telecamera nella barra degli indirizzi per cambiare impostazioni.",
|
||||
"micUnknownError": "Impossibile usare il microfono per un motivo sconosciuto.",
|
||||
"muteParticipantBody": "Tu non sarai in grado di riattivare il loro audio, ma loro potranno riattivarlo in qualsiasi momento.",
|
||||
"muteParticipantButton": "Disattiva audio",
|
||||
"muteParticipantDialog": "",
|
||||
"muteParticipantTitle": "",
|
||||
"muteParticipantButton": "Silenzia partecipante",
|
||||
"muteParticipantDialog": "Sei sicuro di voler disattivare l'audio di questo partecipante? Saranno loro a doversi riattivare l'audio, per parlare.",
|
||||
"muteParticipantTitle": "Silenzio questo partecipante?",
|
||||
"Ok": "Ok",
|
||||
"passwordLabel": "",
|
||||
"passwordNotSupported": "Le password per le videoconferenze non sono supportate.",
|
||||
@@ -216,7 +216,7 @@
|
||||
"remoteControlStopMessage": "Sessione di controllo remoto terminata!",
|
||||
"remoteControlTitle": "Connessione desktop remoto",
|
||||
"Remove": "Rimuovi",
|
||||
"removePassword": "",
|
||||
"removePassword": "Togli la password",
|
||||
"removeSharedVideoMsg": "Sei sicuro di voler rimuovere il tuo video condiviso?",
|
||||
"removeSharedVideoTitle": "Rimuovi video condiviso",
|
||||
"reservationError": "Errore di sistema in prenotazione",
|
||||
@@ -249,10 +249,10 @@
|
||||
"tokenAuthFailed": "Ci dispiace ma non sei autorizzato a partecipare a questa chiamata.",
|
||||
"tokenAuthFailedTitle": "Autenticazione fallita",
|
||||
"transcribing": "Trascrizione",
|
||||
"unlockRoom": "",
|
||||
"unlockRoom": "Togli la password al meeting",
|
||||
"userPassword": "password utente",
|
||||
"WaitForHostMsg": "",
|
||||
"WaitForHostMsgWOk": "",
|
||||
"WaitForHostMsg": "La conferenza <b>{{room}}</b> non è ancora cominciata. Se sei l'organizzatore, per favore autenticati. Altrimenti, aspetta l'arrivo dell'organizzatore.",
|
||||
"WaitForHostMsgWOk": "La conferenza <b>{{room}}</b> non è ancora cominciata. Se sei l'organizzatore, allora premi OK per autenticarti. Altrimenti, aspetta l'arrivo dell'organizzatore.",
|
||||
"WaitingForHost": "In attesa dell'organizzatore ...",
|
||||
"Yes": "Sì",
|
||||
"yourEntireScreen": "Schermo intero"
|
||||
@@ -270,41 +270,41 @@
|
||||
"veryGood": "Molto Buona"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Risposta",
|
||||
"answer": "Rispondi",
|
||||
"audioCallTitle": "Chiamata in arrivo",
|
||||
"decline": "Scarta",
|
||||
"productLabel": "da ANDI Conference",
|
||||
"productLabel": "da Jitsi Meet",
|
||||
"videoCallTitle": "Videochiamata in arrivo"
|
||||
},
|
||||
"info": {
|
||||
"accessibilityLabel": "Mostra informazioni",
|
||||
"addPassword": "",
|
||||
"cancelPassword": "",
|
||||
"addPassword": "Aggiungi password",
|
||||
"cancelPassword": "Togli password",
|
||||
"conferenceURL": "Collegamento:",
|
||||
"country": "Paese",
|
||||
"dialANumber": "",
|
||||
"dialANumber": "Per collegarti telefonicamente al meeting, chiama uno di questi numeri e metti il pin.",
|
||||
"dialInConferenceID": "PIN:",
|
||||
"dialInNotSupported": "Spiacenti, la chiamata per partecipare attualmente non è supportata",
|
||||
"dialInNotSupported": "Spiacenti, la partecipazionne solo telefonica non è supportata attualmente",
|
||||
"dialInNumber": "Componi:",
|
||||
"dialInSummaryError": "",
|
||||
"dialInTollFree": "",
|
||||
"dialInSummaryError": "Errore nella ricerca dei numeri telefonici. Riprova più tardi.",
|
||||
"dialInTollFree": "Numero verde",
|
||||
"genericError": "Ops, qualcosa è andato storto.",
|
||||
"inviteLiveStream": "Per visualizzare la trasmissione in diretta di questo meeting, clicca su questo link: {{url}}",
|
||||
"invitePhone": "",
|
||||
"inviteLiveStream": "Per vedere la diretta di questo meeting, clicca su questo link: {{url}}",
|
||||
"invitePhone": "Per seguire solo telefonicamente, clicca: {{number}},,{{conferenceID}}#",
|
||||
"invitePhoneAlternatives": "",
|
||||
"inviteURLFirstPartGeneral": "",
|
||||
"inviteURLFirstPartPersonal": "",
|
||||
"inviteURLSecondPart": "",
|
||||
"inviteURLFirstPartGeneral": "Invito a connettersi ad una conferenza.",
|
||||
"inviteURLFirstPartPersonal": "{{name}} ti sta invitando ad un meeting.\n",
|
||||
"inviteURLSecondPart": "\nPartecipa al meeting:\n{{url}}\n",
|
||||
"liveStreamURL": "Trasmissione in diretta:",
|
||||
"moreNumbers": "Più numeri",
|
||||
"noNumbers": "Nessun numero da chiamare.",
|
||||
"noPassword": "Nessuno",
|
||||
"noPassword": "Nessuna",
|
||||
"noRoom": "Non è stata specificata nessuna stanza da chiamare.",
|
||||
"numbers": "Numeri da chiamare",
|
||||
"password": "",
|
||||
"password": "Password",
|
||||
"title": "Condividi",
|
||||
"tooltip": "Condividi collegamento e informazioni di chiamata per questa conferenza",
|
||||
"label": ""
|
||||
"tooltip": "Invia il collegamento e i numeri telefonici di questa conferenza",
|
||||
"label": "Informazioni meeting"
|
||||
},
|
||||
"inviteDialog": {
|
||||
"alertText": "",
|
||||
@@ -328,13 +328,13 @@
|
||||
"localRecording": "Mostra o nascondi i controlli per la registrazione",
|
||||
"mute": "Attiva o disattiva il microfono",
|
||||
"pushToTalk": "Premi per parlare",
|
||||
"raiseHand": "Mostra / Nascondi i video",
|
||||
"showSpeakerStats": "Mostra statistiche conversanti",
|
||||
"raiseHand": "Alza o abbassa la mano",
|
||||
"showSpeakerStats": "Mostra statistiche",
|
||||
"toggleChat": "Apri o chiudi la chat",
|
||||
"toggleFilmstrip": "Mostra o nascondi anteprime video",
|
||||
"toggleScreensharing": "Cambia modalità tra videocamera e condivisione schermo",
|
||||
"toggleShortcuts": "Mostra o nascondi le scorciatoie",
|
||||
"videoMute": "Attiva / disattiva videocamera"
|
||||
"videoMute": "Accendo o spegni la videocamera"
|
||||
},
|
||||
"liveStreaming": {
|
||||
"busy": "Stiamo cercando di liberare risorse per lo streaming. Riprova tra qualche minuto.",
|
||||
@@ -349,11 +349,11 @@
|
||||
"expandedOff": "La diretta è stata interrotta",
|
||||
"expandedOn": "La conferenza è attualmente in diretta su YouTube.",
|
||||
"expandedPending": "La diretta è in fase di avvio...",
|
||||
"failedToStart": "Avvio live streaming fallito",
|
||||
"getStreamKeyManually": "",
|
||||
"invalidStreamKey": "",
|
||||
"off": "Il live streaming si è interrotto",
|
||||
"on": "Live Streaming",
|
||||
"failedToStart": "Avvio trasmissione in diretta fallito",
|
||||
"getStreamKeyManually": "Non siamo stati in grado di trovare nessuna trasmissione dal vivo. Prova ad ottenere una chiave stream da Youtube",
|
||||
"invalidStreamKey": "La chiave stream potrebbe non essere corretta.",
|
||||
"off": "La diretta si è interrotta",
|
||||
"on": "Trasmissione in diretta",
|
||||
"pending": "Avvio live stream...",
|
||||
"serviceName": "Servizio live streaming",
|
||||
"signedInAs": "Sei attualmente collegato come:",
|
||||
@@ -397,38 +397,38 @@
|
||||
"lockRoomPasswordUppercase": "Password",
|
||||
"me": "io",
|
||||
"notify": {
|
||||
"connectedOneMember": "",
|
||||
"connectedThreePlusMembers": "",
|
||||
"connectedTwoMembers": "",
|
||||
"connectedOneMember": "{{name}} si è connesso",
|
||||
"connectedThreePlusMembers": "{{name}} e altri {{count}} si sono connessi",
|
||||
"connectedTwoMembers": "{{first}} e {{second}} si sono connessi",
|
||||
"disconnected": "disconnesso",
|
||||
"focus": "Focus su conferenza",
|
||||
"focusFail": "{{component}} non disponibile - riprova in {{ms}} sec",
|
||||
"grantedTo": "Permessi di moderatore garantiti a {{to}}!",
|
||||
"invitedOneMember": "{{displayName}} è stato invitato",
|
||||
"invitedThreePlusMembers": "",
|
||||
"invitedTwoMembers": "",
|
||||
"kickParticipant": "",
|
||||
"me": "io",
|
||||
"invitedThreePlusMembers": "Hai invitato {{name}} e altri {{count}}",
|
||||
"invitedTwoMembers": "Hai invitato {{first}} e {{second}}",
|
||||
"kickParticipant": "{{kicked}} è stato espulso da {{kicker}}",
|
||||
"me": "Io",
|
||||
"moderator": "Impostati i permessi di moderatore!",
|
||||
"muted": "Hai iniziato la conversazione con l'audio disattivato.",
|
||||
"mutedTitle": "Hai l'audio disattivato!",
|
||||
"mutedRemotelyTitle": "",
|
||||
"mutedRemotelyTitle": "Ti è stato disattivato l'audio da {{participantDisplayName}}!",
|
||||
"mutedRemotelyDescription": "",
|
||||
"passwordRemovedRemotely": "",
|
||||
"passwordSetRemotely": "",
|
||||
"raisedHand": "",
|
||||
"raisedHand": "{{name}} vorrebbe intervenire.",
|
||||
"somebody": "Qualcuno",
|
||||
"startSilentTitle": "",
|
||||
"startSilentDescription": "",
|
||||
"suboptimalExperienceDescription": "Ehm... temiamo che la tua esperienza con {{appName}} non sarà granché su questo browser. Stiamo cercando di migliorare la situazione ma, per il momento, prova ad utilizzare uno di questi <a href='static/recommendedBrowsers.html' target='_blank'>browser supportati</a>.",
|
||||
"suboptimalExperienceTitle": "Problemi con il browser",
|
||||
"unmute": "",
|
||||
"newDeviceCameraTitle": "",
|
||||
"newDeviceAudioTitle": "",
|
||||
"newDeviceAction": ""
|
||||
"newDeviceCameraTitle": "Trovata nuova videocamera",
|
||||
"newDeviceAudioTitle": "Trovata nuova origine audio",
|
||||
"newDeviceAction": "Usala"
|
||||
},
|
||||
"passwordSetRemotely": "",
|
||||
"passwordDigitsOnly": "",
|
||||
"passwordSetRemotely": "definita da altro utente",
|
||||
"passwordDigitsOnly": "Fino a {{number}} cifre",
|
||||
"poweredby": "powered by",
|
||||
"presenceStatus": {
|
||||
"busy": "Occupato",
|
||||
@@ -498,26 +498,26 @@
|
||||
"selectCamera": "Videocamera",
|
||||
"selectMic": "Microfono",
|
||||
"startAudioMuted": "Tutti cominciano con il microfono disattivato",
|
||||
"startVideoMuted": "Tutti cominciano nascosti",
|
||||
"startVideoMuted": "Tutti cominciano con il video video",
|
||||
"title": "Impostazioni"
|
||||
},
|
||||
"settingsView": {
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Attenzione",
|
||||
"alertURLText": "L'URL del server inserito non è valido",
|
||||
"buildInfoSection": "",
|
||||
"buildInfoSection": "Versione",
|
||||
"conferenceSection": "Conferenza",
|
||||
"displayName": "Nome visualizzato",
|
||||
"email": "Email",
|
||||
"header": "Impostazioni",
|
||||
"profileSection": "Profilo",
|
||||
"serverURL": "URL del server",
|
||||
"startWithAudioMuted": "Inizia con l'audio mutato",
|
||||
"startWithVideoMuted": "Avvia con video mutato",
|
||||
"version": ""
|
||||
"startWithAudioMuted": "Inizia con l'audio disattivato",
|
||||
"startWithVideoMuted": "Avvia con il video disattivato",
|
||||
"version": "Versione"
|
||||
},
|
||||
"share": {
|
||||
"dialInfoText": "",
|
||||
"dialInfoText": "\n\n=====\n\nVuoi solo ascoltare la conferenza da un telefono?\n\n{{defaultDialInNumber}}Clicca questo link per vedere i numeri telefonici di questo meeting\n{{dialInfoPageUrl}}",
|
||||
"mainText": "Clicca sul link seguente per partecipare alla conferenza:\n{{roomUrl}}"
|
||||
},
|
||||
"speaker": "Relatore",
|
||||
@@ -526,8 +526,8 @@
|
||||
"minutes": "{{count}}m",
|
||||
"name": "Nome",
|
||||
"seconds": "{{count}}s",
|
||||
"speakerStats": "Statistiche del parlante",
|
||||
"speakerTime": "Tempo del conversante"
|
||||
"speakerStats": "Statistiche del relatore",
|
||||
"speakerTime": "Tempo del relatore"
|
||||
},
|
||||
"startupoverlay": {
|
||||
"policyText": " ",
|
||||
@@ -550,75 +550,75 @@
|
||||
"fullScreen": "Attiva/disattiva schermo intero",
|
||||
"hangup": "Lascia la conferenza",
|
||||
"invite": "Invita persone",
|
||||
"kick": "",
|
||||
"kick": "Espelli partecipante",
|
||||
"localRecording": "Abilita controlli di registrazione locale",
|
||||
"lockRoom": "",
|
||||
"moreActions": "Attiva/disattiva Menu avanzato",
|
||||
"lockRoom": "Attiva o disattiva password",
|
||||
"moreActions": "Attiva o disattiva menu avanzato",
|
||||
"moreActionsMenu": "Menu avanzato",
|
||||
"mute": "Attiva/disattiva audio muto",
|
||||
"mute": "Attiva/disattiva audio",
|
||||
"pip": "Attiva/disattiva immagine nell’immagine",
|
||||
"profile": "Modifica profilo",
|
||||
"raiseHand": "Attiva/disattiva alzata di mano",
|
||||
"recording": "Attiva/disattiva registrazione",
|
||||
"remoteMute": "",
|
||||
"remoteMute": "Disattiva audio partecipante",
|
||||
"Settings": "Attiva/disattiva impostazioni",
|
||||
"sharedvideo": "Attiva/disattiva condivisione YouTube",
|
||||
"shareRoom": "Invita partecipante",
|
||||
"shareRoom": "Invita qualcuno",
|
||||
"shareYourScreen": "Attiva/disattiva condivisione schermo",
|
||||
"shortcuts": "Attiva/disattiva scorciatoie",
|
||||
"show": "",
|
||||
"speakerStats": "Attiva/disattiva statistiche relatore",
|
||||
"tileView": "Attiva/disattiva visualizzazione griglia",
|
||||
"toggleCamera": "Attiva/disattiva webcam",
|
||||
"videomute": "Attiva/disattiva silenziamento video",
|
||||
"videoblur": ""
|
||||
"tileView": "Attiva/disattiva visualizzazione a tessere",
|
||||
"toggleCamera": "Cambia videocamera",
|
||||
"videomute": "Attiva/disattiva videocamera",
|
||||
"videoblur": "Attiva/disattiva offuscamento video"
|
||||
},
|
||||
"addPeople": "Aggiungi persone alla chiamata",
|
||||
"audioOnlyOff": "Disattiva modalità solo audio",
|
||||
"audioOnlyOn": "Disattiva modalità solo audio",
|
||||
"audioOnlyOn": "Attiva modalità solo audio",
|
||||
"audioRoute": "Seleziona la periferica audio",
|
||||
"authenticate": "Autenticazione",
|
||||
"callQuality": "Gestisci qualità della chiamata",
|
||||
"chat": "Apri / Chiudi chat",
|
||||
"closeChat": "",
|
||||
"closeChat": "Chiudi chat",
|
||||
"documentClose": "Chiudi documento condiviso",
|
||||
"documentOpen": "Apri documento condiviso",
|
||||
"enterFullScreen": "Visualizza a schermo intero",
|
||||
"enterTileView": "",
|
||||
"enterTileView": "Vista a tessere",
|
||||
"exitFullScreen": "Esci da schermo intero",
|
||||
"exitTileView": "",
|
||||
"exitTileView": "Vista utente singolo",
|
||||
"feedback": "Lascia un feedback",
|
||||
"hangup": "Esci",
|
||||
"invite": "Invita persone",
|
||||
"login": "Login",
|
||||
"logout": "Logout",
|
||||
"lowerYourHand": "",
|
||||
"lowerYourHand": "Abbassa la mano",
|
||||
"moreActions": "Più azioni",
|
||||
"mute": "Microfono Attiva / Disattiva",
|
||||
"openChat": "",
|
||||
"openChat": "Apri una chat",
|
||||
"pip": "Abilita visualizzazione immagine nell’immagine",
|
||||
"profile": "Modifica profilo",
|
||||
"raiseHand": "Alza / Abbassa la mano",
|
||||
"raiseYourHand": "",
|
||||
"raiseYourHand": "Alza la mano",
|
||||
"Settings": "Impostazioni",
|
||||
"sharedvideo": "Condividi un video Youtube",
|
||||
"shareRoom": "Invita partecipante",
|
||||
"shortcuts": "Visualizza scorciatoie",
|
||||
"speakerStats": "Statistiche dell'interlocutore",
|
||||
"startScreenSharing": "",
|
||||
"startSubtitles": "",
|
||||
"stopScreenSharing": "",
|
||||
"stopSubtitles": "",
|
||||
"startScreenSharing": "Inizia la condivisione dello schermo",
|
||||
"startSubtitles": "Avvia sottotitoli",
|
||||
"stopScreenSharing": "Ferma la condivisione dello schermo",
|
||||
"stopSubtitles": "Ferma sottotitoli",
|
||||
"stopSharedVideo": "Ferma video YouTube",
|
||||
"talkWhileMutedPopup": "Stai provando a parlare? Il microfono è disattivato.",
|
||||
"tileViewToggle": "Attiva/disattiva visualizzazione griglia",
|
||||
"toggleCamera": "Attiva/disattiva webcam",
|
||||
"toggleCamera": "Cambia videocamera",
|
||||
"videomute": "Attiva / Disattiva videocamera",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
"startvideoblur": "Offusca il video",
|
||||
"stopvideoblur": "Non offuscare il video"
|
||||
},
|
||||
"transcribing": {
|
||||
"ccButtonTooltip": "",
|
||||
"ccButtonTooltip": "Inizia / Ferma i sottotitoli",
|
||||
"error": "Registrazione fallita. Prova di nuovo.",
|
||||
"expandedLabel": "La trascrizione della conferenza è attiva",
|
||||
"failedToStart": "C’è stato un errore nell’avvio del servizio di trascrizione.",
|
||||
@@ -654,7 +654,7 @@
|
||||
"videoStatus": {
|
||||
"audioOnly": "AUD",
|
||||
"audioOnlyExpanded": "Modalita' solo audio attiva. Questa modalità permette di rispamiare banda ma non vedrai gli altri partecipanti.",
|
||||
"callQuality": "",
|
||||
"callQuality": "Qualità video",
|
||||
"hd": "HD",
|
||||
"highDefinition": "Alta definizione",
|
||||
"labelTooiltipNoVideo": "Nessun video",
|
||||
@@ -678,14 +678,14 @@
|
||||
"muted": "Audio disattivato",
|
||||
"remoteControl": "Controllo remoto",
|
||||
"show": "",
|
||||
"videomute": ""
|
||||
"videomute": "Silenzia il video"
|
||||
},
|
||||
"welcomepage": {
|
||||
"accessibilityLabel": {
|
||||
"join": "Tap per accedere",
|
||||
"roomname": "Inserisci Nome Stanza"
|
||||
},
|
||||
"appDescription": "Via avanti, video chatta con l'intero team. In effetti, invita tutti quelli che conosci. {{app}} è una soluzione di video conference totalmente crittografata, 100% open cource, che puoi utilizzare tutto il giorno, ogni giorno, gratuitamente - senza bisogno di un account.",
|
||||
"appDescription": "Via avanti, video chatta con l'intero team. In effetti, invita tutti quelli che conosci. {{app}} è una soluzione di video conference totalmente crittografata, 100% open source, che puoi utilizzare tutto il giorno, ogni giorno, gratuitamente - senza bisogno di un account.",
|
||||
"audioVideoSwitch": {
|
||||
"audio": "Voce",
|
||||
"video": "Video"
|
||||
@@ -696,7 +696,7 @@
|
||||
"enterRoomTitle": "Avvia una nuova conferenza",
|
||||
"go": "VAI",
|
||||
"join": "UNISCITI",
|
||||
"info": "",
|
||||
"info": "Informazioni",
|
||||
"privacy": "Privacy",
|
||||
"recentList": "Recente",
|
||||
"recentListDelete": "Cancella",
|
||||
@@ -708,4 +708,4 @@
|
||||
"terms": "Termini di utilizzo",
|
||||
"title": "Il sistema di conferenza sicuro, funzionale e completamente gratuito."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,16 +21,16 @@
|
||||
"bluetooth": "Bluetooth",
|
||||
"headphones": "Hoofdtelefoon",
|
||||
"phone": "Telefoon",
|
||||
"speaker": "Spreker"
|
||||
"speaker": "Speaker"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "Alleen audio"
|
||||
},
|
||||
"calendarSync": {
|
||||
"addMeetingURL": "Een link naar de vergadering toevoegen",
|
||||
"confirmAddLink": "Wilt u een Jitsi-link naar deze gebeurtenis toevoegen?",
|
||||
"confirmAddLink": "Wilt u een Jitsi-link aan deze gebeurtenis toevoegen?",
|
||||
"error": {
|
||||
"appConfiguration": "De Agenda-integratie is niet naar behoren geconfigureerd.",
|
||||
"appConfiguration": "De agenda-integratie is niet juist ingesteld.",
|
||||
"generic": "Er is een fout opgetreden. Controleer de agenda-instellingen of vernieuw de agenda.",
|
||||
"notSignedIn": "Er is een fout opgetreden tijdens de verificatie voor het weergeven van agendagebeurtenissen. Controleer de agenda-instellingen en probeer u opnieuw aan te melden."
|
||||
},
|
||||
@@ -40,18 +40,23 @@
|
||||
"noEvents": "Er zijn geen gebeurtenissen gepland.",
|
||||
"ongoingMeeting": "actieve vergadering",
|
||||
"permissionButton": "Instellingen openen",
|
||||
"permissionMessage": "U hebt een machtiging voor Agenda nodig om uw vergaderingen weer te geven in de app.",
|
||||
"permissionMessage": "U hebt een machtiging voor Agenda nodig om uw afspraken weer te geven in de app.",
|
||||
"refresh": "Agenda vernieuwen",
|
||||
"today": "Vandaag"
|
||||
},
|
||||
"chat": {
|
||||
"error": "Fout: uw bericht \"{{originalText}}\" is niet verzonden. Reden: {{error}}",
|
||||
"fieldPlaceHolder": "Type hier je bericht",
|
||||
"messagebox": "Typ een bericht",
|
||||
"messageTo": "Privébericht aan {{recipient}}",
|
||||
"noMessagesMessage": "Er zijn nog geen berichten in deze bijkeenkomst. Begin een gesprek!",
|
||||
"nickname": {
|
||||
"popover": "Kies een bijnaam",
|
||||
"title": "Voer een bijnaam in om de chatfunctie te gebruiken"
|
||||
},
|
||||
"title": "Chat"
|
||||
"privateNotice": "Privébericht aan {{recipient}}",
|
||||
"title": "Chat",
|
||||
"you": "jij"
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Er wordt verbinding gemaakt met de vergadering..."
|
||||
@@ -503,16 +508,18 @@
|
||||
"title": "Instellingen"
|
||||
},
|
||||
"settingsView": {
|
||||
"advanced": "Geavanceerd",
|
||||
"alertOk": "OK",
|
||||
"alertTitle": "Waarschuwing",
|
||||
"alertURLText": "De ingevoerde server-URL is ongeldig",
|
||||
"buildInfoSection": "Buildgegevens",
|
||||
"conferenceSection": "Conferentie",
|
||||
"conferenceSection": "Bijeenkomsten",
|
||||
"displayName": "Weergavenaam",
|
||||
"email": "E‑mail",
|
||||
"header": "Instellingen",
|
||||
"profileSection": "Profiel",
|
||||
"serverURL": "Server-URL",
|
||||
"showAdvanced": "Toon geavanceerde instellingen",
|
||||
"startWithAudioMuted": "Starten met audio gedempt",
|
||||
"startWithVideoMuted": "Starten met video gedempt",
|
||||
"version": "Versie"
|
||||
@@ -595,6 +602,7 @@
|
||||
"logout": "Afmelden",
|
||||
"lowerYourHand": "Uw hand laten zakken",
|
||||
"moreActions": "Meer acties",
|
||||
"moreOptions": "Meer opties",
|
||||
"mute": "Dempen/dempen opheffen",
|
||||
"openChat": "Chat openen",
|
||||
"pip": "Beeld-in-beeld-modus activeren",
|
||||
@@ -705,8 +713,12 @@
|
||||
"reducedUIText": "",
|
||||
"roomname": "Naam van ruimte invoeren",
|
||||
"roomnameHint": "Voer de naam of URL in van de ruimte die u wilt betreden. U kunt een naam verzinnen, maar geef de naam wel door aan de andere deelnemers, zodat zij dezelfde naam kunnen invoeren.",
|
||||
"sendFeedback": "Feedback verzenden",
|
||||
"sendFeedback": "Feedback sturen",
|
||||
"terms": "Voorwaarden",
|
||||
"title": "Veilige, volledig uitgeruste en geheel gratis videovergaderingen"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Anderen uitnodigen",
|
||||
"youAreAlone": "Je bent de enige in dit gesprek"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
"noMessagesMessage": "",
|
||||
"nickname": {
|
||||
"popover": "Wybierz swój nick",
|
||||
"title": "Wpisz swoje imię i nazwisko, aby użyć rozmowy"
|
||||
"title": "Wpisz swoją nazwę, aby użyć rozmowy"
|
||||
},
|
||||
"privateNotice": "Prywatna wiadomość do {{recipient}}",
|
||||
"title": "Rozmowa",
|
||||
@@ -76,38 +76,38 @@
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Adres:",
|
||||
"bandwidth": "Zakładana przepustowość:",
|
||||
"bandwidth": "Szacowana przepustowość:",
|
||||
"bitrate": "Szybkość transmisji:",
|
||||
"bridgeCount": "Liczba serwerów: ",
|
||||
"connectedTo": "Podłączone do:",
|
||||
"framerate": "Częstotliwość wyświetlania klatek:",
|
||||
"framerate": "Klatek na sekundę:",
|
||||
"less": "Pokaż mniej",
|
||||
"localaddress_0": "Adres lokalny:",
|
||||
"localaddress_1": "Adresy lokalne:",
|
||||
"localaddress_2": "Adresów lokalnych:",
|
||||
"localaddress_2": "Adresy lokalne:",
|
||||
"localport_0": "Port lokalny:",
|
||||
"localport_1": "Porty lokalne:",
|
||||
"localport_2": "Portów lokalnych:",
|
||||
"localport_2": "Porty lokalne:",
|
||||
"more": "Pokaż więcej",
|
||||
"packetloss": "Strata pakietów:",
|
||||
"packetloss": "Utrata pakietów:",
|
||||
"quality": {
|
||||
"good": "Prawdziwy",
|
||||
"inactive": "Nieaktywny",
|
||||
"lost": "Zaginiony",
|
||||
"good": "Dobre",
|
||||
"inactive": "Nieaktywne",
|
||||
"lost": "Utracone",
|
||||
"nonoptimal": "Nieoptymalne",
|
||||
"poor": "Słaby"
|
||||
"poor": "Słabe"
|
||||
},
|
||||
"remoteaddress_0": "Adres zdalny:",
|
||||
"remoteaddress_1": "Adresy zdalne:",
|
||||
"remoteaddress_2": "Adresów zdalnych:",
|
||||
"remoteaddress_2": "Adresy zdalne:",
|
||||
"remoteport_0": "Port zdalny:",
|
||||
"remoteport_1": "Porty zdalne:",
|
||||
"remoteport_2": "Portów zdalnych:",
|
||||
"remoteport_2": "Porty zdalne:",
|
||||
"resolution": "Rozdzielczość:",
|
||||
"status": "Połączenie:",
|
||||
"transport_0": "Przekazywanie:",
|
||||
"transport_1": "Przekazywania:",
|
||||
"transport_2": "Przekazywań:"
|
||||
"transport_0": "Transport:",
|
||||
"transport_1": "Transporty:",
|
||||
"transport_2": "Transporty:"
|
||||
},
|
||||
"dateUtils": {
|
||||
"earlier": "Wcześniej",
|
||||
@@ -128,7 +128,7 @@
|
||||
"defaultNickname": "np. Ziutek Kowalski",
|
||||
"deviceError": {
|
||||
"cameraError": "Błąd dostępu do Twojej kamery",
|
||||
"cameraPermission": "Błąd podczas przetwarzania uprawnień do kamery",
|
||||
"cameraPermission": "Błąd podczas otrzymywania uprawnień do kamery",
|
||||
"microphoneError": "Błąd dostępu do Twojego mikrofonu",
|
||||
"microphonePermission": "Błąd podczas otrzymywania uprawnień do mikrofonu"
|
||||
},
|
||||
@@ -209,7 +209,7 @@
|
||||
"muteParticipantButton": "Wyciszenie",
|
||||
"muteParticipantDialog": "Czy na pewno wyciszyć tego uczestnika? Nie będziesz mógł wyłączyć wyciszenia uczestników, ale oni mogą samodzielnie wyłączyć wyciszenie w dowolnym momencie.",
|
||||
"muteParticipantTitle": "Wyciszyć tego uczestnika?",
|
||||
"Ok": "Ok",
|
||||
"Ok": "OK",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "Ustanowienie spotkania $t(lockRoomPassword) nie jest obsługiwane.",
|
||||
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) nie jest obsługiwane",
|
||||
@@ -280,16 +280,16 @@
|
||||
"title": "Współdzielony dokument"
|
||||
},
|
||||
"feedback": {
|
||||
"average": "Średni",
|
||||
"bad": "Źle",
|
||||
"average": "Średnio",
|
||||
"bad": "Źle",
|
||||
"detailsLabel": "Powiedz nam o tym więcej.",
|
||||
"good": "Prawdziwy",
|
||||
"rateExperience": "Oceń proszę swoje doświadczenia z konferencji",
|
||||
"good": "Dobrze",
|
||||
"rateExperience": "Jak oceniasz tę konferencję?",
|
||||
"veryBad": "Bardzo źle",
|
||||
"veryGood": "1: Bardzo dobrze"
|
||||
"veryGood": "Bardzo dobrze"
|
||||
},
|
||||
"incomingCall": {
|
||||
"answer": "Odpowiedz",
|
||||
"answer": "Odbierz",
|
||||
"audioCallTitle": "Przychodzące połączenie",
|
||||
"decline": "Odrzuć",
|
||||
"productLabel": "z Jitsi Meet",
|
||||
@@ -512,18 +512,18 @@
|
||||
"title": "Kalendarz"
|
||||
},
|
||||
"devices": "Urządzenia",
|
||||
"followMe": "Wszyscy za mną",
|
||||
"followMe": "Wszyscy widzą mnie",
|
||||
"language": "Język",
|
||||
"loggedIn": "Zalogowano jako {{name}}",
|
||||
"moderator": "Moderujący",
|
||||
"moderator": "Moderacja",
|
||||
"more": "Więcej",
|
||||
"name": "Nazwa",
|
||||
"noDevice": "Brak",
|
||||
"selectAudioOutput": "Wyjście audio",
|
||||
"selectCamera": "Kamera",
|
||||
"selectMic": "Mikrofon",
|
||||
"startAudioMuted": "Wszyscy się wyciszyli",
|
||||
"startVideoMuted": "Wszyscy się ukryli",
|
||||
"startAudioMuted": "Wycisz wszystkich dołączających",
|
||||
"startVideoMuted": "Ukryj wszystkich dołączających",
|
||||
"title": "Ustawienia"
|
||||
},
|
||||
"settingsView": {
|
||||
@@ -600,7 +600,7 @@
|
||||
"shortcuts": "Przełączanie skrótów klawiszowych",
|
||||
"show": "",
|
||||
"speakerStats": "Przełączanie statystyk dotyczących mówców",
|
||||
"tileView": "Przełączanie kafelkowego widoku",
|
||||
"tileView": "Przełącz widok kafelkowy",
|
||||
"toggleCamera": "Przełączanie kamery",
|
||||
"videomute": "Przełączanie wyciszonego filmu wideo",
|
||||
"videoblur": "Przełącz rozmazanie obrazu"
|
||||
@@ -626,9 +626,9 @@
|
||||
"invite": "Zapraszaj ludzi",
|
||||
"login": "Zaloguj",
|
||||
"logout": "Wyloguj",
|
||||
"lowerYourHand": "Opuść swą rękę",
|
||||
"lowerYourHand": "Opuść rękę",
|
||||
"moreActions": "Więcej działań",
|
||||
"mute": "Wycisz / Pogłośnij",
|
||||
"mute": "Włącz / Wyłącz mikrofon",
|
||||
"noAudioSignalTitle": "",
|
||||
"noAudioSignalDesc": "",
|
||||
"noAudioSignalDescSuggestion": "",
|
||||
@@ -636,13 +636,13 @@
|
||||
"pip": "Wprowadź tryb obrazu w obrazie",
|
||||
"privateMessage": "Wyślij wiadomość prywatną",
|
||||
"profile": "Edytuj swój profil",
|
||||
"raiseHand": "Podnieś / Opuść swą rękę",
|
||||
"raiseYourHand": "Podnieś swą rękę",
|
||||
"raiseHand": "Podnieś / Opuść rękę",
|
||||
"raiseYourHand": "Podnieś rękę",
|
||||
"Settings": "Ustawienia",
|
||||
"sharedvideo": "Udostępniaj wideo w Youtube",
|
||||
"sharedvideo": "Udostępnij wideo w Youtube",
|
||||
"shareRoom": "Zaproś kogoś",
|
||||
"shortcuts": "Wyświetlanie skrótów",
|
||||
"speakerStats": "Statystyki głośników",
|
||||
"shortcuts": "Wyświetl skróty",
|
||||
"speakerStats": "Statystyki mówców",
|
||||
"startScreenSharing": "Zacznij współdzielenie ekranu",
|
||||
"startSubtitles": "Uruchom napisy",
|
||||
"stopScreenSharing": "Zatrzymaj współdzielenie ekranu",
|
||||
|
||||
@@ -59,6 +59,11 @@
|
||||
"title": "Чат",
|
||||
"you": ""
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "",
|
||||
"buttonText": "",
|
||||
"dontShowAgain": ""
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "Пытаемся присоединиться к вашей конференции..."
|
||||
},
|
||||
@@ -632,6 +637,8 @@
|
||||
"noAudioSignalTitle": "От вашего микрофона не идет звуковой сигнал!",
|
||||
"noAudioSignalDesc": "Если вы специально не отключали микрофон в системных настройках, подумайте о том, чтобы поменять его.",
|
||||
"noAudioSignalDescSuggestion": "Если вы специально не отключали микрофон в системных настройках, вы можете попробовать использовать следующее устройство:",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"openChat": "Открыть чат",
|
||||
"pip": "Вкл режим Картинка-в-картинке",
|
||||
"privateMessage": "Отправить личное сообщение",
|
||||
@@ -645,8 +652,8 @@
|
||||
"speakerStats": "Статистика",
|
||||
"startScreenSharing": "Начать трансляцию с экрана",
|
||||
"startSubtitles": "Включить субтитры",
|
||||
"stopScreenSharing": "Начать трансляцию с экрана",
|
||||
"stopSubtitles": "",
|
||||
"stopScreenSharing": "Остановить трансляцию с экрана",
|
||||
"stopSubtitles": "Отключить субтитры",
|
||||
"stopSharedVideo": "Остановить видео на YouTube",
|
||||
"talkWhileMutedPopup": "Пытаетесь говорить? У вас отключен звук.",
|
||||
"tileViewToggle": "Вкл/выкл плитку",
|
||||
@@ -717,7 +724,7 @@
|
||||
"moderator": "Модератор",
|
||||
"mute": "Без звука",
|
||||
"muted": "Звук выключен",
|
||||
"remoteControl": "Дистанционное управление",
|
||||
"remoteControl": "",
|
||||
"show": "Показать крупным планом",
|
||||
"videomute": "Участник отключил камеру"
|
||||
},
|
||||
@@ -749,6 +756,6 @@
|
||||
"roomnameHint": "Укажите название комнаты или ее адрес. Можете сами создать название и передать его будущим участникам встречи, чтобы они использовали именно его.",
|
||||
"sendFeedback": "Обратная связь",
|
||||
"terms": "Условия",
|
||||
"title": "Защищенная,, полнофункциональная и совершенно бесплатная система видеоконференций"
|
||||
"title": "Защищенная, полнофункциональная и совершенно бесплатная система видеоконференций"
|
||||
}
|
||||
}
|
||||
@@ -571,7 +571,7 @@
|
||||
"show": "",
|
||||
"speakerStats": "Stäng eller öppna högstalarstatistik",
|
||||
"tileView": "Öppna eller stäng panelvyn",
|
||||
"toggleCamera": "Öppna eller stäng kamera",
|
||||
"toggleCamera": "Byta kamera",
|
||||
"videomute": "Sätt på eller stäng av mikrofonen",
|
||||
"videoblur": ""
|
||||
},
|
||||
@@ -614,7 +614,7 @@
|
||||
"stopSharedVideo": "Pausa YouTube-video",
|
||||
"talkWhileMutedPopup": "Försöker du tala? Din mikrofon är tystad.",
|
||||
"tileViewToggle": "Öppna eller stäng panelvyn",
|
||||
"toggleCamera": "Öppna eller stäng kamera",
|
||||
"toggleCamera": "Byta kamera",
|
||||
"videomute": "Aktivera / avaktivera kameran",
|
||||
"startvideoblur": "",
|
||||
"stopvideoblur": ""
|
||||
@@ -710,4 +710,4 @@
|
||||
"terms": "Termer",
|
||||
"title": "Säkra, välutrustade och helt kostnadsfria videokonferenser"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"headphones": "耳机",
|
||||
"phone": "电话",
|
||||
"speaker": "发言人",
|
||||
"none": ""
|
||||
"none": "没有可用的音频设备"
|
||||
},
|
||||
"audioOnly": {
|
||||
"audioOnly": "低带宽"
|
||||
@@ -46,18 +46,23 @@
|
||||
"today": "今日"
|
||||
},
|
||||
"chat": {
|
||||
"error": "",
|
||||
"fieldPlaceHolder": "",
|
||||
"error": "错误:消息未发送。原因:{{error}}",
|
||||
"fieldPlaceHolder": "在这里输入你的信息",
|
||||
"messagebox": "输入消息",
|
||||
"messageTo": "",
|
||||
"noMessagesMessage": "",
|
||||
"messageTo": "与 {{recipient}} 的私人聊天",
|
||||
"noMessagesMessage": "会议中还没有消息,在这里开始谈话吧!",
|
||||
"nickname": {
|
||||
"popover": "选择一个昵称",
|
||||
"title": "输入一个昵称用于聊天"
|
||||
},
|
||||
"privateNotice": "",
|
||||
"privateNotice": "与 {{recipient}} 的私人聊天",
|
||||
"title": "聊天",
|
||||
"you": ""
|
||||
"you": "您"
|
||||
},
|
||||
"chromeExtensionBanner": {
|
||||
"installExtensionText": "",
|
||||
"buttonText": "",
|
||||
"dontShowAgain": ""
|
||||
},
|
||||
"connectingOverlay": {
|
||||
"joiningRoom": "会议连接中..."
|
||||
@@ -107,7 +112,7 @@
|
||||
"deepLinking": {
|
||||
"appNotInstalled": "您需要在手机上安装 {{app}} 这个应用才能参加会议。",
|
||||
"description": "无响应?正在尝试启动桌面{{app}}召开会议。重试或启动网页版{{app}}召开会议。",
|
||||
"descriptionWithoutWeb": "",
|
||||
"descriptionWithoutWeb": "无响应?已尝试启动客户端{{app}}召开会议。",
|
||||
"downloadApp": "下载应用",
|
||||
"launchWebButton": "在网页中启动",
|
||||
"openApp": "继续",
|
||||
@@ -133,7 +138,7 @@
|
||||
"liveStreaming": "流媒体直播"
|
||||
},
|
||||
"allow": "允许",
|
||||
"alreadySharedVideoMsg": "",
|
||||
"alreadySharedVideoMsg": "另一位参与者已经在分享视频了,这次会议一次只允许一个人分享视频。",
|
||||
"alreadySharedVideoTitle": "只能共享一个视频",
|
||||
"applicationWindow": "应用窗口",
|
||||
"Back": "返回",
|
||||
@@ -159,40 +164,40 @@
|
||||
"contactSupport": "联系我们",
|
||||
"copy": "复制",
|
||||
"dismiss": "解除,离开",
|
||||
"displayNameRequired": "",
|
||||
"displayNameRequired": "嗨! 你叫什么名字?",
|
||||
"done": "完成",
|
||||
"enterDisplayName": "",
|
||||
"enterDisplayName": "请输入您的名称",
|
||||
"error": "错误",
|
||||
"externalInstallationMsg": "您需要安装桌面共享扩展",
|
||||
"externalInstallationTitle": "需要扩展程序",
|
||||
"goToStore": "跳转至应用商店",
|
||||
"gracefulShutdown": "服务器正在维护,请稍后再试。",
|
||||
"IamHost": "我是主持人。",
|
||||
"incorrectRoomLockPassword": "",
|
||||
"incorrectRoomLockPassword": "密码错误",
|
||||
"incorrectPassword": "错误的用户名或者密码",
|
||||
"inlineInstallationMsg": "您需要安装桌面共享扩展",
|
||||
"inlineInstallExtension": "立刻安装",
|
||||
"internalError": "哎呀!出现了点问题。错误: {{error}}",
|
||||
"internalErrorTitle": "内部错误",
|
||||
"kickMessage": "",
|
||||
"kickMessage": "你可以联系{{participantDisplayName}}以了解更多信息。",
|
||||
"kickParticipantButton": "踢除",
|
||||
"kickParticipantDialog": "确定要踢除此成员吗?",
|
||||
"kickParticipantTitle": "静音该与会者吗?",
|
||||
"kickTitle": "",
|
||||
"kickTitle": "对不起,您被 {{participantDisplayName}} 踢出了会议。",
|
||||
"liveStreaming": "流媒体直播中",
|
||||
"liveStreamingDisabledForGuestTooltip": "访客无法启动流媒体直播。",
|
||||
"liveStreamingDisabledTooltip": "禁止启动流媒体。",
|
||||
"lockMessage": "锁定会议失败。",
|
||||
"lockRoom": "",
|
||||
"lockRoom": "添加会议 $t(lockRoomPasswordUppercase)",
|
||||
"lockTitle": "锁定失败",
|
||||
"logoutQuestion": "你确定要登出并停止会议吗?",
|
||||
"logoutQuestion": "你确定要退出并停止会议吗?",
|
||||
"logoutTitle": "登出",
|
||||
"maxUsersLimitReached": "",
|
||||
"maxUsersLimitReachedTitle": "",
|
||||
"maxUsersLimitReached": "已达到参与人数上限。房间已满。请联系房主或稍后再试!",
|
||||
"maxUsersLimitReachedTitle": "已达到参与人数上限。",
|
||||
"micConstraintFailedError": "您的麦克风不符合要求。",
|
||||
"micNotFoundError": "未发现麦克风",
|
||||
"micNotSendingData": "",
|
||||
"micNotSendingDataTitle": "",
|
||||
"micNotSendingData": "在您的电脑设置中开启麦克风并调整音量",
|
||||
"micNotSendingDataTitle": "您的麦克风被系统静音",
|
||||
"micPermissionDeniedError": "您未授权使用麦克风,您仍可参加会议但是其他人无法听到,使用地址栏里的摄像头按钮来启动麦克风。",
|
||||
"micUnknownError": "未知错误,麦克风不可用。",
|
||||
"muteParticipantBody": "您无法对他们解除静音,但是他们自己可以随时解除静音。",
|
||||
@@ -200,10 +205,10 @@
|
||||
"muteParticipantDialog": "您确定要将此参与者静音吗?您将无法取消静音,但他们可以随时取消静音。",
|
||||
"muteParticipantTitle": "静音该与会者吗?",
|
||||
"Ok": "好的",
|
||||
"passwordLabel": "",
|
||||
"passwordLabel": "$t(lockRoomPasswordUppercase)",
|
||||
"passwordNotSupported": "不支持设置会议密码。",
|
||||
"passwordNotSupportedTitle": "",
|
||||
"passwordRequired": "",
|
||||
"passwordNotSupportedTitle": "不支持 $t(lockRoomPasswordUppercase) not supported",
|
||||
"passwordRequired": "需 $t(lockRoomPasswordUppercase)",
|
||||
"popupError": "您的浏览器在此网站上阻止了弹出式窗口。请在浏览器的安全设置中打开它并再试一次。",
|
||||
"popupErrorTitle": "弹出窗口被拦截",
|
||||
"recording": "录制中",
|
||||
@@ -218,7 +223,7 @@
|
||||
"remoteControlStopMessage": "远程控制结束!",
|
||||
"remoteControlTitle": "远程桌面控制",
|
||||
"Remove": "移除",
|
||||
"removePassword": "",
|
||||
"removePassword": "移除 $t(lockRoomPassword)",
|
||||
"removeSharedVideoMsg": "您确定要移除共享的视频吗?",
|
||||
"removeSharedVideoTitle": "移除共享的视频",
|
||||
"reservationError": "预定系统错误",
|
||||
@@ -622,6 +627,8 @@
|
||||
"noAudioSignalTitle": "",
|
||||
"noAudioSignalDesc": "",
|
||||
"noAudioSignalDescSuggestion": "",
|
||||
"noisyAudioInputTitle": "",
|
||||
"noisyAudioInputDesc": "",
|
||||
"openChat": "开启聊天",
|
||||
"pip": "进入子母画面模式",
|
||||
"privateMessage": "",
|
||||
@@ -707,7 +714,7 @@
|
||||
"moderator": "管理员",
|
||||
"mute": "与会者已被静音",
|
||||
"muted": "已静音",
|
||||
"remoteControl": "远程控制",
|
||||
"remoteControl": "",
|
||||
"show": "",
|
||||
"videomute": ""
|
||||
},
|
||||
|
||||
@@ -80,9 +80,7 @@
|
||||
"FETCH_SESSION_ID": "Obtaining session-id...",
|
||||
"GET_SESSION_ID_ERROR": "Get session-id error: {{code}}",
|
||||
"GOT_SESSION_ID": "Obtaining session-id... Done",
|
||||
"LOW_BANDWIDTH": "Video for {{displayName}} has been turned off to save bandwidth",
|
||||
"RECONNECTING": "A network problem occurred. Reconnecting...",
|
||||
"USER_CONNECTION_INTERRUPTED": "{{displayName}} is having connectivity issues..."
|
||||
"LOW_BANDWIDTH": "Video for {{displayName}} has been turned off to save bandwidth"
|
||||
},
|
||||
"connectionindicator": {
|
||||
"address": "Address:",
|
||||
@@ -211,6 +209,12 @@
|
||||
"micNotSendingDataTitle": "Your mic is muted by your system settings",
|
||||
"micPermissionDeniedError": "You have not granted permission to use your microphone. You can still join the conference but others won't hear you. Use the camera button in the address bar to fix this.",
|
||||
"micUnknownError": "Cannot use microphone for an unknown reason.",
|
||||
"muteEveryoneElseDialog": "Once muted, you won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
"muteEveryoneElseTitle": "Mute everyone except {{whom}}?",
|
||||
"muteEveryoneDialog": "Are you sure you want to mute everyone? You won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
"muteEveryoneTitle": "Mute everyone?",
|
||||
"muteEveryoneSelf": "yourself",
|
||||
"muteEveryoneStartMuted": "Everyone starts muted from now on",
|
||||
"muteParticipantBody": "You won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
"muteParticipantButton": "Mute",
|
||||
"muteParticipantDialog": "Are you sure you want to mute this participant? You won't be able to unmute them, but they can unmute themselves at any time.",
|
||||
@@ -592,7 +596,9 @@
|
||||
"lockRoom": "Toggle meeting password",
|
||||
"moreActions": "Toggle more actions menu",
|
||||
"moreActionsMenu": "More actions menu",
|
||||
"moreOptions": "Show more options",
|
||||
"mute": "Toggle mute audio",
|
||||
"muteEveryone": "Mute everyone",
|
||||
"pip": "Toggle Picture-in-Picture mode",
|
||||
"privateMessage": "Send private message",
|
||||
"profile": "Edit your profile",
|
||||
@@ -608,6 +614,7 @@
|
||||
"speakerStats": "Toggle speaker statistics",
|
||||
"tileView": "Toggle tile view",
|
||||
"toggleCamera": "Toggle camera",
|
||||
"toggleFilmstrip": "Toggle filmstrip",
|
||||
"videomute": "Toggle mute video",
|
||||
"videoblur": "Toggle video blur"
|
||||
},
|
||||
@@ -634,12 +641,16 @@
|
||||
"logout": "Logout",
|
||||
"lowerYourHand": "Lower your hand",
|
||||
"moreActions": "More actions",
|
||||
"moreOptions": "More options",
|
||||
"mute": "Mute / Unmute",
|
||||
"muteEveryone": "Mute everyone",
|
||||
"noAudioSignalTitle": "There is no input coming from your mic!",
|
||||
"noAudioSignalDesc": "If you did not purposely mute it from system settings or hardware, consider changing the device.",
|
||||
"noAudioSignalDescSuggestion": "If you did not purposely mute it from system settings or hardware, consider using the following device:",
|
||||
"noAudioSignalDesc": "If you did not purposely mute it from system settings or hardware, consider switching the device.",
|
||||
"noAudioSignalDescSuggestion": "If you did not purposely mute it from system settings or hardware, consider switching to the suggested device.",
|
||||
"noAudioSignalDialInDesc": "You can also dial-in using:",
|
||||
"noAudioSignalDialInLinkDesc" : "Dial-in numbers",
|
||||
"noisyAudioInputTitle": "Your microphone appears to be noisy!",
|
||||
"noisyAudioInputDesc": "Jitsi has detected noise coming from your microphone, please consider muting or changing the device.",
|
||||
"noisyAudioInputDesc": "It sounds like your microphone is making noise, please consider muting or changing the device.",
|
||||
"openChat": "Open chat",
|
||||
"pip": "Enter Picture-in-Picture mode",
|
||||
"privateMessage": "Send private message",
|
||||
@@ -720,6 +731,7 @@
|
||||
},
|
||||
"videothumbnail": {
|
||||
"domute": "Mute",
|
||||
"domuteOthers": "Mute everyone else",
|
||||
"flip": "Flip",
|
||||
"kick": "Kick out",
|
||||
"moderator": "Moderator",
|
||||
@@ -758,5 +770,9 @@
|
||||
"sendFeedback": "Send feedback",
|
||||
"terms": "Terms",
|
||||
"title": "Secure, fully featured, and completely free video conferencing"
|
||||
},
|
||||
"lonelyMeetingExperience": {
|
||||
"button": "Invite others",
|
||||
"youAreAlone": "You are the only one in the meeting"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import { invite } from '../../react/features/invite';
|
||||
import { toggleTileView } from '../../react/features/video-layout';
|
||||
import { getJitsiMeetTransport } from '../transport';
|
||||
|
||||
import { API_ID } from './constants';
|
||||
import { API_ID, ENDPOINT_TEXT_MESSAGE_NAME } from './constants';
|
||||
import {
|
||||
processExternalDeviceRequest
|
||||
} from '../../react/features/device-selection/functions';
|
||||
@@ -155,6 +155,17 @@ function initCommands() {
|
||||
'avatar-url': avatarUrl => {
|
||||
sendAnalytics(createApiEvent('avatar.url.changed'));
|
||||
APP.conference.changeLocalAvatarUrl(avatarUrl);
|
||||
},
|
||||
'send-endpoint-text-message': (to, text) => {
|
||||
logger.debug('Send endpoint message command received');
|
||||
try {
|
||||
APP.conference.sendEndpointMessage(to, {
|
||||
name: ENDPOINT_TEXT_MESSAGE_NAME,
|
||||
text
|
||||
});
|
||||
} catch (err) {
|
||||
logger.error('Failed sending endpoint text message', err);
|
||||
}
|
||||
}
|
||||
};
|
||||
transport.on('event', ({ data, name }) => {
|
||||
@@ -358,12 +369,14 @@ class API {
|
||||
* Notify external application (if API is enabled) that message was sent.
|
||||
*
|
||||
* @param {string} message - Message body.
|
||||
* @param {boolean} privateMessage - True if the message was a private message.
|
||||
* @returns {void}
|
||||
*/
|
||||
notifySendingChatMessage(message: string) {
|
||||
notifySendingChatMessage(message: string, privateMessage: boolean) {
|
||||
this._sendEvent({
|
||||
name: 'outgoing-message',
|
||||
message
|
||||
message,
|
||||
privateMessage
|
||||
});
|
||||
}
|
||||
|
||||
@@ -437,6 +450,20 @@ class API {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify external application (if API is enabled) that user received
|
||||
* a text message through datachannels.
|
||||
*
|
||||
* @param {Object} data - The event data.
|
||||
* @returns {void}
|
||||
*/
|
||||
notifyEndpointTextMessageReceived(data: Object) {
|
||||
this._sendEvent({
|
||||
name: 'endpoint-text-message-received',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Notify external application (if API is enabled) that the device list has
|
||||
* changed.
|
||||
|
||||
@@ -9,5 +9,9 @@ import parseURLParams from '../../react/features/base/config/parseURLParams';
|
||||
/**
|
||||
* JitsiMeetExternalAPI id - unique for a webpage.
|
||||
*/
|
||||
export const API_ID
|
||||
= parseURLParams(window.location).jitsi_meet_external_api_id;
|
||||
export const API_ID = parseURLParams(window.location).jitsi_meet_external_api_id;
|
||||
|
||||
/**
|
||||
* The payload name for the datachannel/endpoint text message event
|
||||
*/
|
||||
export const ENDPOINT_TEXT_MESSAGE_NAME = 'endpoint-text-message';
|
||||
|
||||
4
modules/API/external/external_api.js
vendored
@@ -32,6 +32,7 @@ const commands = {
|
||||
email: 'email',
|
||||
hangup: 'video-hangup',
|
||||
password: 'password',
|
||||
sendEndpointTextMessage: 'send-endpoint-text-message',
|
||||
sendTones: 'send-tones',
|
||||
subject: 'subject',
|
||||
submitFeedback: 'submit-feedback',
|
||||
@@ -55,6 +56,7 @@ const events = {
|
||||
'device-list-changed': 'deviceListChanged',
|
||||
'display-name-change': 'displayNameChange',
|
||||
'email-change': 'emailChange',
|
||||
'endpoint-text-message-received': 'endpointTextMessageReceived',
|
||||
'feedback-submitted': 'feedbackSubmitted',
|
||||
'feedback-prompt-displayed': 'feedbackPromptDisplayed',
|
||||
'filmstrip-display-changed': 'filmstripDisplayChanged',
|
||||
@@ -300,7 +302,7 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
|
||||
const frameName = `jitsiConferenceFrame${id}`;
|
||||
|
||||
this._frame = document.createElement('iframe');
|
||||
this._frame.allow = 'camera; microphone';
|
||||
this._frame.allow = 'camera; microphone; display-capture';
|
||||
this._frame.src = this._url;
|
||||
this._frame.name = frameName;
|
||||
this._frame.id = frameName;
|
||||
|
||||
@@ -16,7 +16,7 @@ import { getLocalParticipant } from '../../react/features/base/participants';
|
||||
import { toggleChat } from '../../react/features/chat';
|
||||
import { setDocumentUrl } from '../../react/features/etherpad';
|
||||
import { setFilmstripVisible } from '../../react/features/filmstrip';
|
||||
import { setNotificationsEnabled } from '../../react/features/notifications';
|
||||
import { joinLeaveNotificationsDisabled, setNotificationsEnabled } from '../../react/features/notifications';
|
||||
import {
|
||||
dockToolbox,
|
||||
setToolboxEnabled,
|
||||
@@ -126,10 +126,6 @@ UI.initConference = function() {
|
||||
const { getState } = APP.store;
|
||||
const { id, name } = getLocalParticipant(getState);
|
||||
|
||||
// Update default button states before showing the toolbar
|
||||
// if local role changes buttons state will be again updated.
|
||||
UI.updateLocalRole(APP.conference.isModerator);
|
||||
|
||||
UI.showToolbar();
|
||||
|
||||
const displayName = config.displayJids ? id : name;
|
||||
@@ -166,7 +162,7 @@ UI.start = function() {
|
||||
// resizeVideoArea) because the animation is not visible anyway. Plus with
|
||||
// the current dom layout, the quality label is part of the video layout and
|
||||
// will be seen animating in.
|
||||
VideoLayout.resizeVideoArea(true, false);
|
||||
VideoLayout.resizeVideoArea();
|
||||
|
||||
sharedVideoManager = new SharedVideoManager(eventEmitter);
|
||||
|
||||
@@ -279,44 +275,6 @@ UI.addUser = function(user) {
|
||||
UI.onPeerVideoTypeChanged
|
||||
= (id, newVideoType) => VideoLayout.onVideoTypeChanged(id, newVideoType);
|
||||
|
||||
/**
|
||||
* Update local user role and show notification if user is moderator.
|
||||
* @param {boolean} isModerator if local user is moderator or not
|
||||
*/
|
||||
UI.updateLocalRole = isModerator => {
|
||||
VideoLayout.showModeratorIndicator();
|
||||
|
||||
if (isModerator && !interfaceConfig.DISABLE_FOCUS_INDICATOR) {
|
||||
messageHandler.participantNotification(
|
||||
null, 'notify.me', 'connected', 'notify.moderator');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Check the role for the user and reflect it in the UI, moderator ui indication
|
||||
* and notifies user who is the moderator
|
||||
* @param user to check for moderator
|
||||
*/
|
||||
UI.updateUserRole = user => {
|
||||
VideoLayout.showModeratorIndicator();
|
||||
|
||||
// We don't need to show moderator notifications when the focus (moderator)
|
||||
// indicator is disabled.
|
||||
if (!user.isModerator() || interfaceConfig.DISABLE_FOCUS_INDICATOR) {
|
||||
return;
|
||||
}
|
||||
|
||||
const displayName = user.getDisplayName();
|
||||
|
||||
messageHandler.participantNotification(
|
||||
displayName,
|
||||
'notify.somebody',
|
||||
'connected',
|
||||
'notify.grantedTo',
|
||||
{ to: displayName
|
||||
? UIUtil.escapeHtml(displayName) : '$t(notify.somebody)' });
|
||||
};
|
||||
|
||||
/**
|
||||
* Updates the user status.
|
||||
*
|
||||
@@ -327,7 +285,9 @@ UI.updateUserStatus = (user, status) => {
|
||||
const reduxState = APP.store.getState() || {};
|
||||
const { calleeInfoVisible } = reduxState['features/invite'] || {};
|
||||
|
||||
if (!status || calleeInfoVisible) {
|
||||
// We hide status updates when join/leave notifications are disabled,
|
||||
// as jigasi is the component with statuses and they are seen as join/leave notifications.
|
||||
if (!status || calleeInfoVisible || joinLeaveNotificationsDisabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -120,7 +120,7 @@ class Etherpad extends LargeContainer {
|
||||
|
||||
if (interfaceConfig.VERTICAL_FILMSTRIP) {
|
||||
height = containerHeight - getToolboxHeight();
|
||||
width = containerWidth - Filmstrip.getFilmstripWidth();
|
||||
width = containerWidth - Filmstrip.getVerticalFilmstripWidth();
|
||||
} else {
|
||||
height = containerHeight - Filmstrip.getFilmstripHeight();
|
||||
width = containerWidth;
|
||||
|
||||
@@ -661,7 +661,7 @@ class SharedVideoContainer extends LargeContainer {
|
||||
|
||||
if (interfaceConfig.VERTICAL_FILMSTRIP) {
|
||||
height = containerHeight - getToolboxHeight();
|
||||
width = containerWidth - Filmstrip.getFilmstripWidth();
|
||||
width = containerWidth - Filmstrip.getVerticalFilmstripWidth();
|
||||
} else {
|
||||
height = containerHeight - Filmstrip.getFilmstripHeight();
|
||||
width = containerWidth;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* global $, APP, interfaceConfig */
|
||||
|
||||
import { isFilmstripVisible } from '../../../react/features/filmstrip';
|
||||
import { getVerticalFilmstripVisibleAreaWidth, isFilmstripVisible } from '../../../react/features/filmstrip';
|
||||
|
||||
const Filmstrip = {
|
||||
/**
|
||||
@@ -19,17 +19,12 @@ const Filmstrip = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Returns the width of filmstip
|
||||
* @returns {number} width
|
||||
* Returns the width of the vertical filmstip if the filmstrip is visible and 0 otherwise.
|
||||
*
|
||||
* @returns {number} - The width of the vertical filmstip if the filmstrip is visible and 0 otherwise.
|
||||
*/
|
||||
getFilmstripWidth() {
|
||||
const filmstrip = $('#remoteVideos');
|
||||
|
||||
return isFilmstripVisible(APP.store)
|
||||
? filmstrip.outerWidth()
|
||||
- parseInt(filmstrip.css('paddingLeft'), 10)
|
||||
- parseInt(filmstrip.css('paddingRight'), 10)
|
||||
: 0;
|
||||
getVerticalFilmstripWidth() {
|
||||
return isFilmstripVisible(APP.store) ? getVerticalFilmstripVisibleAreaWidth() : 0;
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -140,26 +140,6 @@ export default class LargeVideoManager {
|
||||
container.onHoverOut(e);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the media connection has been interrupted.
|
||||
*/
|
||||
onVideoInterrupted() {
|
||||
this.enableLocalConnectionProblemFilter(true);
|
||||
this._setLocalConnectionMessage('connection.RECONNECTING');
|
||||
|
||||
// Show the message only if the video is currently being displayed
|
||||
this.showLocalConnectionMessage(
|
||||
LargeVideoManager.isVideoContainer(this.state));
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the media connection has been restored.
|
||||
*/
|
||||
onVideoRestored() {
|
||||
this.enableLocalConnectionProblemFilter(false);
|
||||
this.showLocalConnectionMessage(false);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -257,29 +237,15 @@ export default class LargeVideoManager {
|
||||
this.updateLargeVideoAudioLevel(0);
|
||||
}
|
||||
|
||||
const isConnectionInterrupted
|
||||
= APP.conference.getParticipantConnectionStatus(id)
|
||||
=== JitsiParticipantConnectionStatus.INTERRUPTED;
|
||||
let messageKey = null;
|
||||
const messageKey
|
||||
= connectionStatus === JitsiParticipantConnectionStatus.INACTIVE ? 'connection.LOW_BANDWIDTH' : null;
|
||||
|
||||
if (isConnectionInterrupted) {
|
||||
messageKey = 'connection.USER_CONNECTION_INTERRUPTED';
|
||||
} else if (connectionStatus
|
||||
=== JitsiParticipantConnectionStatus.INACTIVE) {
|
||||
messageKey = 'connection.LOW_BANDWIDTH';
|
||||
}
|
||||
|
||||
// Make sure no notification about remote failure is shown as
|
||||
// its UI conflicts with the one for local connection interrupted.
|
||||
// For the purposes of UI indicators, audio only is considered as
|
||||
// an "active" connection.
|
||||
const overrideAndHide
|
||||
= APP.conference.isAudioOnly()
|
||||
|| APP.conference.isConnectionInterrupted();
|
||||
// Do not show connection status message in the audio only mode,
|
||||
// because it's based on the video playback status.
|
||||
const overrideAndHide = APP.conference.isAudioOnly();
|
||||
|
||||
this.updateParticipantConnStatusIndication(
|
||||
id,
|
||||
!overrideAndHide && isConnectionInterrupted,
|
||||
!overrideAndHide && messageKey);
|
||||
|
||||
// Change the participant id the presence label is listening to.
|
||||
@@ -305,20 +271,12 @@ export default class LargeVideoManager {
|
||||
* shown on the large video area.
|
||||
*
|
||||
* @param {string} id the id of remote participant(MUC nickname)
|
||||
* @param {boolean} showProblemsIndication
|
||||
* @param {string|null} messageKey the i18n key of the message which will be
|
||||
* displayed on the large video or <tt>null</tt> to hide it.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
updateParticipantConnStatusIndication(
|
||||
id,
|
||||
showProblemsIndication,
|
||||
messageKey) {
|
||||
// Apply grey filter on the large video
|
||||
this.videoContainer.showRemoteConnectionProblemIndicator(
|
||||
showProblemsIndication);
|
||||
|
||||
updateParticipantConnStatusIndication(id, messageKey) {
|
||||
if (messageKey) {
|
||||
// Get user's display name
|
||||
const displayName
|
||||
@@ -390,16 +348,6 @@ export default class LargeVideoManager {
|
||||
.forEach(type => this.resizeContainer(type, animate));
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables/disables the filter indicating a video problem to the user caused
|
||||
* by the problems with local media connection.
|
||||
*
|
||||
* @param enable <tt>true</tt> to enable, <tt>false</tt> to disable
|
||||
*/
|
||||
enableLocalConnectionProblemFilter(enable) {
|
||||
this.videoContainer.enableLocalConnectionProblemFilter(enable);
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the src of the dominant speaker avatar
|
||||
*/
|
||||
@@ -478,35 +426,6 @@ export default class LargeVideoManager {
|
||||
$('.watermark').css('visibility', show ? 'visible' : 'hidden');
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows/hides the message indicating problems with local media connection.
|
||||
* @param {boolean|null} show(optional) tells whether the message is to be
|
||||
* displayed or not. If missing the condition will be based on the value
|
||||
* obtained from {@link APP.conference.isConnectionInterrupted}.
|
||||
*/
|
||||
showLocalConnectionMessage(show) {
|
||||
if (typeof show !== 'boolean') {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
show = APP.conference.isConnectionInterrupted();
|
||||
}
|
||||
|
||||
const element = document.getElementById('localConnectionMessage');
|
||||
|
||||
if (element) {
|
||||
if (show) {
|
||||
element.classList.add('show');
|
||||
} else {
|
||||
element.classList.remove('show');
|
||||
}
|
||||
}
|
||||
|
||||
if (show) {
|
||||
// Avatar message conflicts with 'videoConnectionMessage',
|
||||
// so it must be hidden
|
||||
this.showRemoteConnectionMessage(false);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows hides the "avatar" message which is to be displayed either in
|
||||
* the middle of the screen or below the avatar image.
|
||||
@@ -531,10 +450,6 @@ export default class LargeVideoManager {
|
||||
|
||||
if (show) {
|
||||
$('#remoteConnectionMessage').css({ display: 'block' });
|
||||
|
||||
// 'videoConnectionMessage' message conflicts with 'avatarMessage',
|
||||
// so it must be hidden
|
||||
this.showLocalConnectionMessage(false);
|
||||
} else {
|
||||
$('#remoteConnectionMessage').hide();
|
||||
}
|
||||
@@ -560,21 +475,6 @@ export default class LargeVideoManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updated the text which is to be shown on the top of large video, when
|
||||
* local media connection is interrupted.
|
||||
*
|
||||
* @param {string} msgKey the translation key which will be used to get
|
||||
* the message text to be displayed on the large video.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_setLocalConnectionMessage(msgKey) {
|
||||
$('#localConnectionMessage')
|
||||
.attr('data-i18n', msgKey);
|
||||
APP.translation.translateElement($('#localConnectionMessage'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Add container of specified type.
|
||||
* @param {string} type container type
|
||||
@@ -655,7 +555,6 @@ export default class LargeVideoManager {
|
||||
|
||||
if (LargeVideoManager.isVideoContainer(this.state)) {
|
||||
this.showWatermark(false);
|
||||
this.showLocalConnectionMessage(false);
|
||||
this.showRemoteConnectionMessage(false);
|
||||
}
|
||||
oldContainer.hide();
|
||||
@@ -675,7 +574,6 @@ export default class LargeVideoManager {
|
||||
// at the same time, but the latter is of higher priority and it
|
||||
// will hide the avatar one if will be displayed.
|
||||
this.showRemoteConnectionMessage(/* fetch the current state */);
|
||||
this.showLocalConnectionMessage(/* fetch the current state */);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -126,9 +126,11 @@ export default class RemoteVideo extends SmallVideo {
|
||||
addRemoteVideoContainer() {
|
||||
this.container = createContainer(this.videoSpanId);
|
||||
this.$container = $(this.container);
|
||||
this.initializeAvatar();
|
||||
this._setThumbnailSize();
|
||||
this.initBrowserSpecificProperties();
|
||||
this.updateRemoteVideoMenu();
|
||||
this.updateStatusBar();
|
||||
this.addAudioLevelIndicator();
|
||||
this.addPresenceLabel();
|
||||
|
||||
@@ -187,7 +189,6 @@ export default class RemoteVideo extends SmallVideo {
|
||||
// hide volume when in silent mode
|
||||
const onVolumeChange
|
||||
= APP.store.getState()['features/base/config'].startSilent ? undefined : this._setAudioVolume;
|
||||
const { isModerator } = APP.conference;
|
||||
const participantID = this.id;
|
||||
const currentLayout = getCurrentLayout(APP.store.getState());
|
||||
let remoteMenuPosition;
|
||||
@@ -207,7 +208,6 @@ export default class RemoteVideo extends SmallVideo {
|
||||
<RemoteVideoMenuTriggerButton
|
||||
initialVolumeValue = { initialVolumeValue }
|
||||
isAudioMuted = { this.isAudioMuted }
|
||||
isModerator = { isModerator }
|
||||
menuPosition = { remoteMenuPosition }
|
||||
onMenuDisplay
|
||||
= {this._onRemoteVideoMenuDisplay.bind(this)}
|
||||
@@ -435,13 +435,6 @@ export default class RemoteVideo extends SmallVideo {
|
||||
// Update 'mutedWhileDisconnected' flag
|
||||
this._figureOutMutedWhileDisconnected();
|
||||
this.updateConnectionStatus(connectionStatus);
|
||||
|
||||
const isInterrupted = connectionStatus === JitsiParticipantConnectionStatus.INTERRUPTED;
|
||||
|
||||
// Toggle thumbnail video problem filter
|
||||
|
||||
this.selectVideoElement().toggleClass('videoThumbnailProblemFilter', isInterrupted);
|
||||
this.$avatar().toggleClass('videoThumbnailProblemFilter', isInterrupted);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,11 +18,9 @@ import {
|
||||
import { ConnectionIndicator } from '../../../react/features/connection-indicator';
|
||||
import { DisplayName } from '../../../react/features/display-name';
|
||||
import {
|
||||
AudioMutedIndicator,
|
||||
DominantSpeakerIndicator,
|
||||
ModeratorIndicator,
|
||||
RaisedHandIndicator,
|
||||
VideoMutedIndicator
|
||||
StatusIndicators
|
||||
} from '../../../react/features/filmstrip';
|
||||
import {
|
||||
LAYOUTS,
|
||||
@@ -84,9 +82,7 @@ export default class SmallVideo {
|
||||
* Constructor.
|
||||
*/
|
||||
constructor(VideoLayout) {
|
||||
this._isModerator = false;
|
||||
this.isAudioMuted = false;
|
||||
this.hasAvatar = false;
|
||||
this.isVideoMuted = false;
|
||||
this.videoStream = null;
|
||||
this.audioStream = null;
|
||||
@@ -286,45 +282,18 @@ export default class SmallVideo {
|
||||
return;
|
||||
}
|
||||
|
||||
const currentLayout = getCurrentLayout(APP.store.getState());
|
||||
let tooltipPosition;
|
||||
|
||||
if (currentLayout === LAYOUTS.TILE_VIEW) {
|
||||
tooltipPosition = 'right';
|
||||
} else if (currentLayout === LAYOUTS.VERTICAL_FILMSTRIP_VIEW) {
|
||||
tooltipPosition = 'left';
|
||||
} else {
|
||||
tooltipPosition = 'top';
|
||||
}
|
||||
|
||||
ReactDOM.render(
|
||||
<I18nextProvider i18n = { i18next }>
|
||||
<div>
|
||||
{ this.isAudioMuted
|
||||
? <AudioMutedIndicator
|
||||
tooltipPosition = { tooltipPosition } />
|
||||
: null }
|
||||
{ this.isVideoMuted
|
||||
? <VideoMutedIndicator
|
||||
tooltipPosition = { tooltipPosition } />
|
||||
: null }
|
||||
{ this._isModerator && !interfaceConfig.DISABLE_FOCUS_INDICATOR
|
||||
? <ModeratorIndicator
|
||||
tooltipPosition = { tooltipPosition } />
|
||||
: null }
|
||||
</div>
|
||||
</I18nextProvider>,
|
||||
<Provider store = { APP.store }>
|
||||
<I18nextProvider i18n = { i18next }>
|
||||
<StatusIndicators
|
||||
showAudioMutedIndicator = { this.isAudioMuted }
|
||||
showVideoMutedIndicator = { this.isVideoMuted }
|
||||
participantID = { this.id } />
|
||||
</I18nextProvider>
|
||||
</Provider>,
|
||||
statusBarContainer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the element indicating the moderator(owner) of the conference.
|
||||
*/
|
||||
addModeratorIndicator() {
|
||||
this._isModerator = true;
|
||||
this.updateStatusBar();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds the element indicating the audio level of the participant.
|
||||
*
|
||||
@@ -380,14 +349,6 @@ export default class SmallVideo {
|
||||
return this.container.querySelector('.audioindicator-container');
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes the element indicating the moderator(owner) of the conference.
|
||||
*/
|
||||
removeModeratorIndicator() {
|
||||
this._isModerator = false;
|
||||
this.updateStatusBar();
|
||||
}
|
||||
|
||||
/**
|
||||
* This is an especially interesting function. A naive reader might think that
|
||||
* it returns this SmallVideo's "video" element. But it is much more exciting.
|
||||
@@ -556,20 +517,9 @@ export default class SmallVideo {
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides or shows the user's avatar.
|
||||
* This update assumes that large video had been updated and we will
|
||||
* reflect it on this small video.
|
||||
* Updates the css classes of the thumbnail based on the current state.
|
||||
*/
|
||||
updateView() {
|
||||
if (this.id) {
|
||||
// Init / refresh avatar
|
||||
this.initializeAvatar();
|
||||
} else {
|
||||
logger.error('Unable to init avatar - no id', this);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this.$container.removeClass((index, classNames) =>
|
||||
classNames.split(' ').filter(name => name.startsWith('display-')));
|
||||
|
||||
@@ -619,8 +569,6 @@ export default class SmallVideo {
|
||||
initializeAvatar() {
|
||||
const thumbnail = this.$avatar().get(0);
|
||||
|
||||
this.hasAvatar = true;
|
||||
|
||||
if (thumbnail) {
|
||||
// Maybe add a special case for local participant, as on init of
|
||||
// LocalVideo.js the id is set to "local" but will get updated later.
|
||||
|
||||
@@ -19,24 +19,6 @@ export const VIDEO_CONTAINER_TYPE = 'camera';
|
||||
|
||||
const FADE_DURATION_MS = 300;
|
||||
|
||||
/**
|
||||
* The CSS class used to add a filter effect on the large video when there is
|
||||
* a problem with local video.
|
||||
*
|
||||
* @private
|
||||
* @type {string}
|
||||
*/
|
||||
const LOCAL_PROBLEM_FILTER_CLASS = 'videoProblemFilter';
|
||||
|
||||
/**
|
||||
* The CSS class used to add a filter effect on the large video when there is
|
||||
* a problem with remote video.
|
||||
*
|
||||
* @private
|
||||
* @type {string}
|
||||
*/
|
||||
const REMOTE_PROBLEM_FILTER_CLASS = 'remoteVideoProblemFilter';
|
||||
|
||||
/**
|
||||
* Returns an array of the video dimensions, so that it keeps it's aspect
|
||||
* ratio and fits available area with it's larger dimension. This method
|
||||
@@ -64,7 +46,7 @@ function computeDesktopVideoSize( // eslint-disable-line max-params
|
||||
|
||||
if (interfaceConfig.VERTICAL_FILMSTRIP) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
videoSpaceWidth -= Filmstrip.getFilmstripWidth();
|
||||
videoSpaceWidth -= Filmstrip.getVerticalFilmstripWidth();
|
||||
} else {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
videoSpaceHeight -= Filmstrip.getFilmstripHeight();
|
||||
@@ -224,6 +206,8 @@ export class VideoContainer extends LargeContainer {
|
||||
*/
|
||||
this._hideBackground = true;
|
||||
|
||||
this._isHidden = false;
|
||||
|
||||
/**
|
||||
* Flag indicates whether or not the avatar is currently displayed.
|
||||
* @type {boolean}
|
||||
@@ -289,18 +273,6 @@ export class VideoContainer extends LargeContainer {
|
||||
this._resizeListeners.add(callback);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enables a filter on the video which indicates that there are some
|
||||
* problems with the local media connection.
|
||||
*
|
||||
* @param {boolean} enable <tt>true</tt> if the filter is to be enabled or
|
||||
* <tt>false</tt> otherwise.
|
||||
*/
|
||||
enableLocalConnectionProblemFilter(enable) {
|
||||
this.$video.toggleClass(LOCAL_PROBLEM_FILTER_CLASS, enable);
|
||||
this._updateBackground();
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtains media stream ID of the underlying {@link JitsiTrack}.
|
||||
* @return {string|null}
|
||||
@@ -362,7 +334,7 @@ export class VideoContainer extends LargeContainer {
|
||||
/* eslint-enable max-params */
|
||||
if (this.stream && this.isScreenSharing()) {
|
||||
if (interfaceConfig.VERTICAL_FILMSTRIP) {
|
||||
containerWidthToUse -= Filmstrip.getFilmstripWidth();
|
||||
containerWidthToUse -= Filmstrip.getVerticalFilmstripWidth();
|
||||
}
|
||||
|
||||
return getCameraVideoPosition(width,
|
||||
@@ -576,20 +548,6 @@ export class VideoContainer extends LargeContainer {
|
||||
APP.API.notifyLargeVideoVisibilityChanged(show);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates that the remote user who is currently displayed by this video
|
||||
* container is having connectivity issues.
|
||||
*
|
||||
* @param {boolean} show <tt>true</tt> to show or <tt>false</tt> to hide
|
||||
* the indication.
|
||||
*/
|
||||
showRemoteConnectionProblemIndicator(show) {
|
||||
this.$video.toggleClass(REMOTE_PROBLEM_FILTER_CLASS, show);
|
||||
this.$avatar.toggleClass(REMOTE_PROBLEM_FILTER_CLASS, show);
|
||||
this._updateBackground();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* We are doing fadeOut/fadeIn animations on parent div which wraps
|
||||
* largeVideo, because when Temasys plugin is in use it replaces
|
||||
@@ -605,6 +563,8 @@ export class VideoContainer extends LargeContainer {
|
||||
FADE_DURATION_MS,
|
||||
1,
|
||||
() => {
|
||||
this._isHidden = false;
|
||||
this._updateBackground();
|
||||
resolve();
|
||||
}
|
||||
);
|
||||
@@ -622,6 +582,8 @@ export class VideoContainer extends LargeContainer {
|
||||
return new Promise(resolve => {
|
||||
this.$wrapperParent.fadeTo(FADE_DURATION_MS, 0, () => {
|
||||
this.$wrapperParent.css('visibility', 'hidden');
|
||||
this._isHidden = true;
|
||||
this._updateBackground();
|
||||
resolve();
|
||||
});
|
||||
});
|
||||
@@ -679,17 +641,13 @@ export class VideoContainer extends LargeContainer {
|
||||
|
||||
ReactDOM.render(
|
||||
<LargeVideoBackground
|
||||
hidden = { this._hideBackground }
|
||||
hidden = { this._hideBackground || this._isHidden }
|
||||
mirror = {
|
||||
this.stream
|
||||
&& this.stream.isLocal()
|
||||
&& this.localFlipX
|
||||
}
|
||||
orientationFit = { this._backgroundOrientation }
|
||||
showLocalProblemFilter
|
||||
= { this.$video.hasClass(LOCAL_PROBLEM_FILTER_CLASS) }
|
||||
showRemoteProblemFilter
|
||||
= { this.$video.hasClass(REMOTE_PROBLEM_FILTER_CLASS) }
|
||||
videoElement = { this.$video && this.$video[0] }
|
||||
videoTrack = { this.stream } />,
|
||||
document.getElementById('largeVideoBackgroundContainer')
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/* global APP, $, interfaceConfig */
|
||||
const logger = require('jitsi-meet-logger').getLogger(__filename);
|
||||
|
||||
import {
|
||||
JitsiParticipantConnectionStatus
|
||||
} from '../../../react/features/base/lib-jitsi-meet';
|
||||
import { VIDEO_TYPE } from '../../../react/features/base/media';
|
||||
import {
|
||||
getLocalParticipant as getLocalParticipantFromStore,
|
||||
@@ -177,9 +174,9 @@ const VideoLayout = {
|
||||
|
||||
// Make sure track's muted state is reflected
|
||||
if (stream.getType() === 'audio') {
|
||||
this.onAudioMute(stream.getParticipantId(), stream.isMuted());
|
||||
this.onAudioMute(id, stream.isMuted());
|
||||
} else {
|
||||
this.onVideoMute(stream.getParticipantId(), stream.isMuted());
|
||||
this.onVideoMute(id, stream.isMuted());
|
||||
}
|
||||
},
|
||||
|
||||
@@ -207,8 +204,7 @@ const VideoLayout = {
|
||||
updateMutedForNoTracks(participantId, mediaType) {
|
||||
const participant = APP.conference.getParticipantById(participantId);
|
||||
|
||||
if (participant
|
||||
&& !participant.getTracksByMediaType(mediaType).length) {
|
||||
if (participant && !participant.getTracksByMediaType(mediaType).length) {
|
||||
if (mediaType === 'audio') {
|
||||
APP.UI.setAudioMuted(participantId, true);
|
||||
} else if (mediaType === 'video') {
|
||||
@@ -331,35 +327,6 @@ const VideoLayout = {
|
||||
this._updateLargeVideoIfDisplayed(resourceJid, true);
|
||||
},
|
||||
|
||||
/**
|
||||
* Shows a visual indicator for the moderator of the conference.
|
||||
* On local or remote participants.
|
||||
*/
|
||||
showModeratorIndicator() {
|
||||
const isModerator = APP.conference.isModerator;
|
||||
|
||||
if (isModerator) {
|
||||
localVideoThumbnail.addModeratorIndicator();
|
||||
} else {
|
||||
localVideoThumbnail.removeModeratorIndicator();
|
||||
}
|
||||
|
||||
APP.conference.listMembers().forEach(member => {
|
||||
const id = member.getId();
|
||||
const remoteVideo = remoteVideos[id];
|
||||
|
||||
if (!remoteVideo) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (member.isModerator()) {
|
||||
remoteVideo.addModeratorIndicator();
|
||||
}
|
||||
|
||||
remoteVideo.updateRemoteVideoMenu();
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* On audio muted event.
|
||||
*/
|
||||
@@ -374,7 +341,7 @@ const VideoLayout = {
|
||||
}
|
||||
|
||||
remoteVideo.showAudioIndicator(isMuted);
|
||||
remoteVideo.updateRemoteVideoMenu(isMuted);
|
||||
remoteVideo.updateRemoteVideoMenu();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -427,20 +394,10 @@ const VideoLayout = {
|
||||
* Shows/hides warning about a user's connectivity issues.
|
||||
*
|
||||
* @param {string} id - The ID of the remote participant(MUC nickname).
|
||||
* @param {status} status - The new connection status.
|
||||
* @returns {void}
|
||||
*/
|
||||
onParticipantConnectionStatusChanged(id, status) {
|
||||
onParticipantConnectionStatusChanged(id) {
|
||||
if (APP.conference.isLocalId(id)) {
|
||||
// Maintain old logic of passing in either interrupted or active
|
||||
// to updateConnectionStatus.
|
||||
localVideoThumbnail.updateConnectionStatus(status);
|
||||
|
||||
if (status === JitsiParticipantConnectionStatus.INTERRUPTED) {
|
||||
largeVideo && largeVideo.onVideoInterrupted();
|
||||
} else {
|
||||
largeVideo && largeVideo.onVideoRestored();
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -555,15 +512,11 @@ const VideoLayout = {
|
||||
|
||||
/**
|
||||
* Resizes the video area.
|
||||
*
|
||||
* TODO: Remove the "animate" param as it is no longer passed in as true.
|
||||
*
|
||||
* @param forceUpdate indicates that hidden thumbnails will be shown
|
||||
*/
|
||||
resizeVideoArea(animate = false) {
|
||||
resizeVideoArea() {
|
||||
if (largeVideo) {
|
||||
largeVideo.updateContainerSize();
|
||||
largeVideo.resize(animate);
|
||||
largeVideo.resize(false);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -798,7 +751,7 @@ const VideoLayout = {
|
||||
APP.remoteControl.checkUserRemoteControlSupport(user)
|
||||
.then(result => remoteVideo.setRemoteControlSupport(result))
|
||||
.catch(error =>
|
||||
logger.warn('could not get remote control properties', error));
|
||||
logger.warn(`could not get remote control properties for: ${user.getJid()}`, error));
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
575
package-lock.json
generated
@@ -1745,11 +1745,18 @@
|
||||
"integrity": "sha512-x5HFsW+E/nQalGMw7hu+fvPqnBeBaIr0lWJ2SG0PPL2j+Pm9lYvCrsZJGIgauPIENx0v10INIyFjmSNUD/gSqQ=="
|
||||
},
|
||||
"@babel/plugin-external-helpers": {
|
||||
"version": "7.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.7.4.tgz",
|
||||
"integrity": "sha512-RVGNajLaFlknbZLutaP/uv7Q+xmVs2LMlEWFXbcjLnwtBdPqAVpV3nzYIAJqri/VjJCUrhG5nALijtg0aND+XA==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-external-helpers/-/plugin-external-helpers-7.8.3.tgz",
|
||||
"integrity": "sha512-mx0WXDDiIl5DwzMtzWGRSPugXi9BxROS05GQrhLNbEamhBiicgn994ibwkyiBH+6png7bm/yA7AUsvHyCXi4Vw==",
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0"
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
|
||||
"integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@babel/plugin-proposal-async-generator-functions": {
|
||||
@@ -2450,9 +2457,9 @@
|
||||
}
|
||||
},
|
||||
"@babel/register": {
|
||||
"version": "7.7.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/register/-/register-7.7.7.tgz",
|
||||
"integrity": "sha512-S2mv9a5dc2pcpg/ConlKZx/6wXaEwHeqfo7x/QbXsdCAZm+WJC1ekVvL1TVxNsedTs5y/gG63MhJTEsmwmjtiA==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/register/-/register-7.8.3.tgz",
|
||||
"integrity": "sha512-t7UqebaWwo9nXWClIPLPloa5pN33A2leVs8Hf0e9g9YwUP8/H9NeR7DJU+4CXo23QtjChQv5a3DjEtT83ih1rg==",
|
||||
"requires": {
|
||||
"find-cache-dir": "^2.0.0",
|
||||
"lodash": "^4.17.13",
|
||||
@@ -2627,9 +2634,9 @@
|
||||
}
|
||||
},
|
||||
"@cnakazawa/watch": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.3.tgz",
|
||||
"integrity": "sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA==",
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
|
||||
"integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
|
||||
"requires": {
|
||||
"exec-sh": "^0.3.2",
|
||||
"minimist": "^1.2.0"
|
||||
@@ -2702,9 +2709,9 @@
|
||||
"integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA=="
|
||||
},
|
||||
"@hapi/hoek": {
|
||||
"version": "8.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.0.tgz",
|
||||
"integrity": "sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw=="
|
||||
"version": "8.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz",
|
||||
"integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow=="
|
||||
},
|
||||
"@hapi/joi": {
|
||||
"version": "15.1.1",
|
||||
@@ -2864,9 +2871,9 @@
|
||||
}
|
||||
},
|
||||
"@react-native-community/cli-platform-android": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.0.3.tgz",
|
||||
"integrity": "sha512-rNO9DmRiVhB6aP2DVUjEJv7ecriTARDZND88ny3xNVUkrD1Y+zwF6aZu3eoT52VXOxLCSLiJzz19OiyGmfqxYg==",
|
||||
"version": "3.1.4",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-3.1.4.tgz",
|
||||
"integrity": "sha512-ClSdY20F0gzWVLTqCv7vHjnUqOcuq10jd9GgHX6lGSc2GI+Ql3/aQg3tmG4uY3KXNNwAv3U8QCoYgg1WGfwiHA==",
|
||||
"requires": {
|
||||
"@react-native-community/cli-tools": "^3.0.0",
|
||||
"chalk": "^2.4.2",
|
||||
@@ -2916,9 +2923,9 @@
|
||||
}
|
||||
},
|
||||
"@react-native-community/cli-platform-ios": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.0.0.tgz",
|
||||
"integrity": "sha512-QoNVlDj8eMXRZk9uktPFsctHurQpv9jKmiu6mQii4NEtT2npE7g1hbWpRNojutBsfgmCdQGDHd9uB54eeCnYgg==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-3.2.0.tgz",
|
||||
"integrity": "sha512-pzEnx68H6+mHBq5jsMrr3UmAmkrLSMlC9BZ4yoUdfUXCQq6/R70zNYvH4hjUw8h2Al7Kgq53UzHUsM0ph8TSWQ==",
|
||||
"requires": {
|
||||
"@react-native-community/cli-tools": "^3.0.0",
|
||||
"chalk": "^2.4.2",
|
||||
@@ -3957,25 +3964,25 @@
|
||||
"integrity": "sha512-wRoEZBv2BNORDZjNNRLu1W4Td4/LRbaqSJFVWryHeBcHr5m5xSSETwnDfFRtLLofFtVNHfi7VUZ7TFjkaktNug=="
|
||||
},
|
||||
"@tensorflow/tfjs": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.2.9.tgz",
|
||||
"integrity": "sha512-9UAQnSp638FyM5eedYEM+j2R7VcNajiFmkeT5EXtf7YIurmMFNEm1sbajKJx7/ckz31YcYrVoUPc/iLhhDQl2A==",
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs/-/tfjs-1.5.1.tgz",
|
||||
"integrity": "sha512-WiE+JQ3ibr5LibGiBz6HWUqLJW8HiX6ywUSCA7ehZ67vFsw4mPuVjv0WEEUfD/l47PkXYVAmWd+RYOJiuZC7Eg==",
|
||||
"requires": {
|
||||
"@tensorflow/tfjs-converter": "1.2.9",
|
||||
"@tensorflow/tfjs-core": "1.2.9",
|
||||
"@tensorflow/tfjs-data": "1.2.9",
|
||||
"@tensorflow/tfjs-layers": "1.2.9"
|
||||
"@tensorflow/tfjs-converter": "1.5.1",
|
||||
"@tensorflow/tfjs-core": "1.5.1",
|
||||
"@tensorflow/tfjs-data": "1.5.1",
|
||||
"@tensorflow/tfjs-layers": "1.5.1"
|
||||
}
|
||||
},
|
||||
"@tensorflow/tfjs-converter": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.2.9.tgz",
|
||||
"integrity": "sha512-OKmiuZicIgadT3Bv9BvM+oom7wRz9eC5rTglQnuv7VN9H0syFVuhf5oD1Ff70tGDhJjJgL+cPz01fZRxTXjRWA=="
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-converter/-/tfjs-converter-1.5.1.tgz",
|
||||
"integrity": "sha512-M9tl2/ep8ntcZpmncHwKuvThsS7TaUWqJ9vJSgJmkazwTfAvlAJmZ8/p1miJ+m5sH1EJO4oTjiEmch6g8IA5IQ=="
|
||||
},
|
||||
"@tensorflow/tfjs-core": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.2.9.tgz",
|
||||
"integrity": "sha512-s0hHZSx6rGTlkkB8u8gs5n7sIPv1GXDNHmISRy+kqGzmlpkfI2kr6WXqOWQy6wFgjzopRD8cJQjBZ9USPZnYTQ==",
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-core/-/tfjs-core-1.5.1.tgz",
|
||||
"integrity": "sha512-N4fsi8mLsRwRs8UJN2cARB1rYFxyVXkLyZ4wOusiR976BwwZbCwQrTTSIPzPqYT3rwiexEUzm7sM6ZaDl5dpXA==",
|
||||
"requires": {
|
||||
"@types/offscreencanvas": "~2019.3.0",
|
||||
"@types/seedrandom": "2.4.27",
|
||||
@@ -3993,9 +4000,9 @@
|
||||
}
|
||||
},
|
||||
"@tensorflow/tfjs-data": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.2.9.tgz",
|
||||
"integrity": "sha512-Ti9Cj3pte9butuEsK5OPq0Lcqdi4wVUdtQXm0o7iYOZ0umseRzfbIb6zbdqucc2MQzOMTnRoxN+FL7LZmncsHg==",
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-data/-/tfjs-data-1.5.1.tgz",
|
||||
"integrity": "sha512-eu4X0tHS1Tng+cvMO9gkMhUWX/UZQ//VpiaZfQJfa3zvUgxw6s1MHJFb0JC1T1FOnEgDVriZ8G758ysJZOybog==",
|
||||
"requires": {
|
||||
"@types/node-fetch": "^2.1.2",
|
||||
"node-fetch": "~2.1.2"
|
||||
@@ -4009,9 +4016,14 @@
|
||||
}
|
||||
},
|
||||
"@tensorflow/tfjs-layers": {
|
||||
"version": "1.2.9",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.2.9.tgz",
|
||||
"integrity": "sha512-OlXYaIb1rCk5dYmpaNsPEkO7R+T0oxfS3vQGIztNJB+YxrN8mwCu3hqgpbdKhAITiP+jxO0o+7bny8MsOCkOSQ=="
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@tensorflow/tfjs-layers/-/tfjs-layers-1.5.1.tgz",
|
||||
"integrity": "sha512-DyuhifqflK+bdpBRLAj3RuWm1eTVe8yNX2+WH+W+wmhpjGg7Yagnar6/66JdS2h3WUFoiplCpZRAVMVw631E5g=="
|
||||
},
|
||||
"@types/color-name": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
||||
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ=="
|
||||
},
|
||||
"@types/events": {
|
||||
"version": "3.0.0",
|
||||
@@ -4036,9 +4048,9 @@
|
||||
"integrity": "sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg=="
|
||||
},
|
||||
"@types/istanbul-lib-report": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz",
|
||||
"integrity": "sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg==",
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
|
||||
"integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "*"
|
||||
}
|
||||
@@ -4064,9 +4076,9 @@
|
||||
"integrity": "sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w=="
|
||||
},
|
||||
"@types/node-fetch": {
|
||||
"version": "2.5.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.2.tgz",
|
||||
"integrity": "sha512-djYYKmdNRSBtL1x4CiE9UJb9yZhwtI1VC+UxZD0psNznrUj80ywsxKlEGAE+QL1qvLjPbfb24VosjkYM6W4RSQ==",
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.4.tgz",
|
||||
"integrity": "sha512-Oz6id++2qAOFuOlE1j0ouk1dzl3mmI1+qINPNBhi9nt/gVOz0G+13Ao6qjhdF0Ys+eOkhu6JnFmt38bR3H0POQ==",
|
||||
"requires": {
|
||||
"@types/node": "*"
|
||||
}
|
||||
@@ -4102,17 +4114,17 @@
|
||||
"integrity": "sha512-PACt1xdErJbMUOUweSrbVM7gSIYm1vTncW2hF6Os/EeWi6TXYAYMPp+8v6rzHmypE5gHrxaxZNXgMkJVIdZpHw=="
|
||||
},
|
||||
"@types/yargs": {
|
||||
"version": "13.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.4.tgz",
|
||||
"integrity": "sha512-Ke1WmBbIkVM8bpvsNEcGgQM70XcEh/nbpxQhW7FhrsbCsXSY9BmLB1+LHtD7r9zrsOcFlLiF+a/UeJsdfw3C5A==",
|
||||
"version": "13.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-13.0.8.tgz",
|
||||
"integrity": "sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA==",
|
||||
"requires": {
|
||||
"@types/yargs-parser": "*"
|
||||
}
|
||||
},
|
||||
"@types/yargs-parser": {
|
||||
"version": "13.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-13.1.0.tgz",
|
||||
"integrity": "sha512-gCubfBUZ6KxzoibJ+SCUc/57Ms1jz5NjHe4+dI2krNmU5zCPAphyLJYyTOg06ueIyfj+SaCUqmzun7ImlxDcKg=="
|
||||
"version": "15.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz",
|
||||
"integrity": "sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw=="
|
||||
},
|
||||
"@webassemblyjs/ast": {
|
||||
"version": "1.7.11",
|
||||
@@ -4819,9 +4831,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
@@ -5079,9 +5091,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"aws4": {
|
||||
"version": "1.8.0",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
|
||||
"integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
|
||||
"dev": true
|
||||
},
|
||||
"babel-code-frame": {
|
||||
@@ -6839,9 +6851,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"dayjs": {
|
||||
"version": "1.8.19",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.19.tgz",
|
||||
"integrity": "sha512-7kqOoj3oQSmqbvtvGFLU5iYqies+SqUiEGNT0UtUPPxcPYgY1BrkXR0Cq2R9HYSimBXN+xHkEN4Hi399W+Ovlg=="
|
||||
"version": "1.8.20",
|
||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.8.20.tgz",
|
||||
"integrity": "sha512-mH0MCDxw6UCGJYxVN78h8ugWycZAO8thkj3bW6vApL5tS0hQplIDdAQcmbvl7n35H0AKdCJQaArTrIQw2xt4Qg=="
|
||||
},
|
||||
"debounce": {
|
||||
"version": "1.2.0",
|
||||
@@ -7032,6 +7044,11 @@
|
||||
"integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
|
||||
"dev": true
|
||||
},
|
||||
"didyoumean": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.1.tgz",
|
||||
"integrity": "sha1-6S7f2tplN9SE1zwBcv0eugxJdv8="
|
||||
},
|
||||
"diffie-hellman": {
|
||||
"version": "5.0.3",
|
||||
"resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
|
||||
@@ -9271,13 +9288,13 @@
|
||||
}
|
||||
},
|
||||
"globule": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
|
||||
"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz",
|
||||
"integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "~7.1.1",
|
||||
"lodash": "~4.17.10",
|
||||
"lodash": "~4.17.12",
|
||||
"minimatch": "~3.0.2"
|
||||
}
|
||||
},
|
||||
@@ -9343,21 +9360,21 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"ajv": {
|
||||
"version": "6.10.2",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
|
||||
"integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
|
||||
"version": "6.12.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
|
||||
"integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
"fast-deep-equal": "^3.1.1",
|
||||
"fast-json-stable-stringify": "^2.0.0",
|
||||
"json-schema-traverse": "^0.4.1",
|
||||
"uri-js": "^4.2.2"
|
||||
}
|
||||
},
|
||||
"fast-deep-equal": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
|
||||
"integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
|
||||
"integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
|
||||
"dev": true
|
||||
},
|
||||
"json-schema-traverse": {
|
||||
@@ -10183,13 +10200,10 @@
|
||||
"dev": true
|
||||
},
|
||||
"is-finite": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
|
||||
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"number-is-nan": "^1.0.0"
|
||||
}
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
|
||||
"integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==",
|
||||
"dev": true
|
||||
},
|
||||
"is-fullwidth-code-point": {
|
||||
"version": "2.0.0",
|
||||
@@ -10639,8 +10653,8 @@
|
||||
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
|
||||
},
|
||||
"js-utils": {
|
||||
"version": "github:jitsi/js-utils#0a8ea63983863e38d062f91fc42883270ccdb38c",
|
||||
"from": "github:jitsi/js-utils#0a8ea63983863e38d062f91fc42883270ccdb38c",
|
||||
"version": "github:jitsi/js-utils#91c5e53ca5fa42907c88d56bc78254e6e56e058d",
|
||||
"from": "github:jitsi/js-utils#91c5e53ca5fa42907c88d56bc78254e6e56e058d",
|
||||
"requires": {
|
||||
"bowser": "2.7.0",
|
||||
"js-md5": "0.7.3",
|
||||
@@ -10869,20 +10883,37 @@
|
||||
}
|
||||
},
|
||||
"lib-jitsi-meet": {
|
||||
"version": "github:jitsi/lib-jitsi-meet#6a3673140d27ef0508458954070d4395527be978",
|
||||
"from": "github:jitsi/lib-jitsi-meet#6a3673140d27ef0508458954070d4395527be978",
|
||||
"version": "github:jitsi/lib-jitsi-meet#a7950f8ebb489225c2e8bf41fe65f330b3de0874",
|
||||
"from": "github:jitsi/lib-jitsi-meet#a7950f8ebb489225c2e8bf41fe65f330b3de0874",
|
||||
"requires": {
|
||||
"@jitsi/sdp-interop": "0.1.14",
|
||||
"@jitsi/sdp-simulcast": "0.2.2",
|
||||
"async": "0.9.0",
|
||||
"current-executing-script": "0.1.3",
|
||||
"jitsi-meet-logger": "github:jitsi/jitsi-meet-logger#5ec92357570dc8f0b7ffc1528820721c84c6af8b",
|
||||
"js-utils": "github:jitsi/js-utils#0a8ea63983863e38d062f91fc42883270ccdb38c",
|
||||
"js-utils": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"lodash.isequal": "4.5.0",
|
||||
"sdp-transform": "2.3.0",
|
||||
"strophe.js": "1.2.16",
|
||||
"strophe.js": "1.3.4",
|
||||
"strophejs-plugin-disco": "0.0.2",
|
||||
"strophejs-plugin-stream-management": "github:jitsi/strophejs-plugin-stream-management#cec7608601c1bc098543823fc658e3ddf758c009",
|
||||
"webrtc-adapter": "github:webrtc/adapter#1eec19782b4058d186341263e7d049cea3e3290a"
|
||||
},
|
||||
"dependencies": {
|
||||
"js-md5": {
|
||||
"version": "0.7.3",
|
||||
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
|
||||
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
|
||||
},
|
||||
"js-utils": {
|
||||
"version": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"from": "github:jitsi/js-utils#8567f86ec2774ae1d1c47b22e3435928cf5d9771",
|
||||
"requires": {
|
||||
"bowser": "2.7.0",
|
||||
"js-md5": "0.7.3",
|
||||
"postis": "2.2.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libflacjs": {
|
||||
@@ -11384,9 +11415,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"metro": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro/-/metro-0.56.3.tgz",
|
||||
"integrity": "sha512-mxHpvBGWanZ46wAEZVLinNO5IYMcFbTdMZIRhC7r+rvoSK6r9iPj95AujBfzLXMAl36RI2O3D7yp5hOYif/gEQ==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro/-/metro-0.56.4.tgz",
|
||||
"integrity": "sha512-Kt3OQJQtQdts0JrKnyGdLpKHDjqYBgIfzvYrvfhmFCkKuZ8aqRlVnvpfjQ4/OBm0Fmm9NyyxbNRD9VIbj7WjnA==",
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"@babel/generator": "^7.0.0",
|
||||
@@ -11415,17 +11446,17 @@
|
||||
"json-stable-stringify": "^1.0.1",
|
||||
"lodash.throttle": "^4.1.1",
|
||||
"merge-stream": "^1.0.1",
|
||||
"metro-babel-register": "0.56.3",
|
||||
"metro-babel-transformer": "0.56.3",
|
||||
"metro-cache": "0.56.3",
|
||||
"metro-config": "0.56.3",
|
||||
"metro-core": "0.56.3",
|
||||
"metro-inspector-proxy": "0.56.3",
|
||||
"metro-minify-uglify": "0.56.3",
|
||||
"metro-react-native-babel-preset": "0.56.3",
|
||||
"metro-resolver": "0.56.3",
|
||||
"metro-source-map": "0.56.3",
|
||||
"metro-symbolicate": "0.56.3",
|
||||
"metro-babel-register": "^0.56.4",
|
||||
"metro-babel-transformer": "^0.56.4",
|
||||
"metro-cache": "^0.56.4",
|
||||
"metro-config": "^0.56.4",
|
||||
"metro-core": "^0.56.4",
|
||||
"metro-inspector-proxy": "^0.56.4",
|
||||
"metro-minify-uglify": "^0.56.4",
|
||||
"metro-react-native-babel-preset": "^0.56.4",
|
||||
"metro-resolver": "^0.56.4",
|
||||
"metro-source-map": "^0.56.4",
|
||||
"metro-symbolicate": "^0.56.4",
|
||||
"mime-types": "2.1.11",
|
||||
"mkdirp": "^0.5.1",
|
||||
"node-fetch": "^2.2.0",
|
||||
@@ -11443,12 +11474,17 @@
|
||||
"yargs": "^9.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
|
||||
"integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ=="
|
||||
},
|
||||
"@babel/plugin-syntax-flow": {
|
||||
"version": "7.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz",
|
||||
"integrity": "sha512-2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz",
|
||||
"integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==",
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0"
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
}
|
||||
},
|
||||
"ansi-styles": {
|
||||
@@ -11566,9 +11602,9 @@
|
||||
}
|
||||
},
|
||||
"metro-react-native-babel-preset": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.3.tgz",
|
||||
"integrity": "sha512-tGPzX2ZwI8vQ8SiNVBPUIgKqmaRNVB6rtJtHCBQZAYRiMbxh0NHCUoFfKBej6U5qVgxiYYHyN8oB23evG4/Oow==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz",
|
||||
"integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==",
|
||||
"requires": {
|
||||
"@babel/plugin-proposal-class-properties": "^7.0.0",
|
||||
"@babel/plugin-proposal-export-default-from": "^7.0.0",
|
||||
@@ -11679,9 +11715,9 @@
|
||||
}
|
||||
},
|
||||
"metro-babel-register": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.3.tgz",
|
||||
"integrity": "sha512-ILCRtNFdW6vzqmLAG2MYWdTSE1vCAZqDKNggiNhlfViuoxmWAIL0vOqixl1CHZF5z4t55+fk46A0jSN7UgPyVw==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-babel-register/-/metro-babel-register-0.56.4.tgz",
|
||||
"integrity": "sha512-Phm6hMluOWYqfykftjJ1jsTpWvbgb49AC/1taxEctxUdRCZlFgZwBleJZAhQYxJD5J+ikFkEbHDzePEXb29KVA==",
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"@babel/plugin-proposal-class-properties": "^7.0.0",
|
||||
@@ -11698,53 +11734,53 @@
|
||||
}
|
||||
},
|
||||
"metro-babel-transformer": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.3.tgz",
|
||||
"integrity": "sha512-N5/ftb3rBkt6uKlgYAv+lwtzYc4dK0tBpfZ8pjec3kcypGuGTuf4LTHEh65EuzySreLngYI0bQzoFSn3G3DYsw==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.56.4.tgz",
|
||||
"integrity": "sha512-IOi4ILgZvaX7GCGHBJp79paNVOq5QxhhbyqAdEJgDP8bHfl/OVHoVKSypfrsMSKSiBrqxhIjyc4XjkXsQtkx5g==",
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"metro-source-map": "0.56.3"
|
||||
"metro-source-map": "^0.56.4"
|
||||
}
|
||||
},
|
||||
"metro-cache": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.3.tgz",
|
||||
"integrity": "sha512-SsryVe/TVkt2IkEGnYhB3gQlg9iMlu8WJikQHcCEjMfPEnSIzmeymrX73fwQNPnTnN7F3E0HVjH6Wvq6fh0mcA==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.56.4.tgz",
|
||||
"integrity": "sha512-d1hiUSKwtRsuMxUhHVJ3tjK2BbpUlJGvTyMWohK8Wxx+0GbnWRWWFcI4vlCzlZfoK0VtZK2MJEl5t7Du1mIniQ==",
|
||||
"requires": {
|
||||
"jest-serializer": "^24.4.0",
|
||||
"metro-core": "0.56.3",
|
||||
"metro-core": "^0.56.4",
|
||||
"mkdirp": "^0.5.1",
|
||||
"rimraf": "^2.5.4"
|
||||
}
|
||||
},
|
||||
"metro-config": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.3.tgz",
|
||||
"integrity": "sha512-C3ZLA5y5gW5auDSQN5dsCTduJg7LXEiX/tLAADOkgXWVImr5P74x9Wt8y1MMWrKx6p+4p5RMDyEwWDMXJt/DwA==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.56.4.tgz",
|
||||
"integrity": "sha512-O85QDHwWdMn/8ERe13y4a6vbZL0AHyO8atTvL+9BCulLEO+FQBi1iJjr3+ViLa8cf0m5dRftDsa7P47m5euk4A==",
|
||||
"requires": {
|
||||
"cosmiconfig": "^5.0.5",
|
||||
"jest-validate": "^24.7.0",
|
||||
"metro": "0.56.3",
|
||||
"metro-cache": "0.56.3",
|
||||
"metro-core": "0.56.3",
|
||||
"metro": "^0.56.4",
|
||||
"metro-cache": "^0.56.4",
|
||||
"metro-core": "^0.56.4",
|
||||
"pretty-format": "^24.7.0"
|
||||
}
|
||||
},
|
||||
"metro-core": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.3.tgz",
|
||||
"integrity": "sha512-OAaHP3mBdlACMZRwDJzZzYC0o2S3qfb4BBK75L8H4Ds+y3QUSrjsDEpHACcpaMTOds8rBvjzn+jjB5tqNoHfBA==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.56.4.tgz",
|
||||
"integrity": "sha512-hMzkBdgPt5Zm9nr/1KtIT+A6H7TNiLVCEGG5OiAXj8gTRsA2yy7wAdQpwy0xbE+zi88t/pLOzXpd3ClG/YxyWg==",
|
||||
"requires": {
|
||||
"jest-haste-map": "^24.7.1",
|
||||
"lodash.throttle": "^4.1.1",
|
||||
"metro-resolver": "0.56.3",
|
||||
"metro-resolver": "^0.56.4",
|
||||
"wordwrap": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"metro-inspector-proxy": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.3.tgz",
|
||||
"integrity": "sha512-7WtHinw+VJcunQ3q8El1MqqzYSRvXEjW5QE13VYwcLtnay3pvcqACeiQmGbWI0IqxB1+QH8tf3nkA7z7pQ7Vpw==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-inspector-proxy/-/metro-inspector-proxy-0.56.4.tgz",
|
||||
"integrity": "sha512-E1S3MO25mWKmcLn1UQuCDiS0hf9P2Fwq8sEAX5lBLoZbehepNH+4xJ3xXSY51JX4dozBrE8GGoKL4ll3II40LA==",
|
||||
"requires": {
|
||||
"connect": "^3.6.5",
|
||||
"debug": "^2.2.0",
|
||||
@@ -11844,9 +11880,9 @@
|
||||
}
|
||||
},
|
||||
"metro-minify-uglify": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.3.tgz",
|
||||
"integrity": "sha512-b9ljyeUpkJWVlFy8M/i4aNbvEBI0zN9vJh1jfU7yx+k9dX7FulLnpGmAQxxQdEszcM//sJrsKNS1oLYBxr0NMQ==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-minify-uglify/-/metro-minify-uglify-0.56.4.tgz",
|
||||
"integrity": "sha512-BHgj7+BKEK2pHvWHUR730bIrsZwl8DPtr49x9L0j2grPZ5/UROWXzEr8VZgIss7fl64t845uu1HXNNyuSj2EhA==",
|
||||
"requires": {
|
||||
"uglify-es": "^3.1.9"
|
||||
}
|
||||
@@ -11906,29 +11942,34 @@
|
||||
}
|
||||
},
|
||||
"metro-react-native-babel-transformer": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.3.tgz",
|
||||
"integrity": "sha512-T87m4jDu0gIvJo8kWEvkodWFgQ8XBzJUESs1hUUTBSMIqTa31MdWfA1gs+MipadG7OsEJpcb9m83mGr8K70MWw==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.56.4.tgz",
|
||||
"integrity": "sha512-ng74eutuy1nyGI9+TDzzVAVfEmNPDlapV4msTQMKPi4EFqo/fBn7Ct33ME9l5E51pQBBnxt/UwcpTvd13b29kQ==",
|
||||
"requires": {
|
||||
"@babel/core": "^7.0.0",
|
||||
"babel-preset-fbjs": "^3.1.2",
|
||||
"metro-babel-transformer": "0.56.3",
|
||||
"metro-react-native-babel-preset": "0.56.3",
|
||||
"metro-source-map": "0.56.3"
|
||||
"metro-babel-transformer": "^0.56.4",
|
||||
"metro-react-native-babel-preset": "^0.56.4",
|
||||
"metro-source-map": "^0.56.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
|
||||
"integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ=="
|
||||
},
|
||||
"@babel/plugin-syntax-flow": {
|
||||
"version": "7.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.7.4.tgz",
|
||||
"integrity": "sha512-2AMAWl5PsmM5KPkB22cvOkUyWk6MjUaqhHNU5nSPUl/ns3j5qLfw2SuYP5RbVZ0tfLvePr4zUScbICtDP2CUNw==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz",
|
||||
"integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==",
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0"
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
}
|
||||
},
|
||||
"metro-react-native-babel-preset": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.3.tgz",
|
||||
"integrity": "sha512-tGPzX2ZwI8vQ8SiNVBPUIgKqmaRNVB6rtJtHCBQZAYRiMbxh0NHCUoFfKBej6U5qVgxiYYHyN8oB23evG4/Oow==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.56.4.tgz",
|
||||
"integrity": "sha512-CzbBDM9Rh6w8s1fq+ZqihAh7DDqUAcfo9pPww25+N/eJ7UK436Q7JdfxwdIPpBwLFn6o6MyYn+uwL9OEWBJarA==",
|
||||
"requires": {
|
||||
"@babel/plugin-proposal-class-properties": "^7.0.0",
|
||||
"@babel/plugin-proposal-export-default-from": "^7.0.0",
|
||||
@@ -11970,23 +12011,23 @@
|
||||
}
|
||||
},
|
||||
"metro-resolver": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.3.tgz",
|
||||
"integrity": "sha512-VvMl4xUp0fy76WiP3YDtzMmrn6tN/jwxOBqlTy9MjN6R9sUXrGyO5thwn/uKQqp5vwBTuJev7nZL7OKzwludKA==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.56.4.tgz",
|
||||
"integrity": "sha512-Ug4ulVfpkKZ1Wu7mdYj9XLGuOqZTuWCqEhyx3siKTc/2eBwKZQXmiNo5d/IxWNvmwL/87Abeb724I6CMzMfjiQ==",
|
||||
"requires": {
|
||||
"absolute-path": "^0.0.0"
|
||||
}
|
||||
},
|
||||
"metro-source-map": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.3.tgz",
|
||||
"integrity": "sha512-CheqWbJZSM0zjcNBqELUiocwH3XArrOk6alhVuzJ2gV/WTMBQFwP0TtQssSMwjnouMHNEzY8RxErXKXBk/zJmQ==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.56.4.tgz",
|
||||
"integrity": "sha512-f1P9/rpFmG3Z0Jatiw2zvLItx1TwR7mXTSDj4qLDCWeVMB3kEXAr3R0ucumTW8c6HfpJljeRBWzYFXF33fd81g==",
|
||||
"requires": {
|
||||
"@babel/traverse": "^7.0.0",
|
||||
"@babel/types": "^7.0.0",
|
||||
"invariant": "^2.2.4",
|
||||
"metro-symbolicate": "0.56.3",
|
||||
"ob1": "0.56.3",
|
||||
"metro-symbolicate": "^0.56.4",
|
||||
"ob1": "^0.56.4",
|
||||
"source-map": "^0.5.6",
|
||||
"vlq": "^1.0.0"
|
||||
},
|
||||
@@ -12002,12 +12043,12 @@
|
||||
}
|
||||
},
|
||||
"metro-symbolicate": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.3.tgz",
|
||||
"integrity": "sha512-fSQtjjy4eiJDThSl9eloxMElhrs+5PQB+DKKzmTFXT8e2GDga+pa1xTBFRUACMO8BXGuWmxR7SnGDw0wo5Ngrw==",
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.56.4.tgz",
|
||||
"integrity": "sha512-8mCNNn6zV5FFKCIcRgI7736Xl+owgvYuy8qanPxZN36f7utiWRYeB+PirEBPcglBk4qQvoy2lT6oPULNXZQbbQ==",
|
||||
"requires": {
|
||||
"invariant": "^2.2.4",
|
||||
"metro-source-map": "0.56.3",
|
||||
"metro-source-map": "^0.56.4",
|
||||
"source-map": "^0.5.6",
|
||||
"through2": "^2.0.1",
|
||||
"vlq": "^1.0.0"
|
||||
@@ -12241,8 +12282,7 @@
|
||||
"nan": {
|
||||
"version": "2.14.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
||||
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
|
||||
"optional": true
|
||||
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
|
||||
},
|
||||
"nanomatch": {
|
||||
"version": "1.2.13",
|
||||
@@ -12495,9 +12535,9 @@
|
||||
}
|
||||
},
|
||||
"node-sass": {
|
||||
"version": "4.12.0",
|
||||
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
|
||||
"integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
|
||||
"version": "4.13.1",
|
||||
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz",
|
||||
"integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async-foreach": "^0.1.3",
|
||||
@@ -12507,7 +12547,7 @@
|
||||
"get-stdin": "^4.0.1",
|
||||
"glob": "^7.0.3",
|
||||
"in-publish": "^2.0.0",
|
||||
"lodash": "^4.17.11",
|
||||
"lodash": "^4.17.15",
|
||||
"meow": "^3.7.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"nan": "^2.13.2",
|
||||
@@ -12529,10 +12569,10 @@
|
||||
"which": "^1.2.9"
|
||||
}
|
||||
},
|
||||
"nan": {
|
||||
"version": "2.14.0",
|
||||
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
|
||||
"integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
|
||||
"lodash": {
|
||||
"version": "4.17.15",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
|
||||
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
@@ -12634,9 +12674,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"ob1": {
|
||||
"version": "0.56.3",
|
||||
"resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.3.tgz",
|
||||
"integrity": "sha512-3JL2ZyWOHDGTEAe4kcG+TxhGPKCCikgyoUIjE82JnXnmpR1LXItM9K3WhGsi4+O7oYngMW6FjpHHoc5xJTMkTQ=="
|
||||
"version": "0.56.4",
|
||||
"resolved": "https://registry.npmjs.org/ob1/-/ob1-0.56.4.tgz",
|
||||
"integrity": "sha512-URgFof9z2wotiYFsqlydXtQfGV81gvBI2ODy64xfd3vPo+AYom5PVDX4t4zn23t/O+S2IxqApSQM8uJAybmz7w=="
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
@@ -14129,9 +14169,9 @@
|
||||
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
|
||||
},
|
||||
"psl": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
|
||||
"integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
|
||||
"integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==",
|
||||
"dev": true
|
||||
},
|
||||
"public-encrypt": {
|
||||
@@ -14501,9 +14541,8 @@
|
||||
}
|
||||
},
|
||||
"react-native": {
|
||||
"version": "0.61.5",
|
||||
"resolved": "https://registry.npmjs.org/react-native/-/react-native-0.61.5.tgz",
|
||||
"integrity": "sha512-MXqE3NoGO0T3dUKIKkIppijBhRRMpfN6ANbhMXHDuyfA+fSilRWgCwYgR/YNCC7ntECoJYikKaNTUBB0DeQy6Q==",
|
||||
"version": "github:jitsi/react-native#efd2aff5661d75a230e36406b698cfe0ee545be2",
|
||||
"from": "github:jitsi/react-native#efd2aff5661d75a230e36406b698cfe0ee545be2",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.0.0",
|
||||
"@react-native-community/cli": "^3.0.0",
|
||||
@@ -14536,10 +14575,62 @@
|
||||
"whatwg-fetch": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jest/types": {
|
||||
"version": "25.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@jest/types/-/types-25.1.0.tgz",
|
||||
"integrity": "sha512-VpOtt7tCrgvamWZh1reVsGADujKigBUFTi19mlRjqEGsE8qH4r3s+skY33dNdXOwyZIvuftZ5tqdF1IgsMejMA==",
|
||||
"requires": {
|
||||
"@types/istanbul-lib-coverage": "^2.0.0",
|
||||
"@types/istanbul-reports": "^1.1.1",
|
||||
"@types/yargs": "^15.0.0",
|
||||
"chalk": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
|
||||
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
|
||||
"requires": {
|
||||
"@types/color-name": "^1.1.1",
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.1.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
|
||||
"integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@react-native-community/cli": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.0.4.tgz",
|
||||
"integrity": "sha512-kt+ENtC+eRUSfWPbbpx3r7fAQDcFwgM03VW/lBdVAUjkNxffPFT2GGdK23CJSBOXTjRSiGuwhvwH4Z28PdrlRA==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-3.2.0.tgz",
|
||||
"integrity": "sha512-k8GmNQH/EbIIVd4VlVbFP99IRNhovWV6hhnJ3y2+FfZq18H/U6yV/t1bpI3A3QqPuAyWxk/1jBdXvP6BY/7kbw==",
|
||||
"requires": {
|
||||
"@hapi/joi": "^15.0.3",
|
||||
"@react-native-community/cli-debugger-ui": "^3.0.0",
|
||||
@@ -14552,6 +14643,7 @@
|
||||
"connect": "^3.6.5",
|
||||
"cosmiconfig": "^5.1.0",
|
||||
"deepmerge": "^3.2.0",
|
||||
"didyoumean": "^1.2.1",
|
||||
"envinfo": "^7.1.0",
|
||||
"errorhandler": "^1.5.0",
|
||||
"execa": "^1.0.0",
|
||||
@@ -14572,6 +14664,7 @@
|
||||
"open": "^6.2.0",
|
||||
"ora": "^3.4.0",
|
||||
"plist": "^3.0.0",
|
||||
"pretty-format": "^25.1.0",
|
||||
"semver": "^6.3.0",
|
||||
"serve-static": "^1.13.1",
|
||||
"shell-quote": "1.6.1",
|
||||
@@ -14579,12 +14672,50 @@
|
||||
"sudo-prompt": "^9.0.0",
|
||||
"wcwidth": "^1.0.1",
|
||||
"ws": "^1.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-styles": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
|
||||
"integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
|
||||
"requires": {
|
||||
"@types/color-name": "^1.1.1",
|
||||
"color-convert": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
|
||||
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
|
||||
"requires": {
|
||||
"color-name": "~1.1.4"
|
||||
}
|
||||
},
|
||||
"pretty-format": {
|
||||
"version": "25.1.0",
|
||||
"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.1.0.tgz",
|
||||
"integrity": "sha512-46zLRSGLd02Rp+Lhad9zzuNZ+swunitn8zIpfD2B4OPCRLXbM87RJT2aBLBWYOznNUML/2l/ReMyWNC80PJBUQ==",
|
||||
"requires": {
|
||||
"@jest/types": "^25.1.0",
|
||||
"ansi-regex": "^5.0.0",
|
||||
"ansi-styles": "^4.0.0",
|
||||
"react-is": "^16.12.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@types/yargs": {
|
||||
"version": "15.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.3.tgz",
|
||||
"integrity": "sha512-XCMQRK6kfpNBixHLyHUsGmXrpEmFFxzMrcnSXFMziHd8CoNJo8l16FkHyQq4x+xbM7E2XL83/O78OD8u+iZTdQ==",
|
||||
"requires": {
|
||||
"@types/yargs-parser": "*"
|
||||
}
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
@@ -14604,6 +14735,11 @@
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"color-name": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
|
||||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"event-target-shim": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||
@@ -14721,6 +14857,13 @@
|
||||
"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
|
||||
"requires": {
|
||||
"ansi-regex": "^4.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
|
||||
"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
@@ -15336,9 +15479,9 @@
|
||||
}
|
||||
},
|
||||
"request": {
|
||||
"version": "2.88.0",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
|
||||
"integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
|
||||
"version": "2.88.2",
|
||||
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
|
||||
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aws-sign2": "~0.7.0",
|
||||
@@ -15348,7 +15491,7 @@
|
||||
"extend": "~3.0.2",
|
||||
"forever-agent": "~0.6.1",
|
||||
"form-data": "~2.3.2",
|
||||
"har-validator": "~5.1.0",
|
||||
"har-validator": "~5.1.3",
|
||||
"http-signature": "~1.2.0",
|
||||
"is-typedarray": "~1.0.0",
|
||||
"isstream": "~0.1.2",
|
||||
@@ -15358,24 +15501,24 @@
|
||||
"performance-now": "^2.1.0",
|
||||
"qs": "~6.5.2",
|
||||
"safe-buffer": "^5.1.2",
|
||||
"tough-cookie": "~2.4.3",
|
||||
"tough-cookie": "~2.5.0",
|
||||
"tunnel-agent": "^0.6.0",
|
||||
"uuid": "^3.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"mime-db": {
|
||||
"version": "1.40.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
|
||||
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
|
||||
"version": "1.43.0",
|
||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
|
||||
"integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
|
||||
"dev": true
|
||||
},
|
||||
"mime-types": {
|
||||
"version": "2.1.24",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
|
||||
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
|
||||
"version": "2.1.26",
|
||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
|
||||
"integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mime-db": "1.40.0"
|
||||
"mime-db": "1.43.0"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
@@ -15385,9 +15528,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
|
||||
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
@@ -16467,9 +16610,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"version": "2.3.7",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
|
||||
"integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
@@ -16726,15 +16869,19 @@
|
||||
"dev": true
|
||||
},
|
||||
"strophe.js": {
|
||||
"version": "1.2.16",
|
||||
"resolved": "https://registry.npmjs.org/strophe.js/-/strophe.js-1.2.16.tgz",
|
||||
"integrity": "sha512-r/Uq7aqrusg25Y0qHwV48cFnMY6K/CuZdGt3EggRx3kY4sMv8lG+AFoMlrmTcYVMG1BaJvQfv9Cthw4Ll8z7fQ=="
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/strophe.js/-/strophe.js-1.3.4.tgz",
|
||||
"integrity": "sha512-jSLDG8jolhAwGOSgiJ7DTMSYK3wVoEJHKtpVRyEacQZ6CWA6z2WRPJpcFMjsIweq5aP9/XIvKUQqHBu/ZhvESA=="
|
||||
},
|
||||
"strophejs-plugin-disco": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "https://registry.npmjs.org/strophejs-plugin-disco/-/strophejs-plugin-disco-0.0.2.tgz",
|
||||
"integrity": "sha512-T9pJFzn1ZUqZ/we9+OvI5pFdrjeb4IBMbEjK+ZWEZV036wEl8l8GOtF8AJ3sIqOMtdIiFLdFu99JiGWd7yapAQ=="
|
||||
},
|
||||
"strophejs-plugin-stream-management": {
|
||||
"version": "github:jitsi/strophejs-plugin-stream-management#cec7608601c1bc098543823fc658e3ddf758c009",
|
||||
"from": "github:jitsi/strophejs-plugin-stream-management#cec7608601c1bc098543823fc658e3ddf758c009"
|
||||
},
|
||||
"style-loader": {
|
||||
"version": "0.19.0",
|
||||
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.0.tgz",
|
||||
@@ -17318,13 +17465,21 @@
|
||||
}
|
||||
},
|
||||
"tough-cookie": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
|
||||
"integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
|
||||
"version": "2.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
|
||||
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"psl": "^1.1.24",
|
||||
"punycode": "^1.4.1"
|
||||
"psl": "^1.1.28",
|
||||
"punycode": "^2.1.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"punycode": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
|
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"trim-newlines": {
|
||||
@@ -18992,9 +19147,9 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"uuid": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
|
||||
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
|
||||
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
10
package.json
@@ -38,7 +38,7 @@
|
||||
"@react-native-community/netinfo": "4.1.5",
|
||||
"@svgr/webpack": "4.3.2",
|
||||
"@tensorflow-models/body-pix": "2.0.4",
|
||||
"@tensorflow/tfjs": "1.2.9",
|
||||
"@tensorflow/tfjs": "1.5.1",
|
||||
"@webcomponents/url": "0.7.1",
|
||||
"amplitude-js": "4.5.2",
|
||||
"bc-css-flags": "3.0.0",
|
||||
@@ -53,10 +53,10 @@
|
||||
"jquery-contextmenu": "2.4.5",
|
||||
"jquery-i18next": "1.2.1",
|
||||
"js-md5": "0.6.1",
|
||||
"js-utils": "github:jitsi/js-utils#0a8ea63983863e38d062f91fc42883270ccdb38c",
|
||||
"js-utils": "github:jitsi/js-utils#0b2cef90613a74777fefd98d4ee3eda3879809ab",
|
||||
"jsrsasign": "8.0.12",
|
||||
"jwt-decode": "2.2.0",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#6a3673140d27ef0508458954070d4395527be978",
|
||||
"lib-jitsi-meet": "github:jitsi/lib-jitsi-meet#a7950f8ebb489225c2e8bf41fe65f330b3de0874",
|
||||
"libflacjs": "github:mmig/libflac.js#93d37e7f811f01cf7d8b6a603e38bd3c3810907d",
|
||||
"lodash": "4.17.13",
|
||||
"moment": "2.19.4",
|
||||
@@ -67,7 +67,7 @@
|
||||
"react-emoji-render": "1.0.0",
|
||||
"react-i18next": "10.11.4",
|
||||
"react-linkify": "1.0.0-alpha",
|
||||
"react-native": "0.61.5",
|
||||
"react-native": "github:jitsi/react-native#efd2aff5661d75a230e36406b698cfe0ee545be2",
|
||||
"react-native-background-timer": "2.1.1",
|
||||
"react-native-calendar-events": "github:jitsi/react-native-calendar-events#902e6e92d6bae450a6052f76ba4d02f977ffd8f2",
|
||||
"react-native-callstats": "3.61.0",
|
||||
@@ -122,7 +122,7 @@
|
||||
"imports-loader": "0.7.1",
|
||||
"jetifier": "1.6.4",
|
||||
"metro-react-native-babel-preset": "0.56.0",
|
||||
"node-sass": "4.12.0",
|
||||
"node-sass": "4.13.1",
|
||||
"precommit-hook": "3.0.0",
|
||||
"string-replace-loader": "2.1.1",
|
||||
"style-loader": "0.19.0",
|
||||
|
||||