Compare commits

..

1 Commits

Author SHA1 Message Date
Hristo Terezov
a403a221ae fix(analytics): prejoin property. 2023-12-08 15:37:19 -06:00
310 changed files with 5634 additions and 13005 deletions

View File

@@ -17,8 +17,7 @@ jobs:
- name: Check lua codes
run: |
set -o pipefail && luacheck . \
--exclude-files=resources/prosody-plugins/mod_firewall/mod_firewall.lua | awk -F: '
set -o pipefail && luacheck . | awk -F: '
{
print $0
printf "::warning file=%s,line=%s,col=%s::%s\n", $1, $2, $3, $4

View File

@@ -14,7 +14,7 @@ jobs:
cache: 'npm'
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v41
uses: tj-actions/changed-files@v35
- name: Get changed lang files
id: lang-files
run: echo "all=$(echo "${{ steps.changed-files.outputs.all_changed_files }}" | grep -oE 'lang\/\S+' | tr '\n' ' ')" >> "$GITHUB_OUTPUT"
@@ -73,13 +73,6 @@ jobs:
node-version: 16
cache: 'npm'
- run: npm install
- name: Install Pods
run: |
pod --version
cd ios
pod install --repo-update
- name: Check if the git repository is clean
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
- run: npx react-native bundle --entry-file react/index.native.js --platform ios --bundle-output /tmp/ios.bundle --reset-cache
debian-build:
name: Test Debian packages build

View File

@@ -27,7 +27,7 @@ And many more!
## Using Jitsi Meet
Using Jitsi Meet is straightforward, as it's browser based. Head over to [meet.jit.si](https://meet.jit.si) and give it a try. It's scalable and free to use. All you need is a Google, Facebook or GitHub account in order to start a meeting. All browsers are supported!
Using Jitsi Meet is straightforward, as it's browser based. Head over to [meet.jit.si](https://meet.jit.si) and give it a try. It's anonymous, scalable and free to use. All browsers are supported!
Using mobile? No problem, you can either use your mobile web browser or our fully-featured
mobile apps:

View File

@@ -15,12 +15,10 @@ def vcode = (int) (((new Date().getTime() / 1000) - 1546297200) / 10)
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
packagingOptions {
jniLibs {
excludes += ['lib/*/libhermes*.so']
}
}
packagingOptions {
exclude 'lib/*/libhermes*.so'
}
defaultConfig {
applicationId 'org.jitsi.meet'
@@ -74,13 +72,13 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
namespace 'org.jitsi.meet'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.5.1'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.13'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
if (!rootProject.ext.libreBuild) {
// Sync with react-native-google-signin

View File

@@ -1,8 +1,3 @@
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
@@ -14,25 +9,20 @@
# Add any project specific keep options here:
# Disabling obfuscation is useful if you collect stack traces from production crashes
# (unless you are using a system that supports de-obfuscate the stack traces).
# -dontobfuscate
# React Native
# Keep our interfaces so they can be used by other ProGuard rules.
# See http://sourceforge.net/p/proguard/bugs/466/
-keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip
-keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters
-keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip
# Do not strip any method/class that is annotated with @DoNotStrip
-keep @com.facebook.proguard.annotations.DoNotStrip class *
-keep @com.facebook.common.internal.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.proguard.annotations.DoNotStrip *;
}
-keep @com.facebook.proguard.annotations.DoNotStripAny class * {
*;
@com.facebook.common.internal.DoNotStrip *;
}
-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
@@ -40,32 +30,32 @@
*** get*();
}
-keep class * implements com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * implements com.facebook.react.bridge.NativeModule { *; }
-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * extends com.facebook.react.bridge.NativeModule { *; }
-keepclassmembers,includedescriptorclasses class * { native <methods>; }
-keepclassmembers class * { @com.facebook.react.uimanager.UIProp <fields>; }
-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp <methods>; }
-keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup <methods>; }
-dontwarn com.facebook.react.**
-keep,includedescriptorclasses class com.facebook.react.bridge.** { *; }
-keep,includedescriptorclasses class com.facebook.react.turbomodule.core.** { *; }
# hermes
-keep class com.facebook.jni.** { *; }
# okhttp
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
# okio
-keep class sun.misc.Unsafe { *; }
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-keep class okio.** { *; }
-dontwarn okio.**
# yoga
-keep,allowobfuscation @interface com.facebook.yoga.annotations.DoNotStrip
-keep @com.facebook.yoga.annotations.DoNotStrip class *
-keepclassmembers class * {
@com.facebook.yoga.annotations.DoNotStrip *;
}
# WebRTC
-keep class org.webrtc.** { *; }

View File

@@ -1,5 +1,6 @@
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="org.jitsi.meet"
android:installLocation="auto">
<application
android:allowBackup="true"

View File

@@ -10,7 +10,7 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.2'
classpath 'com.android.tools.build:gradle:7.3.1'
classpath 'com.google.gms:google-services:4.4.0'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9'
}
@@ -19,9 +19,9 @@ buildscript {
ext {
kotlinVersion = "1.7.0"
buildToolsVersion = "33.0.2"
compileSdkVersion = 34
compileSdkVersion = 33
minSdkVersion = 24
targetSdkVersion = 34
targetSdkVersion = 33
supportLibVersion = "28.0.0"
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
@@ -42,16 +42,21 @@ ext {
libreBuild = (System.env.LIBRE_BUILD ?: "false").toBoolean()
googleServicesEnabled = project.file('app/google-services.json').exists() && !libreBuild
//React Native Version
rnVersion = "0.72.9"
}
allprojects {
repositories {
// React Native (JS, Obj-C sources, Android binaries) is installed from npm.
maven { url "$rootDir/../node_modules/react-native/android" }
// Android JSC is installed from npm.
maven { url("$rootDir/../node_modules/jsc-android/dist") }
mavenCentral()
mavenCentral {
// We don't want to fetch react-native from Maven Central as there are
// older versions over there.
content {
excludeGroup "com.facebook.react"
}
}
google()
maven { url 'https://www.jitpack.io' }
}
@@ -61,13 +66,11 @@ allprojects {
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'com.facebook.react') {
if (details.requested.name == 'react-native') {
details.useTarget "com.facebook.react:react-android:$rnVersion"
}
if (details.requested.name == 'react-android') {
details.useVersion rootProject.ext.rnVersion
}
if (details.requested.group == 'com.facebook.react'
&& details.requested.name == 'react-native') {
def file = new File("$rootDir/../node_modules/react-native/package.json")
def version = new JsonSlurper().parseText(file.text).version
details.useVersion version
}
}
}

View File

@@ -9,6 +9,7 @@ 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 '.version' ${THIS_DIR}/../../node_modules/react-native/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-)
DO_GIT_TAG=${GIT_TAG:-0}
@@ -24,7 +25,23 @@ export MVN_REPO=$THE_MVN_REPO
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
echo "Using ${MVN_REPO} as the Maven repo"
if [[ $MVN_HTTP == 1 ]]; then
if [[ $MVN_HTTP == 1 ]]; then
# Push React Native
echo "Pushing React Native ${RN_VERSION} to the Maven repo"
pushd ${THIS_DIR}/../../node_modules/react-native/android/com/facebook/react/react-native/${RN_VERSION}
cat react-native-${RN_VERSION}.pom \
| sed "s#<packaging>pom</packaging>#<packaging>aar</packaging>#" \
| sed "/<optional>/d" \
> react-native-${RN_VERSION}-fixed.pom
mvn \
deploy:deploy-file \
-Durl=${MVN_REPO} \
-DrepositoryId=${MVN_REPO_ID} \
-Dfile=react-native-${RN_VERSION}-release.aar \
-Dpackaging=aar \
-DgeneratePom=false \
-DpomFile=react-native-${RN_VERSION}-fixed.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}
@@ -38,6 +55,24 @@ echo "Using ${MVN_REPO} as the Maven repo"
-DpomFile=android-jsc-${JSC_VERSION}.pom || true
popd
else
# Push React Native, if necessary
if [[ ! -d ${MVN_REPO}/com/facebook/react/react-native/${RN_VERSION} ]]; then
echo "Pushing React Native ${RN_VERSION} to the Maven repo"
pushd ${THIS_DIR}/../../node_modules/react-native/android/com/facebook/react/react-native/${RN_VERSION}
cat react-native-${RN_VERSION}.pom \
| sed "s#<packaging>pom</packaging>#<packaging>aar</packaging>#" \
| sed "/<optional>/d" \
> react-native-${RN_VERSION}-fixed.pom
mvn \
deploy:deploy-file \
-Durl=${MVN_REPO} \
-Dfile=react-native-${RN_VERSION}-release.aar \
-Dpackaging=aar \
-DgeneratePom=false \
-DpomFile=react-native-${RN_VERSION}-fixed.pom
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"
@@ -62,8 +97,8 @@ fi
# Now build and publish the Jitsi Meet SDK and its dependencies
echo "Building and publishing the Jitsi Meet SDK"
pushd ${THIS_DIR}/../
./gradlew clean
./gradlew assembleRelease
./gradlew clean
./gradlew assembleRelease
./gradlew publish
popd

View File

@@ -30,7 +30,6 @@ android {
}
}
}
namespace 'org.jitsi.meet.sdk'
}
dependencies {
@@ -40,8 +39,8 @@ dependencies {
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
api "com.facebook.react:react-android:$rootProject.ext.rnVersion"
//noinspection GradleDynamicVersion
api 'com.facebook.react:react-native:+'
//noinspection GradleDynamicVersion
implementation 'org.webkit:android-jsc:+'
@@ -50,7 +49,7 @@ dependencies {
implementation 'com.jakewharton.timber:timber:4.7.1'
implementation 'com.squareup.duktape:duktape-android:1.3.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.startup:startup-runtime:1.1.0'
implementation "androidx.startup:startup-runtime:1.1.0"
// Only add these packages if we are NOT doing a LIBRE_BUILD
if (!rootProject.ext.libreBuild) {

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
xmlns:tools="http://schemas.android.com/tools"
package="org.jitsi.meet.sdk">
<!-- XXX ACCESS_NETWORK_STATE is required by WebRTC. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
@@ -12,8 +13,6 @@
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-feature
android:glEsVersion="0x00020000"
@@ -49,10 +48,6 @@
<service
android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService"
android:foregroundServiceType="mediaPlayback" />
<service
android:name="org.jitsi.meet.sdk.JitsiMeetMediaProjectionService"
android:foregroundServiceType="mediaProjection" />
<provider
@@ -71,4 +66,4 @@
</application>
</manifest>
</manifest>

View File

@@ -87,7 +87,6 @@ class AudioDeviceHandlerGeneric implements
devices.add(AudioModeModule.DEVICE_EARPIECE);
break;
case AudioDeviceInfo.TYPE_BUILTIN_SPEAKER:
case AudioDeviceInfo.TYPE_HDMI:
devices.add(AudioModeModule.DEVICE_SPEAKER);
break;
case AudioDeviceInfo.TYPE_WIRED_HEADPHONES:

View File

@@ -1,42 +0,0 @@
package org.jitsi.meet.sdk;
import android.content.Context;
import androidx.annotation.NonNull;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.module.annotations.ReactModule;
@ReactModule(name = JitsiMeetMediaProjectionModule.NAME)
class JitsiMeetMediaProjectionModule
extends ReactContextBaseJavaModule {
public static final String NAME = "JitsiMeetMediaProjectionModule";
public JitsiMeetMediaProjectionModule(ReactApplicationContext reactContext) {
super(reactContext);
}
@ReactMethod
public void launch() {
Context context = getReactApplicationContext();
JitsiMeetMediaProjectionService.launch(context);
}
@ReactMethod
public void abort() {
Context context = getReactApplicationContext();
JitsiMeetMediaProjectionService.abort(context);
}
@NonNull
@Override
public String getName() {
return NAME;
}
}

View File

@@ -1,100 +0,0 @@
/*
* Copyright @ 2019-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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import android.app.Notification;
import android.app.Service;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ServiceInfo;
import android.os.Build;
import android.os.IBinder;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
/**
* This class implements an Android {@link Service}, a foreground one specifically, and it's
* responsible for presenting an ongoing notification when a conference is in progress.
* The service will help keep the app running while in the background.
*
* See: https://developer.android.com/guide/components/services
*/
public class JitsiMeetMediaProjectionService extends Service {
private static final String TAG = JitsiMeetMediaProjectionService.class.getSimpleName();
public static void launch(Context context) {
OngoingNotification.createOngoingConferenceNotificationChannel();
Intent intent = new Intent(context, JitsiMeetMediaProjectionService.class);
ComponentName componentName;
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
componentName = context.startForegroundService(intent);
} else {
componentName = context.startService(intent);
}
} catch (RuntimeException e) {
// Avoid crashing due to ForegroundServiceStartNotAllowedException (API level 31).
// See: https://developer.android.com/guide/components/foreground-services#background-start-restrictions
JitsiMeetLogger.w(TAG + " Ongoing conference service not started", e);
return;
}
if (componentName == null) {
JitsiMeetLogger.w(TAG + " Ongoing conference service not started");
}
}
public static void abort(Context context) {
Intent intent = new Intent(context, JitsiMeetMediaProjectionService.class);
context.stopService(intent);
}
@Override
public void onCreate() {
super.onCreate();
Notification notification = OngoingNotification.buildOngoingConferenceNotification(null);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForeground(OngoingNotification.NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION);
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
}
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
}

View File

@@ -23,7 +23,6 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ServiceInfo;
import android.os.Build;
import android.os.Bundle;
import android.os.IBinder;
@@ -95,11 +94,8 @@ public class JitsiMeetOngoingConferenceService extends Service
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
startForeground(OngoingNotification.NOTIFICATION_ID, notification, ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK);
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
}
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " Service started");
}
OngoingConferenceTracker.getInstance().addListener(this);

View File

@@ -73,7 +73,7 @@ class OngoingNotification {
notificationManager.createNotificationChannel(channel);
}
static Notification buildOngoingConferenceNotification(Boolean isMuted) {
static Notification buildOngoingConferenceNotification(boolean isMuted) {
Context context = ReactInstanceManagerHolder.getCurrentActivity();
if (context == null) {
JitsiMeetLogger.w(TAG + " Cannot create notification: no current context");
@@ -92,7 +92,7 @@ class OngoingNotification {
builder
.setCategory(NotificationCompat.CATEGORY_CALL)
.setContentTitle(context.getString(R.string.ongoing_notification_title))
.setContentText(isMuted != null ? context.getString(R.string.ongoing_notification_text) : context.getString(R.string.ongoing_notification_action_screenshare))
.setContentText(context.getString(R.string.ongoing_notification_text))
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setContentIntent(pendingIntent)
.setOngoing(true)
@@ -103,10 +103,6 @@ class OngoingNotification {
.setOnlyAlertOnce(true)
.setSmallIcon(context.getResources().getIdentifier("ic_notification", "drawable", context.getPackageName()));
if (isMuted == null) {
return builder.build();
}
NotificationCompat.Action hangupAction = createAction(context, JitsiMeetOngoingConferenceService.Action.HANGUP, R.string.ongoing_notification_action_hang_up);
JitsiMeetOngoingConferenceService.Action toggleAudioAction = isMuted

View File

@@ -67,7 +67,6 @@ class ReactInstanceManagerHolder {
new DropboxModule(reactContext),
new ExternalAPIModule(reactContext),
new JavaScriptSandboxModule(reactContext),
new JitsiMeetMediaProjectionModule(reactContext),
new LocaleDetector(reactContext),
new LogBridgeModule(reactContext),
new SplashScreenModule(reactContext),

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ongoing_notification_title">Текущая встреча</string>
<string name="ongoing_notification_text">Нажмите, чтобы вернуться к встрече.</string>
<string name="ongoing_notification_action_hang_up">Отключиться</string>
<string name="ongoing_notification_action_mute">Отключить звук</string>
<string name="ongoing_notification_action_unmute">Включить звук</string>
<string name="ongoing_notification_channel_name">Ongoing Conference Notifications</string>
</resources>

View File

@@ -5,7 +5,6 @@
<string name="ongoing_notification_text">You are currently in a meeting. Tap to return to it.</string>
<string name="ongoing_notification_action_hang_up">Hang up</string>
<string name="ongoing_notification_action_mute">Mute</string>
<string name="ongoing_notification_action_screenshare">You are currently screen-sharing. Tap to return to the meeting.</string>
<string name="ongoing_notification_action_unmute">Unmute</string>
<string name="ongoing_notification_channel_name">Ongoing Conference Notifications</string>
</resources>

View File

@@ -1,9 +1,10 @@
rootProject.name = 'jitsi-meet'
include ':app', ':sdk'
includeBuild('../node_modules/react-native-gradle-plugin')
include ':react-native-amplitude'
project(':react-native-amplitude').projectDir = new File(rootProject.projectDir, '../node_modules/@amplitude/react-native/android')
project(':react-native-amplitude').projectDir = new File(rootProject.projectDir, '../node_modules/@amplitude/react-native//android')
include ':react-native-async-storage'
project(':react-native-async-storage').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-async-storage/async-storage/android')
include ':react-native-background-timer'

View File

@@ -38,7 +38,6 @@ import {
dataChannelClosed,
dataChannelOpened,
e2eRttChanged,
endpointMessageReceived,
kickedOut,
lockStateChanged,
nonParticipantMessageReceived,
@@ -163,6 +162,7 @@ import { isScreenAudioShared } from './react/features/screen-share/functions';
import { toggleScreenshotCaptureSummary } from './react/features/screenshot-capture/actions';
import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
import { createRnnoiseProcessor } from './react/features/stream-effects/rnnoise';
import { endpointMessageReceived } from './react/features/subtitles/actions.any';
import { handleToggleVideoMuted } from './react/features/toolbox/actions.any';
import { muteLocal } from './react/features/video-menu/actions.any';
import { iAmVisitor } from './react/features/visitors/functions';
@@ -1824,24 +1824,28 @@ export default {
room.on(
JitsiConferenceEvents.ENDPOINT_MESSAGE_RECEIVED,
(participant, data) => {
APP.store.dispatch(endpointMessageReceived(participant, data));
if (data?.name === ENDPOINT_TEXT_MESSAGE_NAME) {
APP.API.notifyEndpointTextMessageReceived({
senderInfo: {
jid: participant.getJid(),
id: participant.getId()
},
eventData: data
});
(...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.NON_PARTICIPANT_MESSAGE_RECEIVED,
(id, data) => {
APP.store.dispatch(nonParticipantMessageReceived(id, data));
APP.API.notifyNonParticipantMessageReceived(id, data);
(...args) => {
APP.store.dispatch(nonParticipantMessageReceived(...args));
APP.API.notifyNonParticipantMessageReceived(...args);
});
room.on(

View File

@@ -84,9 +84,6 @@ var config = {
// issues related to insertable streams.
// disableE2EE: false,
// Enables supports for AV1 codec.
// enableAv1Support: false,
// Enables XMPP WebSocket (as opposed to BOSH) for the given amount of users.
// mobileXmppWsThreshold: 10, // enable XMPP WebSockets on mobile for 10% of the users
@@ -100,9 +97,6 @@ var config = {
// Disables the auto-play behavior of *all* newly created video element.
// This is useful when the client runs on a host with limited resources.
// noAutoPlayVideo: false,
// Experiment: Whether to skip interim transcriptions.
// skipInterimTranscriptions: false,
},
// Disables moderator indicators.
@@ -324,13 +318,6 @@ var config = {
// 'https://jitsi-meet.example.com/subfolder/static/oauth.html',
// },
// configuration for all things recording related. Existing settings will be migrated here in the future.
// recordings: {
// // If true, shows a notification at the start of the meeting with a call to action button
// // to start recording (for users who can do so).
// // suggestRecording: true,
// },
// recordingService: {
// // When integrations like dropbox are enabled only that will be shown,
// // by enabling fileRecordingsServiceEnabled, we show both the integrations
@@ -391,7 +378,7 @@ var config = {
// DEPRECATED. Use transcription.preferredLanguage instead.
// preferredTranscribeLanguage: 'en-US',
// DEPRECATED. Use transcription.autoTranscribeOnRecord instead.
// DEPRECATED. Use transcription.autoCaptionOnRecord instead.
// autoCaptionOnRecord: false,
// Transcription options.
@@ -420,8 +407,11 @@ var config = {
// // ./src/react/features/transcribing/transcriber-langs.json.
// preferredLanguage: 'en-US',
// // Enables automatic turning on transcribing when recording is started
// autoTranscribeOnRecord: false,
// // Disable start transcription for all participants.
// disableStartForAll: false,
// // Enables automatic turning on captions when recording is started
// autoCaptionOnRecord: false,
// },
// Misc
@@ -1201,17 +1191,9 @@ var config = {
// https://firebase.google.com/docs/dynamic-links/create-manually
// deeplinking: {
//
// // The desktop deeplinking config, disabled by default.
// // The desktop deeplinking config.
// desktop: {
// appName: 'Jitsi Meet',
// appScheme: 'jitsi-meet,
// download: {
// linux:
// 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet-x86_64.AppImage',
// macos: 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.dmg',
// windows: 'https://github.com/jitsi/jitsi-meet-electron/releases/latest/download/jitsi-meet.exe'
// },
// enabled: false
// appName: 'Jitsi Meet'
// },
// // If true, any checks to handoff to another application will be prevented
// // and instead the app will continue to display in the current browser.
@@ -1314,6 +1296,9 @@ var config = {
// If set to true all muting operations of remote participants will be disabled.
// disableRemoteMute: true,
// Enables support for lip-sync for this client (if the browser supports it).
// enableLipSync: false,
/**
External API url used to receive branding specific information.
If there is no url set or there are missing fields, the defaults are applied.
@@ -1407,6 +1392,9 @@ var config = {
// Only the default ones from will be available.
// disableAddingBackgroundImages: false,
// Disables using screensharing as virtual background.
// disableScreensharingVirtualBackground: false,
// Sets the background transparency level. '0' is fully transparent, '1' is opaque.
// backgroundAlpha: 1,
@@ -1433,6 +1421,7 @@ var config = {
// 'conference-timer',
// 'participants-count',
// 'e2ee',
// 'transcribing',
// 'video-quality',
// 'insecure-room',
// 'highlight-moment',

View File

@@ -104,7 +104,7 @@
}
}
.reactions-animations-overflow-container {
.reactions-animations-container {
position: absolute;
width: 20%;
bottom: 0;
@@ -117,13 +117,6 @@
position: relative;
}
.reactions-animations-container {
left: 50%;
bottom: 0px;
display: inline-block;
position: absolute;
}
$reactionCount: 20;
@function random($min, $max) {

View File

@@ -15,10 +15,6 @@
font-size: 14px;
margin-left: 16px;
max-width: 70%;
&-no-space {
margin-left: 0;
}
}
&.space-top {

View File

@@ -56,6 +56,7 @@ VirtualHost "jitmeet.example.com"
-- we need bosh
modules_enabled = {
"bosh";
"pubsub";
"ping"; -- Enable mod_ping
"speakerstats";
"external_services";

View File

@@ -38,9 +38,9 @@ apt install token-generator
mkdir -p /etc/jitsi/meet/jaas
VPAAS_COOKIE=$(echo -n ${JAAS_KEY_ID}| cut -d/ -f1)
VPASS_COOKIE=$(echo -n ${JAAS_KEY_ID}| cut -d/ -f1)
cp /usr/share/jitsi-meet-web-config/nginx-jaas.conf /etc/jitsi/meet/jaas
sed -i "s/jaas_magic_cookie/${VPAAS_COOKIE}/g" /etc/jitsi/meet/jaas/nginx-jaas.conf
sed -i "s/jaas_magic_cookie/${VPASS_COOKIE}/g" /etc/jitsi/meet/jaas/nginx-jaas.conf
cp /usr/share/jitsi-meet-web-config/8x8.vc-config.js /etc/jitsi/meet/jaas/
echo "set \$config_js_location /etc/jitsi/meet/jaas/8x8.vc-config.js;" >> /etc/jitsi/meet/jaas/jaas-vars

View File

@@ -1,2 +0,0 @@
export NODE_BINARY=$(command -v node)
export ENTRY_FILE="${PROJECT_DIR}/../../index.ios.js"

View File

@@ -1,11 +1,7 @@
# Resolve react_native_pods.rb with node to allow for hoisting.
require Pod::Executable.execute_command('node', ['-p',
'require.resolve(
"react-native/scripts/react_native_pods.rb",
{paths: [process.argv[1]]},
)', __dir__]).strip
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
platform :ios, '13.4'
platform :ios, '12.4'
workspace 'jitsi-meet'
install! 'cocoapods', :deterministic_uuids => false
@@ -74,11 +70,7 @@ target 'JitsiMeetSDKLite' do
end
post_install do |installer|
react_native_post_install(
installer,
use_native_modules![:reactNativePath],
:mac_catalyst_enabled => false
)
react_native_post_install(installer, :mac_catalyst_enabled => false)
__apply_Xcode_12_5_M1_post_install_workaround(installer)
installer.pods_project.targets.each do |target|
# https://github.com/CocoaPods/CocoaPods/issues/11402
@@ -89,7 +81,7 @@ post_install do |installer|
end
target.build_configurations.each do |config|
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.4'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4'
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
end
end

View File

@@ -14,14 +14,14 @@ PODS:
- CocoaLumberjack/Core (= 3.7.2)
- CocoaLumberjack/Core (3.7.2)
- DoubleConversion (1.1.6)
- FBLazyVector (0.72.9)
- FBReactNativeSpec (0.72.9):
- FBLazyVector (0.70.14)
- FBReactNativeSpec (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.72.9)
- RCTTypeSafety (= 0.72.9)
- React-Core (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- RCTRequired (= 0.70.14)
- RCTTypeSafety (= 0.70.14)
- React-Core (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- Firebase/Analytics (8.15.0):
- Firebase/Core
- Firebase/Core (8.15.0):
@@ -167,265 +167,203 @@ PODS:
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCTRequired (0.72.9)
- RCTTypeSafety (0.72.9):
- FBLazyVector (= 0.72.9)
- RCTRequired (= 0.72.9)
- React-Core (= 0.72.9)
- React (0.72.9):
- React-Core (= 0.72.9)
- React-Core/DevSupport (= 0.72.9)
- React-Core/RCTWebSocket (= 0.72.9)
- React-RCTActionSheet (= 0.72.9)
- React-RCTAnimation (= 0.72.9)
- React-RCTBlob (= 0.72.9)
- React-RCTImage (= 0.72.9)
- React-RCTLinking (= 0.72.9)
- React-RCTNetwork (= 0.72.9)
- React-RCTSettings (= 0.72.9)
- React-RCTText (= 0.72.9)
- React-RCTVibration (= 0.72.9)
- React-callinvoker (0.72.9)
- React-Codegen (0.72.9):
- DoubleConversion
- FBReactNativeSpec
- glog
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- React-jsc
- React-jsi
- React-jsiexecutor
- React-NativeModulesApple
- React-rncore
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-Core (0.72.9):
- RCTRequired (0.70.14)
- RCTTypeSafety (0.70.14):
- FBLazyVector (= 0.70.14)
- RCTRequired (= 0.70.14)
- React-Core (= 0.70.14)
- React (0.70.14):
- React-Core (= 0.70.14)
- React-Core/DevSupport (= 0.70.14)
- React-Core/RCTWebSocket (= 0.70.14)
- React-RCTActionSheet (= 0.70.14)
- React-RCTAnimation (= 0.70.14)
- React-RCTBlob (= 0.70.14)
- React-RCTImage (= 0.70.14)
- React-RCTLinking (= 0.70.14)
- React-RCTNetwork (= 0.70.14)
- React-RCTSettings (= 0.70.14)
- React-RCTText (= 0.70.14)
- React-RCTVibration (= 0.70.14)
- React-bridging (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- React-jsi (= 0.70.14)
- React-callinvoker (0.70.14)
- React-Codegen (0.70.14):
- FBReactNativeSpec (= 0.70.14)
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.14)
- RCTTypeSafety (= 0.70.14)
- React-Core (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-Core (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-Core/Default (= 0.70.14)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/CoreModulesHeaders (0.72.9):
- React-Core/CoreModulesHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/Default (0.72.9):
- React-Core/Default (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/DevSupport (0.72.9):
- React-Core/DevSupport (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.9)
- React-Core/RCTWebSocket (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-jsinspector (= 0.72.9)
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-Core/Default (= 0.70.14)
- React-Core/RCTWebSocket (= 0.70.14)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-jsinspector (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTActionSheetHeaders (0.72.9):
- React-Core/RCTActionSheetHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTAnimationHeaders (0.72.9):
- React-Core/RCTAnimationHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTBlobHeaders (0.72.9):
- React-Core/RCTBlobHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTImageHeaders (0.72.9):
- React-Core/RCTImageHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTLinkingHeaders (0.72.9):
- React-Core/RCTLinkingHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTNetworkHeaders (0.72.9):
- React-Core/RCTNetworkHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTSettingsHeaders (0.72.9):
- React-Core/RCTSettingsHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTTextHeaders (0.72.9):
- React-Core/RCTTextHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTVibrationHeaders (0.72.9):
- React-Core/RCTVibrationHeaders (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-Core/RCTWebSocket (0.72.9):
- React-Core/RCTWebSocket (0.70.14):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- React-Core/Default (= 0.70.14)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- Yoga
- React-CoreModules (0.72.9):
- React-CoreModules (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/CoreModulesHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- React-RCTBlob
- React-RCTImage (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- SocketRocket (= 0.6.1)
- React-cxxreact (0.72.9):
- RCTTypeSafety (= 0.70.14)
- React-Codegen (= 0.70.14)
- React-Core/CoreModulesHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- React-RCTImage (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-cxxreact (0.70.14):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-debug (= 0.72.9)
- React-jsi (= 0.72.9)
- React-jsinspector (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- React-runtimeexecutor (= 0.72.9)
- React-debug (0.72.9)
- React-jsc (0.72.9):
- React-jsc/Fabric (= 0.72.9)
- React-jsi (= 0.72.9)
- React-jsc/Fabric (0.72.9):
- React-jsi (= 0.72.9)
- React-jsi (0.72.9):
- React-callinvoker (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsinspector (= 0.70.14)
- React-logger (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-runtimeexecutor (= 0.70.14)
- React-jsi (0.70.14):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.72.9):
- React-jsi/Default (= 0.70.14)
- React-jsi/Default (0.70.14):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-perflogger (= 0.72.9)
- React-jsinspector (0.72.9)
- React-logger (0.72.9):
- React-jsiexecutor (0.70.14):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-jsinspector (0.70.14)
- React-logger (0.70.14):
- glog
- react-native-background-timer (2.4.1):
- React-Core
@@ -447,10 +385,10 @@ PODS:
- React-Core
- react-native-splash-screen (3.3.0):
- React-Core
- react-native-video (6.0.0-alpha.11):
- react-native-video (6.0.0-alpha.7):
- React-Core
- react-native-video/Video (= 6.0.0-alpha.11)
- react-native-video/Video (6.0.0-alpha.11):
- react-native-video/Video (= 6.0.0-alpha.7)
- react-native-video/Video (6.0.0-alpha.7):
- PromisesSwift
- React-Core
- react-native-webrtc (118.0.0):
@@ -458,111 +396,72 @@ PODS:
- React-Core
- react-native-webview (13.5.1):
- React-Core
- React-NativeModulesApple (0.72.9):
- React-callinvoker
- React-Core
- React-cxxreact
- React-jsi
- React-runtimeexecutor
- ReactCommon/turbomodule/bridging
- ReactCommon/turbomodule/core
- React-perflogger (0.72.9)
- React-RCTActionSheet (0.72.9):
- React-Core/RCTActionSheetHeaders (= 0.72.9)
- React-RCTAnimation (0.72.9):
- React-perflogger (0.70.14)
- React-RCTActionSheet (0.70.14):
- React-Core/RCTActionSheetHeaders (= 0.70.14)
- React-RCTAnimation (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/RCTAnimationHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTAppDelegate (0.72.9):
- RCT-Folly
- RCTRequired
- RCTTypeSafety
- React-Core
- React-CoreModules
- React-jsc
- React-NativeModulesApple
- React-RCTImage
- React-RCTNetwork
- React-runtimescheduler
- ReactCommon/turbomodule/core
- React-RCTBlob (0.72.9):
- RCTTypeSafety (= 0.70.14)
- React-Codegen (= 0.70.14)
- React-Core/RCTAnimationHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTBlob (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.72.9)
- React-Core/RCTBlobHeaders (= 0.72.9)
- React-Core/RCTWebSocket (= 0.72.9)
- React-jsi (= 0.72.9)
- React-RCTNetwork (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTImage (0.72.9):
- React-Codegen (= 0.70.14)
- React-Core/RCTBlobHeaders (= 0.70.14)
- React-Core/RCTWebSocket (= 0.70.14)
- React-jsi (= 0.70.14)
- React-RCTNetwork (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTImage (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/RCTImageHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- React-RCTNetwork (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTLinking (0.72.9):
- React-Codegen (= 0.72.9)
- React-Core/RCTLinkingHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTNetwork (0.72.9):
- RCTTypeSafety (= 0.70.14)
- React-Codegen (= 0.70.14)
- React-Core/RCTImageHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- React-RCTNetwork (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTLinking (0.70.14):
- React-Codegen (= 0.70.14)
- React-Core/RCTLinkingHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTNetwork (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/RCTNetworkHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTSettings (0.72.9):
- RCTTypeSafety (= 0.70.14)
- React-Codegen (= 0.70.14)
- React-Core/RCTNetworkHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTSettings (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/RCTSettingsHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-RCTText (0.72.9):
- React-Core/RCTTextHeaders (= 0.72.9)
- React-RCTVibration (0.72.9):
- RCTTypeSafety (= 0.70.14)
- React-Codegen (= 0.70.14)
- React-Core/RCTSettingsHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-RCTText (0.70.14):
- React-Core/RCTTextHeaders (= 0.70.14)
- React-RCTVibration (0.70.14):
- RCT-Folly (= 2021.07.22.00)
- React-Codegen (= 0.72.9)
- React-Core/RCTVibrationHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- React-rncore (0.72.9)
- React-runtimeexecutor (0.72.9):
- React-jsi (= 0.72.9)
- React-runtimescheduler (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker
- React-debug
- React-jsi
- React-runtimeexecutor
- React-utils (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-debug
- ReactCommon/turbomodule/bridging (0.72.9):
- React-Codegen (= 0.70.14)
- React-Core/RCTVibrationHeaders (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- React-runtimeexecutor (0.70.14):
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (0.70.14):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- ReactCommon/turbomodule/core (0.72.9):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- React-bridging (= 0.70.14)
- React-callinvoker (= 0.70.14)
- React-Core (= 0.70.14)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-logger (= 0.70.14)
- React-perflogger (= 0.70.14)
- RNCalendarEvents (2.2.0):
- React
- RNCAsyncStorage (1.19.4):
@@ -590,7 +489,6 @@ PODS:
- React-Core
- RNWatch (1.1.0):
- React
- SocketRocket (0.6.1)
- Yoga (1.14.0)
DEPENDENCIES:
@@ -610,14 +508,13 @@ DEPENDENCIES:
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
- React (from `../node_modules/react-native/`)
- React-bridging (from `../node_modules/react-native/ReactCommon`)
- React-callinvoker (from `../node_modules/react-native/ReactCommon/callinvoker`)
- React-Codegen (from `build/generated/ios`)
- React-Core (from `../node_modules/react-native/`)
- React-Core/RCTWebSocket (from `../node_modules/react-native/`)
- React-CoreModules (from `../node_modules/react-native/React/CoreModules`)
- React-cxxreact (from `../node_modules/react-native/ReactCommon/cxxreact`)
- React-debug (from `../node_modules/react-native/ReactCommon/react/debug`)
- React-jsc (from `../node_modules/react-native/ReactCommon/jsc`)
- React-jsi (from `../node_modules/react-native/ReactCommon/jsi`)
- React-jsiexecutor (from `../node_modules/react-native/ReactCommon/jsiexecutor`)
- React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`)
@@ -635,11 +532,9 @@ DEPENDENCIES:
- react-native-video (from `../node_modules/react-native-video`)
- react-native-webrtc (from `../node_modules/react-native-webrtc`)
- react-native-webview (from `../node_modules/react-native-webview`)
- React-NativeModulesApple (from `../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- React-perflogger (from `../node_modules/react-native/ReactCommon/reactperflogger`)
- React-RCTActionSheet (from `../node_modules/react-native/Libraries/ActionSheetIOS`)
- React-RCTAnimation (from `../node_modules/react-native/Libraries/NativeAnimation`)
- React-RCTAppDelegate (from `../node_modules/react-native/Libraries/AppDelegate`)
- React-RCTBlob (from `../node_modules/react-native/Libraries/Blob`)
- React-RCTImage (from `../node_modules/react-native/Libraries/Image`)
- React-RCTLinking (from `../node_modules/react-native/Libraries/LinkingIOS`)
@@ -647,10 +542,7 @@ DEPENDENCIES:
- React-RCTSettings (from `../node_modules/react-native/Libraries/Settings`)
- React-RCTText (from `../node_modules/react-native/Libraries/Text`)
- React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`)
- React-rncore (from `../node_modules/react-native/ReactCommon`)
- React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`)
- React-runtimescheduler (from `../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
- React-utils (from `../node_modules/react-native/ReactCommon/react/utils`)
- ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`)
- RNCalendarEvents (from `../node_modules/react-native-calendar-events`)
- "RNCAsyncStorage (from `../node_modules/@react-native-async-storage/async-storage`)"
@@ -691,7 +583,6 @@ SPEC REPOS:
- ObjectiveDropboxOfficial
- PromisesObjC
- PromisesSwift
- SocketRocket
EXTERNAL SOURCES:
amplitude-react-native:
@@ -716,6 +607,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/TypeSafety"
React:
:path: "../node_modules/react-native/"
React-bridging:
:path: "../node_modules/react-native/ReactCommon"
React-callinvoker:
:path: "../node_modules/react-native/ReactCommon/callinvoker"
React-Codegen:
@@ -726,10 +619,6 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/React/CoreModules"
React-cxxreact:
:path: "../node_modules/react-native/ReactCommon/cxxreact"
React-debug:
:path: "../node_modules/react-native/ReactCommon/react/debug"
React-jsc:
:path: "../node_modules/react-native/ReactCommon/jsc"
React-jsi:
:path: "../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
@@ -764,16 +653,12 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native-webrtc"
react-native-webview:
:path: "../node_modules/react-native-webview"
React-NativeModulesApple:
:path: "../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
React-perflogger:
:path: "../node_modules/react-native/ReactCommon/reactperflogger"
React-RCTActionSheet:
:path: "../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
:path: "../node_modules/react-native/Libraries/NativeAnimation"
React-RCTAppDelegate:
:path: "../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
:path: "../node_modules/react-native/Libraries/Blob"
React-RCTImage:
@@ -788,14 +673,8 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/Libraries/Text"
React-RCTVibration:
:path: "../node_modules/react-native/Libraries/Vibration"
React-rncore:
:path: "../node_modules/react-native/ReactCommon"
React-runtimeexecutor:
:path: "../node_modules/react-native/ReactCommon/runtimeexecutor"
React-runtimescheduler:
:path: "../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
React-utils:
:path: "../node_modules/react-native/ReactCommon/react/utils"
ReactCommon:
:path: "../node_modules/react-native/ReactCommon"
RNCalendarEvents:
@@ -827,11 +706,11 @@ SPEC CHECKSUMS:
Amplitude: 834c7332dfb9640a751e21c13efb22a07c0c12d4
amplitude-react-native: 0ed8cab759aafaa94961b82122bf56297da607ad
AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: dc178b8748748c036ef9493a5d59d6d1f91a36ce
FBReactNativeSpec: d0aaae78e93c89dc2d691d8052a4d2aeb1b461ee
FBLazyVector: efad4471d02263013cfcb7a2f75de6ac7565692f
FBReactNativeSpec: 9cd9542bfdcc64e07bc649f809dd621876f78619
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
@@ -855,21 +734,20 @@ SPEC CHECKSUMS:
ObjectiveDropboxOfficial: fe206ce8c0bc49976c249d472db7fdbc53ebbd53
PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
PromisesSwift: 28dca69a9c40779916ac2d6985a0192a5cb4a265
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: f30c3213569b1dc43659ecc549a6536e1e11139e
RCTTypeSafety: e1ed3137728804fa98bce30b70e3da0b8e23054e
React: 54070abee263d5773486987f1cf3a3616710ed52
React-callinvoker: 794ea19cc4d8ce25921893141e131b9d6b7d02eb
React-Codegen: d5dc2cae27c93b0fab4241816343c586c58965c1
React-Core: f82477baba3526cf8a4f70055a22a8e878e3ef9c
React-CoreModules: 87cc386c2200862672b76bb02c4574b4b1d11b3c
React-cxxreact: c7163706a8391f373cd513348a8ebbd5a4444626
React-debug: 4dca41301a67ab2916b2c99bef60344a7b653ac5
React-jsc: 44ec1ce4171f4b6776810618da8e3da45899ea77
React-jsi: 799e7004db36b0b6da2d0969ce07bf3a96df8d19
React-jsiexecutor: bb34b280cfad63aedb266571a305b6365affb875
React-jsinspector: 54205b269da20c51417e0fc02c4cde9f29a4bf1a
React-logger: f42d2f2bc4cbb5d19d7c0ce84b8741b1e54e88c8
RCT-Folly: 0080d0a6ebf2577475bda044aa59e2ca1f909cda
RCTRequired: 6f42727926c2ef4836fc23169586f3d8d7f5a6e4
RCTTypeSafety: de9b538a8f20ae8c780bf38935f37f303b083fc8
React: 6604c02c25295898e9332c5dbe5d6f140be1e246
React-bridging: 55de000607b776d7c9b1333f38d1991ef25bf915
React-callinvoker: aa42aaefd72dbe9218c112fd503eff7ab782bd11
React-Codegen: 9e13e901ac4d4c46349c2db28b8774fa4274ec18
React-Core: b046bbaddd981014eaac20cef83de953a0405c1b
React-CoreModules: 4f0b29e5924b06a868983952265f77fed219f349
React-cxxreact: 818c9b06607f7972e95eeacb326389429c6a2d38
React-jsi: 0bf359879bc4c2c908204b1cd789b0a727a7a568
React-jsiexecutor: 03144eeee729e6a6cb8d7ff2d5653b67315f8f31
React-jsinspector: 6538dfb58970d1fb9d89c9c34e87713ece6c3cf0
React-logger: 4e9c3f888b4b5bb72a3ac7f1be7929e776181016
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-get-random-values: dee677497c6a740b71e5612e8dbd83e7539ed5bb
react-native-keep-awake: afad8a51dfef9fe9655a6344771be32c8596d774
@@ -880,26 +758,21 @@ SPEC CHECKSUMS:
react-native-safe-area-context: 9697629f7b2cda43cf52169bb7e0767d330648c2
react-native-slider: 1cdd6ba29675df21f30544253bf7351d3c2d68c4
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: 472b7c366eaaaa0207e546d9a50410df89790bcf
react-native-video: 967eead48aaa42c25a9e1d65c3b1ab30762a88df
react-native-webrtc: c8d9ad3c152105b2720ca2851d04b49659551992
react-native-webview: 8baa0f5c6d336d6ba488e942bcadea5bf51f050a
React-NativeModulesApple: 4225ac31a26696c02c54b471052b3e85e74a9a0c
React-perflogger: cb433f318c6667060fc1f62e26eb58d6eb30a627
React-RCTActionSheet: 0af3f8ac067e8a1dde902810b7ad169d0a0ec31e
React-RCTAnimation: 453a88e76ba6cb49819686acd8b21ce4d9ee4232
React-RCTAppDelegate: 009ede96d00f79460a75ab5071eadb4aaa1e5012
React-RCTBlob: a64134435f331c7cc716dcea6944a1443af49d32
React-RCTImage: 8e059fbdfab18b86127424dc3742532aab960760
React-RCTLinking: 05ae2aa525b21a7f1c5069c14330700f470efd97
React-RCTNetwork: 7ed9d99d028c53e9a23e318f65937f499ba8a6fd
React-RCTSettings: 8b12ebf04d4baa0e259017fcef6cf7abd7d8ac51
React-RCTText: a062ade9ff1591c46bcb6c5055fd4f96c154b8aa
React-RCTVibration: 87c490b6f01746ab8f9b4e555f514cc030c06731
React-rncore: 140bc11b316da7003bf039844aef39e1c242d7ad
React-runtimeexecutor: 226ebef5f625878d3028b196cbecbbdeb6f208e4
React-runtimescheduler: 75f2210cd7a50c4565dfd218e320479013b82f70
React-utils: a3ffbc321572ee91911d7bc30965abe9aa4e16af
ReactCommon: d3522e54560e4d940554aa074a0206bf4d39ae5e
React-perflogger: 74b2d33200b8c26440c2c39b87a4177d8404655f
React-RCTActionSheet: 3fdf6b3a85f2ea4b365b267efd9c82aaeb20fe33
React-RCTAnimation: 9659d5ed57ccbd129516486b2cce38e536841337
React-RCTBlob: 49ac98cfd9476af046814a2c9126fca1bf0cbe75
React-RCTImage: b4d2d7d14ad9389bd645bc2daa706ccaead3fc44
React-RCTLinking: ebf051ed2532652e5290e4fb7c017c42e4e1f0d2
React-RCTNetwork: 1636df1f91d4c5ad8815ef93f695931af1c0a842
React-RCTSettings: f6306171fd5d3cd8c5fa0b1803da599784ead5c5
React-RCTText: 53c106b5fb9e263c2f1e5d6b0733049989d6c428
React-RCTVibration: d293c50100c0927379e6a80fab86a219e08792ae
React-runtimeexecutor: 0d01d03375f996484fcc231ccca3fe604a4a5652
ReactCommon: dce64235f8548b6e4758647310145f5356c8d0cb
RNCalendarEvents: 7e65eb4a94f53c1744d1e275f7fafcfaa619f7a3
RNCAsyncStorage: 3a8f7145d17cdd9f88e7b77666c94a09e4f759c8
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
@@ -911,9 +784,8 @@ SPEC CHECKSUMS:
RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852
RNSVG: ed492aaf3af9ca01bc945f7a149d76d62e73ec82
RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Yoga: eddf2bbe4a896454c248a8f23b4355891eb720a6
Yoga: 56413d530d1808044600320ced5baa883acedc44
PODFILE CHECKSUM: ec00682c7062a323dff24a3c3643ca0bbb420d01
PODFILE CHECKSUM: c5053669414ca81c03ca4548249b11fe53a13060
COCOAPODS: 1.14.3

View File

@@ -1024,11 +1024,9 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
@@ -1088,10 +1086,8 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
" ",

View File

@@ -774,11 +774,9 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
" ",
@@ -841,10 +839,8 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 12.4;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
" ",

View File

@@ -529,8 +529,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Naam",
"search": "Soek",
"searchHint": "Soek deelnemers",
"seconds": "{{count}}s",
"speakerStats": "Sprekerstatistiek",
"speakerTime": "Sprekertyd"

View File

@@ -557,6 +557,8 @@
"youtubeTerms": "شروط خدمة يوتيوب"
},
"lobby": {
"admit": "سمح بالدخول",
"admitAll": "سمح للجميع بالدخول",
"allow": "اسمح",
"backToKnockModeButton": "لا يوجد كلمة مرور، اطلب الإذن بالدخول بدلًا من ذلك.",
"chat": "دردشة",
@@ -591,6 +593,8 @@
"notificationTitle": "غرفة الانتظار",
"passwordField": "أدخل كلمة الدخول إلى المُلتقى",
"passwordJoinButton": "انضم",
"reject": "رفض",
"rejectAll": "رفض الكل",
"title": "غرفة الانتظار",
"toggleLabel": "فعِّل غرفة الانتظار"
},
@@ -716,8 +720,6 @@
},
"participantsPane": {
"actions": {
"admit": "سمح بالدخول",
"admitAll": "سمح للجميع بالدخول",
"allow": "السماح للحاضرين بـ:",
"allowVideo": "السماح بالفيديو",
"askUnmute": "اطلب إعادة الصوت",
@@ -730,7 +732,6 @@
"mute": "كتم الصوت",
"muteAll": "كتم الكل",
"muteEveryoneElse": "كتم صوت الآخرين",
"reject": "رفض",
"stopEveryonesVideo": "أوقف فيديو الجميع",
"stopVideo": "أوقف الفيديو",
"unblockEveryoneMicCamera": "قم بإلغاء حظر ميكروفون وكاميرا الجميع",
@@ -1027,7 +1028,6 @@
"neutral": "حيادي",
"sad": "حزين",
"search": "بحث",
"searchHint": "البحث عن المشاركين",
"seconds": "{{count}}ثا",
"speakerStats": "حالة المتحدث",
"speakerTime": "وقت المتحدث",

View File

@@ -584,8 +584,6 @@
"hours": "{{count}}г",
"minutes": "{{count}}хв",
"name": "Імя",
"search": "Пошук",
"searchHint": "Пошук удзельнікаў",
"seconds": "{{count}} с",
"speakerStats": "Статыстыка выступаў",
"speakerTime": "Час выступленняў"

View File

@@ -420,6 +420,8 @@
"youtubeTerms": "Условия за ползване на YouTube"
},
"lobby": {
"admit": "Допусни",
"allow": "Разреши",
"backToKnockModeButton": "Заявка за включване без парола",
"dialogTitle": "Режим лоби",
"disableDialogContent": "Режим Лоби е включен. Този решим защитава срещите Ви от случайни посетители. Искате ли да го изключите?",
@@ -448,6 +450,7 @@
"notificationTitle": "Лоби",
"passwordField": "Въведи парола за срещата",
"passwordJoinButton": "Влез",
"reject": "Откажи",
"title": "Лоби",
"toggleLabel": "Включи лоби"
},
@@ -518,13 +521,6 @@
"suboptimalExperienceTitle": "Внимание",
"unmute": "Пускане на микрофона"
},
"participantsPane": {
"actions": {
"admit": "Допусни",
"allow": "Разреши",
"reject": "Откажи"
}
},
"passwordDigitsOnly": "До {{number}} цифри",
"passwordSetRemotely": "зададена от друг участник",
"poweredby": "с подкрепата на",
@@ -640,7 +636,6 @@
"minutes": "{{count}}мин",
"name": "Име",
"search": "Търсене",
"searchHint": "Търсене участници",
"seconds": "{{count}}сек",
"speakerStats": "Статистика на говорителя",
"speakerTime": "Време на говорене"

View File

@@ -561,6 +561,8 @@
"youtubeTerms": "Condicions de servei de YouTube"
},
"lobby": {
"admit": "Admet",
"admitAll": "Admet tothom",
"allow": "Permet",
"backToKnockModeButton": "Demaneu per a unir-vos",
"chat": "Xat",
@@ -595,6 +597,8 @@
"notificationTitle": "Sala d'espera",
"passwordField": "Introduïu la contrasenya de la reunió",
"passwordJoinButton": "Entra",
"reject": "Rebuja",
"rejectAll": "Rebutja-ho tot",
"title": "Sala d'espera",
"toggleLabel": "Activa la sala d'espera"
},
@@ -723,8 +727,6 @@
},
"participantsPane": {
"actions": {
"admit": "Admet",
"admitAll": "Admet tothom",
"allow": "Permet als assistents:",
"allowVideo": "Permet el vídeo",
"askUnmute": "Demanar l'activació el micròfon",
@@ -737,7 +739,6 @@
"mute": "Silenciar",
"muteAll": "Silencia tothom",
"muteEveryoneElse": "Silenciar tothom",
"reject": "Rebuja",
"stopEveryonesVideo": "Atura el vídeo a tothom",
"stopVideo": "Atura el vídeo",
"unblockEveryoneMicCamera": "Desbloquejar el micròfon i la càmera de tothom",
@@ -1036,7 +1037,6 @@
"neutral": "Neutral",
"sad": "Tristesa",
"search": "Cerca",
"searchHint": "Cerca participants",
"seconds": "{{count}}s",
"speakerStats": "Estadístiques de l'interlocutor",
"speakerTime": "Temps de l'interlocutor",

View File

@@ -557,6 +557,8 @@
"youtubeTerms": "Podmínky používání YouTube"
},
"lobby": {
"admit": "",
"admitAll": "",
"allow": "Povolit",
"backToKnockModeButton": "Žádné heslo, místo toho požádat o přijetí",
"chat": "",
@@ -591,6 +593,7 @@
"notificationTitle": "Předsálí",
"passwordField": "Zadejte heslo setkání",
"passwordJoinButton": "Vstoupit",
"reject": "Odmítnout",
"title": "Předsálí",
"toggleLabel": "Zapnout předsálí"
},
@@ -716,7 +719,22 @@
},
"participantsPane": {
"actions": {
"reject": "Odmítnout"
"allow": "",
"allowVideo": "",
"askUnmute": "",
"audioModeration": "",
"blockEveryoneMicCamera": "",
"invite": "",
"moreModerationActions": "",
"moreModerationControls": "",
"moreParticipantOptions": "",
"mute": "",
"muteAll": "",
"muteEveryoneElse": "",
"stopEveryonesVideo": "",
"stopVideo": "",
"unblockEveryoneMicCamera": "",
"videoModeration": ""
},
"close": "",
"header": "",
@@ -725,7 +743,7 @@
"participantsList": "",
"waitingLobby": ""
},
"search": "Hledat účastníky"
"search": ""
},
"passwordDigitsOnly": "Až {{number}} číslic",
"passwordSetRemotely": "nastaveno jiným účastníkem",
@@ -1008,8 +1026,7 @@
"name": "Jméno",
"neutral": "",
"sad": "",
"search": "Prohledat",
"searchHint": "Hledat účastníky",
"search": "",
"seconds": "{{count}} s",
"speakerStats": "Statistika řečníků",
"speakerTime": "Mluvil/a již",

View File

@@ -568,8 +568,6 @@
"hours": "{{count}}t",
"minutes": "{{count}}m",
"name": "Navn",
"search": "Søg",
"searchHint": "Søg deltagere",
"seconds": "{{count}}s",
"speakerStats": "Deltagerstatistik",
"speakerTime": "Taletid"

View File

@@ -68,7 +68,6 @@
"sendToBreakoutRoom": "Anwesende in Breakout-Raum verschieben:"
},
"breakoutList": "Breakout-Liste",
"buttonLabel": "Breakout-Räume",
"defaultName": "Breakout-Raum #{{index}}",
"hideParticipantList": "Teilnehmerliste ausblenden",
"mainRoom": "Hauptraum",
@@ -77,8 +76,7 @@
"joinedMainRoom": "Hauptraum betreten",
"joinedTitle": "Breakout-Räume"
},
"showParticipantList": "Teilnehmerliste anzeigen",
"title": "Breakout-Räume"
"showParticipantList": "Teilnehmerliste anzeigen"
},
"calendarSync": {
"addMeetingURL": "Konferenzlink hinzufügen",
@@ -209,7 +207,7 @@
"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.",
"descriptionNew": "Nichts passiert? Wir haben versucht, die Konferenz in {{app}} zu öffnen. <br /><br /> Versuchen Sie es erneut oder treten Sie der Konferenz im Web bei.",
"descriptionWithoutWeb": "Ist nichts passiert? Wir haben versucht, Ihre Konferenz in der „{{app}}“-Desktop-App zu starten.",
"descriptionWithoutWeb": "Ist nichts passiert? Wir haben versucht, Ihre Besprechung in der „{{app}}“-Desktop-App zu starten.",
"downloadApp": "App herunterladen",
"downloadMobileApp": "Aus dem App Store herunterladen",
"ifDoNotHaveApp": "Wenn Sie die App noch nicht haben:",
@@ -219,13 +217,11 @@
"joinInBrowser": "Im Browser",
"launchMeetingLabel": "Wie möchten Sie an der Konferenz teilnehmen?",
"launchWebButton": "Im Web öffnen",
"noDesktopApp": "Sie haben die App noch nicht installiert?",
"noMobileApp": "Sie haben die App noch nicht installiert?",
"or": "oder",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie unseren <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie underen<a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"title": "Die Konferenz wird in {{app}} geöffnet …",
"titleNew": "Konferenz starten ...",
"tryAgainButton": "Erneut versuchen",
"tryAgainButton": "Erneut mit der nativen Applikation versuchen",
"unsupportedBrowser": "Sie verwenden einen Browser, der noch nicht unterstützt wird."
},
"defaultLink": "Bsp.: {{url}}",
@@ -485,10 +481,6 @@
"viewUpgradeOptions": "Upgradeoptionen anzeigen",
"viewUpgradeOptionsContent": "Sie müssen Ihren Tarif erweitern, um Premium-Features wie Aufnahme, Transkription, RTMP-Streaming und mehr zu nutzen.",
"viewUpgradeOptionsTitle": "Sie haben ein Premium-Feature entdeckt!",
"whiteboardLimitContent": "Die maximale Zahl an Nutzenden für das Whiteboard ist erreicht.",
"whiteboardLimitReference": "Für weitere Informationen besuchen Sie bitte",
"whiteboardLimitReferenceUrl": "unsere Webseite",
"whiteboardLimitTitle": "Whiteboard-Nutzung beschränkt",
"yourEntireScreen": "Ganzer Bildschirm"
},
"documentSharing": {
@@ -536,7 +528,7 @@
"conferenceURL": "Link:",
"copyNumber": "Nummer kopieren",
"country": "Land",
"dialANumber": "Um an der Konferenz 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:",
@@ -644,6 +636,8 @@
"youtubeTerms": "YouTube-Nutzungsbedingungen"
},
"lobby": {
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"backToKnockModeButton": "Kein Passwort, stattdessen Beitritt anfragen",
"chat": "Chat",
"dialogTitle": "Lobbymodus",
@@ -677,6 +671,8 @@
"notificationLobbyEnabled": "{{originParticipantName}} hat die Lobby aktiviert",
"notificationTitle": "Lobby",
"passwordJoinButton": "Beitreten",
"reject": "Ablehnen",
"rejectAll": "Alle ablehnen",
"title": "Lobby",
"toggleLabel": "Lobby aktivieren"
},
@@ -732,7 +728,6 @@
"dataChannelClosed": "Schlechte Videoqualität",
"dataChannelClosedDescription": "Die Steuerungsverbindung (Bridge Channel) wurde unterbrochen, daher ist die Videoqulität auf die schlechteste Stufe limitiert.",
"disabledIframe": "Die Einbettung ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet.",
"disabledIframeSecondary": "Die Einbettung von {{domain}} ist nur für Demo-Zwecke vorgesehen. Diese Konferenz wird in {{timeout}} Minuten beendet. Bitte nutzen Sie <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a> für produktive Zwecke!",
"disconnected": "getrennt",
"displayNotifications": "Benachrichtigungen anzeigen für",
"dontRemindMe": "Nicht erinnern",
@@ -808,20 +803,15 @@
"videoUnmuteBlockedDescription": "Die Kamera und Bildschirmfreigabe kann aus Überlastungsschutzgründen temporär nicht eingeschaltet werden.",
"videoUnmuteBlockedTitle": "Kamera und Bildschirmfreigabe kann nicht aktiviert werden!",
"viewLobby": "Lobby ansehen",
"waitingParticipants": "{{waitingParticipants}} Personen",
"whiteboardLimitDescription": "Bitte speichern Sie Ihre Inhalte, da das Nutzungslimit bald erreicht wird und dann Ihr Whiteboard geschlossen wird.",
"whiteboardLimitTitle": "Whiteboard-Nutzung"
"waitingParticipants": "{{waitingParticipants}} Personen"
},
"participantsPane": {
"actions": {
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"allow": "Anwesenden erlauben:",
"allowVideo": "Kamera einschalten",
"askUnmute": "Anfragen, Stummschaltung aufzuheben",
"audioModeration": "Für sich selbst die Stummschaltung aufzuheben",
"blockEveryoneMicCamera": "Kamera und Mikrofon von allen sperren",
"breakoutRooms": "Breakout-Räume",
"invite": "Person einladen",
"moreModerationActions": "Weitere Moderationsoptionen",
"moreModerationControls": "Weitere Moderationsoptionen",
@@ -829,7 +819,6 @@
"mute": "Stummschalten",
"muteAll": "Alle stummschalten",
"muteEveryoneElse": "Alle anderen stummschalten",
"reject": "Ablehnen",
"stopEveryonesVideo": "Alle Kameras ausschalten",
"stopVideo": "Kamera ausschalten",
"unblockEveryoneMicCamera": "Kamera und Mikrofon von allen entsperren",
@@ -839,7 +828,6 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"visitorRequests": " (Anfragen {{count}})",
"visitors": "Gäste ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
},
@@ -930,7 +918,7 @@
"joinWithoutAudio": "Ohne Ton beitreten",
"keyboardShortcuts": "Tastaturkurzbefehle aktivieren",
"linkCopied": "Link in die Zwischenablage kopiert",
"lookGood": "Alles scheint zu funktionieren.",
"lookGood": "Ihr Mikrofon scheint zu funktionieren.",
"or": "oder",
"premeeting": "Vorschau",
"proceedAnyway": "Trotzdem fortsetzen",
@@ -1018,15 +1006,12 @@
"onlyRecordSelf": "Nur eigenes Kamerabild und Ton aufzeichnen",
"pending": "Aufzeichnung des Meetings wird vorbereitet…",
"rec": "AUFZ",
"recordAudioAndVideo": "Kamera und Ton aufzeichnen",
"recordTranscription": "Transkription aufzeichnen",
"saveLocalRecording": "Aufzeichnung lokal abspeichern",
"serviceDescription": "Ihre Aufzeichnung wird vom Aufzeichnungsdienst gespeichert",
"serviceDescriptionCloud": "Cloud-Aufzeichnung",
"serviceDescriptionCloudInfo": "Aufzeichnungen werden 24 Stunden nach Aufzeichnungsende automatisch gelöscht.",
"serviceName": "Aufnahmedienst",
"sessionAlreadyActive": "Diese Konferenz wird bereits aufgezeichnet.",
"showAdvancedOptions": "Weitere Optionen",
"signIn": "Anmelden",
"signOut": "Abmelden",
"surfaceError": "Bitte das aktuelle Tab auswählen.",
@@ -1147,7 +1132,6 @@
"neutral": "Neutral",
"sad": "Traurig",
"search": "Suche",
"searchHint": "Suche Anwesende",
"seconds": "{{count}} Sek.",
"speakerStats": "Sprechstatistik",
"speakerTime": "Sprechzeit",
@@ -1170,7 +1154,7 @@
"toolbar": {
"Settings": "Einstellungen",
"accessibilityLabel": {
"Settings": "Einstellungen einschalten",
"Settings": "Einstellungen ein-/ausschalten",
"audioOnly": "„Nur Audio“ ein-/ausschalten",
"audioRoute": "Audiogerät auswählen",
"boo": "Buhen",
@@ -1216,7 +1200,7 @@
"moreActions": "Menü „Weitere Einstellungen“ ein-/ausschalten",
"moreActionsMenu": "Menü „Weitere Einstellungen“",
"moreOptions": "Menü „Weitere Optionen“",
"mute": "Mikrofon deaktivieren",
"mute": "Mikrofon aktivieren / deaktivieren",
"muteEveryone": "Alle stummschalten",
"muteEveryoneElse": "Alle anderen stummschalten",
"muteEveryoneElsesVideoStream": "Alle anderen Kameras ausschalten",
@@ -1254,7 +1238,7 @@
"toggleFilmstrip": "Miniaturansichten ein-/ausschalten",
"unmute": "Stummschaltung aufheben",
"videoblur": "Unscharfer Hintergrund ein-/ausschalten",
"videomute": "Kamera stoppen",
"videomute": "„Video stummschalten“ ein-/ausschalten",
"videomuteGUMPending": "Verbinde Ihre Kamera",
"videounmute": "Kamera einschalten"
},
@@ -1303,7 +1287,7 @@
"lowerYourHand": "Hand senken",
"moreActions": "Weitere Einstellungen",
"moreOptions": "Weitere Optionen",
"mute": "Audio stummschalten",
"mute": "Stummschalten",
"muteEveryone": "Alle stummschalten",
"muteEveryonesVideo": "Alle Kameras ausschalten",
"muteGUMPending": "Verbinde Ihre Kamera",
@@ -1362,7 +1346,6 @@
"failedToStart": "Transkribieren konnte nicht gestartet werden",
"labelToolTip": "Das Meeting wird transkribiert",
"off": "Transkribieren gestoppt",
"on": "Transkribieren gestartet",
"pending": "Transkribieren des Meetings wird vorbereitet…",
"sourceLanguageDesc": "Aktuell ist die Sprache der Konferenz auf <b>{{sourceLanguage}}</b> eingestellt. <br/> Sie könne dies hier ",
"sourceLanguageHere": "ändern",

View File

@@ -563,6 +563,8 @@
"youtubeTerms": "wužywaŕske wustawki za youtube"
},
"lobby": {
"admit": "pśizwóliś",
"admitAll": "wšyknym pśizwólenje daś",
"backToKnockModeButton": "mimo kodowego słowa, město togo wó pśistup pšosyś",
"chat": "chat",
"dialogTitle": "lobbyjowy modus",
@@ -596,6 +598,8 @@
"notificationTitle": "lobby",
"passwordField": "kodowe słowo za konferencu zapódaś",
"passwordJoinButton": "pśistupiś",
"reject": "wótpokazaś",
"rejectAll": "wšykne wótpokazaś",
"title": "",
"toggleLabel": "lobby aktiwěrowaś / deaktiwěrowaś"
},
@@ -726,8 +730,6 @@
},
"participantsPane": {
"actions": {
"admit": "pśizwóliś",
"admitAll": "wšyknym pśizwólenje daś",
"allow": "wobźělnikam pšawo daś:",
"allowVideo": "kameru aktiwěrowaś",
"askUnmute": "pšosbu wó anulěrowanje wuśišenja stajiś",
@@ -740,7 +742,6 @@
"mute": "wuśišyś",
"muteAll": "wšyknych wuśišyś",
"muteEveryoneElse": "wšykne druge wuśišyś",
"reject": "wótpokazaś",
"stopEveryonesVideo": "wšykne kamery wušaltowaś",
"stopVideo": "kameru wušaltowaś",
"unblockEveryoneMicCamera": "blokěrowane kamery a mikrofon wšyknych zasej aktiwěrowaś",
@@ -1037,7 +1038,6 @@
"neutral": "neutralny/neutralna",
"sad": "tužny/tužna",
"search": "pytaś",
"searchHint": "wobźělniki pytaś",
"seconds": "{{count}} sek.",
"speakerStats": "statistika powědarja",
"speakerTime": "cas powědanja",

View File

@@ -580,6 +580,8 @@
"youtubeTerms": "Όροι υπηρεσιών YouTube"
},
"lobby": {
"admit": "Αποδοχή",
"admitAll": "Αποδοχή όλων",
"backToKnockModeButton": "Αίτημα εισόδου",
"chat": "Συνομιλία",
"dialogTitle": "Λειτουργία υποδοχής",
@@ -613,6 +615,8 @@
"notificationTitle": "Υποδοχή",
"passwordField": "Εισάγετε τον κωδικό σύσκεψης",
"passwordJoinButton": "Συμμετοχή",
"reject": "Απόρριψη",
"rejectAll": "Απόρριψη όλων",
"title": "Υποδοχή",
"toggleLabel": "Ενεργοποίηση υποδοχής"
},
@@ -741,8 +745,6 @@
},
"participantsPane": {
"actions": {
"admit": "Αποδοχή",
"admitAll": "Αποδοχή όλων",
"allow": "Επιτρέψτε στους συμμετέχοντες να:",
"allowVideo": "Επιτρέψτε το βίντεο",
"askUnmute": "Αίτηση για κατάργηση σίγησης",
@@ -755,7 +757,6 @@
"mute": "Σίγηση",
"muteAll": "Σίγηση όλων",
"muteEveryoneElse": "Σίγηση όλων των άλλων",
"reject": "Απόρριψη",
"stopEveryonesVideo": "Διακοπή όλων των βίντεο",
"stopVideo": "Διακοπή του βίντεο",
"unblockEveryoneMicCamera": "Επιτρέψτε τα μικρόφωνα και τις κάμερες όλων",
@@ -1055,7 +1056,6 @@
"neutral": "Ουδέτερο",
"sad": "Λυπημένο",
"search": "Αναζήτηση",
"searchHint": "Αναζήτηση συμμετεχόντων",
"seconds": "{{count}}δ",
"speakerStats": "Στατιστικά Συμμετεχόντων",
"speakerTime": "Χρόνος Ομιλητή",

View File

@@ -1,22 +1,19 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Ligilon al kunveno: {{url}}"
},
"add": "Inviti",
"addContacts": "Inviti viajn kontaktojn",
"contacts": "kontaktoj",
"copyInvite": "Kopii la invitligilon",
"copyLink": "Kopii la kunsidligilon",
"copyStream": "Kopii elsendfluan ligilon",
"countryNotSupported": "Ni ankoraŭ ne subtenas ĉi-tiun landon.",
"countryNotSupported": "Ni ankoraŭ ne subtenas ĉi tiun landon.",
"countryReminder": "Ĉu vi vokas ekster Usonon? Certiĝu, ke vi komencas per la landokodo!",
"defaultEmail": "Via defaŭlta retadreso",
"disabled": "Vi ne povas inviti homojn.",
"failedToAdd": "Malsukcesis aldono de membroj",
"googleEmail": "Google-retadreso",
"inviteMoreHeader": "Vi estas la sola en la retkunveno",
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunveno",
"inviteMoreHeader": "Vi estas la sola en la retkunsido",
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunsido",
"inviteMorePrompt": "Inviti pli da homoj",
"linkCopied": "Ligilo kopiita al tondujo",
"noResults": "Nenio trovita",
@@ -28,7 +25,7 @@
"shareStream": "Konigi elsendfluan ligilon",
"sipAddresses": "SIP-adresoj",
"telephone": "Telefono: {{number}}",
"title": "Inviti homojn al ĉi-tiu kunveno",
"title": "Inviti homojn al ĉi tiu kunveno",
"yahooEmail": "Yahoo-retadreso"
},
"audioDevices": {
@@ -42,47 +39,28 @@
"audioOnly": {
"audioOnly": "Malalta rapideco de retkonekto"
},
"bandwidthSettings": {
"assumedBandwidthBps": "ekz. 10000000 for 10 Mbps",
"assumedBandwidthBpsWarning": "Pli altaj valoroj povas kaŭzi retajn problemojn.",
"customValue": "Elektita valoro",
"customValueEffect": "Elekti la bps valoro (bitoj po sekundo)",
"leaveEmpty": "lasu malplena",
"leaveEmptyEffect": "por ebligi taksojn",
"possibleValues": "Eblaj valoroj",
"setAssumedBandwidthBps": "Supozita kapacity (bps)",
"title": "Agordoj por kapacito",
"zeroEffect": "malebligi videon"
},
"breakoutRooms": {
"actions": {
"add": "Aldoni aneksan ĉambron",
"autoAssign": "Asigni aŭtomate al aneksaj ĉambroj",
"autoAssign": "Asigni aŭtomate al aneksanaj ĉambroj",
"close": "Fermi",
"join": "Aliĝi",
"leaveBreakoutRoom": "Eliri la aneksan ĉambron",
"more": "Pli",
"remove": "Forigi",
"rename": "Ŝanĝi nomon de ĉambro",
"renameBreakoutRoom": "Ŝanĝi nomon de aneksa ĉambro",
"sendToBreakoutRoom": "Sendi la partoprenanton al:"
},
"breakoutList": "Aneksa listo",
"buttonLabel": "Aneksaj ĉambroj",
"defaultName": "Aneksa ĉambro #{{index}}",
"hideParticipantList": "Kaŝi liston de partoprenantoj",
"mainRoom": "Ĉefĉambro",
"notifications": {
"joined": "Alirante al aneksa ĉambro \"{{name}}\"",
"joinedMainRoom": "Alirante al ĉefĉambro",
"joinedTitle": "Aneksaj ĉambroj"
},
"showParticipantList": "Montri liston de partoprenantoj",
"title": "Aneksaj Ĉambroj"
}
},
"calendarSync": {
"addMeetingURL": "Aldoni ligilon al la kunveno",
"confirmAddLink": "Ĉu vi volas aldoni Jitsi-ligilon al ĉi-tiu evento?",
"confirmAddLink": "Ĉu vi volas aldoni Jitsi-ligilon al ĉi tiu evento?",
"error": {
"appConfiguration": "Kalendara integrigo ne estas ĝuste agordita.",
"generic": "Okazis eraro. Bonvolu kontroli viajn kalendarajn agordojn aŭ provu aktualigi la kalendaron.",
@@ -169,7 +147,6 @@
"bridgeCount": "Nombro de serviloj: ",
"codecs": "Kodekoj (sono/video):",
"connectedTo": "Konektita al:",
"e2eeVerified": "E2EE Aprobita:",
"framerate": "Bildrapido:",
"less": "Montri malpli",
"localaddress": "Loka adreso:",
@@ -178,7 +155,6 @@
"localport_plural": "Lokaj pordoj:",
"maxEnabledResolution": "Maksimuma flukvanto",
"more": "Montri pli",
"no": "ne",
"packetloss": "Perdo de pakaĵoj:",
"participant_id": "ID de partoprenanto",
"quality": {
@@ -197,8 +173,7 @@
"status": "Konekto:",
"transport": "Transporto:",
"transport_plural": "Transportoj:",
"video_ssrc": "Video-SSRC",
"yes": "jes"
"video_ssrc": "Video-SSRC"
},
"dateUtils": {
"earlier": "Pli frue",
@@ -206,23 +181,15 @@
"yesterday": "Hieraŭ"
},
"deepLinking": {
"appNotInstalled": "Vi bezonas la aplikaĵon {{app}} por aliĝi al ĉi-tiu kunveno per via telefono.",
"appNotInstalled": "Vi bezonas la aplikaĵon {{app}} por aliĝi al ĉi tiu kunveno per via telefono.",
"description": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}. Provu denove aŭ lanĉu ĝin en la reta aplikaĵo {{web}}.",
"descriptionNew": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}. <br /><br /> Vi povas provi denove, au uzi la retejon.",
"descriptionWithoutWeb": "Ĉu nenio okazis? Ni provis lanĉi vian kunveno en la komputila aplikaĵo {{app}}.",
"downloadApp": "Elŝuti la aplikaĵon",
"downloadMobileApp": "Elŝuti el aplikaĵvendejo",
"ifDoNotHaveApp": "Se vi ankoraŭ ne havas la aplikaĵon",
"ifHaveApp": "Se vi jam havas la aplikaĵon",
"joinInApp": "Aliĝu al ĉi-tiu kunveno per la aplikaĵo",
"joinInAppNew": "Aliĝu per la aplikaĵo",
"joinInBrowser": "Aliĝu per la retumilo",
"launchMeetingLabel": "Kiel vi volas aliĝu al ĉi-tiu kunveno?",
"joinInApp": "Aliĝu al ĉi tiu kunsido per la aplikaĵo",
"launchWebButton": "Lanĉi enrete",
"noMobileApp": "Ĉu vi ne jam havas la aplikaĵon?",
"termsAndConditions": "Daŭrigante, vi konsentas kun niaj <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>kondiĉoj.</a>",
"title": "Enirante vian kunvenon per {{app}}…",
"titleNew": "Enirante vian kunvenon...",
"title": "Lanĉo de via kunveno en {{app}}…",
"tryAgainButton": "Provu denove per la komputila aplikaĵo",
"unsupportedBrowser": "Ŝajnas ke vi uzas nesubtenitan retumilon"
},
@@ -235,12 +202,6 @@
"microphonePermission": "Eraro akirante permeson por mikrofono"
},
"deviceSelection": {
"hid": {
"callControl": "Voko kontrolo",
"connectedDevices": "Ligitaj aparatoj:",
"deleteDevice": "Forgesu aparaton",
"pairDevice": "Kuplu aparaton"
},
"noPermission": "Permeso ne estis donita",
"previewUnavailable": "Antaŭrigardo ne disponeblas",
"selectADevice": "Elektu aparaton",
@@ -261,23 +222,16 @@
"Share": "Kundividi",
"Submit": "Sendi",
"WaitForHostMsg": "La kunveno ankoraŭ ne komencis. Se vi estas la gastiganto, bonvolu aŭtentiĝi. Alikaze atendu, ĝis la gastiganto venos.",
"WaitingForHostButton": "Atendante la gastiganton",
"WaitingForHostTitle": "Atendante la gastiganton…",
"Yes": "Jes",
"accessibilityLabel": {
"Cancel": "Nuligi (forlasi dialogujon)",
"Ok": "Okej (konservi ŝanĝojn kaj forlasi dialogujon)",
"close": "Fermi dialogujon",
"liveStreaming": "Tuja elsendfluo",
"sharingTabs": "Kunhavaj Agordoj"
"liveStreaming": "Tuja elsendfluo"
},
"add": "Aldoni",
"addMeetingNote": "Aldoni komenton pri tiu kunveno",
"addMeetingNote": "Aldoni komenton pri tiu kunsido",
"addOptionalNote": "Aldoni komenton (fakultativa)",
"allow": "Permesi",
"allowToggleCameraDialog": "Do you allow {{initiatorName}} to toggle your camera facing mode?",
"allowToggleCameraTitle": "Ĉu permesu baskuligi kameraon?",
"alreadySharedVideoMsg": "Alia partoprenanto jam kundividas videon. Ĉi-tiu kunveno permesas nur unu kundividata video samtempe.",
"alreadySharedVideoMsg": "Alia partoprenanto jam kundividas videon. Ĉi tiu kunveno permesas nur unu kundividata video samtempe.",
"alreadySharedVideoTitle": "Nur unu video estas permesata samtempe.",
"applicationWindow": "Programa fenestro",
"authenticationRequired": "Bezonas aŭtentokontrolon",
@@ -309,9 +263,9 @@
"e2eeDescription": "<p>Tutvoja ĉifrado estas nuntempe <strong>EKSPERIMENTA</strong>. Bonvolu vidi <a href='https://jitsi.org/blog/e2ee/' target='_blank'>ĉi tiun artikolon</a> por detaloj.</p><br/><p>Konsciu, ke ŝalti tutvojan ĉifradon efektive malebligos servilflankajn servojn kiel ekzemple: registradon, tujan elsendfluon kaj telefonan partoprenon. Konsciu ankaŭ, ke la kunveno funkcios nur por homoj, kiuj uzas retumilon subtenantan enmetatajn fluojn.</p>",
"e2eeDisabledDueToMaxModeDescription": "Ne eblas ŝalti tutvoja ĉifrado pro granda kvanto da partoprenantoj en la prelego",
"e2eeLabel": "Ŝlosilo",
"e2eeWarning": "<br /><p><strong>ATENTIGO:</strong> Ne ĉiuj partoprenantoj en ĉi-tiu kunveno ŝajnas havi subtenon de tutvoja ĉifrado. Se vi ŝaltos ĝin, ili ne povos vidi aŭ aŭdi vin.</p>",
"e2eeWarning": "<br /><p><strong>ATENTIGO:</strong> Ne ĉiuj partoprenantoj en ĉi tiu kunveno ŝajnas havi subtenon de tutvoja ĉifrado. Se vi ŝaltos ĝin, ili ne povos vidi aŭ aŭdi vin.</p>",
"e2eeWillDisableDueToMaxModeDescription": "AVERTO: Tutvoja ĉifrado estos aŭtomate malŝaltita",
"embedMeeting": "Enkorpigi kunveno",
"embedMeeting": "Enkorpigi kunsidon",
"enterDisplayName": "Bonvolu entajpi vian nomon ĉi-tie",
"error": "Eraro",
"gracefulShutdown": "Nia servo nun estas eksterreta pro prizorgado. Bonvolu reprovi poste.",
@@ -325,8 +279,8 @@
"internalErrorTitle": "Interna eraro",
"kickMessage": "Vi povas kontakti {{participantDisplayName}} por pli da detaloj.",
"kickParticipantButton": "Forĵeti",
"kickParticipantDialog": "Ĉu vi certe volas forĵeti ĉi-tiun partoprenanton?",
"kickParticipantTitle": "Forĵeti ĉi-tiun partoprenanton?",
"kickParticipantDialog": "Ĉu vi certe volas forĵeti ĉi tiun partoprenanton?",
"kickParticipantTitle": "Forĵeti ĉi tiun partoprenanton?",
"kickTitle": "Aj! {{participantDisplayName}} forĵetis vin el la kunveno",
"linkMeeting": "Ligi la prelegon",
"linkMeetingTitle": "Ligi la prelegon al Salesforce",
@@ -337,7 +291,6 @@
"lockRoom": "Aldoni $t(lockRoomPasswordUppercase) al la kunveno.",
"lockTitle": "Ŝloso malsukcesis",
"login": "Ensaluti",
"loginQuestion": "Ĉi vi certe volas ensaluti kaj enrigi la kunvenon?",
"logoutQuestion": "Ĉu vi certe volas adiaŭi kaj fini la kunvenon?",
"logoutTitle": "Elsaluti",
"maxUsersLimitReached": "Maksimuma nombro de partoprenantoj atingita. La kunveno estas plena. Bonvolu kontakti la posedanton de la kunveno aŭ reprovi poste!",
@@ -369,18 +322,20 @@
"muteParticipantsVideoBody": "Vi ne povos ŝalti la kameraon denove, sed ili povos ŝalti ĝin mem iam ajn.",
"muteParticipantsVideoBodyModerationOn": "Nek vi nek ili povos ŝalti la kameraon denove.",
"muteParticipantsVideoButton": "Malŝaltu la kameraon",
"muteParticipantsVideoDialog": "Ĉu vi certe volas malŝalti la kameraon de tiu-ĉi uzanto? Vi ne povos ŝalti ĝin denove, sed ili povos ŝalti ĝin mem iam ajn.",
"muteParticipantsVideoDialogModerationOn": "Ĉu vi certe volas malŝalti la kameraon de tiu-ĉi uzanto? Nek vi nek ili povos ŝalti ĝin denove.",
"muteParticipantsVideoTitle": "Malŝaltu la kameraon de tiu-ĉi uzanto?",
"muteParticipantsVideoDialog": "Ĉu vi certe volas malŝalti la kameraon de tiu ĉi uzanto? Vi ne povos ŝalti ĝin denove, sed ili povos ŝalti ĝin mem iam ajn.",
"muteParticipantsVideoDialogModerationOn": "Ĉu vi certe volas malŝalti la kameraon de tiu ĉi uzanto? Nek vi nek ili povos ŝalti ĝin denove.",
"muteParticipantsVideoTitle": "Malŝaltu la kameraon de tiu ĉi uzanto?",
"noDropboxToken": "Nevalidaj Dropbox-ĵetonoj",
"password": "Pasvorto",
"passwordLabel": "La kunvenon ŝlosis partoprenanto. Bonvolu entajpi $t(lockRoomPassword) por aliĝi.",
"passwordNotSupported": "Agordo de kunvena pasvorto ne estas subtenata",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) ne subtenata",
"passwordRequired": "$t(lockRoomPasswordUppercase) deviga",
"permissionCameraRequiredError": "Permeso uzi kameraon estas bezonata por partopreni prelegojn kun video. Bonvolu doni tiun-ĉi permeson en Agordoj.",
"permissionCameraRequiredError": "Permeso uzi kameraon estas bezonata por partopreni prelegojn kun video. Bonvolu doni tiun ĉi permeson en Agordoj.",
"permissionErrorTitle": "Permeso deviga",
"permissionMicRequiredError": "Permeso uzi microfono estas bezonata por partopreni prelegojn kun aŭdaĵo. Bonvolu doni tiun-ĉi permeson en Agordoj.",
"permissionMicRequiredError": "Permeso uzi microfono estas bezonata por partopreni prelegojn kun aŭdaĵo. Bonvolu doni tiun ĉi permeson en Agordoj.",
"popupError": "Via foliumilo forbaras ŝprucfenestrojn de tiu ĉi retejo. Bonvolu permesi ŝprucfenestrojn en la prisekuraj agordoj de via fenestro kaj reprovi.",
"popupErrorTitle": "Ŝprucfenestro barita",
"readMore": "Pli",
"recentlyUsedObjects": "Viaj lastatempe uzitaj objektoj",
"recording": "Registrado",
@@ -397,8 +352,6 @@
"removePassword": "Forigi $t(lockRoomPassword)",
"removeSharedVideoMsg": "Ĉu vi vere volas forigi vian kunhavatan videon?",
"removeSharedVideoTitle": "Forigi kunhavatan videon",
"renameBreakoutRoomLabel": "Nomo de aneksa ĉambro",
"renameBreakoutRoomTitle": "Ŝanĝi nomon de aneksa ĉambro",
"reservationError": "Rezervosistema eraro",
"reservationErrorMsg": "Kodo de eraro: {{code}}, mesaĝo: {{msg}}",
"retry": "Reprovi",
@@ -418,7 +371,6 @@
"sendPrivateMessageTitle": "Sendi private?",
"serviceUnavailable": "Servo ne disponeblas",
"sessTerminated": "Voko finita",
"sessTerminatedReason": "La kunveno estas finigita",
"sessionRestarted": "Voko restartigis pro problemo kun la konecto.",
"shareAudio": "Daŭrigi",
"shareAudioTitle": "Kiel kunhavigi sonon",
@@ -449,58 +401,29 @@
"streamKey": "Ŝlosilo de tuja elsendfluo",
"thankYou": "Dankon ke vi uzas {{appName}}!",
"token": "ĵetono",
"tokenAuthFailed": "Pardonu, vi ne rajtas aliĝi al ĉi-tiu voko.",
"tokenAuthFailedReason": {
"audInvalid": "Nevalida `aud` valoro. Ĝi estu `jitsi`.",
"contextNotFound": "La `context` objekto mankas de la portaĵo.",
"expInvalid": "Nevalida `exp` valoro.",
"featureInvalid": "Nevalida funkcio: {{feature}}, plej verŝajne, ne jam realigita.",
"featureValueInvalid": "Nevalida valoro for funkcio: {{feature}}.",
"featuresNotFound": "La `features` objekto mankas de la portaĵo.",
"headerNotFound": "Mankante la kapon.",
"issInvalid": "Nevalida `iss` valoro. It should be `chat`.",
"kidMismatch": "Ŝlosila ID (kid) ne kongruas.",
"kidNotFound": "Mankanta Ŝlosila ID (kid).",
"nbfFuture": "La `nbf` valoro estas en la estonteco.",
"nbfInvalid": "Nevalida `nbf` valoro.",
"payloadNotFound": "Mankas la portaĵon.",
"tokenExpired": "Ĵetono eksvalidiĝis."
},
"tokenAuthFailed": "Pardonu, vi ne rajtas aliĝi al ĉi tiu voko.",
"tokenAuthFailedTitle": "Aŭtentigo malsukcesis",
"tokenAuthFailedWithReasons": "Vi ne havas permeson aliĝi al ĉi-tiu kunveno. Eblaj kialoj: {{reason}}",
"tokenAuthUnsupported": "Ĵetona retejeo ne estas subtenata",
"transcribing": "transskribado",
"unlockRoom": "Forigi la $t(lockRoomPassword)n de la ĉambro",
"user": "Uzanto",
"userIdentifier": "Uzantidentigilo",
"userPassword": "Uzantopasvorto",
"verifyParticipantConfirm": "Ili kongruas",
"verifyParticipantDismiss": "Ili ne kongruas",
"verifyParticipantQuestion": "EKSPERIMENTA: Demandu al {{participantName}} se ili vidas la saman enhavon, laŭ la sama ordo.",
"verifyParticipantTitle": "Identkontrolo",
"videoLink": "Video-ligilo",
"viewUpgradeOptions": "Montru opcioj por plibonigaj eldonoj",
"viewUpgradeOptionsContent": "Se vi volas aliron al superaj funkcioj, kiel registrado, transskribo, RTMP vivelsendo & pli, vi plibonigu vian subskribon.",
"viewUpgradeOptionsTitle": "Vi malkovris superan funkcion!",
"whiteboardLimitContent": "Bedaŭre, la limo de samtempaj blanktabulaj uzantoj estas atingita.",
"whiteboardLimitReference": "Por pli da informo, bonvole vizitu",
"whiteboardLimitReferenceUrl": "Nia retejo",
"whiteboardLimitTitle": "Blanktabula patroprenanta limo atingita",
"yourEntireScreen": "Via tuta ekrano"
},
"documentSharing": {
"title": "Kundividita dokumento"
},
"e2ee": {
"labelToolTip": "Ĉiuj partoprenantoj en ĉi-tiu kunveno ŝaltis tutvojan ĉifradon"
"labelToolTip": "Ĉiuj partoprenantoj en ĉi tiu kunveno ŝaltis tutvojan ĉifradon"
},
"embedMeeting": {
"title": "Enigi ĉi-tiun renkontiĝon"
"title": "Enigi ĉi tiun renkontiĝon"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Via takso"
},
"average": "Mezbona",
"bad": "Malbona",
"detailsLabel": "Diru al ni pli pri ĝi.",
@@ -510,15 +433,13 @@
"veryBad": "Tre malbona",
"veryGood": "Tre bona"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Videaj bildetoj"
}
},
"giphy": {
"noResults": "Rezultoj ne trovitaj :(",
"search": "Serĉi en GIPHY"
},
"helpView": {
"title": "Helpejo"
},
"incomingCall": {
"answer": "Respondi",
"audioCallTitle": "Alvenanta voko",
@@ -540,14 +461,14 @@
"dialInSummaryError": "Eraro dum venigo de telefonadaj informoj. Bonvolu reprovi poste.",
"dialInTollFree": "Senkosta numero",
"genericError": "Oj, io fuŝiĝis.",
"inviteLiveStream": "Por vidi la tujan elsendfluon, alklaku ĉi-tiun ligilon: {{url}}",
"inviteLiveStream": "Por vidi la tujan elsendfluon, alklaku ĉi tiun ligilon: {{url}}",
"invitePhone": "Por aliĝi per telefono anstataŭe, tuŝu tion: {{number}},,{{conferenceID}}#\n",
"invitePhoneAlternatives": "Ĉu vi serĉas alian telefonnumeron?\nVidi la telefonnumerojn de la kunveno: {{url}}\n\n\nSe vi vokas ankaŭ per ĉambra telefono, vi povas aliĝi sen sono: {{silentUrl}}",
"inviteSipEndpoint": "Por aliĝi per la SIP adreso, entajpu tio: {{sipUri}}.",
"inviteTextiOSInviteUrl": "Alklaku tiu-ĉi ligilon pour aliĝi: {{inviteUrl}}.",
"inviteTextiOSJoinSilent": "Se vi aliĝas per ĉambra telefono, uzu ĉi-tiun ligon por aliĝi sen konektiĝi al audio:{{silentUrl}}.",
"inviteTextiOSInviteUrl": "Alklaku tiu ĉi ligilon pour aliĝi: {{inviteUrl}}.",
"inviteTextiOSJoinSilent": "Se vi aliĝas per ĉambra telefono, uzu ĉi tiun ligon por aliĝi sen konektiĝi al audio:{{silentUrl}}.",
"inviteTextiOSPersonal": "{{name}} invitas vin al kunveno.",
"inviteTextiOSPhone": "Por aliĝi telefone, uzu ĉi-tiun numeron: {{number}},,{{conferenceID}}#. Se vi serĉas alian numeron, jen la plena listo: {{didUrl}}.",
"inviteTextiOSPhone": "Por aliĝi telefone, uzu ĉi tiun numeron: {{number}},,{{conferenceID}}#. Se vi serĉas alian numeron, jen la plena listo: {{didUrl}}.",
"inviteURLFirstPartGeneral": "Vi estas invitita al kunveno.",
"inviteURLFirstPartPersonal": "{{name}} invitas vin al kunveno.\n",
"inviteURLSecondPart": "\nAliĝi al la kunveno:\n{{url}}\n",
@@ -561,9 +482,8 @@
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Vi atingis la limon de via subskribo.",
"sip": "SIP-adreso",
"sipAudioOnly": "SIP nur-aŭdia adreso",
"title": "Kundividi",
"tooltip": "Kundividi ligilon kaj telefonnumeron por ĉi-tiu kunveno",
"tooltip": "Kundividi ligilon kaj telefonnumeron por ĉi tiu kunveno",
"upgradeOptions": "Bonvolu kontroli la ĝisdatigajn opciojn."
},
"inlineDialogFailure": {
@@ -629,7 +549,7 @@
"onBy": "{{name}} komencis la tujan elsendfluon",
"pending": "Startigo de tuja elsendfluo…",
"serviceName": "Servoj de tuja elsendado",
"sessionAlreadyActive": "Oni jam registras aŭ vivelsendas ĉi-tiun seancon.",
"sessionAlreadyActive": "Oni jam registras aŭ vivelsendas ĉi tiun seancon.",
"signIn": "Ensaluti kun Google",
"signInCTA": "Ensalutu aŭ entajpu vian ŝlosilon tuja elsendado el YouTube.",
"signOut": "Elsaluti",
@@ -641,6 +561,9 @@
"youtubeTerms": "Uzkondiĉoj de YouTube"
},
"lobby": {
"admit": "Akcepti",
"admitAll": "Akcepti ĉion",
"allow": "Permesi",
"backToKnockModeButton": "Petu por aliĝi",
"chat": "Babilejo",
"dialogTitle": "Atendeja reĝimo",
@@ -666,14 +589,16 @@
"knockingParticipantList": "Listo de uzantoj, kiuj volas aliĝi",
"lobbyChatStartedNotification": "{{moderator}} startis atendejan babilejon kun {{attendee}}.",
"lobbyChatStartedTitle": "{{moderator}} startis atendejan babilejon kun vi.",
"lobbyClosed": "La atendeja babilejo estas fermita.",
"nameField": "Entajpu vian nomon",
"notificationLobbyAccessDenied": "{{targetParticipantName}} estis malakceptita aliĝi de {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} estis akceptita aliĝi de {{originParticipantName}}",
"notificationLobbyDisabled": "{{originParticipantName}} malŝaltis atendejon",
"notificationLobbyEnabled": "{{originParticipantName}} ŝaltis atendejon",
"notificationTitle": "Atendejo",
"passwordField": "Entajpu pasvorton de la renkontiĝo",
"passwordJoinButton": "Aliĝi",
"reject": "Malakceptu",
"rejectAll": "Malakceptu ĉion",
"title": "Atendejo",
"toggleLabel": "Ŝaltu atendejon"
},
@@ -701,12 +626,10 @@
"no": "Ne",
"participant": "Partoprenantoj",
"participantStats": "Statistikoj pri la partoprenantoj",
"selectTabTitle": "🎥 Bonvolu elekti ĉi-tiun langeton por registrado",
"selectTabTitle": "🎥 Bonvolu elekti ĉi tiun langeton por registrado",
"sessionToken": "Sesia ĵetono",
"start": "Komenci registradon",
"stop": "Fini registradon",
"stopping": "Finiganta registradon",
"wait": "Bonvole atendu dum la registro estas konservata",
"yes": "Jes"
},
"lockRoomPassword": "Pasvorto",
@@ -726,13 +649,8 @@
"connectedOneMember": "{{name}} aliĝis al la kunveno",
"connectedThreePlusMembers": "{{name}} kaj {{count}} aliaj aliĝis al la kunveno",
"connectedTwoMembers": "{{first}} kaj {{second}} aliĝis al la kunveno",
"dataChannelClosed": "Videa kvalito estas malboniĝita.",
"dataChannelClosedDescription": "La ponta kanalo estas malkonektita, do videa kvalito restas ĉe la plej malalta grado.",
"disabledIframe": "Enkorpigado estas nur por demonstri, do ĉi-tiu kunveno malkonektos post {{timeout}} minutoj.",
"disabledIframeSecondary": "Enkorpigado de {{domain}} estas nur por demonstri, do ĉi-tiu kunveno malkonektos post {{timeout}} minutoj.",
"disconnected": "malkonektita",
"displayNotifications": "Montru sciigojn por",
"dontRemindMe": "Ne sciigu min",
"focus": "Kunvena atento",
"focusFail": "{{component}} ne estas disponebla reprovu post {{ms}} sekundoj",
"gifsMenu": "GIPHY",
@@ -741,7 +659,6 @@
"invitedOneMember": "{{name}} estis invitita",
"invitedThreePlusMembers": "{{name}} kaj {{count}} aliaj estis invititaj",
"invitedTwoMembers": "{{first}} kaj {{second}} estis invititaj",
"joinMeeting": "Aliĝi",
"kickParticipant": "{{kicked}} estis forĵetita de {{kicker}}",
"leftOneMember": "{{name}} foriris el la kunveno",
"leftThreePlusMembers": "{{name}} kaj multaj aliaj foriris el la kunveno",
@@ -749,7 +666,7 @@
"linkToSalesforce": "Ligilo al Salesforce",
"linkToSalesforceDescription": "Vi povas ligi la kunvenan resumon al Salesforce objekto.",
"linkToSalesforceError": "Malsukcesis ligi la kunvenon al Salesforces",
"linkToSalesforceKey": "Ligi ĉi-tiun kunvenon",
"linkToSalesforceKey": "Ligi ĉi tiun kunvenon",
"linkToSalesforceProgress": "Ligante la kunvenon al Salesforce…",
"linkToSalesforceSuccess": "La kunveno estas ligita al Salesforce.",
"localRecordingStarted": "{{name}} startigis lokan registradon.",
@@ -776,6 +693,7 @@
"newDeviceCameraTitle": "Nova kamerao detektita",
"noiseSuppressionDesktopAudioDescription": "Neeblas aktivi la nuligon de bruo dum dividado de labortabla audio. Bonvolu malŝalti ĝin kaj provi denove. ",
"noiseSuppressionFailedTitle": "Malsukcesis startigi la nuligon de bruo",
"noiseSuppressionNoTrackDescription": "Bonvolu unue malsilentigi vian mikrofonon.",
"noiseSuppressionStereoDescription": "Forigo de bruo por stereosono ankoraŭ ne estas subtenata.",
"oldElectronClientDescription1": "Ŝajnas, ke vi uzas malnovan version de la kliento de Jitsi Meet, kiu havas konatajn sekurec-vundeblojn. Bonvolu ĝisdatigi al nia ",
"oldElectronClientDescription2": "plej nova versio",
@@ -791,8 +709,6 @@
"reactionSoundsForAll": "Malebligi sonojn por ĉiuj",
"screenShareNoAudio": "La elektobutono “Kundividi sonon” ne estis elektita en la fenestro de elekto de ektrano.",
"screenShareNoAudioTitle": "Ne eblis kunhavigi sisteman audio!",
"screenSharingAudioOnlyDescription": "Notu bonvole, ke kunhavi la ekranon uzas plie la kapaciton.",
"screenSharingAudioOnlyTitle": "\"Plej Alta Rendimento\"-reĝimo",
"selfViewTitle": "Vi ĉiam povas malkaŝi la memvidon en agordoj",
"somebody": "Iu",
"startSilentDescription": "Aliĝu denove al la kunveno por ŝalti sonon",
@@ -805,20 +721,15 @@
"videoUnmuteBlockedDescription": "Malsilentigo de la kamerao kaj funkciado de kunhava labortablo estis provizore blokitaj pro sistemaj limoj.",
"videoUnmuteBlockedTitle": "Malsilentigo de la kamerao kaj kunhavigo de la ekrano estas blokitaj!",
"viewLobby": "Vidu atendejon",
"waitingParticipants": "{{waitingParticipants}} homo(j)",
"whiteboardLimitDescription": "Bonvole konservu vian progreson, ĉar la uzantlimo baldaŭ estos atingita, kaj la blanktabulo fermiĝos.",
"whiteboardLimitTitle": "Blanktabula uzado"
"waitingParticipants": "{{waitingParticipants}} homo(j)"
},
"participantsPane": {
"actions": {
"admit": "Akcepti",
"admitAll": "Akcepti ĉion",
"allow": "Al la partoprenantoj permesi:",
"allowVideo": "Permesi kameraon",
"askUnmute": "Peti malsilentigi",
"audioModeration": "Malsilentigi sin mem",
"blockEveryoneMicCamera": "Bloki la kameraon kaj la mikrofonon de ĉiuj",
"breakoutRooms": "Aneksaj ĉambroj",
"invite": "Inviti iun",
"moreModerationActions": "Pli da moderigaj opcioj",
"moreModerationControls": "Pli da moderigaj regiloj",
@@ -826,7 +737,6 @@
"mute": "Silentigi",
"muteAll": "Silentigi ĉiujn",
"muteEveryoneElse": "Silentigi ĉiujn aliajn",
"reject": "Malakceptu",
"stopEveryonesVideo": "Ĉesigu ĉies videaĵon",
"stopVideo": "Ĉesigu la videaĵon",
"unblockEveryoneMicCamera": "Malbloku ĉies mikrofonon kaj kameraon",
@@ -836,8 +746,6 @@
"headings": {
"lobby": "Atendejo ({{count}})",
"participantsList": "Partoprenantoj en la kunveno ({{count}})",
"visitorRequests": " (petoj {{count}})",
"visitors": "Vizitantaj {{count}}",
"waitingLobby": "En la atendejo ({{count}})"
},
"search": "Serĉu partoprenantojn",
@@ -845,7 +753,6 @@
},
"passwordDigitsOnly": "Ĝis {{number}} ciferoj",
"passwordSetRemotely": "agordita de alia partoprenanto",
"pinParticipant": "{{participantName}} - Pingli",
"pinnedParticipant": "La partoprenanto estas fiksita",
"polls": {
"answer": {
@@ -883,7 +790,7 @@
"audioOnlyError": "Eraro kun la aŭdaĵo:",
"audioTrackError": "Ne eblis krei sontrakon.",
"callMe": "Voku min.",
"callMeAtNumber": "Voku min al ĉi-tiu numero:",
"callMeAtNumber": "Voku min al ĉi tiu numero:",
"calling": "Voko…",
"configuringDevices": "Agordo de la aparatoj…",
"connectedWithAudioQ": "Ĉu vi estas konektita kun aŭdaĵo?",
@@ -897,7 +804,7 @@
"audioHighQuality": "Verŝajne via sono estos bonega.",
"audioLowNoVideo": "Verŝajne via sono estos malbona kaj ne estos videaĵo.",
"goodQuality": "Bonege! Via media kvalito estos tre bona.",
"noMediaConnectivity": "Ni ne sukcesis starigi aŭdvidan konekton por ĉi-tiu testo. Tion kutime kaŭzas fajroŝirmilo aŭ NAT.",
"noMediaConnectivity": "Ni ne sukcesis starigi aŭdvidan konekton por ĉi tiu testo. Tion kutime kaŭzas fajroŝirmilo aŭ NAT.",
"noVideo": "Veŝajne via videaĵo estos malbonega.",
"undetectable": "Se vi ankoraŭ ne povas voki per retumilo, ni rekomendas, ke vi certiĝu, ke viaj laŭtparoliloj, mikrofono kaj kamerao estas ĝuste agorditaj; ke vi donis rajtojn al via retumilo uzi viajn mikrofonon kaj kameraon; ke via retumilo estas ĝisdata. Se vi ankoraŭ ne povas voki, vi devus kontakti la programiston de la retejo.",
"veryPoorConnection": "Verŝajne la kvalito de via voko estos malbonega.",
@@ -930,11 +837,9 @@
"lookGood": "Via mikrofono funkcias ĝuste",
"or": "Aŭ",
"premeeting": "Antaŭkunveno",
"proceedAnyway": "Daŭrigi",
"screenSharingError": "Eraro kun la ekrandividado:",
"showScreen": "Ebligu antaŭkunvenon ekranon",
"startWithPhone": "Komencu kun la telefona sono",
"unsafeRoomConsent": "Akceptu la riskojn, kaj daŭrigi",
"videoOnlyError": "Eraro kun la videaĵo:",
"videoTrackError": "Ne eblis krei videotrakon.",
"viewAllNumbers": "Vidu ĉiujn numerojn"
@@ -953,6 +858,9 @@
"rejected": "Malakceptita",
"ringing": "Sonorado…"
},
"privacyView": {
"title": "Privateco"
},
"profile": {
"avatar": "Profilbildo",
"setDisplayNameLabel": "Agordi vian videblan nomon",
@@ -964,7 +872,7 @@
"raisedHandsLabel": "Nombro da levitaj manoj",
"record": {
"already": {
"linked": "La kunveno jam estas ligita al tiu-ĉi Salesforce-objekto."
"linked": "La kunveno jam estas ligita al tiu ĉi Salesforce-objekto."
},
"type": {
"account": "Konto",
@@ -1006,7 +914,6 @@
"localRecordingVideoWarning": "Por registri vian videon, ŝaltu la kameraon antaŭ vi komencas la registradon.",
"localRecordingWarning": "Certigu, ke vi elektas la nunan langeton por uzi la ĝustajn filmetojn kaj sonojn. La registrado estas nuntempe limigita al 1GB, kio estas proksimume 100 minutoj.",
"loggedIn": "Ensalutinta kiel {{userName}}",
"noMicPermission": "Mikrofono ne povis esti uzata. Bonvole donu permeson uzi la mikrofonon.",
"noStreams": "Neniu aŭdio aŭ videofluo detektita.",
"off": "Registrado finita",
"offBy": "{{name}} ĉesigis la registradon",
@@ -1015,15 +922,12 @@
"onlyRecordSelf": "Registri nur miajn aŭd- kaj videofluojn",
"pending": "Prepariĝo por registrado de la kunveno…",
"rec": "REG",
"recordAudioAndVideo": "Konservu kaj aŭdion kaj videon",
"recordTranscription": "Konservu transskribon",
"saveLocalRecording": "Konservu registraddosieron loke (Beta)",
"serviceDescription": "Via registraĵo estos konservita de la registra servo",
"serviceDescriptionCloud": "Nubo registrado",
"serviceDescriptionCloudInfo": "Registritaj renkontiĝoj estas aŭtomate forigitaj 24h post sia tempo de registrado.",
"serviceName": "Registra servo",
"sessionAlreadyActive": "Ĉi tiu sesio jam estas registrita aŭ vivelsendita.",
"showAdvancedOptions": "Detalaj agordoj",
"signIn": "Ensaluti",
"signOut": "Elsaluti",
"surfaceError": "Bonvolu elekti la nunan langeton.",
@@ -1039,17 +943,10 @@
"security": {
"about": "Vi povas aldoni $t(lockRoomPassword) al via renkontiĝo. Partoprenantoj devos doni la $t(lockRoomPassword) antaŭ ol ili rajtas aliĝi al la renkontiĝo.",
"aboutReadOnly": "Moderaciuloj povas aldoni $t(lockRoomPassword) al la renkontiĝo. Partoprenantoj devos doni la $t(lockRoomPassword) antaŭ ol ili rajtas aliĝi al la renkontiĝo.",
"insecureRoomNameWarningNative": "Ĉi-tiu ĉambro ne estas sekura. Nevolataj partoprenantoj povas aliĝi vian kunvenvon.",
"insecureRoomNameWarningWeb": "Ĉi-tiu ĉambro ne estas sekura. Nevolataj partoprenantoj povas aliĝi vian kunvenvon. {{recommendAction}} Lerni pli pri sekuri vian kunvenon <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">ĉi-tie</a>.",
"title": "Sekurecaj Opcioj",
"unsafeRoomActions": {
"meeting": "Konsideru sekurigi vian kunvenon per la sekureca butono.",
"prejoin": "Konsideru uzi pli unikan kunvenan nomon.",
"welcome": "Konsideru uzi pli unikan kunvenan nomon, aŭ elekti unu el la sugestataj."
}
"insecureRoomNameWarning": "La ĉambronomo estas nesekura. Nedezirataj partoprenantoj povas aliĝi al via prelego. Konsideru sekurigi vian renkontiĝon per la sekureca butono.",
"title": "Sekurecaj Opcioj"
},
"settings": {
"audio": "Aŭdio",
"buttonLabel": "Agordoj",
"calendar": {
"about": "La integrigo de kalendaro {{appName}} estas uzata por sekure aliri vian kalendaron, por ke ĝi povu legi planitajn eventojn.",
@@ -1070,11 +967,9 @@
"maxStageParticipants": "Maksimuma nombro da partoprenantoj, kiuj povas esti alpinglitaj al la ĉefa scenejo (EXPERIMENTA)",
"microphones": "Mikrofonoj",
"moderator": "Kunvenestro",
"moderatorOptions": "Kunvenestaj agordoj",
"more": "Pli",
"name": "Nomo",
"noDevice": "Neniu",
"notifications": "Sciigoj",
"participantJoined": "Partoprenanto aliĝis",
"participantKnocking": "Partoprenanto eniris atendejon",
"participantLeft": "Partoprenanto foriris",
@@ -1085,14 +980,13 @@
"selectCamera": "Kamerao",
"selectMic": "Mikrofono",
"selfView": "Memrigardo",
"shortcuts": "Ŝparvojoj",
"sounds": "Sonoj",
"speakers": "Laŭparoliloj",
"startAudioMuted": "Ĉiuj komenciĝas silentaj",
"startReactionsMuted": "Silentigu la reagajn sonojn por ĉiujn",
"startVideoMuted": "Ĉiuj komenciĝas kaŝitaj",
"talkWhileMuted": "Parolu dum silentigita",
"title": "Agordoj",
"video": "Video"
"title": "Agordoj"
},
"settingsView": {
"advanced": "Altnivela",
@@ -1100,7 +994,6 @@
"alertOk": "Bone",
"alertTitle": "Atentigo",
"alertURLText": "La entajpita URL de servilo estas nevalida",
"apply": "Apliki",
"buildInfoSection": "Informoj pri la versio",
"conferenceSection": "Konferenco",
"disableCallIntegration": "Malŝalti denaskan integrigon de vokoj",
@@ -1111,14 +1004,12 @@
"displayNamePlaceholderText": "Eg: Petro Ekzemplulo",
"email": "Retadreso",
"emailPlaceholderText": "retadreso@ekzemplo.com",
"gavatarMessage": "La profilbildo de via Gravatar-konto estos uzata se via retadreso ligas al Gravatar-konto",
"goTo": "Iru al",
"header": "Agordoj",
"help": "Helpo",
"links": "Ligiloj",
"privacy": "Privateco",
"profileSection": "Profilo",
"sdkVersion": "SDK versio",
"serverURL": "URL de servilo",
"showAdvanced": "Montri altnivelajn agordojn",
"startCarModeInLowBandwidthMode": "Komencu aŭtoreĝimon en malaltkapacita reĝimo",
@@ -1128,8 +1019,8 @@
"version": "Versio"
},
"share": {
"dialInfoText": "\n\n=====\n\nĈu vi volas simple voki per via telefono?\n\n{{defaultDialInNumber}}Alklaku ĉi-tiun ligilon por vidi la telefonnumerojn por ĉi-tiu kunveno\n{{dialInfoPageUrl}}",
"mainText": "Alklaku ĉi-tiun ligilon por aliĝi al la kunveno:\n{{roomUrl}}"
"dialInfoText": "\n\n=====\n\nĈu vi volas simple voki per via telefono?\n\n{{defaultDialInNumber}}Alklaku ĉi tiun ligilon por vidi la telefonnumerojn por ĉi tiu kunveno\n{{dialInfoPageUrl}}",
"mainText": "Alklaku ĉi tiun ligilon por aliĝi al la kunveno:\n{{roomUrl}}"
},
"speaker": "Laŭtparolilo",
"speakerStats": {
@@ -1144,7 +1035,6 @@
"neutral": "Neŭtrala",
"sad": "Malĝoja",
"search": "Serĉu",
"searchHint": "Serĉu partoprenantojn",
"seconds": "{{count}}s",
"speakerStats": "Statistikoj pri la parolanto",
"speakerTime": "Tempo de parolado",
@@ -1171,35 +1061,25 @@
"audioOnly": "Baskuligi nur-sonan reĝimon",
"audioRoute": "Elekti la sonaparaton",
"boo": "Hui",
"breakoutRooms": "Aneksaj ĉambroj",
"breakoutRoom": "Eniru/Eliru ĉambreton",
"callQuality": "Agordi vidkvaliton",
"carmode": "Aŭta reĝimo",
"cc": "Baskuligi subtekstojn",
"chat": "Baskuligi tujmesaĝilan fenestron",
"clap": "Aplaŭdi",
"closeChat": "Eliri babilejon",
"closeMoreActions": "Fermi agan dialogujon",
"closeParticipantsPane": "Fermi fenestro de partoprenantoj",
"collapse": "Maletendi",
"dock": "Doku en ĉefa fenestro",
"document": "Baskuligi kundividitan dokumenton",
"documentClose": "Fermi kunhavatan dokumenton",
"documentOpen": "Malfermi kunhavatan dokumenton",
"download": "Elŝuti niajn aplikaĵojn",
"embedMeeting": "Enkorpigita renkontiĝo",
"endConference": "Finu kunvenon por ĉiuj",
"enterFullScreen": "Vidi per plena ekrano",
"enterTileView": "Vidi per kahela reĝimo",
"exitFullScreen": "Eliri de plena ekrano",
"exitTileView": "Eliri de kahela reĝimo",
"expand": "Etendi",
"feedback": "Lasi recenzon",
"fullScreen": "Baskuligi tutekranan reĝimon",
"giphy": "Baskuligi GIPHY menuon",
"grantModerator": "Donu Rajtojn de Moderatoro",
"hangup": "Forlasi la vokon",
"heading": "Ilobreto",
"help": "Helpo",
"hideWhiteboard": "Kaŝi blanktabulon",
"invite": "Inviti homojn",
"kick": "Forĵeti partoprenanton",
"laugh": "Ridi",
@@ -1209,7 +1089,6 @@
"lobbyButton": "Ŝaltu/Malŝaltu atendejan reĝimon",
"localRecording": "Baskuligi lokajn registrilojn",
"lockRoom": "Baskuligi pasvorton por la kunveno",
"lowerHand": "Mallevi la manon",
"moreActions": "Baskuligi la menuon kun pli da agoj",
"moreActionsMenu": "Menuo kun pli da agoj",
"moreOptions": "Montri pli da ebloj",
@@ -1218,15 +1097,12 @@
"muteEveryoneElse": "Silentigu ĉiujn aliajn",
"muteEveryoneElsesVideoStream": "Ĉesigu la videon de ĉiuj aliaj",
"muteEveryonesVideoStream": "Ĉesigu ĉies videon",
"muteGUMPending": "Konektanta vian mikrofonon",
"noiseSuppression": "Bruo nuligo",
"openChat": "Malfermi babilejon",
"participants": "Partoprenantoj",
"pip": "Baskuligi la reĝimon “bildo en bildo”",
"privateMessage": "Sendi privatan mesaĝon",
"profile": "Redakti vian profilon",
"raiseHand": "Baskuligi manlevon",
"reactions": "Reagoj",
"reactionsMenu": "Malfermu / Fermu reagojn menuon",
"recording": "Baskuligi registradon",
"remoteMute": "Silentigi partoprenanton",
@@ -1240,20 +1116,16 @@
"sharedvideo": "Baskuligi kundividadon de videoj",
"shortcuts": "Baskuligi fulmklavojn",
"show": "Montri sur scenejo",
"showWhiteboard": "Montri blanktabulon",
"silence": "Silento",
"speakerStats": "Baskuligi statistikojn pri parolanto",
"stopScreenSharing": "Halti kunhavi vian ekranon",
"stopSharedVideo": "Halti kunhavi vian videon",
"surprised": "Surprizita",
"tileView": "Baskuligi kahelan vidon",
"toggleCamera": "Baskuligi kameraon",
"toggleFilmstrip": "Baskuligi filmbendon",
"unmute": "Malsilentigi",
"undock": "Maldokiĝu en apartan fenestron",
"videoblur": "Baskuligi malnetigon de video",
"videomute": "Silentigi/malsilentigi videon",
"videomuteGUMPending": "Konektanta vian kameraon",
"videounmute": "Ŝalti kameraon"
"whiteboard": "Montru / Kaŝu blanktabulon"
},
"addPeople": "Aldoni homojn al via voko",
"audioOnlyOff": "Malŝalti malalt-trafikan reĝimon",
@@ -1266,16 +1138,15 @@
"chat": "Malfermi / Fermi babilejon",
"clap": "Aplaŭdi",
"closeChat": "Malfermi babilejon",
"closeParticipantsPane": "Malfermu partoprenantan dialogujon",
"closeReactionsMenu": "Fermu la menuon de reagoj",
"disableNoiseSuppression": "Malŝaltu bruonuligon",
"disableReactionSounds": "Vi povas malŝalti reagsonojn por ĉi-tiu renkontiĝo",
"documentClose": "Fermi komunan dokumenton",
"documentOpen": "Malfermi komunan dokumenton",
"disableReactionSounds": "Vi povas malŝalti reagsonojn por ĉi tiu renkontiĝo",
"dock": "Doku en ĉefa fenestro",
"documentClose": "Malfermi/Fermi komunan dokumenton",
"documentOpen": "Malfermi/Fermi komunan dokumenton",
"download": "Elŝuti niajn aplikaĵojn",
"e2ee": "Tutvoja ĉifrado",
"embedMeeting": "Enkorpigita renkontiĝo",
"enableNoiseSuppression": "Ebligi bruan redukton",
"endConference": "Finu la renkontiĝon por ĉiuj",
"enterFullScreen": "Vidi tutekrane",
"enterTileView": "Vidi kahele",
@@ -1302,8 +1173,7 @@
"moreOptions": "Pli da ebloj",
"mute": "Silentigi/Malsilentigi",
"muteEveryone": "Silentigi ĉiujn",
"muteEveryonesVideo": "Malŝalti ĉies kameraon",
"muteGUMPending": "Liganta vian mikrofonon",
"muteEveryonesVideo": "Malŝalto ĉies kameraon",
"noAudioSignalDesc": "Se vi ne intence silentigis ĝin per viaj sistemaj agordoj aŭ fizike, konsideru transŝalti al alia aparato.",
"noAudioSignalDescSuggestion": "Se vi ne intence silentigis ĝin per viaj sistemaj agordoj aŭ fizike, konsideru transŝalti al la proponata aparato.",
"noAudioSignalDialInDesc": "Vi povas ankaŭ telefoni per:",
@@ -1326,7 +1196,6 @@
"reactionLike": "Sendi reagon “ŝati”",
"reactionSilence": "Sendi reagon “silento”",
"reactionSurprised": "Sendi reagon “surprizita”",
"reactions": "Reagoj",
"security": "Sekurecaj opcioj",
"selectBackground": "Elekti fonon",
"shareRoom": "Inviti iun",
@@ -1346,11 +1215,9 @@
"talkWhileMutedPopup": "Ĉu vi provas paroli? Vi estas silentigita.",
"tileViewToggle": "Baskuligi titolan vidon",
"toggleCamera": "Baskuligi kameraon",
"unmute": "Malsilentigi mikrofonon",
"undock": "Maldokiĝu en apartan fenestron",
"videoSettings": "Video-agordoj",
"videomute": "Ŝalti / Malŝalti kameraon",
"videomuteGUMPending": "Konektanta via kamerao",
"videounmute": "Ŝalti kameraon"
"videomute": "Ŝalti / Malŝalti kameraon"
},
"transcribing": {
"ccButtonTooltip": "Komenci / Ĉesigi subtekstojn",
@@ -1368,7 +1235,6 @@
"subtitlesOff": "Malŝaltitaj",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Malpingli",
"userMedia": {
"androidGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
"chromeGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
@@ -1394,7 +1260,7 @@
"videoStatus": {
"adjustFor": "Ĝustigi por:",
"audioOnly": "SON",
"audioOnlyExpanded": "Vi estas en malalt-trafika reĝimo. En ĉi-tiu reĝimo vi ricevos nur sonon kaj kundividatajn ekranojn.",
"audioOnlyExpanded": "Vi estas en malalt-trafika reĝimo. En ĉi tiu reĝimo vi ricevos nur sonon kaj kundividatajn ekranojn.",
"bestPerformance": " Plej bona rendimento",
"callQuality": "Videa kvalito",
"hd": "AD",
@@ -1407,11 +1273,9 @@
"ldTooltip": "La video estas en malaltkvalita distingivo",
"lowDefinition": "Malaltkvalita distingivo",
"performanceSettings": "Agordoj de rendimento",
"recording": "Registranta",
"sd": "ND",
"sdTooltip": "La video estas en normalkvalita distingivo",
"standardDefinition": "Normalkvalita distingivo",
"streaming": "Elsendfluanta"
"standardDefinition": "Normalkvalita distingivo"
},
"videothumbnail": {
"connectionInfo": "Informoj pri Konekto",
@@ -1423,7 +1287,6 @@
"grantModerator": "Donu Rajtojn de Moderatoro",
"hideSelfView": "Kaŝi memvidon",
"kick": "Forĵeti",
"mirrorVideo": "Speguli mian videon",
"moderator": "Kunvenestro",
"mute": "Partoprenanto silentigita",
"muted": "Silentigita",
@@ -1433,15 +1296,10 @@
"show": "Montri sur scenejo",
"showSelfView": "Montri memvidon",
"unpinFromStage": "Malalpingli",
"verify": "Aprobi partoprenanton",
"videoMuted": "Kamera malŝaltita",
"videomute": "La partoprenanto malŝaltis la kameraon"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Nuna fono: {{background}}",
"selectBackground": "Elekti fonon"
},
"addBackground": "Aldoni fonon",
"apply": "Apliki",
"backgroundEffectError": "Malsukcesis apliki fonan efikon.",
@@ -1463,17 +1321,9 @@
"title": "Virtualaj fonoj",
"uploadedImage": "Alŝutita bildo {{index}}",
"webAssemblyWarning": "WebAssembly ne subtenata",
"webAssemblyWarningDescription": "WebAssembly malŝaltita aŭ ne subtenata de ĉi-tiu retumilo"
"webAssemblyWarningDescription": "WebAssembly malŝaltita aŭ ne subtenata de ĉi tiu retumilo"
},
"visitors": {
"chatIndicator": "(vizitanto)",
"labelTooltip": "Nombro da vizitantoj: {{count}}",
"notification": {
"description": "Levu la manon por partopreni",
"title": "Vi estas vizitanto en la kunveno"
}
},
"volumeSlider": "Laŭteca ŝovilo",
"volumeSlider": "",
"welcomepage": {
"accessibilityLabel": {
"join": "Tuŝu por aliĝi",
@@ -1505,7 +1355,6 @@
"microsoftLogo": "Logotipo de Microsoft",
"policyLogo": "Logotipo de regularo"
},
"meetingsAccessibilityLabel": "Kunveno",
"mobileDownLoadLinkAndroid": "Elŝutu apon por Android",
"mobileDownLoadLinkFDroid": "Elŝutu apon por F-Droid",
"mobileDownLoadLinkIos": "Elŝutu apon por iOS",
@@ -1514,7 +1363,6 @@
"recentList": "Lastaj",
"recentListDelete": "Forigi",
"recentListEmpty": "Via listo de lastaj kunvenoj estas malplena. Babilu kun via teamo kaj vi trovos ĉi tie ĉiujn viajn lastajn kunvenojn.",
"recentMeetings": "Viaj lastatempaj kunvenoj",
"reducedUIText": "Bonvenon all {{app}}!",
"roomNameAllowedChars": "La nomo de la kunveno ne povas enhavi la jenajn signojn: ?, &, :, ', \", %, #.",
"roomname": "Entajpu nomon de ĉambro",
@@ -1523,12 +1371,6 @@
"settings": "Agordoj",
"startMeeting": "Komenci renkontiĝon",
"terms": "Uzkondiĉoj",
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj",
"upcomingMeetings": "Via estontecaj kunveno"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Blanktabulo"
}
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj"
}
}

View File

@@ -598,6 +598,8 @@
"youtubeTerms": "Términos de servicios de YouTube"
},
"lobby": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"backToKnockModeButton": "No hay contraseña, pide permiso para entrar.",
"chat": "Chat",
"dialogTitle": "Sala de espera",
@@ -631,6 +633,8 @@
"notificationTitle": "Sala de espera",
"passwordField": "Introduce la contraseña de la reunión",
"passwordJoinButton": "Entrar",
"reject": "Rechazar",
"rejectAll": "Rechazar todo",
"title": "Sala de espera",
"toggleLabel": "Activar sala de espera"
},
@@ -764,8 +768,6 @@
},
"participantsPane": {
"actions": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"allow": "Permitir a los asistentes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pida que le quiten el silencio",
@@ -778,7 +780,6 @@
"mute": "Silenciar",
"muteAll": "Silenciar a todos",
"muteEveryoneElse": "Silenciar al resto",
"reject": "Rechazar",
"stopEveryonesVideo": "Detener el vídeo de todos",
"stopVideo": "Detener el vídeo",
"unblockEveryoneMicCamera": "Desbloquear el micrófono y la cámara de todos",
@@ -1089,7 +1090,6 @@
"neutral": "Neutral",
"sad": "Triste",
"search": "Buscar",
"searchHint": "Buscar participantes",
"seconds": "{{count}} s",
"speakerStats": "Estadísticas de participantes",
"speakerTime": "Tiempo hablado",

View File

@@ -521,6 +521,8 @@
"youtubeTerms": "Términos de servicios de YouTube"
},
"lobby": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"allow": "permitir",
"backToKnockModeButton": "No hay contraseña, pide permiso para entrar.",
"dialogTitle": "Sala de espera",
@@ -551,6 +553,8 @@
"notificationTitle": "Sala de espera",
"passwordField": "Introduce la contraseña de la reunión",
"passwordJoinButton": "Entrar",
"reject": "Rechazar",
"rejectAll": "Rechazar todo",
"title": "Sala de espera",
"toggleLabel": "Activar sala de espera"
},
@@ -648,8 +652,6 @@
},
"participantsPane": {
"actions": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"allow": "Permitir a los asistentes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pida que le quiten el silencio",
@@ -659,7 +661,6 @@
"mute": "Silenciar",
"muteAll": "Silenciar a todos los demás",
"muteEveryoneElse": "Silenciar al resto",
"reject": "Rechazar",
"stopEveryonesVideo": "Detener el vídeo de todos",
"stopVideo": "Detener el vídeo",
"unblockEveryoneMicCamera": "Desbloquear el micrófono y la cámara de todos",
@@ -897,7 +898,6 @@
"minutes": "{{count}} min",
"name": "Nombre",
"search": "Buscar",
"searchHint": "Buscar participantes",
"seconds": "{{count}} s",
"speakerStats": "Estadísticas de participantes",
"speakerTime": "Tiempo hablado"

View File

@@ -571,8 +571,6 @@
"hours": "{{count}}t",
"minutes": "{{count}}m",
"name": "Nimi",
"search": "Otsi",
"searchHint": "Otsige osalejaid",
"seconds": "{{count}}s",
"speakerStats": "Kõneleja andmed",
"speakerTime": "Kõnelemise aeg"

View File

@@ -463,6 +463,8 @@
"youtubeTerms": "YouTuberen erabilpen baldintzak"
},
"lobby": {
"admit": "Onartu",
"admitAll": "Onartu guztiak",
"allow": "Baimendu",
"backToKnockModeButton": "Ez du pasahitza erabili, baina sartzea eskatu du",
"dialogTitle": "Itxaron-gela modua",
@@ -492,6 +494,7 @@
"notificationTitle": "Itxaron-gela",
"passwordField": "Idatzi bileraren pasahitza",
"passwordJoinButton": "Sartu",
"reject": "Baztertu",
"title": "Itxaron-gela",
"toggleLabel": "Itxaron-gela aktibatu"
},
@@ -573,11 +576,8 @@
},
"participantsPane": {
"actions": {
"admit": "Onartu",
"admitAll": "Onartu guztiak",
"invite": "Gonbidatu norbait",
"muteAll": "Ixilarazi guztiak",
"reject": "Baztertu",
"stopVideo": "Gelditu bideoa"
},
"close": "Itxi",
@@ -766,8 +766,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Izena",
"search": "Bilatu",
"searchHint": "Bilatu parte-hartzaileak",
"seconds": "{{count}}s",
"speakerStats": "Hizlariaren estatistikak",
"speakerTime": "Hizlariaren denbora"

View File

@@ -606,6 +606,8 @@
"youtubeTerms": "شرایط خدمات یوتیوب"
},
"lobby": {
"admit": "پذیرفتن",
"admitAll": "پذیرفتن همه",
"backToKnockModeButton": "درخواست برای پیوستن",
"chat": "گپ",
"dialogTitle": "حالت اتاق انتظار",
@@ -639,6 +641,8 @@
"notificationTitle": "اتاق انتظار",
"passwordField": "گذرواژهٔ جلسه را وارد کنید",
"passwordJoinButton": "پیوستن",
"reject": "ردکردن",
"rejectAll": "ردکردن همه",
"title": "اتاق انتظار",
"toggleLabel": "فعال‌کردن اتاق انتظار"
},
@@ -772,8 +776,6 @@
},
"participantsPane": {
"actions": {
"admit": "پذیرفتن",
"admitAll": "پذیرفتن همه",
"allow": "به حاضران اجازه دهید:",
"allowVideo": "اجازهٔ ویدیو",
"askUnmute": "درخواست وصل‌کردن صدا",
@@ -786,7 +788,6 @@
"mute": "بی‌صداکردن",
"muteAll": "بی‌صداکردن همه",
"muteEveryoneElse": "بی‌صداکردن بقیه افراد",
"reject": "ردکردن",
"stopEveryonesVideo": "توقف ویدیوی همه",
"stopVideo": "توقف ویدیو",
"unblockEveryoneMicCamera": "رفع مسدودی میکروفون و دوربین همه",
@@ -1097,7 +1098,6 @@
"neutral": "خنثی",
"sad": "غمگین",
"search": "جستجو",
"searchHint": "جستجوی شرکت‌کنندگان",
"seconds": "{{count}} ثانیه",
"speakerStats": "آمار شرکت‌کنندگان",
"speakerTime": "مدت زمان گوینده",

View File

@@ -535,8 +535,6 @@
"hours": "{{count}} t",
"minutes": "{{count}} min",
"name": "Nimi",
"search": "Etsi",
"searchHint": "Etsi osallistujia",
"seconds": "{{count}} s",
"speakerStats": "Puhujatilastot",
"speakerTime": "Puhujan aika"

View File

@@ -1,8 +1,5 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Lien de la réunion: {{url}}"
},
"add": "Inviter",
"addContacts": "Inviter vos contacts",
"contacts": "contacts",
@@ -42,18 +39,6 @@
"audioOnly": {
"audioOnly": "Bande passante faible"
},
"bandwidthSettings": {
"assumedBandwidthBps": "p. ex. 10000000 pour 10 Mbps ",
"assumedBandwidthBpsWarning": "Des valeurs élevées peuvent provoquer des problèmes réseaux.",
"customValue": "valeur personnalisée",
"customValueEffect": "Positionner la valeur actuelle en bps",
"leaveEmpty": "Laisser vide",
"leaveEmptyEffect": "Autoriser l'utilisation de l'estimation",
"possibleValues": "Valeurs possibles",
"setAssumedBandwidthBps": "Bande passante estimée",
"title": "Réglage de bande passante",
"zeroEffect": "Désactiver la vidéo"
},
"breakoutRooms": {
"actions": {
"add": "Ajouter salle annexe",
@@ -63,22 +48,15 @@
"leaveBreakoutRoom": "Quitter la salle annexe",
"more": "Plus",
"remove": "Supprimer",
"rename": "Renommer",
"renameBreakoutRoom": "Renommer la salle annexe",
"sendToBreakoutRoom": "Envoyer le participant dans:"
},
"breakoutList": "Liste des salles annexes",
"buttonLabel": "Salles annexes",
"defaultName": "Salle annexe #{{index}}",
"hideParticipantList": "Masquer la liste des participants",
"mainRoom": "Salle principale",
"notifications": {
"joined": "Entrée en salle annexe \"{{name}}\"",
"joinedMainRoom": "Retour à la salle principalem",
"joinedTitle": "Salles annexes"
},
"showParticipantList": "Afficher la liste des participants",
"title": "Salles annexes"
}
},
"calendarSync": {
"addMeetingURL": "Ajouter un lien de conférence",
@@ -140,7 +118,7 @@
"buttonText": "Installer l'extension Chrome",
"buttonTextEdge": "Installer lextension Edge",
"close": "Fermer",
"dontShowAgain": "Ne plus m'afficher ceci",
"dontShowAgain": "Ne plus me montrer ceci",
"installExtensionText": "Installer l'extension pour l'intégration de Google Calendar et Office 365"
},
"connectingOverlay": {
@@ -171,14 +149,13 @@
"connectedTo": "Connecté à :",
"e2eeVerified": "E2EE vérifié",
"framerate": "Images par seconde :",
"less": "Masquer les détails",
"less": "Cacher les détails",
"localaddress": "Adresse locale :",
"localaddress_plural": "Adresses locales :",
"localport": "Port local :",
"localport_plural": "Ports locaux :",
"maxEnabledResolution": "débit max",
"more": "Afficher les détails",
"no": "non",
"more": "Montrer les détails",
"packetloss": "Perte de paquets :",
"participant_id": "ID du participant:",
"quality": {
@@ -197,8 +174,7 @@
"status": "Connexion :",
"transport": "Transport :",
"transport_plural": "Transports :",
"video_ssrc": "Video SSRC :",
"yes": "oui"
"video_ssrc": "Video SSRC :"
},
"dateUtils": {
"earlier": "Plus tôt",
@@ -261,12 +237,9 @@
"Share": "Partager",
"Submit": "Soumettre",
"WaitForHostMsg": "La conférence n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
"WaitingForHostButton": "Attendre l'hôte",
"WaitingForHostTitle": "En attente de l'hôte ...",
"Yes": "Oui",
"accessibilityLabel": {
"Cancel": "Annuler (quiter la popup)",
"Ok": "Ok (Sauvegarder et quiter la popup)",
"close": "Fermer la popup",
"liveStreaming": "Diffusion en direct",
"sharingTabs": "Options de partage"
@@ -275,8 +248,6 @@
"addMeetingNote": "Ajouter une note à cette conférence",
"addOptionalNote": "Ajouter une note (optionnel):",
"allow": "Autoriser",
"allowToggleCameraDialog": "Autorisez-vous {{initiatorName}} à changer votre mode de caméra ?",
"allowToggleCameraTitle": "Autoriser-vous le changement de mode de caméra ?",
"alreadySharedVideoMsg": "Un autre participant est en train de partager sa vidéo. Cette conférence ne permet de partager qu'une seule vidéo à la fois.",
"alreadySharedVideoTitle": "Une seule vidéo partagée est autorisée à la fois",
"applicationWindow": "Fenêtre d'application",
@@ -317,8 +288,8 @@
"gracefulShutdown": "Notre service est actuellement en maintenance. Veuillez réessayer plus tard.",
"grantModeratorDialog": "Êtes-vous sûr de vouloir rendre ce participant modérateur ?",
"grantModeratorTitle": "Nommer modérateur",
"hide": "Masquer",
"hideShareAudioHelper": "Ne pas afficher ce dialogue à nouveau",
"hide": "Cacher",
"hideShareAudioHelper": "Ne pas montrer ce dialogue à nouveau",
"incorrectPassword": "Nom d'utilisateur ou mot de passe incorrect",
"incorrectRoomLockPassword": "Mot de passe incorrect",
"internalError": "Oups ! Quelque chose s'est mal passée. L'erreur suivante s'est produite : {{error}}",
@@ -337,7 +308,6 @@
"lockRoom": "Ajouter un $t(lockRoomPassword) à la réunion ",
"lockTitle": "Échec du verrouillage",
"login": "Connexion",
"loginQuestion": "Voulez-vous vraiment vous connecter et quitter la conférence ?",
"logoutQuestion": "Voulez-vous vraiment vous déconnecter et arrêter la conférence ?",
"logoutTitle": "Déconnexion",
"maxUsersLimitReached": "Le nombre maximal de participants est atteint. Le conférence est complète. Merci de contacter l'organisateur de la réunion ou réessayer plus tard !",
@@ -381,6 +351,8 @@
"permissionCameraRequiredError": "L'autorisation caméra est nécessaire pour participer aux réunions avec vidéo. Merci de l'accorder dans les paramètres",
"permissionErrorTitle": "Permission nécessaire",
"permissionMicRequiredError": "L'autorisation microphone est nécessaire pour participer aux réunions avec son. Merci de l'accorder dans les paramètres",
"popupError": "Votre navigateur bloque les fenêtres pop-up. Veuillez autoriser les fenêtres pop-up dans les paramètres de votre navigateur.",
"popupErrorTitle": "Pop-up bloquée",
"readMore": "plus",
"recentlyUsedObjects": "Vos objets récemment utilisés",
"recording": "Enregistrement",
@@ -397,8 +369,6 @@
"removePassword": "Supprimer le $t(lockRoomPassword)",
"removeSharedVideoMsg": "Voulez-vous vraiment supprimer votre vidéo partagée ?",
"removeSharedVideoTitle": "Supprimer la vidéo partagée",
"renameBreakoutRoomLabel": "Nom de la salle annexe",
"renameBreakoutRoomTitle": "Renommer la salle annexe",
"reservationError": "Erreur du système de réservation",
"reservationErrorMsg": "Code d'erreur: {{code}}, message: {{msg}}",
"retry": "Réessayer",
@@ -418,10 +388,8 @@
"sendPrivateMessageTitle": "Envoyer en privé ?",
"serviceUnavailable": "Service indisponible",
"sessTerminated": "Appel terminé",
"sessTerminatedReason": "L'appel a été terminé",
"sessionRestarted": "L'appel est relancé par la passerelle",
"shareAudio": "Continuer",
"shareAudioAltText": "Pour partager le contenu voulu, naviguer vers \"Onglet du Navigateur\", sélectionner le contenu, activer le bouton \"partager laudio\" et enfin cliquer sur le bouton \"partager\"",
"shareAudioTitle": "Comment partager le son",
"shareAudioWarningD1": "vous devez cesser le partage d'écran avant de partager votre son.",
"shareAudioWarningD2": "viys devez partager votre écran à nouveau et cocher l'ootion \"Partager l'audio\".",
@@ -451,30 +419,12 @@
"thankYou": "Merci d'avoir utilisé {{appName}} !",
"token": "jeton",
"tokenAuthFailed": "Désolé, vous n'êtes pas autorisé à rejoindre cette conversation.",
"tokenAuthFailedReason": {
"audInvalid": "Valeur `aud` invalide. Cela doit être `jitsi`.",
"contextNotFound": "L'objet `context` est absent du payload.",
"expInvalid": "Valeur `exp` invalide.",
"featureInvalid": "Fonctionnalité invalide: {{feature}}, probablement pas encore implémentée.",
"featureValueInvalid": "Valeur invalide pour la fonctionnalité: {{feature}}.",
"featuresNotFound": "L'objet `feature` est absent du payload.",
"headerNotFound": "Header non trouvé.",
"issInvalid": "Valeur `iss` invalide. Cela doit être `chat`.",
"kidMismatch": "Key ID (kid) ne correspond pas au sub.",
"kidNotFound": "Key ID (kid) manquant.",
"nbfFuture": "La valeur `nbf` est dans le futur.",
"nbfInvalid": "Valeur `nbf` invalide.",
"payloadNotFound": "Payload non trouvé",
"tokenExpired": "Jeton expiré"
},
"tokenAuthFailedTitle": "Échec de l'authentification",
"tokenAuthFailedWithReasons": "Désolé, vous nêtes pas autorisé à rejoindre lappel. La raison possible : {{reason}}.",
"tokenAuthUnsupported": "Token URL n'est pas supporté.",
"transcribing": "Transcription",
"unlockRoom": "Supprimer le $t(lockRoomPassword) de la réunion",
"user": "Utilisateur",
"userIdentifier": "Identifiant utilisateur",
"userPassword": "Mot de passe utilisateur",
"userPassword": "mot de passe utilisateur",
"verifyParticipantConfirm": "Ils correspondent",
"verifyParticipantDismiss": "Ils ne correspondent pas",
"verifyParticipantQuestion": "EXPÉRIMENTAL: Demander au participant {{participantName}} s'il voit le même contenu dans le même ordre. ",
@@ -483,10 +433,6 @@
"viewUpgradeOptions": "Voir les options de mise à jour",
"viewUpgradeOptionsContent": "Pour obtenir un accès illimité à des capacités premium comme l'enregistrement, les transcriptions, diffusion RTMP et plus, vous devez mettre à jour votre plan.",
"viewUpgradeOptionsTitle": "Vous avez découvert une capacité premium !",
"whiteboardLimitContent": "Désolé, la limite dutilisateur du tableau blanc a été atteinte.",
"whiteboardLimitReference": "Pour plus dinformations merci de visiter",
"whiteboardLimitReferenceUrl": "notre site web",
"whiteboardLimitTitle": "Utilisation du tableau blanc limitée",
"yourEntireScreen": "Votre écran entier"
},
"documentSharing": {
@@ -499,9 +445,6 @@
"title": "Intégrer cette réunion"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Votre choix: {{rating}}"
},
"average": "Moyen",
"bad": "Mauvais",
"detailsLabel": "Dites nous en plus à ce sujet.",
@@ -562,7 +505,6 @@
"password": "$t(lockRoomPasswordUppercase) :",
"reachedLimit": "Vous avez atteint la limite de votre abonnement.",
"sip": "adresse SIP",
"sipAudioOnly": "Adresse SIP en audio uniquement",
"title": "Partager",
"tooltip": "Partager le lien et les informations de connexion pour cette conférence",
"upgradeOptions": "Veuillez vérifier les options de mise à niveau"
@@ -602,7 +544,7 @@
},
"largeVideo": {
"screenIsShared": "Vous êtes en train de partager votre écran",
"showMeWhatImSharing": "M'afficher ce que je partage"
"showMeWhatImSharing": "Me montrer ce que je partage"
},
"liveStreaming": {
"busy": "Nous tentons de libérer des ressources de diffusion. Veuillez réessayez dans quelques minutes.",
@@ -642,6 +584,8 @@
"youtubeTerms": "Conditions d'utilisation de YouTube"
},
"lobby": {
"admit": "Accepter",
"admitAll": "Tout accepter",
"backToKnockModeButton": "Aucun mot de passe, demander à rejoindre plutôt",
"chat": "Chat",
"dialogTitle": "Mode salle d'attente",
@@ -667,14 +611,16 @@
"knockingParticipantList": "Liste des participants en attente",
"lobbyChatStartedNotification": "Un modérateur dialogue en salle d'attente avec {{attendee}}",
"lobbyChatStartedTitle": "Un modérateur dialogue en salle d'attente avec vous.",
"lobbyClosed": "La salle d'attente a été fermée.",
"nameField": "Saisissez votre nom",
"notificationLobbyAccessDenied": "{{targetParticipantName}} a été refusé par {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} a été accepté par {{originParticipantName}}",
"notificationLobbyDisabled": "Le mode salle d'attente a été désactivé par {{originParticipantName}}",
"notificationLobbyEnabled": "Le mode salle d'attente a été activé par {{originParticipantName}}",
"notificationTitle": "Salle d'attente",
"passwordField": "Veuillez saisir le mot de passe de la réunion",
"passwordJoinButton": "Rejoindre",
"reject": "Refuser",
"rejectAll": "Refuser tout",
"title": "Salle d'attente",
"toggleLabel": "Activer la salle d'attente"
},
@@ -706,8 +652,6 @@
"sessionToken": "Token de la session",
"start": "Démarrer l'enregistrement",
"stop": "Arrêter l'enregistrement",
"stopping": "Arrêt de l'enregistrement",
"wait": "Patienter pendant la sauvegarde de votre enregistrement.",
"yes": "Oui"
},
"lockRoomPassword": "mot de passe",
@@ -729,11 +673,8 @@
"connectedTwoMembers": "{{first}} et {{second}} ont rejoint la réunion",
"dataChannelClosed": "Qualité vidéo dégradée",
"dataChannelClosedDescription": "Le canal de communication avec le Bridge a été interrompu, la qualité vidéo se trouve limitée à sa valeur la plus faible.",
"disabledIframe": "L'intégration Iframe est uniquement destinée à des démos, cet appel se terminera dans {{timeout}} minutes.",
"disabledIframeSecondary": "L'intégration Iframe de {{domaine}} est uniquement destinée à des démos, cet appel se terminera dans {{timeout}} minutes.",
"disconnected": "déconnecté",
"displayNotifications": "Afficher les notifications pour",
"dontRemindMe": "Ne pas me le rappeler",
"focus": "Focus de conférence",
"focusFail": "{{component}} n'est pas disponible - réessayez dans {{ms}} sec",
"gifsMenu": "GIPHY",
@@ -742,7 +683,6 @@
"invitedOneMember": "{{name}} a été invité(e)",
"invitedThreePlusMembers": "{{name}} et {{count}} autres ont été invités",
"invitedTwoMembers": "{{first}} et {{second}} ont été invités",
"joinMeeting": "Rejoindre",
"kickParticipant": "{{kicked}} a été expulsé par {{kicker}}",
"leftOneMember": "{{name}} a quitté la réunion",
"leftThreePlusMembers": "{{name}} et beaucoup d'autres ont quitté la réunion",
@@ -777,6 +717,7 @@
"newDeviceCameraTitle": "Nouvelle caméra détectée",
"noiseSuppressionDesktopAudioDescription": "La suppression de bruit ne peut pas être activée en même temps que la partage audio du système, veuillez le désactiver et réessayer.",
"noiseSuppressionFailedTitle": "Échec du démarrage de la suppression de bruit",
"noiseSuppressionNoTrackDescription": "Veuillez activer votre microphone d'abord.",
"noiseSuppressionStereoDescription": "La suppression de bruit dune source stéréo nest pas encore supportée.",
"oldElectronClientDescription1": "Vous semblez utiliser une ancienne version du client Jitsi Meet qui présente des failles de sécurité connues. Veuillez vous assurer de mettre à jour vers notre ",
"oldElectronClientDescription2": "dernière build",
@@ -806,20 +747,15 @@
"videoUnmuteBlockedDescription": "Le rétablissement de la vidéo a été bloqué temporairement en raison de limites système.",
"videoUnmuteBlockedTitle": "Rétablissement de la caméra bloqué !",
"viewLobby": "Voir la salle d'attente",
"waitingParticipants": "{{waitingParticipants}} personnes",
"whiteboardLimitDescription": "Veuillez sauvegarder votre progression, car la limite dutilisation du tableau blanc sera bientôt atteinte et celui-ci sera fermé.",
"whiteboardLimitTitle": "Utiilisation du tableau blanc"
"waitingParticipants": "{{waitingParticipants}} personnes"
},
"participantsPane": {
"actions": {
"admit": "Accepter",
"admitAll": "Tout accepter",
"allow": "Autoriser les participants à:",
"allowVideo": "permettre la vidéo",
"askUnmute": "Demander de réactiver le micro",
"audioModeration": "Rouvrir leur micro",
"blockEveryoneMicCamera": "Bloquer tous les micros et caméras",
"breakoutRooms": "Salles annexes",
"invite": "Inviter quelqu'un",
"moreModerationActions": "Options de modération supplémentaires",
"moreModerationControls": "Options de modération supplémentaires",
@@ -827,7 +763,6 @@
"mute": "Couper le micro",
"muteAll": "Couper le micro de tout le monde",
"muteEveryoneElse": "Couper le micro de tous les autres",
"reject": "Refuser",
"stopEveryonesVideo": "Couper toutes les caméras",
"stopVideo": "Couper la vidéo",
"unblockEveryoneMicCamera": "Débloquer tous les micros et caméras",
@@ -837,7 +772,6 @@
"headings": {
"lobby": "Salle d'attente ({{count}})",
"participantsList": "Participants de la réunion ({{count}})",
"visitorRequests": "(Demande {{count}} )",
"visitors": "Visiteurs {{count}}",
"waitingLobby": "Dans la salle d'attente ({{count}})"
},
@@ -872,8 +806,8 @@
"results": {
"changeVote": "Changer le vote",
"empty": "Il n'y a pas encore de sondages dans cette réunion. Démarrez un sondage ici !",
"hideDetailedResults": "Masquer les détails",
"showDetailedResults": "Afficher les détails",
"hideDetailedResults": "Cacher les détails",
"showDetailedResults": "Montrer les détails",
"vote": "Voter"
}
},
@@ -931,11 +865,9 @@
"lookGood": "Il semble que votre microphone fonctionne correctement",
"or": "ou",
"premeeting": "Pré-séance",
"proceedAnyway": "Continuer quand même",
"screenSharingError": "Erreur de partage d'écran:",
"showScreen": "Activer l'écran de pré-séance",
"startWithPhone": "Commencez avec l'audio du téléphone",
"unsafeRoomConsent": "Je comprends les risques et je veux quand même rejoindre cette réunion",
"videoOnlyError": "Erreur vidéo:",
"videoTrackError": "Impossible de créer une piste vidéo.",
"viewAllNumbers": "voir tous les numéros"
@@ -998,6 +930,7 @@
"limitNotificationDescriptionNative": "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <3> {{app}} </3>.",
"limitNotificationDescriptionWeb": "En raison d'une forte demande, votre enregistrement sera limité à {{limit}} min. Pour des enregistrements illimités, essayez <a href={{url}} rel='noopener noreferrer' target='_blank'> {{app}} </a>.",
"linkGenerated": "Nous avons généré un lien à votre enregistrement.",
"live": "DIRECT",
"localRecordingNoNotificationWarning": "Le démarrage de lenregistrement ne sera pas annoncé aux autres participants. Vous devrez les informer par vous-même que la réunion sera enregistrée.",
"localRecordingNoVideo": "La vidéo n'est pas en cours denregistrement",
"localRecordingStartWarning": "Assurez-vous darrêter lenregistrement vidéo avant de quitter la réunion afin de pouvoir le sauvegarder.",
@@ -1014,15 +947,13 @@
"onBy": "{{name}} a démarré l'enregistrement",
"onlyRecordSelf": "Enregistrer seulement mon audio et ma vidéo.",
"pending": "Préparation de l'enregistrement de la réunion ...",
"recordAudioAndVideo": "Enregistrer l'audio et la vidéo",
"recordTranscription": "Enregistrer la transcription",
"rec": "REC",
"saveLocalRecording": "Sauvegarder lenregistrement local (Beta)",
"serviceDescription": "Votre enregistrement sera enregistré par le service dédié",
"serviceDescriptionCloud": "Enregistrement Cloud",
"serviceDescriptionCloudInfo": "Les conférences enregistrées sont automatiquement supprimées 24h après leur heure d'enregistrement.",
"serviceName": "Service d'enregistrement",
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
"showAdvancedOptions": "Afficher les options avancées",
"signIn": "Se connecter",
"signOut": "Se déconnecter",
"surfaceError": "Veuillez sélectionner longlet courant.",
@@ -1038,14 +969,8 @@
"security": {
"about": "Vous pouvez ajouter un mot de passe à votre réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion.",
"aboutReadOnly": "Les modérateurs peuvent ajouter un mot de passe à la réunion. Les participants devront fournir le mot de passe avant de pouvoir rejoindre la réunion.",
"insecureRoomNameWarningNative": "Le nom de la réunion nest pas sûr. Des participants non voulus pourraient rejoindre cette réunion. {{recommendAction}} En apprendre plus sur la sécurisation des réunions.",
"insecureRoomNameWarningWeb": "Le nom de la réunion nest pas sûr. Des participants non voulus pourraient rejoindre cette réunion. {{recommendAction}} En apprendre plus sur la sécurisation des réunions <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">here</a>.",
"title": "Options de sécurité",
"unsafeRoomActions": {
"meeting": "Envisagez de sécuriser votre réunion en utilisant le bouton options de sécurité.",
"prejoin": "Envisagez d'utiliser un nom plus unique",
"welcome": "Envisagez d'utiliser un nom plus unique ou choisissez en un parmi ceux suggérés"
}
"insecureRoomNameWarning": "Le nom de la salle est peu sûr. Des participants non désirés peuvent rejoindre votre réunion. Pensez à sécuriser votre réunion en cliquant sur le bouton de sécurité.",
"title": "Options de sécurité"
},
"settings": {
"audio": "Audio",
@@ -1078,7 +1003,7 @@
"participantKnocking": "un participant en salle dattente",
"participantLeft": "un participant quitte",
"playSounds": "Jouer un son quand",
"reactions": "Il y a une réaction à la réunion",
"reactions": "il y a une réaction à la réunion",
"sameAsSystem": "Identique au système ({{label}})",
"selectAudioOutput": "Sortie audio",
"selectCamera": "Caméra",
@@ -1099,7 +1024,6 @@
"alertOk": "D'accord",
"alertTitle": "Avertissement",
"alertURLText": "L'URL du serveur est invalide",
"apply": "Appliquer",
"buildInfoSection": "Informations de build",
"conferenceSection": "Conférence",
"disableCallIntegration": "Désactiver l'intégration d'appels native",
@@ -1110,14 +1034,12 @@
"displayNamePlaceholderText": "Ex : Jean Dupond",
"email": "Email",
"emailPlaceholderText": "email@example..com",
"gavatarMessage": "Si votre email est associé à un compte Gravatar, nous allons lutiliser pour afficher votre image de profil.",
"goTo": "Aller à",
"header": "Paramètres",
"help": "Aide",
"links": "Liens",
"privacy": "Confidentialité",
"profileSection": "Profil",
"sdkVersion": "Version du SDK",
"serverURL": "URL du serveur",
"showAdvanced": "Afficher les paramètres avancés",
"startCarModeInLowBandwidthMode": "Commencer le mode voiture en mode bande passante réduite",
@@ -1143,7 +1065,6 @@
"neutral": "Indifférent",
"sad": "Triste",
"search": "Recherche",
"searchHint": "Recherche des participants",
"seconds": "{{count}}s",
"speakerStats": "Statistiques de l'interlocuteur",
"speakerTime": "Temps de l'interlocuteur",
@@ -1170,26 +1091,17 @@
"audioOnly": "Activer / Désactiver le mode voix uniquement",
"audioRoute": "Sélectionner la source audio",
"boo": "Hou",
"breakoutRooms": "Rejoindre / quitter une salle annexe",
"breakoutRoom": "Rejoindre/quitter une salle annexe",
"callQuality": "Ajuster la qualité vidéo",
"carmode": "Mode voiture",
"cc": "Activer / Désactiver les sous-titres",
"chat": "Afficher / Masquer la discussion instantanée",
"clap": "Applaudir",
"closeChat": "Fermer la discussion instantanée",
"closeMoreActions": "Fermer le menu plus d'actions",
"closeParticipantsPane": "Fermer le panneau des participants",
"collapse": "Plier",
"document": "Activer / Désactiver le document partagé",
"documentClose": "Fermer le document partagé",
"documentOpen": "Ouvrir le document partagé",
"download": "Télécharger nos applications",
"embedMeeting": "Intégrer la réunion",
"endConference": "Terminer la réunion pour tout le monde",
"enterFullScreen": "Passer en mode plein écran",
"enterTileView": "Passer en vue mosaïque",
"exitFullScreen": "Quitter le mode plein écran",
"exitTileView": "Quitter la vue mosaïque",
"expand": "Développer",
"feedback": "Laisser des commentaires",
"fullScreen": "Activer / Désactiver le plein écran",
@@ -1198,7 +1110,6 @@
"hangup": "Quitter la conversation",
"heading": "Barre d'outils",
"help": "Aide",
"hideWhiteboard": "Masquer le tableau blanc",
"invite": "Inviter des participants",
"kick": "Expulser le participant",
"laugh": "Rire",
@@ -1208,7 +1119,6 @@
"lobbyButton": "Activer / Désactiver le mode salle d'attente",
"localRecording": "Activer / Désactiver les contrôles d'enregistrement local",
"lockRoom": "Activer / Désactiver le mot de passe de la réunion",
"lowerHand": "Baisser la main",
"moreActions": "Activer / Désactiver le menu d'actions supplémentaires",
"moreActionsMenu": "Menu d'actions supplémentaires",
"moreOptions": "Voir plus d'options",
@@ -1217,15 +1127,12 @@
"muteEveryoneElse": "Couper le micro de tous les autres",
"muteEveryoneElsesVideoStream": "Couper la caméra de tous les autres",
"muteEveryonesVideoStream": "Couper la caméra de tout le monde",
"muteGUMPending": "Connection de votre microphone",
"noiseSuppression": "Suppression du bruit",
"openChat": "Ouvrir le chat",
"participants": "Participants",
"pip": "Activer / Désactiver le mode Picture in Picture",
"privateMessage": "Envoyer un message privé",
"profile": "Éditer votre profil",
"raiseHand": "Lever la main",
"reactions": "Réactions",
"reactionsMenu": "Ouvrir / fermer le menu réactions",
"recording": "Activer / Désactiver l'enregistrement",
"remoteMute": "Couper le micro du participant",
@@ -1239,20 +1146,15 @@
"sharedvideo": "Démarrer / Arrêter le partage de vidéo",
"shortcuts": "Afficher / Masquer les raccourcis",
"show": "Afficher en premier plan",
"showWhiteboard": "Afficher le tableux blanc",
"silence": "Silence",
"speakerStats": "Afficher / Masquer les statistiques de parole",
"stopScreenSharing": "Arrêter le partage d'écran",
"stopSharedVideo": "Arrêter la vidéo partagée",
"speakerStats": "Afficher / Cacher les statistiques de parole",
"surprised": "Surpris",
"tileView": "Activer / Désactiver la vue mosaïque",
"toggleCamera": "Changer de caméra",
"toggleFilmstrip": "Afficher ou masquer les vignettes vidéo",
"unmute": "Rétablir le son",
"videoblur": "Activer / désactiver le floutage",
"videomute": "Activer / Couper la vidéo",
"videomuteGUMPending": "Connexion de votre caméra",
"videounmute": "Démarrer la vidéo"
"whiteboard": "Afficher / Cacher le tableau blanc"
},
"addPeople": "Ajouter des personnes à votre appel",
"audioOnlyOff": "Désactiver le mode bande passante réduite",
@@ -1265,7 +1167,6 @@
"chat": "Ouvrir / Fermer le chat",
"clap": "Applaudir",
"closeChat": "Fermer le chat",
"closeParticipantsPane": "Fermer le panneau des participants",
"closeReactionsMenu": "Fermer le menu réactions",
"disableNoiseSuppression": "Arrêter la suppression du bruit",
"disableReactionSounds": "Vous pouvez interdire les réactions sonores à cette réunion",
@@ -1284,7 +1185,7 @@
"giphy": "Activer/désactiver le menu GIPHY",
"hangup": "Quitter",
"help": "Aide",
"hideWhiteboard": "Masquer le tableau blanc",
"hideWhiteboard": "Cacher le tableau blanc",
"invite": "Inviter des participants",
"joinBreakoutRoom": "Rejoindre salle annexe",
"laugh": "Rire",
@@ -1302,7 +1203,6 @@
"mute": "Muet / Actif",
"muteEveryone": "Couper le micro à tout le monde",
"muteEveryonesVideo": "Couper la caméra de tout le monde",
"muteGUMPending": "Connection de votre microphone",
"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 de périphérique utilisé.",
"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 :",
"noAudioSignalDialInDesc": "Vous pouvez également appeler en utilisant :",
@@ -1325,7 +1225,6 @@
"reactionLike": "Envoyer réaction approuver",
"reactionSilence": "Envoyer réaction silence",
"reactionSurprised": "Envoyer réaction surprise",
"reactions": "Reactions",
"security": "Options de sécurité",
"selectBackground": "Sélectionner un arrière-plan",
"shareRoom": "Inviter quelqu'un",
@@ -1345,11 +1244,8 @@
"talkWhileMutedPopup": "Vous voulez parler ? Votre micro est coupé.",
"tileViewToggle": "Activer / Désactiver la vue mosaïque",
"toggleCamera": "Changer de caméra",
"unmute": "Rétablir le son",
"videoSettings": "Paramètres vidéo",
"videomute": "Arrêter la caméra",
"videomuteGUMPending": "Connexion de votre caméra",
"videounmute": "Démarrer la caméra"
"videomute": "Démarrer / Arrêter la caméra"
},
"transcribing": {
"ccButtonTooltip": "Activer / Désactiver les sous-titres",
@@ -1357,8 +1253,7 @@
"expandedLabel": "La transcription est actuellement activée",
"failedToStart": "Échec de démarrage de la transcription",
"labelToolTip": "La transcription de la réunion est en cours",
"off": "La transcription est désactivée",
"on": "La transcription est activée",
"off": "La transcription désactivée",
"pending": "Préparation de la transcription de la réunion ...",
"sourceLanguageDesc": "Actuellement, la langue de la réunion est sélectionnée à <b>{{sourceLanguage}}</b>. <br/> Vous pouvez la changer à partir de ",
"sourceLanguageHere": "ici",
@@ -1421,7 +1316,7 @@
"domuteVideoOfOthers": "Couper la caméra des autres",
"flip": "Miroir",
"grantModerator": "Donner des droits de modérateur",
"hideSelfView": "Masquer l'affichage de votre propre vidéo",
"hideSelfView": "Cacher l'affichage de votre propre vidéo",
"kick": "Exclure",
"mirrorVideo": "Inverser ma vidéo",
"moderator": "Modérateur",
@@ -1431,17 +1326,13 @@
"remoteControl": "Démarrer / Arrêter le contrôle à distance",
"screenSharing": "Cette personne partage son écran",
"show": "Afficher en premier plan",
"showSelfView": "Afficher votre propre vidéo",
"showSelfView": "Montrer votre propre vidéo",
"unpinFromStage": "Ne plus garder affiché",
"verify": "Vérifier le participant",
"videoMuted": "Caméra coupée",
"videomute": "Le participant a arrêté la caméra"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Arrière-plan actuel: {{background}}",
"selectBackground": "Sélectionner un arrière-plan"
},
"addBackground": "Ajouter un arrière-plan",
"apply": "Appliquer",
"backgroundEffectError": "Erreur dans l'application de l'effet d'arrière-plan.",
@@ -1465,14 +1356,7 @@
"webAssemblyWarning": "WebAssembly non supporté",
"webAssemblyWarningDescription": "WebAssembly invalidé ou non supporté par ce navigateur"
},
"visitors": {
"chatIndicator": "(visiteur)",
"labelTooltip": "Nombre de Visiteurs",
"notification": {
"description": "Pour participer lever la main.",
"title": "Vous êtes visiteur dans cette réunion"
}
},
"visitorsLabel": "Nombre de visiteurs: {{count}}",
"volumeSlider": "Curseur de volume",
"welcomepage": {
"accessibilityLabel": {

View File

@@ -553,8 +553,6 @@
"hours": "{{count}} h",
"minutes": "{{count}} min",
"name": "Nom",
"search": "Recherche",
"searchHint": "Recherche des participants",
"seconds": "{{count}} s",
"speakerStats": "Statistiques d'intervenant",
"speakerTime": "Temps d'intervention"

View File

@@ -558,8 +558,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Nome",
"search": "Procurar",
"searchHint": "Procurar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas do falante",
"speakerTime": "Tempo do falante"

View File

@@ -583,8 +583,6 @@
"hours": "{{count}} שעות",
"minutes": "{{count}} דקות",
"name": "שם",
"search": "לחפש",
"searchHint": "חפש משתתפים",
"seconds": "{{count}} שניות",
"speakerStats": "סטטיסטיקות דיבורים",
"speakerTime": "זמן דיבור"

View File

@@ -482,6 +482,7 @@
"notificationTitle": "लॉबी",
"passwordField": "मीटिंग पासवर्ड दर्ज करें",
"passwordJoinButton": "Join",
"reject": "अस्वीकार",
"title": "लॉबी",
"toggleLabel": "लॉबी सक्षम करें"
},
@@ -558,11 +559,6 @@
"videoMutedRemotelyDescription": "You can always turn it on again.",
"videoMutedRemotelyTitle": "आपका कैमरा {{participantDisplayName}}द्वारा अक्षम कर दिया गया है!"
},
"participantsPane": {
"actions": {
"reject": "अस्वीकार"
}
},
"passwordDigitsOnly": "Up to {{number}} digits",
"passwordSetRemotely": "दूसरे प्रतिभागी द्वारा निर्धारित",
"poweredby": "powered by",
@@ -740,8 +736,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "नाम",
"search": "खोजें",
"searchHint": "प्रतिभागियों को खोजें",
"seconds": "{{count}}s",
"speakerStats": "Speaker Stats",
"speakerTime": "Speaker Time"

View File

@@ -561,6 +561,8 @@
"youtubeTerms": "Uvjeti YouTube usluge"
},
"lobby": {
"admit": "Prihvati",
"admitAll": "Prihvati sve",
"allow": "Dopusti",
"backToKnockModeButton": "Zatraži pridruživanje",
"chat": "Chat",
@@ -595,6 +597,8 @@
"notificationTitle": "Predvorje",
"passwordField": "Upiši lozinku sastanka",
"passwordJoinButton": "Pridruži se",
"reject": "Odbij",
"rejectAll": "Odbij sve",
"title": "Predvorje",
"toggleLabel": "Uključi predvorje"
},
@@ -721,8 +725,6 @@
},
"participantsPane": {
"actions": {
"admit": "Prihvati",
"admitAll": "Prihvati sve",
"allow": "Dozvoli sudionicima da:",
"allowVideo": "Dozvole video",
"askUnmute": "Zatraže isključivanje zvuka",
@@ -735,7 +737,6 @@
"mute": "Isključe zvuk",
"muteAll": "Isključe zvuk svih sudionika",
"muteEveryoneElse": "Isključe zvuk svih drugih",
"reject": "Odbij",
"stopEveryonesVideo": "Prekinu videa svih",
"stopVideo": "Prekinu video",
"unblockEveryoneMicCamera": "Deblokiraju mikrofone i kamere svih sudionika",
@@ -1033,7 +1034,6 @@
"neutral": "Neutralan",
"sad": "Žalostan",
"search": "Traži",
"searchHint": "Traži sudionike",
"seconds": "{{count}} s",
"speakerStats": "Statistika govornika",
"speakerTime": "Vrijeme govornika",

View File

@@ -551,6 +551,8 @@
"youtubeTerms": "wuměnjenja wužiwanja na YouTube"
},
"lobby": {
"admit": "přizwolić",
"admitAll": "wšitko přizwolić",
"allow": "přiwzać",
"backToKnockModeButton": "žane hesło, město toho wo přistup prosyć",
"chat": "chat",
@@ -585,6 +587,8 @@
"notificationTitle": "lobby",
"passwordField": "konferencne hesło zapodać",
"passwordJoinButton": "přistupić",
"reject": "wotpokazać",
"rejectAll": "wšitko wotpokazać",
"title": "lobby",
"toggleLabel": "lobby aktiwěrować"
},
@@ -706,8 +710,6 @@
},
"participantsPane": {
"actions": {
"admit": "přizwolić",
"admitAll": "wšitko přizwolić",
"allow": "přitomnym dowolić",
"allowVideo": "kameru zaswěčić",
"askUnmute": "wo wotstajenje šaltowanja na němosć prosyć",
@@ -720,7 +722,6 @@
"mute": "něme šaltować",
"muteAll": "wšěch němych šaltować",
"muteEveryoneElse": "wšěch druhich němych šaltować",
"reject": "wotpokazać",
"stopEveryonesVideo": "wšitke kamery hasnyć",
"stopVideo": "kameru hasnyć",
"unblockEveryoneMicCamera": "kameru a mikrofon wšěch wočinić",
@@ -1000,7 +1001,6 @@
"neutral": "neutralny",
"sad": "zrudny",
"search": "pytać",
"searchHint": "přitomnych pytać",
"seconds": "{{count}}s",
"speakerStats": "statistika rěčnikow",
"speakerTime": "čas rěčnikow",

View File

@@ -462,6 +462,8 @@
"youtubeTerms": "YouTube szolgáltatási feltételek"
},
"lobby": {
"admit": "Engedélyezés",
"admitAll": "Mindet engedélyez",
"allow": "Engedélyez",
"backToKnockModeButton": "Csatlakozási kérelem küldése",
"chat": "Chat",
@@ -493,6 +495,8 @@
"notificationTitle": "Lobby",
"passwordField": "Adja meg az értekezlet jelszavát",
"passwordJoinButton": "Csatlakozás",
"reject": "Elutasít",
"rejectAll": "Mindet elutasít",
"toggleLabel": "Lobby engedélyezése"
},
"localRecording": {
@@ -575,8 +579,6 @@
},
"participantsPane": {
"actions": {
"admit": "Engedélyezés",
"admitAll": "Mindet engedélyez",
"allow": "Engedélyezés a résztvevőknek, hogy:",
"allowVideo": "Videó engedélyezése",
"askUnmute": "Kérje a némítás feloldását",
@@ -589,7 +591,6 @@
"mute": "Némítás",
"muteAll": "Mindenkit elnémít",
"muteEveryoneElse": "Mute everyone else",
"reject": "Elutasít",
"stopEveryonesVideo": "Mindenki videójának leállítása",
"stopVideo": "Videó leállítása",
"unblockEveryoneMicCamera": "Unblock everyone's mic and camera",
@@ -824,7 +825,6 @@
"neutral": "Semleges",
"sad": "Szomorú",
"search": "Keresés",
"searchHint": "Résztvevők keresése",
"seconds": "{{count}} mp",
"speakerStats": "Beszélő statisztika",
"speakerTime": "Beszélő ideje",

View File

@@ -524,8 +524,6 @@
"hours": "",
"minutes": "",
"name": "Անուն",
"search": "Որոնում",
"searchHint": "Որոնել մասնակիցներին",
"seconds": "",
"speakerStats": "Հռետորի վիճակագրությունը",
"speakerTime": ""

File diff suppressed because it is too large Load Diff

View File

@@ -561,6 +561,8 @@
"youtubeTerms": "Condizioni di utilizzo di YouTube"
},
"lobby": {
"admit": "Ammetti",
"admitAll": "Ammetti tutti",
"allow": "Autorizza",
"backToKnockModeButton": "Nessuna password, richiedi l'accesso",
"chat": "Conversazione",
@@ -595,6 +597,8 @@
"notificationTitle": "Sala d'attesa",
"passwordField": "Inserisci la password della riunione",
"passwordJoinButton": "Entra",
"reject": "Respingi",
"rejectAll": "Respingi tutti",
"title": "Sala d'attesa",
"toggleLabel": "Attiva sala d'attesa"
},
@@ -721,8 +725,6 @@
},
"participantsPane": {
"actions": {
"admit": "Ammetti",
"admitAll": "Ammetti tutti",
"allow": "Permetti ai partecipanti di:",
"allowVideo": "Autorizza video",
"askUnmute": "Chiedi di accendere microfono",
@@ -735,7 +737,6 @@
"mute": "Silenzia",
"muteAll": "Silenzia tutti",
"muteEveryoneElse": "Silenzia tutti gli altri",
"reject": "Respingi",
"stopEveryonesVideo": "Ferma il video di tutti",
"stopVideo": "Ferma il video",
"unblockEveryoneMicCamera": "Sblocca audio e video a tutti",
@@ -1033,7 +1034,6 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Cerca",
"searchHint": "Cerca partecipanti",
"seconds": "{{count}}s",
"speakerStats": "Statistiche",
"speakerTime": "Tempo",

View File

@@ -525,6 +525,8 @@
"youtubeTerms": "YouTube サービス利用規約"
},
"lobby": {
"admit": "許可",
"admitAll": "全員許可",
"allow": "許可",
"backToKnockModeButton": "参加を依頼",
"dialogTitle": "ロビーモード",
@@ -555,6 +557,8 @@
"notificationTitle": "ロビー",
"passwordField": "ミーティングパスワードを入力してください",
"passwordJoinButton": "参加",
"reject": "却下",
"rejectAll": "全員却下",
"title": "ロビー",
"toggleLabel": "ロビーを有効"
},
@@ -667,8 +671,6 @@
},
"participantsPane": {
"actions": {
"admit": "許可",
"admitAll": "全員許可",
"allow": "参加者に次のことを許可:",
"allowVideo": "ビデオを許可",
"askUnmute": "ミュート解除を依頼",
@@ -681,7 +683,6 @@
"mute": "ミュート",
"muteAll": "全員をミュート",
"muteEveryoneElse": "他のすべての人をミュート",
"reject": "却下",
"stopEveryonesVideo": "全員のビデオを停止",
"stopVideo": "ビデオを停止",
"unblockEveryoneMicCamera": "全員のマイクとビデオのブロックを解除",
@@ -952,7 +953,6 @@
"neutral": "平静",
"sad": "悲しい",
"search": "検索",
"searchHint": "参加者を検索",
"seconds": "{{count}} 秒",
"speakerStats": "話者の統計",
"speakerTime": "話した時間",

View File

@@ -498,6 +498,8 @@
"youtubeTerms": "Tiwtilin n yimeẓla n Youtube"
},
"lobby": {
"admit": "Steεref",
"admitAll": "Steεref s kullec",
"allow": "Sireg",
"backToKnockModeButton": "Ulac awal uffir, suter attekki deg ubdil-is",
"dialogTitle": "Askar Lobby",
@@ -528,6 +530,8 @@
"notificationTitle": "Taxxamt n uraǧu",
"passwordField": "Sekcem awal uffir n temlilit",
"passwordJoinButton": "Semlil",
"reject": "Agi",
"rejectAll": "Agi akk",
"title": "Taxxamt n uraǧu",
"toggleLabel": "Rmed Lobby"
},
@@ -624,8 +628,6 @@
},
"participantsPane": {
"actions": {
"admit": "Steεref",
"admitAll": "Steεref s kullec",
"allow": "Sireg i yimttekkiyen ad:",
"allowVideo": "Sireg tavidyut",
"askUnmute": "Suter tririt n ṣṣut",
@@ -635,7 +637,6 @@
"mute": "Asusam",
"muteAll": "Sgugem meṛṛa",
"muteEveryoneElse": "Sgugem-iten i meṛṛa",
"reject": "Agi",
"stopEveryonesVideo": "Seḥbes tavidyut n yal yiwen",
"stopVideo": "Seḥbes tavidyut n Youtube",
"unblockEveryoneMicCamera": "Serreḥ i usawaḍ d tkamiṛat n yal yiwen",
@@ -873,8 +874,7 @@
"hours": "{{count}} isragen",
"minutes": "{{count}} n tesdidin",
"name": "Isem",
"search": "Nadi",
"searchHint": "Nadi imttekkiyen",
"search": "Rechercher",
"seconds": "{{count}} n tsinin",
"speakerStats": "Addad n yimsiwel",
"speakerTime": "Akud n yimsiwel"

View File

@@ -602,8 +602,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "이름",
"search": "검색",
"searchHint": "참가자 검색",
"seconds": "{{count}}s",
"speakerStats": "접속자 통계",
"speakerTime": "접속자 오디오 사용 시간"

View File

@@ -571,8 +571,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Vardas",
"search": "Ieškoti",
"searchHint": "Ieškokite dalyvių",
"seconds": "{{count}}s",
"speakerStats": "Garsiakalbio nuostatos",
"speakerTime": "Garsiakalbio laikas"

View File

@@ -219,9 +219,7 @@
"joinInBrowser": "Pievienojieties pārlūkā",
"launchMeetingLabel": "Kā vēlaties pievienoties šai sapulcei?",
"launchWebButton": "Palaist tīmekļa pārlūkā",
"noDesktopApp": "Vai jums nav lietotnes?",
"noMobileApp": "Vai jums nav lietotnes?",
"or": "vai",
"termsAndConditions": "Turpinot jūs piekrītat mūsu <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>pakalpojumu sniegšanas noteikumiem.</a>",
"title": "Notiek jūsu sapulces palaišana lietotnē {{app}}...",
"titleNew": "Notiek jūsu sapulces palaišana ...",
@@ -644,6 +642,8 @@
"youtubeTerms": "YouTube pakalpojumu sniegšanas noteikumi"
},
"lobby": {
"admit": "Apstiprināt",
"admitAll": "Apstiprināt visus",
"backToKnockModeButton": "Pajautāt pievienoties",
"chat": "Tērzēšana",
"dialogTitle": "Vestibila režīms",
@@ -677,6 +677,8 @@
"notificationLobbyEnabled": "Vestibilu iespējoja {{originParticipantName}}",
"notificationTitle": "Vestibils",
"passwordJoinButton": "Pievienoties",
"reject": "Noraidīt",
"rejectAll": "Noraidīt visus",
"title": "Vestibils",
"toggleLabel": "Iespējot vestibilu"
},
@@ -814,8 +816,6 @@
},
"participantsPane": {
"actions": {
"admit": "Apstiprināt",
"admitAll": "Apstiprināt visus",
"allow": "Atļaut dalībniekiem:",
"allowVideo": "Atļaut video",
"askUnmute": "Lūgt ieslēgt skaņu",
@@ -829,7 +829,6 @@
"mute": "Apklusināt",
"muteAll": "Apklusināt visus",
"muteEveryoneElse": "Apklusināt pārējos",
"reject": "Noraidīt",
"stopEveryonesVideo": "Izslēgt visiem video",
"stopVideo": "Izslēgt video",
"unblockEveryoneMicCamera": "Atbloķēt visiem mikrofonu un kameru",
@@ -839,7 +838,6 @@
"headings": {
"lobby": "Vestibils ({{count}})",
"participantsList": "Sapulces dalībnieki ({{count}})",
"visitorRequests": " (pieprasījumi {{count}})",
"visitors": "Apmeklētāji ({{count}})",
"waitingLobby": "Gaida vestibilā ({{count}})"
},
@@ -1000,6 +998,7 @@
"limitNotificationDescriptionNative": "Lielā pieprasījuma dēļ jūsu ieraksts tiks ierobežots līdz {{limit}} min. Lai iegūtu neierobežotu ierakstu skaitu, izmēģiniet <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Lielā pieprasījuma dēļ jūsu ieraksts tiks ierobežots līdz {{limit}} min. Lai iegūtu neierobežotu ierakstu skaitu, izmēģiniet <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Mēs esam izveidojuši saiti uz jūsu ierakstu.",
"live": "ĒTERĀ",
"localRecordingNoNotificationWarning": "Ieraksts netiks izziņots citiem dalībniekiem. Jums būs jāpaziņo viņiem, ka sapulce tiek ierakstīta.",
"localRecordingNoVideo": "Video netiek ierakstīts",
"localRecordingStartWarning": "Pirms iziešanas no sapulces, lūdzu, apturiet ierakstīšanu, lai to saglabātu.",
@@ -1016,16 +1015,14 @@
"onBy": "{{name}} ieslēdza ierakstu",
"onlyRecordSelf": "Ierakstīt tikai manas audio un video straumes",
"pending": "Gatavojas ierakstīt sapulci...",
"recordAudioAndVideo": "Ierakstīt audio un video",
"recordTranscription": "Ierakstīt transkripciju",
"rec": "Notiek ieraksts",
"saveLocalRecording": "Ieraksta faila saglabāšana lokāli (beta)",
"serviceDescription": "Jūsu ierakstu saglabās attiecīgais pakalpojums",
"serviceDescriptionCloud": "Ierakstīšana mākonī",
"serviceDescriptionCloud": "Mākoņa ierakstīšana",
"serviceDescriptionCloudInfo": "Ierakstītās sapulces tiek automātiski dzēstas 24 stundas pēc to ierakstīšanas laika.",
"serviceName": "Ieraksta pakalpojums",
"sessionAlreadyActive": "Šī sesija jau tiek ierakstīta vai straumēta tiešraidē.",
"showAdvancedOptions": "Papildus iespējas",
"signIn": "Pierakstīties",
"signIn": "Ierakstīties",
"signOut": "Izrakstīties",
"surfaceError": "Lūdzu, izvēlieties pašreizējo cilni.",
"title": "Ieraksts",
@@ -1145,7 +1142,6 @@
"neutral": "Neitrāls",
"sad": "Bēdīgs",
"search": "Meklēt",
"searchHint": "Meklēt dalībniekus",
"seconds": "{{count}}s",
"speakerStats": "Dalībnieka uzstāšanās statistika",
"speakerTime": "Dalībnieka uzstāšanās laiks",
@@ -1355,9 +1351,12 @@
},
"transcribing": {
"ccButtonTooltip": "Iesl./izsl. subtitrus",
"expandedLabel": "Transkripcija ir ieslēgta",
"error": "Transkripcijas kļūme. Lūdzu, mēģiniet vēlāk.",
"expandedLabel": "Transkripcija ieslēgta",
"failedToStart": "Neizdevās sākt transkripciju",
"labelToolTip": "Notiek sapulces transkripcija",
"labelToolTip": "Notiek sapulces transkripcija.",
"off": "Transkripcija izslēgta",
"pending": "Gatavojas veikt sapulces transkripciju...",
"sourceLanguageDesc": "Pašlaik sapulces valoda ir iestatīta uz <b>{{sourceLanguage}}</b>. <br/> Varat to mainīt no ",
"sourceLanguageHere": "šeit",
"start": "Iesl. subtitru rādīšanu",

View File

@@ -464,6 +464,7 @@
"notificationTitle": "ലോബി",
"passwordField": "മീറ്റിംഗ് പാസ്‌വേഡ് നൽകുക",
"passwordJoinButton": "ചേരുക",
"reject": "നിരസിക്കുക",
"title": "ലോബി",
"toggleLabel": "ലോബി പ്രവർത്തനക്ഷമമാക്കുക"
},
@@ -538,11 +539,6 @@
"suboptimalExperienceTitle": "ബ്രൗസർ മുന്നറിയിപ്പ്",
"unmute": "അൺമ്യൂട്ട്"
},
"participantsPane": {
"actions": {
"reject": "നിരസിക്കുക"
}
},
"passwordDigitsOnly": "{{number}} അക്കങ്ങൾ വരെ",
"passwordSetRemotely": "മറ്റൊരു പങ്കാളി സജ്ജമാക്കിയത്",
"poweredby": "powered by",
@@ -719,8 +715,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "പേര്",
"search": "തിരയുക",
"searchHint": "പങ്കെടുക്കുന്നവരെ തിരയുക",
"seconds": "{{count}}s",
"speakerStats": "സ്പീക്കർ സ്ഥിതിവിവരക്കണക്കുകൾ",
"speakerTime": "സ്പീക്കർ സമയം"

View File

@@ -586,6 +586,8 @@
"youtubeTerms": "YouTube үйлчилгээний нөхцөл"
},
"lobby": {
"admit": "Ok",
"admitAll": "Бүгдийг зөвшөөр",
"backToKnockModeButton": "Зөвшөөрөл хүсэх",
"chat": "Зурвас",
"dialogTitle": "Лобби горим",
@@ -619,6 +621,8 @@
"notificationTitle": "Лобби",
"passwordField": "Нууц үгээ оруулна уу",
"passwordJoinButton": "Оролцох",
"reject": "Татгалзах",
"rejectAll": "Бүгдийг татгалзуулах",
"title": "Лобби",
"toggleLabel": "Лобби идэвхижүүлэх"
},
@@ -751,8 +755,6 @@
},
"participantsPane": {
"actions": {
"admit": "Ok",
"admitAll": "Бүгдийг зөвшөөр",
"allow": "Оролцогчийг зөвшөөрөх:",
"allowVideo": "Дүрс зөвшөөрөх",
"askUnmute": "Дуугаа нээхийг хүсэх",
@@ -765,7 +767,6 @@
"mute": "Дуугүй болгох",
"muteAll": "Бүгдийг дуугүй болгох",
"muteEveryoneElse": "Бүгдийг дуугүй болгох",
"reject": "Татгалзах",
"stopEveryonesVideo": "Бүгдийн дүрсийг хаах",
"stopVideo": "Дүрс хаах",
"unblockEveryoneMicCamera": "Бүх хүний микрофон, камерыг нээх",
@@ -1068,7 +1069,6 @@
"neutral": "Төвийг сахисан",
"sad": "Баргар",
"search": "Хайх",
"searchHint": "Оролцогч хайх",
"seconds": "{{count}}сек",
"speakerStats": "Оролцогчийн статистик",
"speakerTime": "Оролцогчийн ярьсан цаг",

View File

@@ -615,8 +615,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "नाव",
"search": "शोधा",
"searchHint": "सहभागी शोधा",
"seconds": "{{count}}s",
"speakerStats": "स्पीकर आकडेवारी",
"speakerTime": "स्पीकर वेळ"

View File

@@ -486,6 +486,8 @@
"youtubeTerms": "Servicevoorwaarden YouTube"
},
"lobby": {
"admit": "Toelaten",
"admitAll": "Allen toelaten",
"allow": "Toestaan",
"backToKnockModeButton": "Geen wachtwoord, vraag om deel te mogen nemen",
"dialogTitle": "Lobby-modus",
@@ -517,6 +519,8 @@
"notificationTitle": "Lobby",
"passwordField": "Voer wachtwoord voor vergadering in",
"passwordJoinButton": "Deelnemen",
"reject": "Afwijzen",
"rejectAll": "Allen afwijzen",
"title": "Lobby",
"toggleLabel": "Lobby inschakelen"
},
@@ -620,8 +624,6 @@
},
"participantsPane": {
"actions": {
"admit": "Toelaten",
"admitAll": "Allen toelaten",
"allow": "Sta deelnemers toe:",
"allowVideo": "Video toestaan",
"askUnmute": "Vragen om dempen op te heffen",
@@ -634,7 +636,6 @@
"mute": "Dempen",
"muteAll": "Allen dempen",
"muteEveryoneElse": "Alle anderen dempen",
"reject": "Afwijzen",
"stopEveryonesVideo": "Camera's van iedereen uitzetten",
"stopVideo": "Camera uitzetten",
"unblockEveryoneMicCamera": "Deblokkeer microfoon en camera van allen",
@@ -854,8 +855,6 @@
"hours": "{{count}}u",
"minutes": "{{count}}m",
"name": "Naam",
"search": "Zoeken",
"searchHint": "Zoek deelnemers",
"seconds": "{{count}}s",
"speakerStats": "Sprekerstatistieken",
"speakerTime": "Sprekertijd"

View File

@@ -524,6 +524,8 @@
"youtubeTerms": "Condicions dutilizacion de YouTube"
},
"lobby": {
"admit": "Acceptar",
"admitAll": "Tot acceptar",
"allow": "Autorizar",
"backToKnockModeButton": "Cap de senhal, demandar a participar a la plaça",
"dialogTitle": "Mòde sala d'espèra",
@@ -554,6 +556,8 @@
"notificationTitle": "Sala d'espèra",
"passwordField": "Picatz lo senhal de la conferéncia",
"passwordJoinButton": "Rejónher",
"reject": "Regetar",
"rejectAll": "Tot regetar",
"title": "Sala d'espèra",
"toggleLabel": "Activar la sala d'espèra"
},
@@ -666,8 +670,6 @@
},
"participantsPane": {
"actions": {
"admit": "Acceptar",
"admitAll": "Tot acceptar",
"allow": "Permetre als convidats de:",
"allowVideo": "Autorizar la vidèo",
"askUnmute": "Demandar a restablir lo son",
@@ -680,7 +682,6 @@
"mute": "Amudir",
"muteAll": "Amudir tot lo monde",
"muteEveryoneElse": "Amudir tot los demai",
"reject": "Regetar",
"stopEveryonesVideo": "Arrestar la vidèo de tot lo monde",
"stopVideo": "Arrestar la vidèo",
"unblockEveryoneMicCamera": "Desblocar lo microfòn e la camèra de tot lo monde",
@@ -935,7 +936,6 @@
"neutral": "Neutre",
"sad": "Trist",
"search": "Recercar",
"searchHint": "Cercar participants",
"seconds": "{{count}}segondas",
"speakerStats": "Estatisticas orator",
"speakerTime": "Temps de paraula",

View File

@@ -586,6 +586,8 @@
"youtubeTerms": "Warunki użytkowania YouTube"
},
"lobby": {
"admit": "Pozwól",
"admitAll": "Pozwól wszystkim",
"backToKnockModeButton": "Brak hasła, poproś o dołączenie",
"chat": "Chat",
"dialogTitle": "Lobby",
@@ -619,6 +621,8 @@
"notificationTitle": "Lobby",
"passwordField": "Wprowadź hasło",
"passwordJoinButton": "Dołącz",
"reject": "Odrzuć",
"rejectAll": "Odrzuć wszystkich",
"title": "Lobby",
"toggleLabel": "Włącz / Wyłącz lobby"
},
@@ -752,8 +756,6 @@
},
"participantsPane": {
"actions": {
"admit": "Pozwól",
"admitAll": "Pozwól wszystkim",
"allow": "Zezwól uczestnikom na:",
"allowVideo": "Zezwól na wideo",
"askUnmute": "Poproś o wyłączenie wyciszenia",
@@ -766,7 +768,6 @@
"mute": "Wycisz",
"muteAll": "Wycisz wszystkich",
"muteEveryoneElse": "Wycisz pozostałych",
"reject": "Odrzuć",
"stopEveryonesVideo": "Wyłącz wszystkie kamery",
"stopVideo": "Wyłącz kamerę",
"unblockEveryoneMicCamera": "Odblokuj wszystkim kamerę i mikrofon",
@@ -1077,7 +1078,6 @@
"neutral": "Neutralny",
"sad": "Smutny",
"search": "Wyszukaj",
"searchHint": "Wyszukaj uczestników",
"seconds": "{{count}} sek.",
"speakerStats": "Statystyki mówców",
"speakerTime": "Czas mówcy",

View File

@@ -421,7 +421,6 @@
"sessTerminatedReason": "A reunião foi encerrada",
"sessionRestarted": "Chamada reiniciada devido a um problema de ligação.",
"shareAudio": "Continuar",
"shareAudioAltText": "Para partilhar o conteúdo pretendido, navegue até ao \"Separador do navegador\", seleccione o conteúdo, active a marca de verificação \"Partilhar áudio\" e, em seguida, clique no botão \"Partilhar\"",
"shareAudioTitle": "Como partilhar áudio",
"shareAudioWarningD1": "precisa de parar a partilha do ecrã antes de partilhar o seu áudio.",
"shareAudioWarningD2": "precisa de reiniciar a sua partilha de ecrã e verificar a opção \"partilhar áudio\".",
@@ -642,6 +641,8 @@
"youtubeTerms": "Termos de serviços do YouTube"
},
"lobby": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"backToKnockModeButton": "Peça para aderir",
"chat": "Chat",
"dialogTitle": "Modo sala de espera",
@@ -675,6 +676,8 @@
"notificationLobbyEnabled": "A sala de espera foi activada por {{originParticipantName}}",
"notificationTitle": "Sala de espera",
"passwordJoinButton": "Solicitar",
"reject": "Rejeitar",
"rejectAll": "Rejeitar todos",
"title": "Sala de espera",
"toggleLabel": "Ativar sala de espera"
},
@@ -812,8 +815,6 @@
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ligar o som",
@@ -827,7 +828,6 @@
"mute": "Silenciar",
"muteAll": "Silenciar todos",
"muteEveryoneElse": "Silenciar todos os outros",
"reject": "Rejeitar",
"stopEveryonesVideo": "Desligar a câmara de todos",
"stopVideo": "Desligar a câmara",
"unblockEveryoneMicCamera": "Desbloquear o microfone e a câmara de todos",
@@ -837,7 +837,6 @@
"headings": {
"lobby": "Sala de espera ({{count}})",
"participantsList": "Participantes da reunião ({{count}})",
"visitorRequests": " (pedidos {{count}})",
"visitors": "Visitantes ({{count}})",
"waitingLobby": "Aguardam na sala de espera ({{count}})"
},
@@ -928,7 +927,7 @@
"joinWithoutAudio": "Entrar sem áudio",
"keyboardShortcuts": "Ativar os atalhos de teclado",
"linkCopied": "Link copiado para a área de transferência",
"lookGood": "Tudo está a funcionar corretamente",
"lookGood": "O seu microfone funciona corretamente",
"or": "ou",
"premeeting": "Pré-reunião",
"proceedAnyway": "Continuar na mesma",
@@ -1016,15 +1015,12 @@
"onlyRecordSelf": "Gravar apenas as minhas transmissões áudio e vídeo",
"pending": "Preparando para gravar a reunião...",
"rec": "REC",
"recordAudioAndVideo": "Gravar áudio e vídeo",
"recordTranscription": "Gravar transcrições",
"saveLocalRecording": "Guardar ficheiro de gravação localmente (Beta)",
"serviceDescription": "Sua gravação será salva pelo serviço de gravação",
"serviceDescriptionCloud": "Gravação na nuvem",
"serviceDescriptionCloudInfo": "As reuniões gravadas são automaticamente apagadas 24h após a hora de gravação.",
"serviceName": "Serviço de gravação",
"sessionAlreadyActive": "Esta sessão já está a ser gravada ou transmitida em direto.",
"showAdvancedOptions": "Opções avançadas",
"signIn": "Entrar",
"signOut": "Sair",
"surfaceError": "Por favor, seleccione o separador actual.",
@@ -1145,7 +1141,6 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Pesquisar",
"searchHint": "Pesquisar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas dos Participantes",
"speakerTime": "Tempo do Participante",
@@ -1168,7 +1163,7 @@
"toolbar": {
"Settings": "Definições",
"accessibilityLabel": {
"Settings": "Abrir definições",
"Settings": "Mudar configurações",
"audioOnly": "Mudar para apenas áudio",
"audioRoute": "Selecionar o dispositivo de som",
"boo": "Vaia",

View File

@@ -642,6 +642,8 @@
"youtubeTerms": "Termos de serviços do YouTube"
},
"lobby": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"backToKnockModeButton": "Sem senha, peça para se juntar",
"chat": "Chat",
"dialogTitle": "Modo sala de espera",
@@ -675,6 +677,8 @@
"notificationLobbyEnabled": "Sala de espera foi habilitada por {{originParticipantName}}",
"notificationTitle": "Sala de espera",
"passwordJoinButton": "Solicitar",
"reject": "Rejeitar",
"rejectAll": "Rejeitar todos",
"title": "Sala de espera",
"toggleLabel": "Habilitar sala de espera"
},
@@ -812,8 +816,6 @@
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ativar som",
@@ -827,7 +829,6 @@
"mute": "Silenciar",
"muteAll": "Silenciar todos",
"muteEveryoneElse": "Silenciar todos os demais",
"reject": "Rejeitar",
"stopEveryonesVideo": "Parar vídeo de todos",
"stopVideo": "Parar vídeo",
"unblockEveryoneMicCamera": "Desbloquear microfone e câmera de todos",
@@ -1141,7 +1142,6 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Busca",
"searchHint": "Buscar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas do apresentador",
"speakerTime": "Tempo do apresentador",

View File

@@ -577,8 +577,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Nume",
"search": "Căutare",
"searchHint": "Căutați participanți",
"seconds": "{{count}}s",
"speakerStats": "Statistici participanți",
"speakerTime": "Durată vorbire participant"

View File

@@ -49,18 +49,13 @@
"remove": "Удалить",
"sendToBreakoutRoom": "Отправить участника к:"
},
"breakoutList": "Сессионные залы",
"buttonLabel": "Сессионные залы",
"defaultName": "Сессионный зал #{{index}}",
"hideParticipantList": "Скрыть список участников",
"mainRoom": "Главная комната",
"notifications": {
"joined": "Вход в сессионный зал \"{{name}}\"",
"joinedMainRoom": "Вход в главную комнату",
"joinedTitle": "Сессионные залы"
},
"showParticipantList": "Показать участников",
"title": "Сессионные залы"
}
},
"calendarSync": {
"addMeetingURL": "Добавить ссылку конференции",
@@ -377,7 +372,6 @@
"sendPrivateMessageTitle": "Отправить личное сообщение?",
"serviceUnavailable": "Служба недоступна",
"sessTerminated": "Связь прервана",
"sessTerminatedReason": "Встреча прервана",
"sessionRestarted": "Вызов перезапущен из-за проблемы с подключением.",
"shareAudio": "Продолжить",
"shareAudioTitle": "Как поделиться аудио",
@@ -563,6 +557,8 @@
"youtubeTerms": "Условия использования YouTube"
},
"lobby": {
"admit": "Признать",
"admitAll": "Признать все",
"backToKnockModeButton": "Попросить присоединиться",
"chat": "Чат",
"dialogTitle": "Режим лобби",
@@ -596,6 +592,8 @@
"notificationTitle": "Лобби",
"passwordField": "Введите пароль встречи",
"passwordJoinButton": "Присоединиться",
"reject": "Отказать",
"rejectAll": "Отказать всем",
"title": "Лобби",
"toggleLabel": "Включить лобби"
},
@@ -722,8 +720,6 @@
},
"participantsPane": {
"actions": {
"admit": "Признать",
"admitAll": "Признать все",
"allow": "Разрешить",
"allowVideo": "Разрешить видео",
"askUnmute": "Попросить разрешение включить микрофон",
@@ -736,7 +732,6 @@
"mute": "Выключить звук",
"muteAll": "Выключить звук у всех",
"muteEveryoneElse": "Выключить микрофон у остальных",
"reject": "Отказать",
"stopEveryonesVideo": "Выключить у всех камеру",
"stopVideo": "Остановить видео",
"unblockEveryoneMicCamera": "Разблокировать у всех микрофон и камеру",
@@ -1023,7 +1018,6 @@
"neutral": "Нейтральный",
"sad": "Грусный",
"search": "Поиск",
"searchHint": "Поиск участников",
"seconds": "{{count}}с",
"speakerStats": "Статистика выступлений",
"speakerTime": "Время выступлений",

View File

@@ -561,6 +561,8 @@
"youtubeTerms": "Cunditziones de servìtziu de YouTube"
},
"lobby": {
"admit": "Ammite",
"admitAll": "Ammite totu",
"allow": "Permite",
"backToKnockModeButton": "Pedi de intrare",
"chat": "Tzarrada",
@@ -595,6 +597,8 @@
"notificationTitle": "Aposentu de abetu",
"passwordField": "Inserta sa crae de sa riunione",
"passwordJoinButton": "Aderi",
"reject": "Refuda",
"rejectAll": "Refuda totu",
"title": "Aposentu de abetu",
"toggleLabel": "Ativa s'aposentu de abetu"
},
@@ -723,8 +727,6 @@
},
"participantsPane": {
"actions": {
"admit": "Ammite",
"admitAll": "Ammite totu",
"allow": "Permite a is partetzipantes:",
"allowVideo": "Permite vìdeu",
"askUnmute": "Pedi de ativare su micròfonu",
@@ -737,7 +739,6 @@
"mute": "A sa muda",
"muteAll": "Totu a sa muda",
"muteEveryoneElse": "Pone totus a sa muda",
"reject": "Refuda",
"stopEveryonesVideo": "Istuda su vìdeu de totu is partetzipantes",
"stopVideo": "Firma su vìdeu",
"unblockEveryoneMicCamera": "Isbloca su micròfonu e sa càmera de totu is partetzipantes",
@@ -1036,7 +1037,6 @@
"neutral": "Neutrale",
"sad": "Tristu",
"search": "Chirca",
"searchHint": "Chirca partetzipantes",
"seconds": "{count} seg",
"speakerStats": "Istatìsticas de partetzipante",
"speakerTime": "Tempus de partetzipante",

View File

@@ -466,6 +466,7 @@
"notificationTitle": "Čakáreň",
"passwordField": "Zadajte heslo do konferencie",
"passwordJoinButton": "Vstúpiť",
"reject": "Odmietnuť",
"title": "Čakáreň",
"toggleLabel": "Zapnúť čakáreň"
},
@@ -540,11 +541,6 @@
"suboptimalExperienceTitle": "Prehliadačové varovanie",
"unmute": "Zapnúť mikrofón"
},
"participantsPane": {
"actions": {
"reject": "Odmietnuť"
}
},
"passwordDigitsOnly": "až {{number}} číslic",
"passwordSetRemotely": "nastavené iným účastníkom",
"poweredby": "založené na",
@@ -698,8 +694,6 @@
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Meno",
"search": "Hľadať",
"searchHint": "Vyhľadajte účastníkov",
"seconds": "{{count}}s",
"speakerStats": "Štatistiky rečníka",
"speakerTime": "Čas rečníka"

View File

@@ -499,6 +499,8 @@
"youtubeTerms": "Pogoji uporabe YouTube"
},
"lobby": {
"admit": "Sprejmi",
"admitAll": "Sprejmi vse",
"allow": "Dovoli",
"backToKnockModeButton": "Prosi za dostop",
"dialogTitle": "Način predsobe",
@@ -529,6 +531,8 @@
"notificationTitle": "Predsoba",
"passwordField": "Vnesite geslo sestanka",
"passwordJoinButton": "Pridruži se",
"reject": "Zavrni",
"rejectAll": "Zavrni vse",
"title": "Predsoba",
"toggleLabel": "Omogoči predsobo"
},
@@ -625,8 +629,6 @@
},
"participantsPane": {
"actions": {
"admit": "Sprejmi",
"admitAll": "Sprejmi vse",
"allow": "Udeleženci si lahko:",
"allowVideo": "Dovoli video",
"askUnmute": "Prosi za vklop mikrofona",
@@ -636,7 +638,6 @@
"mute": "Izklopi zvok",
"muteAll": "Izklopi zvok vsem",
"muteEveryoneElse": "Izklopi zvok vsem ostalim",
"reject": "Zavrni",
"stopEveryonesVideo": "Izklopi video vsem ostalim",
"stopVideo": "Izklopi video",
"unblockEveryoneMicCamera": "Dovoli zvok in video vsem udeležencem",
@@ -875,7 +876,6 @@
"minutes": "{{count}}m",
"name": "Ime",
"search": "Iskanje",
"searchHint": "Iskanje udeležencev",
"seconds": "{{count}}s",
"speakerStats": "Statistika govorca",
"speakerTime": "Čas govorjenja"

View File

@@ -582,6 +582,8 @@
"youtubeTerms": "Kushte shërbimi YouTube"
},
"lobby": {
"admit": "Pranoje",
"admitAll": "Pranoji të tërë",
"backToKnockModeButton": "Kërkoji të marrë pjesë",
"chat": "Fjalosje",
"dialogTitle": "Mënyra holl",
@@ -615,6 +617,8 @@
"notificationTitle": "Holl",
"passwordField": "Jepni fjalëkalim takimi",
"passwordJoinButton": "Hyni",
"reject": "Hidhe poshtë",
"rejectAll": "Hidhi poshtë të tërë",
"title": "Holl",
"toggleLabel": "Aktivizoni hollin"
},
@@ -745,8 +749,6 @@
},
"participantsPane": {
"actions": {
"admit": "Pranoje",
"admitAll": "Pranoji të tërë",
"allow": "Lejoju pjesëmarrësve të:",
"allowVideo": "Çaktivizoni videon",
"askUnmute": "Kërkoni heqje heshtimi",
@@ -759,7 +761,6 @@
"mute": "Heshtoje",
"muteAll": "Heshtoji të tërë",
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"reject": "Hidhe poshtë",
"stopEveryonesVideo": "Ndal videon e gjithkujt",
"stopVideo": "Ndale videon",
"unblockEveryoneMicCamera": "Zhblloko mikrofonin dhe kamerën e gjithkujt",
@@ -1058,7 +1059,6 @@
"neutral": "Asnjanës",
"sad": "I trishtuar",
"search": "Kërko",
"searchHint": "Kërkoni pjesëmarrësit",
"seconds": "{{count}}s",
"speakerStats": "Statistika Folësi",
"speakerTime": "Kohë Folësi",

View File

@@ -580,8 +580,6 @@
"hours": "",
"minutes": "",
"name": "Имe",
"search": "Претрага",
"searchHint": "Учесници претраге",
"seconds": "",
"speakerStats": "Статистика говорника",
"speakerTime": "Вријeмe говорника"

View File

@@ -587,6 +587,8 @@
"youtubeTerms": "Tjänstevillkor för YouTube"
},
"lobby": {
"admit": "Godkänn",
"admitAll": "Godkänn alla",
"backToKnockModeButton": "Tillbaka till väntrum",
"chat": "Chatt",
"dialogTitle": "Väntrum",
@@ -620,6 +622,8 @@
"notificationTitle": "Väntrum",
"passwordField": "Ange möteslösenord",
"passwordJoinButton": "Anslut",
"reject": "Avvisa",
"rejectAll": "Avvisa alla",
"title": "Lobby",
"toggleLabel": "Aktivera väntrum"
},
@@ -753,8 +757,6 @@
},
"participantsPane": {
"actions": {
"admit": "Godkänn",
"admitAll": "Godkänn alla",
"allow": "Låt deltagarna:",
"allowVideo": "Tillåt kamera",
"askUnmute": "Be om att aktivera ljud",
@@ -767,7 +769,6 @@
"mute": "Stäng av ljud",
"muteAll": "Stäng av allt ljud",
"muteEveryoneElse": "Inaktivera ljud för alla deltagare",
"reject": "Avvisa",
"stopEveryonesVideo": "Inaktivera allas video",
"stopVideo": "Inaktivera video",
"unblockEveryoneMicCamera": "Aktivera allas mikrofon och kamera",
@@ -1078,7 +1079,6 @@
"neutral": "Neutral",
"sad": "Ledsen",
"search": "Sök",
"searchHint": "Sök deltagare",
"seconds": "{{count}} s",
"speakerStats": "Talarstatistik",
"speakerTime": "Talartid",

View File

@@ -455,6 +455,8 @@
"youtubeTerms": "యూట్యూబ్ సేవా నియమాలు"
},
"lobby": {
"admit": "అనుమతించు",
"allow": "అనుమతించు",
"backToKnockModeButton": "సంకేతపదం లేదు, చేర్చుకోమని అడుగు",
"dialogTitle": "Lobby mode",
"disableDialogContent": "Lobby mode is currently enabled. This feature ensures that unwanted participants can't join your meeting. Do you want to disable it?",
@@ -483,6 +485,7 @@
"notificationTitle": "Lobby",
"passwordField": "సమావేశం సంకేతపదం ఇవ్వండి",
"passwordJoinButton": "చేరు",
"reject": "నిరాకరించు",
"title": "Lobby",
"toggleLabel": "Enable lobby"
},
@@ -563,11 +566,8 @@
},
"participantsPane": {
"actions": {
"admit": "అనుమతించు",
"allow": "అనుమతించు",
"invite": "ప్రజలను ఆహ్వానించు",
"muteAll": "అందరినీ మౌనించు",
"reject": "నిరాకరించు",
"stopVideo": "వీడియో ఆపివేయి"
},
"headings": {
@@ -752,8 +752,6 @@
"hours": "{{count}}గం",
"minutes": "{{count}}ని",
"name": "పేరు",
"search": "శోధించు",
"searchHint": "శోధన పాల్గొనేవారు",
"seconds": "{{count}}క్ష",
"speakerStats": "మాట్లాడేవారి గణాంకాలు",
"speakerTime": "మాట్లాడిన సమయం"

View File

@@ -222,7 +222,6 @@
"Share": "Paylaş",
"Submit": "Gönder",
"WaitForHostMsg": "Toplantısı henüz başlamadı. Toplantı sahibi sizseniz, lütfen kimlik doğrulaması yapın. Değilseniz lütfen toplantı sahibinin gelmesini bekleyin.",
"WaitingForHostButton": "Toplantı sahibini bekle",
"WaitingForHostTitle": "Toplantı sahibi bekleniyor ...",
"Yes": "Evet",
"accessibilityLabel": {
@@ -562,6 +561,8 @@
"youtubeTerms": "YouTube hizmet şartları"
},
"lobby": {
"admit": "Kabul et",
"admitAll": "Hepsini kabul et",
"allow": "İzin ver",
"backToKnockModeButton": "Parola yok, bunun yerine katılmayı isteyin",
"chat": "Sohbet et",
@@ -596,6 +597,8 @@
"notificationTitle": "Lobi",
"passwordField": "Toplantı parolasını giriniz",
"passwordJoinButton": "Katıl",
"reject": "Reddet",
"rejectAll": "Hepsini reddet",
"title": "Lobi",
"toggleLabel": "Lobiyi etkinleştir"
},
@@ -722,8 +725,6 @@
},
"participantsPane": {
"actions": {
"admit": "Kabul et",
"admitAll": "Hepsini kabul et",
"allow": "Katılımcıların şunları yapmasına izin ver:",
"allowVideo": "Video'ya izin ver",
"askUnmute": "Sesi açmayı iste",
@@ -736,7 +737,6 @@
"mute": "Sessize al",
"muteAll": "Herkesi sessize al",
"muteEveryoneElse": "Diğer herkesi sessize al",
"reject": "Reddet",
"stopEveryonesVideo": "Herkesin videosunu durdur",
"stopVideo": "Video'yu durdur",
"unblockEveryoneMicCamera": "Herkesin mikrofonunun ve kamerasının engellemesini kaldır",
@@ -1034,7 +1034,6 @@
"neutral": "Nötr",
"sad": "Üzgün",
"search": "Ara",
"searchHint": "Katılımcıları ara",
"seconds": "{{count}}sn",
"speakerStats": "Konuşmacı İstatistikleri",
"speakerTime": "Konuşmacı Süresi",

View File

@@ -584,6 +584,8 @@
"youtubeTerms": "Умови надання послуг YouTube"
},
"lobby": {
"admit": "Допустити",
"admitAll": "Допустити всіх",
"backToKnockModeButton": "Запитати дозволу",
"chat": "Чат",
"dialogTitle": "Приймальна",
@@ -617,6 +619,8 @@
"notificationTitle": "Приймальна",
"passwordField": "Ввести пароль зустрічі",
"passwordJoinButton": "Приєднатися",
"reject": "Відмовити",
"rejectAll": "Відмовити всім",
"title": "Приймальна",
"toggleLabel": "Увімкнути приймальну"
},
@@ -749,8 +753,6 @@
},
"participantsPane": {
"actions": {
"admit": "Допустити",
"admitAll": "Допустити всіх",
"allow": "Дозволити учасникам:",
"allowVideo": "Розблокувати камеру",
"askUnmute": "Надати слово",
@@ -763,7 +765,6 @@
"mute": "Вимкнути мікрофон",
"muteAll": "Вимкнути мікрофони всім",
"muteEveryoneElse": "Вимкнути мікрофони всім іншим",
"reject": "Відмовити",
"stopEveryonesVideo": "Вимкнути камери всім",
"stopVideo": "Вимкнути камеру",
"unblockEveryoneMicCamera": "Розблокувати всім мікрофон і камеру",
@@ -1066,7 +1067,6 @@
"neutral": "нормально",
"sad": "сумую",
"search": "Пошук",
"searchHint": "Пошук учасників",
"seconds": "{{count}} с",
"speakerStats": "Статистика спілкування",
"speakerTime": "Час спілкування",

View File

@@ -576,8 +576,6 @@
"hours": "{{count}} giờ",
"minutes": "{{count}} phút",
"name": "Tên",
"search": "Tìm kiếm",
"searchHint": "Tìm kiếm người tham gia",
"seconds": "{{count}} giây",
"speakerStats": "Thống kê về diễn giả",
"speakerTime": "Thời gian của diễn giả"

View File

@@ -627,6 +627,8 @@
"youtubeTerms": "YouTube服务条款"
},
"lobby": {
"admit": "同意",
"admitAll": "同意全部",
"backToKnockModeButton": "请求加入",
"chat": "聊天",
"dialogTitle": "大厅模式",
@@ -660,6 +662,8 @@
"notificationTitle": "大厅",
"passwordField": "输入会议密码",
"passwordJoinButton": "加入",
"reject": "拒绝",
"rejectAll": "拒绝全部",
"title": "大厅",
"toggleLabel": "开启大厅模式"
},
@@ -794,8 +798,6 @@
},
"participantsPane": {
"actions": {
"admit": "同意",
"admitAll": "同意全部",
"allow": "允许参会者:",
"allowVideo": "允许视频",
"askUnmute": "请求解除静音",
@@ -808,7 +810,6 @@
"mute": "静音",
"muteAll": "全体静音",
"muteEveryoneElse": "全体静音",
"reject": "拒绝",
"stopEveryonesVideo": "禁用所有人视频",
"stopVideo": "禁用视频",
"unblockEveryoneMicCamera": "允许所有人的麦克风和摄像头",
@@ -1120,7 +1121,6 @@
"neutral": "中立",
"sad": "悲伤",
"search": "搜索",
"searchHint": "搜索参会者",
"seconds": "{{count}}秒",
"speakerStats": "发言统计",
"speakerTime": "发言时间",

View File

@@ -641,6 +641,8 @@
"youtubeTerms": "YouTube 服務條款"
},
"lobby": {
"admit": "準許",
"admitAll": "準許所有人",
"backToKnockModeButton": "請求加入",
"chat": "聊天",
"dialogTitle": "大廳模式",
@@ -674,6 +676,8 @@
"notificationTitle": "大廳",
"passwordField": "輸入會議密碼",
"passwordJoinButton": "加入",
"reject": "拒絕",
"rejectAll": "拒絕所有人",
"title": "大廳",
"toggleLabel": "啟用大廳模式"
},
@@ -811,8 +815,6 @@
},
"participantsPane": {
"actions": {
"admit": "準許",
"admitAll": "準許所有人",
"allow": "允許與會者能夠:",
"allowVideo": "允許視訊",
"askUnmute": "要求解除靜音",
@@ -826,7 +828,6 @@
"mute": "靜音",
"muteAll": "靜音所有人",
"muteEveryoneElse": "靜音其他人",
"reject": "拒絕",
"stopEveryonesVideo": "停用所有人的視訊",
"stopVideo": "停用視訊",
"unblockEveryoneMicCamera": "解除封鎖所有人的麥克風及網路攝影機",
@@ -1140,7 +1141,6 @@
"neutral": "中立",
"sad": "悲傷",
"search": "搜尋",
"searchHint": "搜尋與會者",
"seconds": "{{count}} 秒",
"speakerStats": "發言統計",
"speakerTime": "發言時間",

View File

@@ -219,9 +219,7 @@
"joinInBrowser": "Join in browser",
"launchMeetingLabel": "How do you want to join this meeting?",
"launchWebButton": "Launch in web",
"noDesktopApp": "You dont have the app?",
"noMobileApp": "You dont have the app?",
"or": "OR",
"termsAndConditions": "By continuing you agree to our <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terms & conditions.</a>",
"title": "Launching your meeting in {{app}}...",
"titleNew": "Launching your meeting ...",
@@ -454,7 +452,7 @@
"token": "token",
"tokenAuthFailed": "Sorry, you're not allowed to join this call.",
"tokenAuthFailedReason": {
"audInvalid": "Invalid `aud` value. It should be `jitsi`.",
"audInvalid": "Ivalid `aud` value. It should be `jitsi`.",
"contextNotFound": "The `context` object is missing from the payload.",
"expInvalid": "Invalid `exp` value.",
"featureInvalid": "Invalid feature: {{feature}}, most likely not implemented yet.",
@@ -617,7 +615,7 @@
"errorAPI": "An error occurred while accessing your YouTube broadcasts. Please try logging in again.",
"errorLiveStreamNotEnabled": "Live Streaming is not enabled on {{email}}. Please enable live streaming or log into an account with live streaming enabled.",
"expandedOff": "The live streaming has stopped",
"expandedOn": "The meeting is currently being live streamed",
"expandedOn": "The meeting is currently being streamed to YouTube.",
"expandedPending": "The live streaming is being started...",
"failedToStart": "Live Streaming failed to start",
"getStreamKeyManually": "We werent able to fetch any live streams. Try getting your live stream key from YouTube.",
@@ -644,6 +642,8 @@
"youtubeTerms": "YouTube terms of services"
},
"lobby": {
"admit": "Admit",
"admitAll": "Admit all",
"backToKnockModeButton": "Ask to join",
"chat": "Chat",
"dialogTitle": "Lobby mode",
@@ -677,6 +677,8 @@
"notificationLobbyEnabled": "Lobby has been enabled by {{originParticipantName}}",
"notificationTitle": "Lobby",
"passwordJoinButton": "Join",
"reject": "Reject",
"rejectAll": "Reject all",
"title": "Lobby",
"toggleLabel": "Enable lobby"
},
@@ -802,9 +804,6 @@
"startSilentTitle": "You joined with no audio output!",
"suboptimalBrowserWarning": "We are afraid your meeting experience isn't going to be that great here. We are looking for ways to improve this, but until then please try using one of the <a href='{{recommendedBrowserPageLink}}' target='_blank'>fully supported browsers</a>.",
"suboptimalExperienceTitle": "Browser Warning",
"suggestRecordingAction": "Start",
"suggestRecordingDescription": "Would you like to start a recording?",
"suggestRecordingTitle": "Record this meeting",
"unmute": "Unmute",
"videoMutedRemotelyDescription": "You can always turn it on again.",
"videoMutedRemotelyTitle": "Your video has been turned off by {{participantDisplayName}}",
@@ -817,8 +816,6 @@
},
"participantsPane": {
"actions": {
"admit": "Admit",
"admitAll": "Admit all",
"allow": "Allow attendees to:",
"allowVideo": "Allow video",
"askUnmute": "Ask to unmute",
@@ -832,7 +829,6 @@
"mute": "Mute",
"muteAll": "Mute all",
"muteEveryoneElse": "Mute everyone else",
"reject": "Reject",
"stopEveryonesVideo": "Stop everyone's video",
"stopVideo": "Stop video",
"unblockEveryoneMicCamera": "Unblock everyone's mic and camera",
@@ -842,8 +838,7 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Meeting participants ({{count}})",
"visitorRequests": " (requests {{count}})",
"visitors": "Visitors {{count}}",
"visitors": "Visitors ({{count}})",
"waitingLobby": "Waiting in lobby ({{count}})"
},
"search": "Search participants",
@@ -933,7 +928,7 @@
"joinWithoutAudio": "Join without audio",
"keyboardShortcuts": "Enable Keyboard shortcuts",
"linkCopied": "Link copied to clipboard",
"lookGood": "Everything is working properly",
"lookGood": "Your microphone is working properly",
"or": "or",
"premeeting": "Pre meeting",
"proceedAnyway": "Proceed anyway",
@@ -990,7 +985,7 @@
"error": "Recording failed. Please try again.",
"errorFetchingLink": "Error fetching recording link.",
"expandedOff": "Recording has stopped",
"expandedOn": "The meeting is currently being recorded",
"expandedOn": "The meeting is currently being recorded.",
"expandedPending": "Recording is being started...",
"failedToStart": "Recording failed to start",
"fileSharingdescription": "Share the recording link with the meeting participants",
@@ -1003,6 +998,7 @@
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "We have generated a link to your recording.",
"live": "LIVE",
"localRecordingNoNotificationWarning": "The recording will not be announced to other participants. You will need to let them know that the meeting is recorded.",
"localRecordingNoVideo": "Video is not being recorded",
"localRecordingStartWarning": "Please make sure you stop the recording before exiting the meeting in order to save it.",
@@ -1019,15 +1015,13 @@
"onBy": "{{name}} started the recording",
"onlyRecordSelf": "Record only my audio and video streams",
"pending": "Preparing to record the meeting...",
"recordAudioAndVideo": "Record audio and video",
"recordTranscription": "Record transcription",
"rec": "REC",
"saveLocalRecording": "Save recording file locally (Beta)",
"serviceDescription": "Your recording will be saved by the recording service",
"serviceDescriptionCloud": "Cloud recording",
"serviceDescriptionCloudInfo": "Recorded meetings are automatically cleared 24h after their recording time.",
"serviceName": "Recording service",
"sessionAlreadyActive": "This session is already being recorded or live streamed.",
"showAdvancedOptions": "Advanced options",
"signIn": "Sign in",
"signOut": "Sign out",
"surfaceError": "Please select the current tab.",
@@ -1043,7 +1037,7 @@
"security": {
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"insecureRoomNameWarningNative": "The room name is unsafe. Unwanted participants may join your meeting. {{recommendAction}} Learn more about securing your meeting ",
"insecureRoomNameWarningNative": "The room name is unsafe. Unwanted participants may join your meeting. {{recommendAction}} Learn more about securing you meeting ",
"insecureRoomNameWarningWeb": "The room name is unsafe. Unwanted participants may join your meeting. {{recommendAction}} Learn more about securing you meeting <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">here</a>.",
"title": "Security Options",
"unsafeRoomActions": {
@@ -1148,7 +1142,6 @@
"neutral": "Neutral",
"sad": "Sad",
"search": "Search",
"searchHint": "Search participants",
"seconds": "{{count}}s",
"speakerStats": "Participants Stats",
"speakerTime": "Speaker Time",
@@ -1171,7 +1164,7 @@
"toolbar": {
"Settings": "Settings",
"accessibilityLabel": {
"Settings": "Open settings",
"Settings": "Toggle settings",
"audioOnly": "Toggle audio only",
"audioRoute": "Select the sound device",
"boo": "Boo",
@@ -1217,7 +1210,7 @@
"moreActions": "More actions",
"moreActionsMenu": "More actions menu",
"moreOptions": "Show more options",
"mute": "Mute microphone",
"mute": "Mute",
"muteEveryone": "Mute everyone",
"muteEveryoneElse": "Mute everyone else",
"muteEveryoneElsesVideoStream": "Stop everyone else's video",
@@ -1253,7 +1246,7 @@
"tileView": "Toggle tile view",
"toggleCamera": "Toggle camera",
"toggleFilmstrip": "Toggle filmstrip",
"unmute": "Unmute microphone",
"unmute": "Unmute",
"videoblur": "Toggle video blur",
"videomute": "Stop camera",
"videomuteGUMPending": "Connecting your camera",
@@ -1304,7 +1297,7 @@
"lowerYourHand": "Lower your hand",
"moreActions": "More actions",
"moreOptions": "More options",
"mute": "Mute microphone",
"mute": "Mute",
"muteEveryone": "Mute everyone",
"muteEveryonesVideo": "Disable everyone's camera",
"muteGUMPending": "Connecting your microphone",
@@ -1350,7 +1343,7 @@
"talkWhileMutedPopup": "Trying to speak? You are muted.",
"tileViewToggle": "Toggle tile view",
"toggleCamera": "Toggle camera",
"unmute": "Unmute microphone",
"unmute": "Unmute",
"videoSettings": "Video settings",
"videomute": "Stop camera",
"videomuteGUMPending": "Connecting your camera",
@@ -1358,9 +1351,12 @@
},
"transcribing": {
"ccButtonTooltip": "Start / Stop subtitles",
"error": "Transcribing failed. Please try again.",
"expandedLabel": "Transcribing is currently on",
"failedToStart": "Transcribing failed to start",
"labelToolTip": "The meeting is being transcribed",
"off": "Transcribing stopped",
"pending": "Preparing to transcribe the meeting...",
"sourceLanguageDesc": "Currently the meeting language is set to <b>{{sourceLanguage}}</b>. <br/> You can change it from ",
"sourceLanguageHere": "here",
"start": "Start showing subtitles",

View File

@@ -1,29 +1,35 @@
/* eslint-disable */
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config');
/**
* Metro configuration
* https://reactnative.dev/docs/metro
* Metro configuration for React Native
* https://github.com/facebook/react-native
*
* @type {import('metro-config').MetroConfig}
* @format
*/
const {
resolver: {
sourceExts,
assetExts
}
} = getDefaultConfig();
const { getDefaultConfig } = require('metro-config');
const config = {
transformer: {
babelTransformerPath: require.resolve('react-native-svg-transformer')
},
resolver: {
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [ ...sourceExts, 'svg' ]
}
};
module.exports = (async () => {
const {
resolver: {
sourceExts,
assetExts
}
} = await getDefaultConfig();
module.exports = mergeConfig(getDefaultConfig(__dirname), config);
return {
transformer: {
babelTransformerPath: require.resolve('react-native-svg-transformer'),
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: true,
},
}),
},
resolver: {
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [...sourceExts, 'svg']
}
}
})();

View File

@@ -466,8 +466,8 @@ function initCommands() {
'toggle-subtitles': () => {
APP.store.dispatch(toggleRequestingSubtitles());
},
'set-subtitles': (enabled, displaySubtitles, language) => {
APP.store.dispatch(setRequestingSubtitles(enabled, displaySubtitles, language));
'set-subtitles': enabled => {
APP.store.dispatch(setRequestingSubtitles(enabled));
},
'toggle-tile-view': () => {
sendAnalytics(createApiEvent('tile-view.toggled'));
@@ -835,6 +835,8 @@ function initCommands() {
return true;
}
logger.warn(`Unknown API command received: ${name}`);
return false;
});
transport.on('request', (request, callback) => {
@@ -1975,19 +1977,6 @@ class API {
});
}
/**
* Notify external application (if API is enabled) that transcribing has started or stopped.
*
* @param {boolean} on - True if transcribing is on, false otherwise.
* @returns {void}
*/
notifyTranscribingStatusChanged(on) {
this._sendEvent({
name: 'transcribing-status-changed',
on
});
}
/**
* Notify external application (if API is enabled) that the user received
* a transcription chunk.

View File

@@ -160,7 +160,6 @@ const events = {
'suspend-detected': 'suspendDetected',
'tile-view-changed': 'tileViewChanged',
'toolbar-button-clicked': 'toolbarButtonClicked',
'transcribing-status-changed': 'transcribingStatusChanged',
'transcription-chunk-received': 'transcriptionChunkReceived',
'whiteboard-status-changed': 'whiteboardStatusChanged'
};

View File

@@ -229,9 +229,6 @@ export default class LargeVideoManager {
preUpdate.then(() => {
const { id, stream, videoType, resolve } = this.newStreamData;
this.newStreamData = null;
const state = APP.store.getState();
const shouldHideSelfView = getHideSelfView(state);
const localId = getLocalParticipant(state)?.id;
@@ -242,6 +239,8 @@ export default class LargeVideoManager {
// the video container type (Etherpad, SharedVideo, VideoContainer).
const isVideoContainer = LargeVideoManager.isVideoContainer(videoType);
this.newStreamData = null;
logger.debug(`Scheduled large video update for ${id}`);
this.state = videoType;
// eslint-disable-next-line no-shadow
@@ -288,6 +287,10 @@ export default class LargeVideoManager {
|| streamingStatusActive
);
this.videoTrack?.jitsiTrack?.getVideoType() === VIDEO_TYPE.DESKTOP
&& logger.debug(`Remote track ${videoTrack?.jitsiTrack}, isVideoMuted=${isVideoMuted},`
+ ` streamingStatusActive=${streamingStatusActive}, isVideoRenderable=${isVideoRenderable}`);
const isAudioOnly = APP.conference.isAudioOnly();
// Multi-stream is not supported on plan-b endpoints even if its is enabled via config.js. A virtual
@@ -300,10 +303,6 @@ export default class LargeVideoManager {
= isVideoContainer
&& ((isAudioOnly && videoType !== VIDEO_TYPE.DESKTOP) || !isVideoRenderable || legacyScreenshare);
logger.debug(`scheduleLargeVideoUpdate: Remote track ${videoTrack?.jitsiTrack}, isVideoMuted=${
isVideoMuted}, streamingStatusActive=${streamingStatusActive}, isVideoRenderable=${
isVideoRenderable}, showAvatar=${showAvatar}`);
let promise;
// do not show stream if video is muted

View File

@@ -26,13 +26,6 @@ const FADE_DURATION_MS = 300;
const logger = Logger.getLogger(__filename);
/**
* List of container events that we are going to process for the large video.
*
* NOTE: Currently used only for logging for debug purposes.
*/
const containerEvents = [ 'abort', 'canplaythrough', 'ended', 'error', 'stalled', 'suspend', 'waiting' ];
/**
* 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
@@ -249,18 +242,11 @@ export class VideoContainer extends LargeContainer {
this.wrapperParent = document.getElementById('largeVideoElementsContainer');
this.avatarHeight = document.getElementById('dominantSpeakerAvatarContainer').getBoundingClientRect().height;
this.video.onplaying = function(event) {
logger.debug('Large video is playing!');
if (typeof resizeContainer === 'function') {
resizeContainer(event);
}
};
containerEvents.forEach(event => {
this.video.addEventListener(event, () => {
logger.debug(`${event} handler was called for the large video.`);
});
});
/**
* A Set of functions to invoke when the video element resizes.
*
@@ -269,7 +255,6 @@ export class VideoContainer extends LargeContainer {
this._resizeListeners = new Set();
this.video.onresize = this._onResize.bind(this);
this._play = this._play.bind(this);
}
/**
@@ -470,30 +455,6 @@ export class VideoContainer extends LargeContainer {
this._resizeListeners.delete(callback);
}
/**
* Plays the large video element.
*
* @param {number} retries - Number of retries to play the large video if play fails.
* @returns {void}
*/
_play(retries = 0) {
this.video.play()
.then(() => {
logger.debug(`Successfully played large video after ${retries + 1} retries!`);
})
.catch(e => {
if (retries < 3) {
logger.debug(`Error while trying to playing the large video. Will retry after 1s. Retries: ${
retries}. Error: ${e}`);
window.setTimeout(() => {
this._play(retries + 1);
}, 1000);
} else {
logger.error(`Error while trying to playing the large video after 3 retries: ${e}`);
}
});
}
/**
* Update video stream.
* @param {string} userID
@@ -503,8 +464,6 @@ export class VideoContainer extends LargeContainer {
setStream(userID, stream, videoType) {
this.userId = userID;
if (this.stream === stream && !stream?.forceStreamToReattach) {
logger.debug(`SetStream on the large video for user ${userID} ignored: the stream is not changed!`);
// Handles the use case for the remote participants when the
// videoType is received with delay after turning on/off the
// desktop sharing.
@@ -529,28 +488,22 @@ export class VideoContainer extends LargeContainer {
this.videoType = videoType;
if (!stream) {
logger.debug('SetStream on the large video is called without a stream argument!');
return;
}
if (this.video) {
logger.debug(`Attaching a remote track to the large video for user ${userID}`);
stream.attach(this.video).catch(error => {
logger.error(`Attaching the remote track ${stream} to large video has failed with `, error);
logger.error(`Attaching the remote track ${stream} has failed with `, error);
});
// Ensure large video gets play() called on it when a new stream is attached to it. This is necessary in the
// case of Safari as autoplay doesn't kick-in automatically on Safari 15 and newer versions.
browser.isWebKitBased() && this._play();
browser.isWebKitBased() && this.video.play();
const flipX = stream.isLocal() && this.localFlipX && !this.isScreenSharing();
this.video.style.transform = flipX ? 'scaleX(-1)' : 'none';
this._updateBackground();
} else {
logger.debug(`SetStream on the large video won't attach a track for ${
userID} because no large video element was found!`);
}
}

View File

@@ -154,8 +154,6 @@ const VideoLayout = {
updateLargeVideo(id, forceUpdate, forceStreamToReattach = false) {
if (!largeVideo) {
logger.debug(`Ignoring large video update with user id ${id}: large video not initialized yet!`);
return;
}
const currentContainer = largeVideo.getCurrentContainer();

8817
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -36,7 +36,6 @@
"@react-native-community/netinfo": "11.1.0",
"@react-native-community/slider": "4.4.3",
"@react-native-google-signin/google-signin": "10.1.0",
"@react-native/metro-config": "0.72.9",
"@react-navigation/bottom-tabs": "6.5.8",
"@react-navigation/elements": "1.3.18",
"@react-navigation/material-top-tabs": "6.6.3",
@@ -66,7 +65,7 @@
"js-md5": "0.6.1",
"js-sha512": "0.8.0",
"jwt-decode": "2.2.0",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1767.0.0+178f9bbf/lib-jitsi-meet.tgz",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1734.0.0+34ceebd2/lib-jitsi-meet.tgz",
"lodash": "4.17.21",
"moment": "2.29.4",
"moment-duration-format": "2.2.2",
@@ -81,7 +80,7 @@
"react-focus-on": "3.8.1",
"react-i18next": "10.11.4",
"react-linkify": "1.0.0-alpha",
"react-native": "0.72.9",
"react-native": "0.70.14",
"react-native-background-timer": "2.4.1",
"react-native-calendar-events": "2.2.0",
"react-native-default-preference": "1.4.4",
@@ -103,7 +102,7 @@
"react-native-svg-transformer": "1.1.0",
"react-native-tab-view": "3.5.2",
"react-native-url-polyfill": "2.0.0",
"react-native-video": "6.0.0-alpha.11",
"react-native-video": "6.0.0-alpha.7",
"react-native-watch-connectivity": "1.1.0",
"react-native-webrtc": "118.0.0",
"react-native-webview": "13.5.1",
@@ -125,10 +124,10 @@
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@babel/core": "7.21.5",
"@babel/core": "7.16.0",
"@babel/eslint-parser": "7.21.8",
"@babel/plugin-proposal-export-default-from": "7.22.5",
"@babel/preset-env": "7.21.5",
"@babel/plugin-proposal-export-default-from": "7.16.0",
"@babel/preset-env": "7.16.0",
"@babel/preset-react": "7.16.0",
"@jitsi/eslint-config": "4.1.5",
"@types/amplitude-js": "8.16.2",
@@ -136,7 +135,6 @@
"@types/dom-screen-wake-lock": "1.0.1",
"@types/js-md5": "0.4.3",
"@types/lodash": "4.14.182",
"@types/moment-duration-format": "2.2.6",
"@types/offscreencanvas": "2019.7.2",
"@types/pixelmatch": "5.2.5",
"@types/punycode": "2.1.0",
@@ -167,7 +165,7 @@
"eslint-plugin-react-native": "4.0.0",
"eslint-plugin-typescript-sort-keys": "2.3.0",
"jetifier": "1.6.4",
"metro-react-native-babel-preset": "0.75.1",
"metro-react-native-babel-preset": "0.70.3",
"patch-package": "6.4.7",
"process": "0.11.10",
"sass": "1.26.8",

View File

@@ -1,30 +1,25 @@
diff --git a/node_modules/react-native/React/CoreModules/RCTTiming.mm b/node_modules/react-native/React/CoreModules/RCTTiming.mm
index e4f7e15..6f05fb3 100644
index 13d0d57..00e5d4c 100644
--- a/node_modules/react-native/React/CoreModules/RCTTiming.mm
+++ b/node_modules/react-native/React/CoreModules/RCTTiming.mm
@@ -127,13 +127,16 @@ RCT_EXPORT_MODULE()
@@ -127,7 +127,15 @@ RCT_EXPORT_MODULE()
{
_paused = YES;
_timers = [NSMutableDictionary new];
- _inBackground = NO;
- RCTExecuteOnMainQueue(^{
- if (!self->_inBackground && [RCTSharedApplication() applicationState] == UIApplicationStateBackground) {
- [self appDidMoveToBackground];
- }
+
+
+ __block BOOL initialInBackground;
+ dispatch_sync(dispatch_get_main_queue(), ^{
+ initialInBackground
+ = [UIApplication sharedApplication].applicationState == UIApplicationStateBackground
+ || [UIDevice currentDevice].proximityState;
});
+ _inBackground = initialInBackground;
+ });
+
+ _inBackground = initialInBackground;
for (NSString *name in @[
UIApplicationWillResignActiveNotification,
UIApplicationDidEnterBackgroundNotification,
@@ -151,6 +154,11 @@ RCT_EXPORT_MODULE()
@@ -146,6 +154,11 @@ RCT_EXPORT_MODULE()
name:name
object:nil];
}
@@ -36,7 +31,7 @@ index e4f7e15..6f05fb3 100644
}
- (void)dealloc
@@ -187,6 +195,16 @@ RCT_EXPORT_MODULE()
@@ -182,6 +195,16 @@ RCT_EXPORT_MODULE()
[self startTimers];
}

View File

@@ -13,12 +13,9 @@ import React, {
} from 'react';
import { View, ViewStyle } from 'react-native';
import type { IRoomsInfo } from '../react/features/breakout-rooms/types';
import { appNavigate } from './react/features/app/actions.native';
import { App } from './react/features/app/components/App.native';
import { setAudioMuted, setVideoMuted } from './react/features/base/media/actions';
import { getRoomsInfo } from './react/features/breakout-rooms/functions';
interface IEventListeners {
@@ -31,7 +28,6 @@ interface IEventListeners {
onConferenceWillJoin?: Function;
onEnterPictureInPicture?: Function;
onParticipantJoined?: Function;
onParticipantLeft?: ({ id }: { id: string }) => void;
onReadyToClose?: Function;
}
@@ -52,17 +48,10 @@ interface IAppProps {
userInfo?: IUserInfo;
}
export interface JitsiRefProps {
close: Function;
setAudioMuted?: (muted: boolean) => void;
setVideoMuted?: (muted: boolean) => void;
getRoomsInfo?: () => IRoomsInfo;
}
/**
* Main React Native SDK component that displays a Jitsi Meet conference and gets all required params as props
*/
export const JitsiMeeting = forwardRef<JitsiRefProps, IAppProps>((props, ref) => {
export const JitsiMeeting = forwardRef((props: IAppProps, ref) => {
const [ appProps, setAppProps ] = useState({});
const app = useRef(null);
const {
@@ -92,11 +81,6 @@ export const JitsiMeeting = forwardRef<JitsiRefProps, IAppProps>((props, ref) =>
const dispatch = app.current.state.store.dispatch;
dispatch(setVideoMuted(muted));
},
getRoomsInfo: () => {
const state = app.current.state.store.getState();
return getRoomsInfo(state);
}
}));
@@ -134,7 +118,6 @@ export const JitsiMeeting = forwardRef<JitsiRefProps, IAppProps>((props, ref) =>
onConferenceLeft: eventListeners?.onConferenceLeft,
onEnterPictureInPicture: eventListeners?.onEnterPictureInPicture,
onParticipantJoined: eventListeners?.onParticipantJoined,
onParticipantLeft: eventListeners?.onParticipantLeft,
onReadyToClose: eventListeners?.onReadyToClose
},
'url': urlProps,

View File

@@ -7,23 +7,3 @@
* }
*/
export const UPDATE_LOCAL_TRACKS_DURATION = 'UPDATE_LOCAL_TRACKS_DURATION';
/**
* The type of (redux) action which sets the isInitialized redux prop.
*
* {
* type: SET_INITIALIZED,
* value: boolean
* }
*/
export const SET_INITIALIZED = 'SET_INITIALIZED';
/**
* The type of (redux) action which updates the initial permanent properties.
*
* {
* type: SET_INITIAL_PERMANENT_PROPERTIES,
* properties: Object
* }
*/
export const SET_INITIAL_PERMANENT_PROPERTIES = 'SET_INITIAL_PERMANENT_PROPERTIES';

View File

@@ -1,25 +0,0 @@
import { IStore } from '../app/types';
import { analytics } from '../base/lib-jitsi-meet';
import { SET_INITIAL_PERMANENT_PROPERTIES } from './actionTypes';
/**
* Updates a permanentProperty.
*
* @param {Object} properties - An object with properties to be updated.
* @returns {Function}
*/
export function setPermanentProperty(properties: Object) {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const { isInitialized = false } = getState()['features/analytics'];
if (isInitialized) {
analytics.addPermanentProperties(properties);
} else {
dispatch({
type: SET_INITIAL_PERMANENT_PROPERTIES,
properties
});
}
};
}

View File

@@ -159,13 +159,14 @@ export async function createHandlers({ getState }: IStore) {
*
* @param {Store} store - The redux store in which the specified {@code action} is being dispatched.
* @param {Array<Object>} handlers - The analytics handlers.
* @returns {boolean} - True if the analytics were successfully initialized and false otherwise.
* @param {boolean|undefined} willShowPrejoin -
* @returns {void}
*/
export function initAnalytics(store: IStore, handlers: Array<Object>): boolean {
export function initAnalytics(store: IStore, handlers: Array<Object>, willShowPrejoin?: boolean) {
const { getState, dispatch } = store;
if (!isAnalyticsEnabled(getState) || handlers.length === 0) {
return false;
return;
}
const state = getState();
@@ -212,7 +213,7 @@ export function initAnalytics(store: IStore, handlers: Array<Object>): boolean {
// Report the tenant from the URL.
permanentProperties.tenant = tenant || '/';
permanentProperties.wasPrejoinDisplayed = isPrejoinPageVisible(state);
permanentProperties.wasPrejoinDisplayed = willShowPrejoin ?? isPrejoinPageVisible(state);
// Currently we don't know if there will be lobby. We will update it to true if we go through lobby.
permanentProperties.wasLobbyVisible = false;
@@ -232,11 +233,7 @@ export function initAnalytics(store: IStore, handlers: Array<Object>): boolean {
}
}
analytics.addPermanentProperties({
...permanentProperties,
...getState()['features/analytics'].initialPermanentProperties
});
analytics.addPermanentProperties(permanentProperties);
analytics.setConferenceName(getAnalyticsRoomName(state, dispatch));
// Set the handlers last, since this triggers emptying of the cache
@@ -253,8 +250,6 @@ export function initAnalytics(store: IStore, handlers: Array<Object>): boolean {
}
});
}
return true;
}
/**

View File

@@ -5,6 +5,7 @@ import {
SET_ROOM
} from '../base/conference/actionTypes';
import { SET_CONFIG } from '../base/config/actionTypes';
import { analytics } from '../base/lib-jitsi-meet';
import { SET_NETWORK_INFO } from '../base/net-info/actionTypes';
import MiddlewareRegistry from '../base/redux/MiddlewareRegistry';
import {
@@ -22,8 +23,7 @@ import { I_AM_VISITOR_MODE } from '../visitors/actionTypes';
import { iAmVisitor } from '../visitors/functions';
import { createLocalTracksDurationEvent, createNetworkInfoEvent } from './AnalyticsEvents';
import { SET_INITIALIZED, UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
import { setPermanentProperty } from './actions';
import { UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
import { createHandlers, initAnalytics, resetAnalytics, sendAnalytics } from './functions';
/**
@@ -91,10 +91,10 @@ MiddlewareRegistry.register(store => next => action => {
const result = next(action);
const newIAmVisitor = iAmVisitor(store.getState());
store.dispatch(setPermanentProperty({
analytics.addPermanentProperties({
isVisitor: newIAmVisitor,
isPromotedFromVisitor: oldIAmVisitor && !newIAmVisitor
}));
});
return result;
}
@@ -104,13 +104,6 @@ MiddlewareRegistry.register(store => next => action => {
// the user will be redirected to another page and new instance of
// Analytics will be created and initialized.
resetAnalytics();
const { dispatch } = store;
dispatch({
type: SET_INITIALIZED,
value: false
});
}
break;
case SET_ROOM: {
@@ -121,12 +114,7 @@ MiddlewareRegistry.register(store => next => action => {
const result = next(action);
createHandlersPromise.then(handlers => {
if (initAnalytics(store, handlers)) {
store.dispatch({
type: SET_INITIALIZED,
value: true
});
}
initAnalytics(store, handlers, action.willShowPrejoin);
});
return result;
@@ -175,9 +163,9 @@ MiddlewareRegistry.register(store => next => action => {
}
case SET_LOBBY_VISIBILITY:
if (getIsLobbyVisible(store.getState())) {
store.dispatch(setPermanentProperty({
analytics.addPermanentProperties({
wasLobbyVisible: true
}));
});
}
break;

Some files were not shown because too many files have changed in this diff Show More