Compare commits

...

88 Commits

Author SHA1 Message Date
Hristo Terezov
3c32d9c552 feat(LargeVideo): Add logging. 2024-01-25 09:31:38 -06:00
Hristo Terezov
f51d8d54e4 fix(LargeVideo): Add retries for play. 2024-01-25 09:31:38 -06:00
Saúl Ibarra Corretgé
ac26dce0a5 feat(android) list HDMI connections as speakers 2024-01-25 10:59:21 +01:00
Jaya Allamsetty
7a23625752 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1759.0.0+fc2f2490...v1760.0.0+7895cb25
2024-01-24 16:47:05 -05:00
Corey Maler
4cb4a4db00 fix(participant) prevent gravatar request during loading of config (#14255) 2024-01-24 13:32:59 +01:00
Sveinn í Felli
05e484c4aa fix(lang) Update main-is.json (#14270)
Updated Icelandic translation
2024-01-22 20:39:00 +01:00
Дамян Минков
5871e50a20 * feat: Stores vpaas check in room object.
* feat: Clear queues on destroy for muc rate limit join/leave.

* feat: Stores vpaas check in room object.

* squash: Replace one regexp with starts_with.
2024-01-22 11:48:35 -06:00
Damien Fetis
95ad04b19c fix(lang) update french translation (#14269) 2024-01-22 17:59:46 +01:00
damencho
36fab239cc fix: Updates checking for granted feature. 2024-01-22 09:28:48 -06:00
Saúl Ibarra Corretgé
92492dc482 feat(ci,ios) check if Pod file is in sync when running CI 2024-01-22 13:49:42 +01:00
Saúl Ibarra Corretgé
51c3658205 fix(ios) sync Podfile 2024-01-22 12:56:17 +01:00
Saúl Ibarra Corretgé
418d333caf feat(rn,invite) add ability to disable dial-in options 2024-01-22 12:56:17 +01:00
Christoph Settgast
7f3f2f7034 lang: typo in German translation 2024-01-21 18:06:30 -06:00
Christoph Settgast
bd3012f110 feat(deeplinking): Desktop deeplinking configurable (default off) and using jitsi-meet-electron (#14259)
As we have the jitsi-meet-electron app, lets allow deployments to use it.

Allow deployments to enable desktop deeplinking without the need to re-implement _openDesktopApp()
Disable it by default to keep the current behaviour (deeplinking on mobile on, on desktop off)

This feature is meant as purely opt-in.

Signed-off-by: Christoph Settgast <csett86_git@quicksands.de>
2024-01-21 21:02:16 +01:00
Saúl Ibarra Corretgé
f8cef330f7 feat(android) set target SDK to 34 (#14129)
* feat(android) set target SDK to 34 and fixed mediaProjection service type
2024-01-19 16:52:39 +02:00
Saúl Ibarra Corretgé
e00b6be06c feat(face-landmarks) disable on mobile web browsers 2024-01-18 15:50:47 +01:00
Дамян Минков
9b7da0be2d feat: Drops sending facelandmarks to speakerstats. (#14253)
* feat: Drops sending facelandmarks to speakerstats.

* squash: Fixes lint.
2024-01-18 08:34:14 -06:00
Calin-Teodor
3effbca700 feat(ios): add missing config to .xcodeproj 2024-01-18 15:06:55 +02:00
Calinteodor
cf1f97f486 feat(rn, ios): build fixes and metro-config updates (#14251)
feat(rn, ios): build fixes and metro-config updates
2024-01-18 14:48:59 +02:00
Дамян Минков
9273022e8f Delete nwjs-integration.
This hasn't been used for long time and is probably no longer working.
2024-01-18 06:27:54 -06:00
Jaya Allamsetty
5d35398b6b chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1758.0.0+e6298b6c...v1759.0.0+fc2f2490
2024-01-17 17:33:31 -05:00
Ilya Shevtsov
60d4b626a5 fix(lang) updated Russian translations (#14213) 2024-01-17 13:38:55 +01:00
Jaya Allamsetty
b8da93f64f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1757.0.0+d53d0106...v1758.0.0+e6298b6c
2024-01-16 17:21:39 -05:00
Jaya Allamsetty
c411d3352f chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1755.0.0+6d87c169...v1757.0.0+d53d0106
2024-01-16 15:11:24 -05:00
Дамян Минков
33e38f95b1 fix: Fixes leaving the visitor's meeting on promotion. (#14239)
* fix: Fixes leaving the visitor's meeting on promotion.

This was resulting some colibri websockets reconnects as the state of the previous JitsiConference was not cleaned up.

* squash: Update jsdocs, lint error.
2024-01-16 13:22:14 -06:00
Jaya Allamsetty
9ae5677c00 fix: Make multi-stream mode the default mode.
Since plan-b mode will no longer be supported, check for unified plan support is not needed anymore.
2024-01-16 12:17:10 -05:00
Saúl Ibarra Corretgé
06f434e924 fix(rn,recording) use the same icon as web 2024-01-15 16:52:11 +01:00
Saúl Ibarra Corretgé
caa1ef952b fix(ios) downgrade Firebase
It creates build errors with Xcode 14.2 at least.
2024-01-15 16:39:58 +01:00
Calin-Teodor
4f371dfacc feat(base/conference): check conference status when leaving 2024-01-15 14:14:19 +02:00
Fierthraix
b6447770c7 lang: Updated Esperanto Translations. (#14203)
* lang: Some english spelling/grammar errors.

* lang: Updated Esperanto translations.
2024-01-13 18:03:34 -06:00
Дамян Минков
7aad0fd853 feat: Drop unused module from prosody config. (#14229) 2024-01-12 14:59:10 -06:00
Christoph Settgast
bae2a977d1 lang: update German translation 2024-01-12 21:51:54 +01:00
damencho
ed3f57385a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1754.0.0+899ea00a...v1755.0.0+6d87c169
2024-01-12 10:15:28 -06:00
Saúl Ibarra Corretgé
c806a432f3 feat(external-api) add transcribingStatusChanged event 2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
5966df96e8 feat(transcribing) add notification when transcribing starts 2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
6cd876078e fix(transcribing) refactor notification handling
The current notification system allows us to replce notifications easily
as long as we use a consistent UID.
2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
b56073ea68 fix(transcribing) show pending notification while transcriber joins 2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
ee98841078 fix(transcribing) simplified code 2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
3816b9d20a fix(transcribing) remove unused state properties 2024-01-12 13:59:24 +01:00
Saúl Ibarra Corretgé
e6096f5a6c fix(config) drop no longer existing option 2024-01-12 09:58:09 +01:00
Hristo Terezov
68de287171 feat(configWhitelist): add disableVirtualBackground 2024-01-12 07:51:34 +01:00
Calin-Teodor
cdc8f69e25 feat(ios): set build config setting for deployment target to 13.4 2024-01-11 14:54:23 +02:00
Calin-Teodor
fc9ccce29c feat(ios): updated firebase pods 2024-01-11 14:54:23 +02:00
Saúl Ibarra Corretgé
4bbbbea183 feat(config,transcriptions) add option to skip interim transcriptions 2024-01-11 11:12:44 +01:00
Jaya Allamsetty
b2232172f6 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1752.0.0+969c6f47...v1754.0.0+899ea00a
2024-01-10 15:36:46 -05:00
Aaron van Meerten
1d66045ec4 fix: census lua init to 0 to avoid openmetrics errors (#14210) 2024-01-09 12:50:24 -06:00
Calinteodor
5c35c23e74 chore(deps, rn): react-native@0.72.9 (#14208)
* chore(deps, rn): react-native@0.72.9
2024-01-09 18:02:20 +02:00
Hristo Terezov
bd04f9b72b fix(remote-sources): update only when neccessary
Updates the remoteVideoSources set only when neccessary when participant is leaving . This fixes an endless recursion when visitor is promoted or left and there is a screen sharing.
2024-01-09 09:34:59 -06:00
kerem
269d1cf5e0 chore(android): Update proguard-rules.pro for RN 0.72.* (#13936)
chore(android): Update proguard-rules.pro for RN 0.69.* + yoga for 0.72

update pro guard rules from RN source;
https://github.com/facebook/react-native/blob/v0.69.12/ReactAndroid/proguard-rules.pro
2024-01-09 16:25:18 +02:00
Calinteodor
90628f56f8 feat(react-native): rn 0.72.7 update (#14130)
feat(react-native): version 0.72.7 update
2024-01-09 15:16:51 +02:00
Saúl Ibarra Corretgé
fcdc2f500d feat(transcriptions) alway send the transcriptionChunkReceived event
Even if the user is not requesting them.
2024-01-09 14:05:34 +01:00
Jaya Allamsetty
14a23f800b fix(config): Add testing flag for Av1 support. 2024-01-08 09:47:08 -05:00
Oguzhan Selim Temiz
3bde570ec5 fix(i18n)fix moment duration format error 2024-01-08 15:30:17 +01:00
Hristo Terezov
26ad7cffec fix(analytics): Update permanent props. 2024-01-08 08:13:10 -06:00
Milton Moura
e697ee717b feat(accessibility): Improve search input fields accessibility (#14186)
feat(accessibility): Improve search input fields accessibility
2024-01-08 10:09:35 +02:00
Jaya Allamsetty
89dd85d61a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1750.0.0+ca40744f...v1752.0.0+969c6f47
2024-01-03 16:47:24 -05:00
dependabot[bot]
7b57ebca4a chore(deps): bump tj-actions/changed-files in /.github/workflows
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 35 to 41.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v35...v41)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-02 20:58:13 +01:00
Jaya Allamsetty
bd49036ed8 fix(config): Remove enableLipSync config.
It is not supported by Jicofo anymore.
2024-01-02 13:22:58 -05:00
José Luís Andrade
36963d6dfb lang: Update Portuguese translation (#14175)
* Update Portuguese translation

* Update main-pt.json
2023-12-22 08:28:57 -06:00
Horatiu Muresan
213f1b68e1 fix(reactions-firefox) Fix drawer menu not scrollable on FF (#14181)
- fix reactions menu not visibile on FF when in drawer mode
- fix subscriber for tileview
2023-12-21 17:10:48 +02:00
Calinteodor
bf211fbd4d feat(invite/security): Brave issues fixes (#14180)
* feat(invite/security): fix share icon/lobby mode switch
2023-12-21 16:16:28 +02:00
nurjin jafar
998854a22e accessibility findings in Toolbar (#14161)
feat(accessibility): update translations and toggled labels
2023-12-21 15:46:02 +02:00
damencho
8247f478f4 feat: Adds a nil check for occupants joining as moderators. 2023-12-19 16:07:45 -06:00
Saúl Ibarra Corretgé
f07b762d6a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1736.0.0+8bee4514...v1750.0.0+ca40744f
2023-12-19 16:00:12 -06:00
Mihaela Dumitru
8504b4b5bb feat(sounds) use audio files based on locale (#14104) 2023-12-19 17:26:29 +02:00
Calin-Teodor
392c8e9aa8 feat(toolbox): fixed undefined for previous layout type 2023-12-19 16:36:23 +02:00
Avram Tudor
7f87d4eada feat(transcript) add recording settings for recording transcriptions (#14158) 2023-12-19 11:25:06 +02:00
Mihaela Dumitru
6d11aa8049 fix(ui) style prejoin drawer (#14165) 2023-12-18 18:30:48 +02:00
Saúl Ibarra Corretgé
0c1ce152fe feat(error-handling) refactor global error and unhandledrejection event handling
Conceptually related: https://github.com/jitsi/lib-jitsi-meet/pull/2411
2023-12-15 23:56:19 +01:00
goblin
82ae6a8456 fix(doc) update README
Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2023-12-15 12:03:56 +01:00
Дамян Минков
9ebab2c7d0 feat: Visitors promotion (#14119)
* fix: Fixes wrong warning message.

* fix: Detect enables/disables visitors for a room.

* fix: We need customusername in all cases of auto-allow setting.

* feat: Sends promotion-request to all moderators.

* feat(visitors): Implements request promotion.

* feat(visitors): Implements single moderator and vpass cases for moderators.

* fix: Fixes clearing request instances from UI.

* feat: Implements visitors approval for mobile.

* squash: Drops unused and wrong report for auto allow promotion.

* squash: Returns early based on count.

* squash: Moves translation to common key.

* squash: Adds dependencies for useCallback.

* squash: comments.

* squash: Refactor 1 to unify with native.

* squash: Rename some styles.

* squash: Fixes error dew to fewer hooks error.

* squash: Renames VISITOR_PROMOTION_REQUEST_DENIED.

* squash: Fix renaming component.

* squash: Suggestions.
2023-12-14 08:31:58 -06:00
Horatiu Muresan
af4488d1e9 fix(toolbox) prevent toolbox shift up on stage view (#14155) 2023-12-14 12:32:19 +02:00
bgrozev
d9599d31f1 fix: Do not log unknown commands. (#14153)
Events such as "mouse-move", "mouse-leave" and "face-landmark-detected"
reach this code and pollute the logs. It's probably worth investigating
why this is the case and fixing it if necessary, but for now just remove
the log message.
2023-12-13 10:04:48 -08:00
Mihaela Dumitru
d094ac0034 fix(external-api) extend captureLargeVideoScreenshot for screenshare (#14149) 2023-12-13 17:31:44 +02:00
Avram Tudor
c6b7ec7c9c fix(transcript) duplicated namespace (#14151) 2023-12-13 16:15:09 +02:00
Calinteodor
6e35e5b310 feat(call-integration): revert changes related to visitors (#14150)
* feat(mobile/call-integration): removed undefined checks
2023-12-13 15:38:44 +02:00
Jaya Allamsetty
429787f9c8 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1734.0.0+34ceebd2...v1736.0.0+8bee4514
2023-12-12 16:04:22 -05:00
Дамян Минков
f7995b395f feat: Adds detection of occupants with no connection. (#14146)
* feat: Adds detection of occupants with no connection.

We saw recently two occasions with rooms with participants but no prosody.full_sessions for those participants and when everyone leaves the meeting it never ends.

* squash: Updates counting.
2023-12-12 11:47:43 -06:00
Avram Tudor
72b4c8123a ref(transcriptions): refactor transcriptions api (#14144)
* ref(transcriptions): refactor transcriptions api

* ref(transcriptions): refactor usage of translation label

Extend IFrame API to allow adding a transcriber in the room without the subtitles needing to be visible.
Allow transcription chunk messages to be passed through the IFrame API if a transcriber is present.
Clean-up transcription messages sent through the IFrame API to not include timeout field and possible conflicting states (stable / unstable /final)

* fix linting

* code review: extend api message to match webhook format
2023-12-12 14:36:54 +02:00
Abbas Al-Mansoori
4c6cadea6d fix: lint 2023-12-12 12:04:38 +02:00
Abbas Al-Mansoori
1bc50ea71c feat(rn-sdk): add getRoomsInfo ref callback 2023-12-12 12:04:38 +02:00
Abbas Al-Mansoori
60b5225ffd feat(rn-sdk): add onParticipantLeft event listener 2023-12-12 12:04:38 +02:00
damencho
5fe3685a05 fix: Drops luacheck for modules sourced from prosody-modules.
Only mod_firewall fails for now.
2023-12-11 10:41:34 -06:00
Aaron van Meerten
fbfc0f6c2f task: vendor mod_firewall from prosody plugins
changeset 6696075e26e2
https://hg.prosody.im/prosody-modules/raw-file/6696075e26e2/mod_firewall/mod_firewall.lua
2023-12-11 10:41:34 -06:00
Aaron van Meerten
bbed4be61b task: vendor mod_measure_stanza_counts.lua
changeset 6696075e26e2
https://hg.prosody.im/prosody-modules/raw-file/6696075e26e2/mod_measure_stanza_counts/mod_measure_stanza_counts.lua
2023-12-11 10:41:34 -06:00
Aaron van Meerten
68f954d068 task: vendor mod_debug_traceback.lua
changeset 6696075e26e2
https://hg.prosody.im/prosody-modules/raw-file/6696075e26e2/mod_debug_traceback/mod_debug_traceback.lua
2023-12-11 10:41:34 -06:00
Aaron van Meerten
30144b8707 feat: vendor mod_log_ringbuffer from prosody hg
changeset 6696075e26e2
https://hg.prosody.im/prosody-modules/raw-file/6696075e26e2/mod_log_ringbuffer/mod_log_ringbuffer.lua
2023-12-11 10:41:34 -06:00
Saúl Ibarra Corretgé
dd232f55a9 fix(rn,room-lock) use numeric input for password dialog if appropriate (#14142) 2023-12-11 14:10:31 +01:00
251 changed files with 12094 additions and 5053 deletions

View File

@@ -17,7 +17,8 @@ jobs:
- name: Check lua codes
run: |
set -o pipefail && luacheck . | awk -F: '
set -o pipefail && luacheck . \
--exclude-files=resources/prosody-plugins/mod_firewall/mod_firewall.lua | 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@v35
uses: tj-actions/changed-files@v41
- 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,6 +73,13 @@ 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 anonymous, scalable and free to use. 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 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 mobile? No problem, you can either use your mobile web browser or our fully-featured
mobile apps:

View File

@@ -15,11 +15,13 @@ def vcode = (int) (((new Date().getTime() / 1000) - 1546297200) / 10)
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
packagingOptions {
exclude 'lib/*/libhermes*.so'
jniLibs {
excludes += ['lib/*/libhermes*.so']
}
}
defaultConfig {
applicationId 'org.jitsi.meet'
versionCode vcode
@@ -72,13 +74,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.7'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.13'
if (!rootProject.ext.libreBuild) {
// Sync with react-native-google-signin

View File

@@ -1,3 +1,8 @@
# 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
@@ -9,20 +14,25 @@
# 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 *;
@com.facebook.common.internal.DoNotStrip *;
}
-keep @com.facebook.proguard.annotations.DoNotStripAny class * {
*;
}
-keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * {
@@ -30,32 +40,32 @@
*** get*();
}
-keep class * extends com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * extends com.facebook.react.bridge.NativeModule { *; }
-keep class * implements com.facebook.react.bridge.JavaScriptModule { *; }
-keep class * implements 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.** { *; }
# okhttp
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
# hermes
-keep class com.facebook.jni.** { *; }
# 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,6 +1,5 @@
<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.3.1'
classpath 'com.android.tools.build:gradle:7.4.2'
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 = 33
compileSdkVersion = 34
minSdkVersion = 24
targetSdkVersion = 33
targetSdkVersion = 34
supportLibVersion = "28.0.0"
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
@@ -42,21 +42,16 @@ 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 {
// We don't want to fetch react-native from Maven Central as there are
// older versions over there.
content {
excludeGroup "com.facebook.react"
}
}
mavenCentral()
google()
maven { url 'https://www.jitpack.io' }
}
@@ -66,11 +61,13 @@ allprojects {
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
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
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
}
}
}
}

View File

@@ -9,7 +9,6 @@ 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}
@@ -25,23 +24,7 @@ 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
# 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
if [[ $MVN_HTTP == 1 ]]; then
# 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}
@@ -55,24 +38,6 @@ if [[ $MVN_HTTP == 1 ]]; then
-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"
@@ -97,8 +62,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,6 +30,7 @@ android {
}
}
}
namespace 'org.jitsi.meet.sdk'
}
dependencies {
@@ -39,8 +40,8 @@ dependencies {
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
//noinspection GradleDynamicVersion
api 'com.facebook.react:react-native:+'
api "com.facebook.react:react-android:$rootProject.ext.rnVersion"
//noinspection GradleDynamicVersion
implementation 'org.webkit:android-jsc:+'
@@ -49,7 +50,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,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.jitsi.meet.sdk">
xmlns:tools="http://schemas.android.com/tools">
<!-- XXX ACCESS_NETWORK_STATE is required by WebRTC. -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
@@ -13,6 +12,8 @@
<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"
@@ -48,6 +49,10 @@
<service
android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService"
android:foregroundServiceType="mediaPlayback" />
<service
android:name="org.jitsi.meet.sdk.JitsiMeetMediaProjectionService"
android:foregroundServiceType="mediaProjection" />
<provider
@@ -66,4 +71,4 @@
</application>
</manifest>
</manifest>

View File

@@ -87,6 +87,7 @@ 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

@@ -0,0 +1,42 @@
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

@@ -0,0 +1,100 @@
/*
* 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,6 +23,7 @@ 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;
@@ -94,8 +95,11 @@ public class JitsiMeetOngoingConferenceService extends Service
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
} else {
startForeground(OngoingNotification.NOTIFICATION_ID, notification);
JitsiMeetLogger.i(TAG + " Service started");
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);
}
}
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(context.getString(R.string.ongoing_notification_text))
.setContentText(isMuted != null ? context.getString(R.string.ongoing_notification_text) : context.getString(R.string.ongoing_notification_action_screenshare))
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setContentIntent(pendingIntent)
.setOngoing(true)
@@ -103,6 +103,10 @@ 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,6 +67,7 @@ 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

@@ -0,0 +1,9 @@
<?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,6 +5,7 @@
<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,10 +1,9 @@
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

@@ -84,6 +84,9 @@ var config = {
// issues related to insertable streams.
// disableE2EE: false,
// Enables supports for AV1 codec.
// enableAv1: 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
@@ -97,6 +100,9 @@ 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.
@@ -378,7 +384,7 @@ var config = {
// DEPRECATED. Use transcription.preferredLanguage instead.
// preferredTranscribeLanguage: 'en-US',
// DEPRECATED. Use transcription.autoCaptionOnRecord instead.
// DEPRECATED. Use transcription.autoTranscribeOnRecord instead.
// autoCaptionOnRecord: false,
// Transcription options.
@@ -410,8 +416,8 @@ var config = {
// // Disable start transcription for all participants.
// disableStartForAll: false,
// // Enables automatic turning on captions when recording is started
// autoCaptionOnRecord: false,
// // Enables automatic turning on transcribing when recording is started
// autoTranscribeOnRecord: false,
// },
// Misc
@@ -1191,9 +1197,11 @@ var config = {
// https://firebase.google.com/docs/dynamic-links/create-manually
// deeplinking: {
//
// // The desktop deeplinking config.
// // The desktop deeplinking config, disabled by default.
// desktop: {
// appName: 'Jitsi Meet'
// appName: 'Jitsi Meet',
// appScheme: 'jitsi-meet,
// enabled: false
// },
// // If true, any checks to handoff to another application will be prevented
// // and instead the app will continue to display in the current browser.
@@ -1296,9 +1304,6 @@ 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.
@@ -1392,9 +1397,6 @@ 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,

View File

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

View File

@@ -56,7 +56,6 @@ 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
VPASS_COOKIE=$(echo -n ${JAAS_KEY_ID}| cut -d/ -f1)
VPAAS_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/${VPASS_COOKIE}/g" /etc/jitsi/meet/jaas/nginx-jaas.conf
sed -i "s/jaas_magic_cookie/${VPAAS_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

2
ios/.xcode.env Normal file
View File

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

View File

@@ -1,7 +1,11 @@
require_relative '../node_modules/react-native/scripts/react_native_pods'
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'
# 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
platform :ios, '12.4'
platform :ios, '13.4'
workspace 'jitsi-meet'
install! 'cocoapods', :deterministic_uuids => false
@@ -70,7 +74,11 @@ target 'JitsiMeetSDKLite' do
end
post_install do |installer|
react_native_post_install(installer, :mac_catalyst_enabled => false)
react_native_post_install(
installer,
use_native_modules![:reactNativePath],
: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
@@ -81,7 +89,7 @@ post_install do |installer|
end
target.build_configurations.each do |config|
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.4'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.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.70.14)
- FBReactNativeSpec (0.70.14):
- FBLazyVector (0.72.9)
- FBReactNativeSpec (0.72.9):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.70.14)
- RCTTypeSafety (= 0.70.14)
- React-Core (= 0.70.14)
- React-jsi (= 0.70.14)
- ReactCommon/turbomodule/core (= 0.70.14)
- RCTRequired (= 0.72.9)
- RCTTypeSafety (= 0.72.9)
- React-Core (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- Firebase/Analytics (8.15.0):
- Firebase/Core
- Firebase/Core (8.15.0):
@@ -167,203 +167,265 @@ PODS:
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- 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):
- 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):
- glog
- RCT-Folly (= 2021.07.22.00)
- 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)
- React-Core/Default (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/CoreModulesHeaders (0.70.14):
- React-Core/CoreModulesHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/Default (0.70.14):
- React-Core/Default (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/DevSupport (0.70.14):
- React-Core/DevSupport (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- 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)
- 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)
- Yoga
- React-Core/RCTActionSheetHeaders (0.70.14):
- React-Core/RCTActionSheetHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTAnimationHeaders (0.70.14):
- React-Core/RCTAnimationHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTBlobHeaders (0.70.14):
- React-Core/RCTBlobHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTImageHeaders (0.70.14):
- React-Core/RCTImageHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTLinkingHeaders (0.70.14):
- React-Core/RCTLinkingHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTNetworkHeaders (0.70.14):
- React-Core/RCTNetworkHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTSettingsHeaders (0.70.14):
- React-Core/RCTSettingsHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTTextHeaders (0.70.14):
- React-Core/RCTTextHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTVibrationHeaders (0.70.14):
- React-Core/RCTVibrationHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.70.14)
- React-jsi (= 0.70.14)
- React-jsiexecutor (= 0.70.14)
- React-perflogger (= 0.70.14)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTWebSocket (0.70.14):
- React-Core/RCTWebSocket (0.72.9):
- glog
- RCT-Folly (= 2021.07.22.00)
- 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)
- React-Core/Default (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-CoreModules (0.70.14):
- React-CoreModules (0.72.9):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-jsi/Default (= 0.70.14)
- React-jsi/Default (0.70.14):
- boost (= 1.76.0)
- React-jsiexecutor (0.72.9):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- glog
- react-native-background-timer (2.4.1):
- React-Core
@@ -385,10 +447,10 @@ PODS:
- React-Core
- react-native-splash-screen (3.3.0):
- React-Core
- react-native-video (6.0.0-alpha.7):
- react-native-video (6.0.0-alpha.11):
- React-Core
- react-native-video/Video (= 6.0.0-alpha.7)
- react-native-video/Video (6.0.0-alpha.7):
- react-native-video/Video (= 6.0.0-alpha.11)
- react-native-video/Video (6.0.0-alpha.11):
- PromisesSwift
- React-Core
- react-native-webrtc (118.0.0):
@@ -396,72 +458,111 @@ PODS:
- React-Core
- react-native-webview (13.5.1):
- React-Core
- React-perflogger (0.70.14)
- React-RCTActionSheet (0.70.14):
- React-Core/RCTActionSheetHeaders (= 0.70.14)
- React-RCTAnimation (0.70.14):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- RCT-Folly (= 2021.07.22.00)
- 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):
- 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):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- 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)
- 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)
- RNCalendarEvents (2.2.0):
- React
- RNCAsyncStorage (1.19.4):
@@ -489,6 +590,7 @@ PODS:
- React-Core
- RNWatch (1.1.0):
- React
- SocketRocket (0.6.1)
- Yoga (1.14.0)
DEPENDENCIES:
@@ -508,13 +610,14 @@ 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`)
@@ -532,9 +635,11 @@ 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`)
@@ -542,7 +647,10 @@ 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`)"
@@ -583,6 +691,7 @@ SPEC REPOS:
- ObjectiveDropboxOfficial
- PromisesObjC
- PromisesSwift
- SocketRocket
EXTERNAL SOURCES:
amplitude-react-native:
@@ -607,8 +716,6 @@ 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:
@@ -619,6 +726,10 @@ 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:
@@ -653,12 +764,16 @@ 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:
@@ -673,8 +788,14 @@ 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:
@@ -706,11 +827,11 @@ SPEC CHECKSUMS:
Amplitude: 834c7332dfb9640a751e21c13efb22a07c0c12d4
amplitude-react-native: 0ed8cab759aafaa94961b82122bf56297da607ad
AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570
boost: a7c83b31436843459a1961bfd74b96033dc77234
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: efad4471d02263013cfcb7a2f75de6ac7565692f
FBReactNativeSpec: 9cd9542bfdcc64e07bc649f809dd621876f78619
FBLazyVector: dc178b8748748c036ef9493a5d59d6d1f91a36ce
FBReactNativeSpec: d0aaae78e93c89dc2d691d8052a4d2aeb1b461ee
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
@@ -734,20 +855,21 @@ SPEC CHECKSUMS:
ObjectiveDropboxOfficial: fe206ce8c0bc49976c249d472db7fdbc53ebbd53
PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
PromisesSwift: 28dca69a9c40779916ac2d6985a0192a5cb4a265
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
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
react-native-background-timer: 17ea5e06803401a379ebf1f20505b793ac44d0fe
react-native-get-random-values: dee677497c6a740b71e5612e8dbd83e7539ed5bb
react-native-keep-awake: afad8a51dfef9fe9655a6344771be32c8596d774
@@ -758,21 +880,26 @@ SPEC CHECKSUMS:
react-native-safe-area-context: 9697629f7b2cda43cf52169bb7e0767d330648c2
react-native-slider: 1cdd6ba29675df21f30544253bf7351d3c2d68c4
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: 967eead48aaa42c25a9e1d65c3b1ab30762a88df
react-native-video: 472b7c366eaaaa0207e546d9a50410df89790bcf
react-native-webrtc: c8d9ad3c152105b2720ca2851d04b49659551992
react-native-webview: 8baa0f5c6d336d6ba488e942bcadea5bf51f050a
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
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
RNCalendarEvents: 7e65eb4a94f53c1744d1e275f7fafcfaa619f7a3
RNCAsyncStorage: 3a8f7145d17cdd9f88e7b77666c94a09e4f759c8
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
@@ -784,8 +911,9 @@ SPEC CHECKSUMS:
RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852
RNSVG: ed492aaf3af9ca01bc945f7a149d76d62e73ec82
RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236
Yoga: 56413d530d1808044600320ced5baa883acedc44
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Yoga: eddf2bbe4a896454c248a8f23b4355891eb720a6
PODFILE CHECKSUM: c5053669414ca81c03ca4548249b11fe53a13060
PODFILE CHECKSUM: ec00682c7062a323dff24a3c3643ca0bbb420d01
COCOAPODS: 1.14.3

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -561,8 +561,6 @@
"youtubeTerms": "Condicions de servei de YouTube"
},
"lobby": {
"admit": "Admet",
"admitAll": "Admet tothom",
"allow": "Permet",
"backToKnockModeButton": "Demaneu per a unir-vos",
"chat": "Xat",
@@ -597,8 +595,6 @@
"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"
},
@@ -727,6 +723,8 @@
},
"participantsPane": {
"actions": {
"admit": "Admet",
"admitAll": "Admet tothom",
"allow": "Permet als assistents:",
"allowVideo": "Permet el vídeo",
"askUnmute": "Demanar l'activació el micròfon",
@@ -739,6 +737,7 @@
"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",
@@ -1037,6 +1036,7 @@
"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,8 +557,6 @@
"youtubeTerms": "Podmínky používání YouTube"
},
"lobby": {
"admit": "",
"admitAll": "",
"allow": "Povolit",
"backToKnockModeButton": "Žádné heslo, místo toho požádat o přijetí",
"chat": "",
@@ -593,7 +591,6 @@
"notificationTitle": "Předsálí",
"passwordField": "Zadejte heslo setkání",
"passwordJoinButton": "Vstoupit",
"reject": "Odmítnout",
"title": "Předsálí",
"toggleLabel": "Zapnout předsálí"
},
@@ -719,22 +716,7 @@
},
"participantsPane": {
"actions": {
"allow": "",
"allowVideo": "",
"askUnmute": "",
"audioModeration": "",
"blockEveryoneMicCamera": "",
"invite": "",
"moreModerationActions": "",
"moreModerationControls": "",
"moreParticipantOptions": "",
"mute": "",
"muteAll": "",
"muteEveryoneElse": "",
"stopEveryonesVideo": "",
"stopVideo": "",
"unblockEveryoneMicCamera": "",
"videoModeration": ""
"reject": "Odmítnout"
},
"close": "",
"header": "",
@@ -743,7 +725,7 @@
"participantsList": "",
"waitingLobby": ""
},
"search": ""
"search": "Hledat účastníky"
},
"passwordDigitsOnly": "Až {{number}} číslic",
"passwordSetRemotely": "nastaveno jiným účastníkem",
@@ -1026,7 +1008,8 @@
"name": "Jméno",
"neutral": "",
"sad": "",
"search": "",
"search": "Prohledat",
"searchHint": "Hledat účastníky",
"seconds": "{{count}} s",
"speakerStats": "Statistika řečníků",
"speakerTime": "Mluvil/a již",

View File

@@ -568,6 +568,8 @@
"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,6 +68,7 @@
"sendToBreakoutRoom": "Anwesende in Breakout-Raum verschieben:"
},
"breakoutList": "Breakout-Liste",
"buttonLabel": "Breakout-Räume",
"defaultName": "Breakout-Raum #{{index}}",
"hideParticipantList": "Teilnehmerliste ausblenden",
"mainRoom": "Hauptraum",
@@ -76,7 +77,8 @@
"joinedMainRoom": "Hauptraum betreten",
"joinedTitle": "Breakout-Räume"
},
"showParticipantList": "Teilnehmerliste anzeigen"
"showParticipantList": "Teilnehmerliste anzeigen",
"title": "Breakout-Räume"
},
"calendarSync": {
"addMeetingURL": "Konferenzlink hinzufügen",
@@ -218,7 +220,7 @@
"launchMeetingLabel": "Wie möchten Sie an der Konferenz teilnehmen?",
"launchWebButton": "Im Web öffnen",
"noMobileApp": "Sie haben die App noch nicht installiert?",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie underen<a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie unseren <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"title": "Die Konferenz wird in {{app}} geöffnet …",
"titleNew": "Konferenz starten ...",
"tryAgainButton": "Erneut mit der nativen Applikation versuchen",
@@ -481,6 +483,10 @@
"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": {
@@ -636,8 +642,6 @@
"youtubeTerms": "YouTube-Nutzungsbedingungen"
},
"lobby": {
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"backToKnockModeButton": "Kein Passwort, stattdessen Beitritt anfragen",
"chat": "Chat",
"dialogTitle": "Lobbymodus",
@@ -671,8 +675,6 @@
"notificationLobbyEnabled": "{{originParticipantName}} hat die Lobby aktiviert",
"notificationTitle": "Lobby",
"passwordJoinButton": "Beitreten",
"reject": "Ablehnen",
"rejectAll": "Alle ablehnen",
"title": "Lobby",
"toggleLabel": "Lobby aktivieren"
},
@@ -728,6 +730,7 @@
"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",
@@ -803,15 +806,20 @@
"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"
"waitingParticipants": "{{waitingParticipants}} Personen",
"whiteboardLimitDescription": "Bitte speichern Sie Ihre Inhalte, da das Nutzungslimit bald erreicht wird und dann Ihr Whiteboard geschlossen wird.",
"whiteboardLimitTitle": "Whiteboard-Nutzung"
},
"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",
@@ -819,6 +827,7 @@
"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",
@@ -828,6 +837,7 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"visitorRequests": " (Anfragen {{count}})",
"visitors": "Gäste ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
},
@@ -918,7 +928,7 @@
"joinWithoutAudio": "Ohne Ton beitreten",
"keyboardShortcuts": "Tastaturkurzbefehle aktivieren",
"linkCopied": "Link in die Zwischenablage kopiert",
"lookGood": "Ihr Mikrofon scheint zu funktionieren.",
"lookGood": "Alles scheint zu funktionieren.",
"or": "oder",
"premeeting": "Vorschau",
"proceedAnyway": "Trotzdem fortsetzen",
@@ -1006,12 +1016,15 @@
"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.",
@@ -1132,6 +1145,7 @@
"neutral": "Neutral",
"sad": "Traurig",
"search": "Suche",
"searchHint": "Suche Anwesende",
"seconds": "{{count}} Sek.",
"speakerStats": "Sprechstatistik",
"speakerTime": "Sprechzeit",
@@ -1154,7 +1168,7 @@
"toolbar": {
"Settings": "Einstellungen",
"accessibilityLabel": {
"Settings": "Einstellungen ein-/ausschalten",
"Settings": "Einstellungen einschalten",
"audioOnly": "„Nur Audio“ ein-/ausschalten",
"audioRoute": "Audiogerät auswählen",
"boo": "Buhen",
@@ -1200,7 +1214,7 @@
"moreActions": "Menü „Weitere Einstellungen“ ein-/ausschalten",
"moreActionsMenu": "Menü „Weitere Einstellungen“",
"moreOptions": "Menü „Weitere Optionen“",
"mute": "Mikrofon aktivieren / deaktivieren",
"mute": "Mikrofon deaktivieren",
"muteEveryone": "Alle stummschalten",
"muteEveryoneElse": "Alle anderen stummschalten",
"muteEveryoneElsesVideoStream": "Alle anderen Kameras ausschalten",
@@ -1238,7 +1252,7 @@
"toggleFilmstrip": "Miniaturansichten ein-/ausschalten",
"unmute": "Stummschaltung aufheben",
"videoblur": "Unscharfer Hintergrund ein-/ausschalten",
"videomute": "„Video stummschalten“ ein-/ausschalten",
"videomute": "Kamera stoppen",
"videomuteGUMPending": "Verbinde Ihre Kamera",
"videounmute": "Kamera einschalten"
},
@@ -1287,7 +1301,7 @@
"lowerYourHand": "Hand senken",
"moreActions": "Weitere Einstellungen",
"moreOptions": "Weitere Optionen",
"mute": "Stummschalten",
"mute": "Audio stummschalten",
"muteEveryone": "Alle stummschalten",
"muteEveryonesVideo": "Alle Kameras ausschalten",
"muteGUMPending": "Verbinde Ihre Kamera",
@@ -1346,6 +1360,7 @@
"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,8 +563,6 @@
"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",
@@ -598,8 +596,6 @@
"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ś"
},
@@ -730,6 +726,8 @@
},
"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ś",
@@ -742,6 +740,7 @@
"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ś",
@@ -1038,6 +1037,7 @@
"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,8 +580,6 @@
"youtubeTerms": "Όροι υπηρεσιών YouTube"
},
"lobby": {
"admit": "Αποδοχή",
"admitAll": "Αποδοχή όλων",
"backToKnockModeButton": "Αίτημα εισόδου",
"chat": "Συνομιλία",
"dialogTitle": "Λειτουργία υποδοχής",
@@ -615,8 +613,6 @@
"notificationTitle": "Υποδοχή",
"passwordField": "Εισάγετε τον κωδικό σύσκεψης",
"passwordJoinButton": "Συμμετοχή",
"reject": "Απόρριψη",
"rejectAll": "Απόρριψη όλων",
"title": "Υποδοχή",
"toggleLabel": "Ενεργοποίηση υποδοχής"
},
@@ -745,6 +741,8 @@
},
"participantsPane": {
"actions": {
"admit": "Αποδοχή",
"admitAll": "Αποδοχή όλων",
"allow": "Επιτρέψτε στους συμμετέχοντες να:",
"allowVideo": "Επιτρέψτε το βίντεο",
"askUnmute": "Αίτηση για κατάργηση σίγησης",
@@ -757,6 +755,7 @@
"mute": "Σίγηση",
"muteAll": "Σίγηση όλων",
"muteEveryoneElse": "Σίγηση όλων των άλλων",
"reject": "Απόρριψη",
"stopEveryonesVideo": "Διακοπή όλων των βίντεο",
"stopVideo": "Διακοπή του βίντεο",
"unblockEveryoneMicCamera": "Επιτρέψτε τα μικρόφωνα και τις κάμερες όλων",
@@ -1056,6 +1055,7 @@
"neutral": "Ουδέτερο",
"sad": "Λυπημένο",
"search": "Αναζήτηση",
"searchHint": "Αναζήτηση συμμετεχόντων",
"seconds": "{{count}}δ",
"speakerStats": "Στατιστικά Συμμετεχόντων",
"speakerTime": "Χρόνος Ομιλητή",

View File

@@ -1,19 +1,22 @@
{
"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 retkunsido",
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunsido",
"inviteMoreHeader": "Vi estas la sola en la retkunveno",
"inviteMoreMailSubject": "Aliĝi al {{appName}}-retkunveno",
"inviteMorePrompt": "Inviti pli da homoj",
"linkCopied": "Ligilo kopiita al tondujo",
"noResults": "Nenio trovita",
@@ -25,7 +28,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": {
@@ -39,28 +42,47 @@
"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 aneksanaj ĉambroj",
"autoAssign": "Asigni aŭtomate al aneksaj ĉ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.",
@@ -147,6 +169,7 @@
"bridgeCount": "Nombro de serviloj: ",
"codecs": "Kodekoj (sono/video):",
"connectedTo": "Konektita al:",
"e2eeVerified": "E2EE Aprobita:",
"framerate": "Bildrapido:",
"less": "Montri malpli",
"localaddress": "Loka adreso:",
@@ -155,6 +178,7 @@
"localport_plural": "Lokaj pordoj:",
"maxEnabledResolution": "Maksimuma flukvanto",
"more": "Montri pli",
"no": "ne",
"packetloss": "Perdo de pakaĵoj:",
"participant_id": "ID de partoprenanto",
"quality": {
@@ -173,7 +197,8 @@
"status": "Konekto:",
"transport": "Transporto:",
"transport_plural": "Transportoj:",
"video_ssrc": "Video-SSRC"
"video_ssrc": "Video-SSRC",
"yes": "jes"
},
"dateUtils": {
"earlier": "Pli frue",
@@ -181,15 +206,23 @@
"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 kunsido per la aplikaĵo",
"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?",
"launchWebButton": "Lanĉi enrete",
"title": "Lanĉo de via kunveno en {{app}}…",
"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...",
"tryAgainButton": "Provu denove per la komputila aplikaĵo",
"unsupportedBrowser": "Ŝajnas ke vi uzas nesubtenitan retumilon"
},
@@ -202,6 +235,12 @@
"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",
@@ -222,16 +261,23 @@
"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": {
"liveStreaming": "Tuja elsendfluo"
"Cancel": "Nuligi (forlasi dialogujon)",
"Ok": "Okej (konservi ŝanĝojn kaj forlasi dialogujon)",
"close": "Fermi dialogujon",
"liveStreaming": "Tuja elsendfluo",
"sharingTabs": "Kunhavaj Agordoj"
},
"add": "Aldoni",
"addMeetingNote": "Aldoni komenton pri tiu kunsido",
"addMeetingNote": "Aldoni komenton pri tiu kunveno",
"addOptionalNote": "Aldoni komenton (fakultativa)",
"allow": "Permesi",
"alreadySharedVideoMsg": "Alia partoprenanto jam kundividas videon. Ĉi tiu kunveno permesas nur unu kundividata video samtempe.",
"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.",
"alreadySharedVideoTitle": "Nur unu video estas permesata samtempe.",
"applicationWindow": "Programa fenestro",
"authenticationRequired": "Bezonas aŭtentokontrolon",
@@ -263,9 +309,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 kunsidon",
"embedMeeting": "Enkorpigi kunveno",
"enterDisplayName": "Bonvolu entajpi vian nomon ĉi-tie",
"error": "Eraro",
"gracefulShutdown": "Nia servo nun estas eksterreta pro prizorgado. Bonvolu reprovi poste.",
@@ -279,8 +325,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",
@@ -291,6 +337,7 @@
"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!",
@@ -322,20 +369,18 @@
"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.",
"popupError": "Via foliumilo forbaras ŝprucfenestrojn de tiu ĉi retejo. Bonvolu permesi ŝprucfenestrojn en la prisekuraj agordoj de via fenestro kaj reprovi.",
"popupErrorTitle": "Ŝprucfenestro barita",
"permissionMicRequiredError": "Permeso uzi microfono estas bezonata por partopreni prelegojn kun aŭdaĵo. Bonvolu doni tiun-ĉi permeson en Agordoj.",
"readMore": "Pli",
"recentlyUsedObjects": "Viaj lastatempe uzitaj objektoj",
"recording": "Registrado",
@@ -352,6 +397,8 @@
"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",
@@ -371,6 +418,7 @@
"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",
@@ -401,29 +449,58 @@
"streamKey": "Ŝlosilo de tuja elsendfluo",
"thankYou": "Dankon ke vi uzas {{appName}}!",
"token": "ĵetono",
"tokenAuthFailed": "Pardonu, vi ne rajtas aliĝi al ĉi tiu voko.",
"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."
},
"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.",
@@ -433,13 +510,15 @@
"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",
@@ -461,14 +540,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",
@@ -482,8 +561,9 @@
"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": {
@@ -549,7 +629,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",
@@ -561,9 +641,6 @@
"youtubeTerms": "Uzkondiĉoj de YouTube"
},
"lobby": {
"admit": "Akcepti",
"admitAll": "Akcepti ĉion",
"allow": "Permesi",
"backToKnockModeButton": "Petu por aliĝi",
"chat": "Babilejo",
"dialogTitle": "Atendeja reĝimo",
@@ -589,16 +666,14 @@
"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"
},
@@ -626,10 +701,12 @@
"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",
@@ -649,8 +726,13 @@
"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",
@@ -659,6 +741,7 @@
"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",
@@ -666,7 +749,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.",
@@ -693,7 +776,6 @@
"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",
@@ -709,6 +791,8 @@
"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",
@@ -721,15 +805,20 @@
"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)"
"waitingParticipants": "{{waitingParticipants}} homo(j)",
"whiteboardLimitDescription": "Bonvole konservu vian progreson, ĉar la uzantlimo baldaŭ estos atingita, kaj la blanktabulo fermiĝos.",
"whiteboardLimitTitle": "Blanktabula uzado"
},
"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",
@@ -737,6 +826,7 @@
"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",
@@ -746,6 +836,8 @@
"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",
@@ -753,6 +845,7 @@
},
"passwordDigitsOnly": "Ĝis {{number}} ciferoj",
"passwordSetRemotely": "agordita de alia partoprenanto",
"pinParticipant": "{{participantName}} - Pingli",
"pinnedParticipant": "La partoprenanto estas fiksita",
"polls": {
"answer": {
@@ -790,7 +883,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?",
@@ -804,7 +897,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.",
@@ -837,9 +930,11 @@
"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"
@@ -858,9 +953,6 @@
"rejected": "Malakceptita",
"ringing": "Sonorado…"
},
"privacyView": {
"title": "Privateco"
},
"profile": {
"avatar": "Profilbildo",
"setDisplayNameLabel": "Agordi vian videblan nomon",
@@ -872,7 +964,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",
@@ -914,6 +1006,7 @@
"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",
@@ -922,12 +1015,15 @@
"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.",
@@ -943,10 +1039,17 @@
"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.",
"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"
"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."
}
},
"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.",
@@ -967,9 +1070,11 @@
"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",
@@ -980,13 +1085,14 @@
"selectCamera": "Kamerao",
"selectMic": "Mikrofono",
"selfView": "Memrigardo",
"sounds": "Sonoj",
"shortcuts": "Ŝparvojoj",
"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"
"title": "Agordoj",
"video": "Video"
},
"settingsView": {
"advanced": "Altnivela",
@@ -994,6 +1100,7 @@
"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",
@@ -1004,12 +1111,14 @@
"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",
@@ -1019,8 +1128,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": {
@@ -1035,6 +1144,7 @@
"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",
@@ -1061,25 +1171,35 @@
"audioOnly": "Baskuligi nur-sonan reĝimon",
"audioRoute": "Elekti la sonaparaton",
"boo": "Hui",
"breakoutRoom": "Eniru/Eliru ĉambreton",
"breakoutRooms": "Aneksaj ĉambroj",
"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",
@@ -1089,6 +1209,7 @@
"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",
@@ -1097,12 +1218,15 @@
"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",
@@ -1116,16 +1240,20 @@
"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",
"undock": "Maldokiĝu en apartan fenestron",
"unmute": "Malsilentigi",
"videoblur": "Baskuligi malnetigon de video",
"videomute": "Silentigi/malsilentigi videon",
"whiteboard": "Montru / Kaŝu blanktabulon"
"videomuteGUMPending": "Konektanta vian kameraon",
"videounmute": "Ŝalti kameraon"
},
"addPeople": "Aldoni homojn al via voko",
"audioOnlyOff": "Malŝalti malalt-trafikan reĝimon",
@@ -1138,15 +1266,16 @@
"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",
"dock": "Doku en ĉefa fenestro",
"documentClose": "Malfermi/Fermi komunan dokumenton",
"documentOpen": "Malfermi/Fermi komunan dokumenton",
"disableReactionSounds": "Vi povas malŝalti reagsonojn por ĉi-tiu renkontiĝo",
"documentClose": "Fermi komunan dokumenton",
"documentOpen": "Malfermi 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",
@@ -1173,7 +1302,8 @@
"moreOptions": "Pli da ebloj",
"mute": "Silentigi/Malsilentigi",
"muteEveryone": "Silentigi ĉiujn",
"muteEveryonesVideo": "Malŝalto ĉies kameraon",
"muteEveryonesVideo": "Malŝalti ĉies kameraon",
"muteGUMPending": "Liganta vian mikrofonon",
"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:",
@@ -1196,6 +1326,7 @@
"reactionLike": "Sendi reagon “ŝati”",
"reactionSilence": "Sendi reagon “silento”",
"reactionSurprised": "Sendi reagon “surprizita”",
"reactions": "Reagoj",
"security": "Sekurecaj opcioj",
"selectBackground": "Elekti fonon",
"shareRoom": "Inviti iun",
@@ -1215,9 +1346,11 @@
"talkWhileMutedPopup": "Ĉu vi provas paroli? Vi estas silentigita.",
"tileViewToggle": "Baskuligi titolan vidon",
"toggleCamera": "Baskuligi kameraon",
"undock": "Maldokiĝu en apartan fenestron",
"unmute": "Malsilentigi mikrofonon",
"videoSettings": "Video-agordoj",
"videomute": "Ŝalti / Malŝalti kameraon"
"videomute": "Ŝalti / Malŝalti kameraon",
"videomuteGUMPending": "Konektanta via kamerao",
"videounmute": "Ŝalti kameraon"
},
"transcribing": {
"ccButtonTooltip": "Komenci / Ĉesigi subtekstojn",
@@ -1235,6 +1368,7 @@
"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.",
@@ -1260,7 +1394,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",
@@ -1273,9 +1407,11 @@
"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"
"standardDefinition": "Normalkvalita distingivo",
"streaming": "Elsendfluanta"
},
"videothumbnail": {
"connectionInfo": "Informoj pri Konekto",
@@ -1287,6 +1423,7 @@
"grantModerator": "Donu Rajtojn de Moderatoro",
"hideSelfView": "Kaŝi memvidon",
"kick": "Forĵeti",
"mirrorVideo": "Speguli mian videon",
"moderator": "Kunvenestro",
"mute": "Partoprenanto silentigita",
"muted": "Silentigita",
@@ -1296,10 +1433,15 @@
"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.",
@@ -1321,9 +1463,17 @@
"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"
},
"volumeSlider": "",
"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",
"welcomepage": {
"accessibilityLabel": {
"join": "Tuŝu por aliĝi",
@@ -1355,6 +1505,7 @@
"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",
@@ -1363,6 +1514,7 @@
"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",
@@ -1371,6 +1523,12 @@
"settings": "Agordoj",
"startMeeting": "Komenci renkontiĝon",
"terms": "Uzkondiĉoj",
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj"
"title": "Sekuraj, multfunkciaj kaj plene senpagaj video-konferencoj",
"upcomingMeetings": "Via estontecaj kunveno"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Blanktabulo"
}
}
}

View File

@@ -598,8 +598,6 @@
"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",
@@ -633,8 +631,6 @@
"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"
},
@@ -768,6 +764,8 @@
},
"participantsPane": {
"actions": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"allow": "Permitir a los asistentes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pida que le quiten el silencio",
@@ -780,6 +778,7 @@
"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",
@@ -1090,6 +1089,7 @@
"neutral": "Neutral",
"sad": "Triste",
"search": "Buscar",
"searchHint": "Buscar participantes",
"seconds": "{{count}} s",
"speakerStats": "Estadísticas de participantes",
"speakerTime": "Tiempo hablado",

View File

@@ -521,8 +521,6 @@
"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",
@@ -553,8 +551,6 @@
"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"
},
@@ -652,6 +648,8 @@
},
"participantsPane": {
"actions": {
"admit": "Admitir",
"admitAll": "Admitir todo",
"allow": "Permitir a los asistentes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pida que le quiten el silencio",
@@ -661,6 +659,7 @@
"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",
@@ -898,6 +897,7 @@
"minutes": "{{count}} min",
"name": "Nombre",
"search": "Buscar",
"searchHint": "Buscar participantes",
"seconds": "{{count}} s",
"speakerStats": "Estadísticas de participantes",
"speakerTime": "Tiempo hablado"

View File

@@ -571,6 +571,8 @@
"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,8 +463,6 @@
"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",
@@ -494,7 +492,6 @@
"notificationTitle": "Itxaron-gela",
"passwordField": "Idatzi bileraren pasahitza",
"passwordJoinButton": "Sartu",
"reject": "Baztertu",
"title": "Itxaron-gela",
"toggleLabel": "Itxaron-gela aktibatu"
},
@@ -576,8 +573,11 @@
},
"participantsPane": {
"actions": {
"admit": "Onartu",
"admitAll": "Onartu guztiak",
"invite": "Gonbidatu norbait",
"muteAll": "Ixilarazi guztiak",
"reject": "Baztertu",
"stopVideo": "Gelditu bideoa"
},
"close": "Itxi",
@@ -766,6 +766,8 @@
"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,8 +606,6 @@
"youtubeTerms": "شرایط خدمات یوتیوب"
},
"lobby": {
"admit": "پذیرفتن",
"admitAll": "پذیرفتن همه",
"backToKnockModeButton": "درخواست برای پیوستن",
"chat": "گپ",
"dialogTitle": "حالت اتاق انتظار",
@@ -641,8 +639,6 @@
"notificationTitle": "اتاق انتظار",
"passwordField": "گذرواژهٔ جلسه را وارد کنید",
"passwordJoinButton": "پیوستن",
"reject": "ردکردن",
"rejectAll": "ردکردن همه",
"title": "اتاق انتظار",
"toggleLabel": "فعال‌کردن اتاق انتظار"
},
@@ -776,6 +772,8 @@
},
"participantsPane": {
"actions": {
"admit": "پذیرفتن",
"admitAll": "پذیرفتن همه",
"allow": "به حاضران اجازه دهید:",
"allowVideo": "اجازهٔ ویدیو",
"askUnmute": "درخواست وصل‌کردن صدا",
@@ -788,6 +786,7 @@
"mute": "بی‌صداکردن",
"muteAll": "بی‌صداکردن همه",
"muteEveryoneElse": "بی‌صداکردن بقیه افراد",
"reject": "ردکردن",
"stopEveryonesVideo": "توقف ویدیوی همه",
"stopVideo": "توقف ویدیو",
"unblockEveryoneMicCamera": "رفع مسدودی میکروفون و دوربین همه",
@@ -1098,6 +1097,7 @@
"neutral": "خنثی",
"sad": "غمگین",
"search": "جستجو",
"searchHint": "جستجوی شرکت‌کنندگان",
"seconds": "{{count}} ثانیه",
"speakerStats": "آمار شرکت‌کنندگان",
"speakerTime": "مدت زمان گوینده",

View File

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

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Lien de la réunion: {{url}}"
},
"add": "Inviter",
"addContacts": "Inviter vos contacts",
"contacts": "contacts",
@@ -39,6 +42,18 @@
"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",
@@ -48,15 +63,22 @@
"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",
@@ -118,7 +140,7 @@
"buttonText": "Installer l'extension Chrome",
"buttonTextEdge": "Installer lextension Edge",
"close": "Fermer",
"dontShowAgain": "Ne plus me montrer ceci",
"dontShowAgain": "Ne plus m'afficher ceci",
"installExtensionText": "Installer l'extension pour l'intégration de Google Calendar et Office 365"
},
"connectingOverlay": {
@@ -149,13 +171,14 @@
"connectedTo": "Connecté à :",
"e2eeVerified": "E2EE vérifié",
"framerate": "Images par seconde :",
"less": "Cacher les détails",
"less": "Masquer les détails",
"localaddress": "Adresse locale :",
"localaddress_plural": "Adresses locales :",
"localport": "Port local :",
"localport_plural": "Ports locaux :",
"maxEnabledResolution": "débit max",
"more": "Montrer les détails",
"more": "Afficher les détails",
"no": "non",
"packetloss": "Perte de paquets :",
"participant_id": "ID du participant:",
"quality": {
@@ -174,7 +197,8 @@
"status": "Connexion :",
"transport": "Transport :",
"transport_plural": "Transports :",
"video_ssrc": "Video SSRC :"
"video_ssrc": "Video SSRC :",
"yes": "oui"
},
"dateUtils": {
"earlier": "Plus tôt",
@@ -237,9 +261,12 @@
"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"
@@ -248,6 +275,8 @@
"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",
@@ -288,8 +317,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": "Cacher",
"hideShareAudioHelper": "Ne pas montrer ce dialogue à nouveau",
"hide": "Masquer",
"hideShareAudioHelper": "Ne pas afficher 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}}",
@@ -308,6 +337,7 @@
"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 !",
@@ -351,8 +381,6 @@
"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",
@@ -369,6 +397,8 @@
"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",
@@ -388,8 +418,10 @@
"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\".",
@@ -419,12 +451,30 @@
"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. ",
@@ -433,6 +483,10 @@
"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": {
@@ -445,6 +499,9 @@
"title": "Intégrer cette réunion"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Votre choix: {{rating}}"
},
"average": "Moyen",
"bad": "Mauvais",
"detailsLabel": "Dites nous en plus à ce sujet.",
@@ -505,6 +562,7 @@
"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"
@@ -544,7 +602,7 @@
},
"largeVideo": {
"screenIsShared": "Vous êtes en train de partager votre écran",
"showMeWhatImSharing": "Me montrer ce que je partage"
"showMeWhatImSharing": "M'afficher ce que je partage"
},
"liveStreaming": {
"busy": "Nous tentons de libérer des ressources de diffusion. Veuillez réessayez dans quelques minutes.",
@@ -584,8 +642,6 @@
"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",
@@ -611,16 +667,14 @@
"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"
},
@@ -652,6 +706,8 @@
"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",
@@ -673,8 +729,11 @@
"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",
@@ -683,6 +742,7 @@
"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",
@@ -717,7 +777,6 @@
"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",
@@ -747,15 +806,20 @@
"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"
"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"
},
"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",
@@ -763,6 +827,7 @@
"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",
@@ -772,6 +837,7 @@
"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}})"
},
@@ -806,8 +872,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": "Cacher les détails",
"showDetailedResults": "Montrer les détails",
"hideDetailedResults": "Masquer les détails",
"showDetailedResults": "Afficher les détails",
"vote": "Voter"
}
},
@@ -865,9 +931,11 @@
"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"
@@ -930,7 +998,6 @@
"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.",
@@ -947,13 +1014,15 @@
"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 ...",
"rec": "REC",
"recordAudioAndVideo": "Enregistrer l'audio et la vidéo",
"recordTranscription": "Enregistrer la transcription",
"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.",
@@ -969,8 +1038,14 @@
"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.",
"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é"
"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"
}
},
"settings": {
"audio": "Audio",
@@ -1003,7 +1078,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",
@@ -1024,6 +1099,7 @@
"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",
@@ -1034,12 +1110,14 @@
"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",
@@ -1065,6 +1143,7 @@
"neutral": "Indifférent",
"sad": "Triste",
"search": "Recherche",
"searchHint": "Recherche des participants",
"seconds": "{{count}}s",
"speakerStats": "Statistiques de l'interlocuteur",
"speakerTime": "Temps de l'interlocuteur",
@@ -1091,17 +1170,26 @@
"audioOnly": "Activer / Désactiver le mode voix uniquement",
"audioRoute": "Sélectionner la source audio",
"boo": "Hou",
"breakoutRoom": "Rejoindre/quitter une salle annexe",
"breakoutRooms": "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",
@@ -1110,6 +1198,7 @@
"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",
@@ -1119,6 +1208,7 @@
"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",
@@ -1127,12 +1217,15 @@
"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",
@@ -1146,15 +1239,20 @@
"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 / Cacher les statistiques de parole",
"speakerStats": "Afficher / Masquer les statistiques de parole",
"stopScreenSharing": "Arrêter le partage d'écran",
"stopSharedVideo": "Arrêter la vidéo partagée",
"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",
"whiteboard": "Afficher / Cacher le tableau blanc"
"videomuteGUMPending": "Connexion de votre caméra",
"videounmute": "Démarrer la vidéo"
},
"addPeople": "Ajouter des personnes à votre appel",
"audioOnlyOff": "Désactiver le mode bande passante réduite",
@@ -1167,6 +1265,7 @@
"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",
@@ -1185,7 +1284,7 @@
"giphy": "Activer/désactiver le menu GIPHY",
"hangup": "Quitter",
"help": "Aide",
"hideWhiteboard": "Cacher le tableau blanc",
"hideWhiteboard": "Masquer le tableau blanc",
"invite": "Inviter des participants",
"joinBreakoutRoom": "Rejoindre salle annexe",
"laugh": "Rire",
@@ -1203,6 +1302,7 @@
"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 :",
@@ -1225,6 +1325,7 @@
"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",
@@ -1244,8 +1345,11 @@
"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": "Démarrer / Arrêter la caméra"
"videomute": "Arrêter la caméra",
"videomuteGUMPending": "Connexion de votre caméra",
"videounmute": "Démarrer la caméra"
},
"transcribing": {
"ccButtonTooltip": "Activer / Désactiver les sous-titres",
@@ -1253,7 +1357,8 @@
"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 désactivée",
"off": "La transcription est désactivée",
"on": "La transcription est activé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",
@@ -1316,7 +1421,7 @@
"domuteVideoOfOthers": "Couper la caméra des autres",
"flip": "Miroir",
"grantModerator": "Donner des droits de modérateur",
"hideSelfView": "Cacher l'affichage de votre propre vidéo",
"hideSelfView": "Masquer l'affichage de votre propre vidéo",
"kick": "Exclure",
"mirrorVideo": "Inverser ma vidéo",
"moderator": "Modérateur",
@@ -1326,13 +1431,17 @@
"remoteControl": "Démarrer / Arrêter le contrôle à distance",
"screenSharing": "Cette personne partage son écran",
"show": "Afficher en premier plan",
"showSelfView": "Montrer votre propre vidéo",
"showSelfView": "Afficher 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.",
@@ -1356,7 +1465,14 @@
"webAssemblyWarning": "WebAssembly non supporté",
"webAssemblyWarningDescription": "WebAssembly invalidé ou non supporté par ce navigateur"
},
"visitorsLabel": "Nombre de visiteurs: {{count}}",
"visitors": {
"chatIndicator": "(visiteur)",
"labelTooltip": "Nombre de Visiteurs",
"notification": {
"description": "Pour participer lever la main.",
"title": "Vous êtes visiteur dans cette réunion"
}
},
"volumeSlider": "Curseur de volume",
"welcomepage": {
"accessibilityLabel": {

View File

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

View File

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

View File

@@ -561,8 +561,6 @@
"youtubeTerms": "Uvjeti YouTube usluge"
},
"lobby": {
"admit": "Prihvati",
"admitAll": "Prihvati sve",
"allow": "Dopusti",
"backToKnockModeButton": "Zatraži pridruživanje",
"chat": "Chat",
@@ -597,8 +595,6 @@
"notificationTitle": "Predvorje",
"passwordField": "Upiši lozinku sastanka",
"passwordJoinButton": "Pridruži se",
"reject": "Odbij",
"rejectAll": "Odbij sve",
"title": "Predvorje",
"toggleLabel": "Uključi predvorje"
},
@@ -725,6 +721,8 @@
},
"participantsPane": {
"actions": {
"admit": "Prihvati",
"admitAll": "Prihvati sve",
"allow": "Dozvoli sudionicima da:",
"allowVideo": "Dozvole video",
"askUnmute": "Zatraže isključivanje zvuka",
@@ -737,6 +735,7 @@
"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",
@@ -1034,6 +1033,7 @@
"neutral": "Neutralan",
"sad": "Žalostan",
"search": "Traži",
"searchHint": "Traži sudionike",
"seconds": "{{count}} s",
"speakerStats": "Statistika govornika",
"speakerTime": "Vrijeme govornika",

View File

@@ -551,8 +551,6 @@
"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",
@@ -587,8 +585,6 @@
"notificationTitle": "lobby",
"passwordField": "konferencne hesło zapodać",
"passwordJoinButton": "přistupić",
"reject": "wotpokazać",
"rejectAll": "wšitko wotpokazać",
"title": "lobby",
"toggleLabel": "lobby aktiwěrować"
},
@@ -710,6 +706,8 @@
},
"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ć",
@@ -722,6 +720,7 @@
"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ć",
@@ -1001,6 +1000,7 @@
"neutral": "neutralny",
"sad": "zrudny",
"search": "pytać",
"searchHint": "přitomnych pytać",
"seconds": "{{count}}s",
"speakerStats": "statistika rěčnikow",
"speakerTime": "čas rěčnikow",

View File

@@ -462,8 +462,6 @@
"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",
@@ -495,8 +493,6 @@
"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": {
@@ -579,6 +575,8 @@
},
"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",
@@ -591,6 +589,7 @@
"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",
@@ -825,6 +824,7 @@
"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,6 +524,8 @@
"hours": "",
"minutes": "",
"name": "Անուն",
"search": "Որոնում",
"searchHint": "Որոնել մասնակիցներին",
"seconds": "",
"speakerStats": "Հռետորի վիճակագրությունը",
"speakerTime": ""

File diff suppressed because it is too large Load Diff

View File

@@ -561,8 +561,6 @@
"youtubeTerms": "Condizioni di utilizzo di YouTube"
},
"lobby": {
"admit": "Ammetti",
"admitAll": "Ammetti tutti",
"allow": "Autorizza",
"backToKnockModeButton": "Nessuna password, richiedi l'accesso",
"chat": "Conversazione",
@@ -597,8 +595,6 @@
"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"
},
@@ -725,6 +721,8 @@
},
"participantsPane": {
"actions": {
"admit": "Ammetti",
"admitAll": "Ammetti tutti",
"allow": "Permetti ai partecipanti di:",
"allowVideo": "Autorizza video",
"askUnmute": "Chiedi di accendere microfono",
@@ -737,6 +735,7 @@
"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",
@@ -1034,6 +1033,7 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Cerca",
"searchHint": "Cerca partecipanti",
"seconds": "{{count}}s",
"speakerStats": "Statistiche",
"speakerTime": "Tempo",

View File

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

View File

@@ -498,8 +498,6 @@
"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",
@@ -530,8 +528,6 @@
"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"
},
@@ -628,6 +624,8 @@
},
"participantsPane": {
"actions": {
"admit": "Steεref",
"admitAll": "Steεref s kullec",
"allow": "Sireg i yimttekkiyen ad:",
"allowVideo": "Sireg tavidyut",
"askUnmute": "Suter tririt n ṣṣut",
@@ -637,6 +635,7 @@
"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",
@@ -874,7 +873,8 @@
"hours": "{{count}} isragen",
"minutes": "{{count}} n tesdidin",
"name": "Isem",
"search": "Rechercher",
"search": "Nadi",
"searchHint": "Nadi imttekkiyen",
"seconds": "{{count}} n tsinin",
"speakerStats": "Addad n yimsiwel",
"speakerTime": "Akud n yimsiwel"

View File

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

View File

@@ -571,6 +571,8 @@
"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

@@ -642,8 +642,6 @@
"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,8 +675,6 @@
"notificationLobbyEnabled": "Vestibilu iespējoja {{originParticipantName}}",
"notificationTitle": "Vestibils",
"passwordJoinButton": "Pievienoties",
"reject": "Noraidīt",
"rejectAll": "Noraidīt visus",
"title": "Vestibils",
"toggleLabel": "Iespējot vestibilu"
},
@@ -816,6 +812,8 @@
},
"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,6 +827,7 @@
"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",
@@ -1142,6 +1141,7 @@
"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",

View File

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

View File

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

View File

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

View File

@@ -486,8 +486,6 @@
"youtubeTerms": "Servicevoorwaarden YouTube"
},
"lobby": {
"admit": "Toelaten",
"admitAll": "Allen toelaten",
"allow": "Toestaan",
"backToKnockModeButton": "Geen wachtwoord, vraag om deel te mogen nemen",
"dialogTitle": "Lobby-modus",
@@ -519,8 +517,6 @@
"notificationTitle": "Lobby",
"passwordField": "Voer wachtwoord voor vergadering in",
"passwordJoinButton": "Deelnemen",
"reject": "Afwijzen",
"rejectAll": "Allen afwijzen",
"title": "Lobby",
"toggleLabel": "Lobby inschakelen"
},
@@ -624,6 +620,8 @@
},
"participantsPane": {
"actions": {
"admit": "Toelaten",
"admitAll": "Allen toelaten",
"allow": "Sta deelnemers toe:",
"allowVideo": "Video toestaan",
"askUnmute": "Vragen om dempen op te heffen",
@@ -636,6 +634,7 @@
"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",
@@ -855,6 +854,8 @@
"hours": "{{count}}u",
"minutes": "{{count}}m",
"name": "Naam",
"search": "Zoeken",
"searchHint": "Zoek deelnemers",
"seconds": "{{count}}s",
"speakerStats": "Sprekerstatistieken",
"speakerTime": "Sprekertijd"

View File

@@ -524,8 +524,6 @@
"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",
@@ -556,8 +554,6 @@
"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"
},
@@ -670,6 +666,8 @@
},
"participantsPane": {
"actions": {
"admit": "Acceptar",
"admitAll": "Tot acceptar",
"allow": "Permetre als convidats de:",
"allowVideo": "Autorizar la vidèo",
"askUnmute": "Demandar a restablir lo son",
@@ -682,6 +680,7 @@
"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",
@@ -936,6 +935,7 @@
"neutral": "Neutre",
"sad": "Trist",
"search": "Recercar",
"searchHint": "Cercar participants",
"seconds": "{{count}}segondas",
"speakerStats": "Estatisticas orator",
"speakerTime": "Temps de paraula",

View File

@@ -586,8 +586,6 @@
"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",
@@ -621,8 +619,6 @@
"notificationTitle": "Lobby",
"passwordField": "Wprowadź hasło",
"passwordJoinButton": "Dołącz",
"reject": "Odrzuć",
"rejectAll": "Odrzuć wszystkich",
"title": "Lobby",
"toggleLabel": "Włącz / Wyłącz lobby"
},
@@ -756,6 +752,8 @@
},
"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",
@@ -768,6 +766,7 @@
"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",
@@ -1078,6 +1077,7 @@
"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,6 +421,7 @@
"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\".",
@@ -641,8 +642,6 @@
"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",
@@ -676,8 +675,6 @@
"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"
},
@@ -815,6 +812,8 @@
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ligar o som",
@@ -828,6 +827,7 @@
"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,6 +837,7 @@
"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}})"
},
@@ -927,7 +928,7 @@
"joinWithoutAudio": "Entrar sem áudio",
"keyboardShortcuts": "Ativar os atalhos de teclado",
"linkCopied": "Link copiado para a área de transferência",
"lookGood": "O seu microfone funciona corretamente",
"lookGood": "Tudo está a funcionar corretamente",
"or": "ou",
"premeeting": "Pré-reunião",
"proceedAnyway": "Continuar na mesma",
@@ -1015,12 +1016,15 @@
"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.",
@@ -1141,6 +1145,7 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Pesquisar",
"searchHint": "Pesquisar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas dos Participantes",
"speakerTime": "Tempo do Participante",
@@ -1163,7 +1168,7 @@
"toolbar": {
"Settings": "Definições",
"accessibilityLabel": {
"Settings": "Mudar configurações",
"Settings": "Abrir definições",
"audioOnly": "Mudar para apenas áudio",
"audioRoute": "Selecionar o dispositivo de som",
"boo": "Vaia",

View File

@@ -642,8 +642,6 @@
"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",
@@ -677,8 +675,6 @@
"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"
},
@@ -816,6 +812,8 @@
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ativar som",
@@ -829,6 +827,7 @@
"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",
@@ -1142,6 +1141,7 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Busca",
"searchHint": "Buscar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas do apresentador",
"speakerTime": "Tempo do apresentador",

View File

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

View File

@@ -561,8 +561,6 @@
"youtubeTerms": "Cunditziones de servìtziu de YouTube"
},
"lobby": {
"admit": "Ammite",
"admitAll": "Ammite totu",
"allow": "Permite",
"backToKnockModeButton": "Pedi de intrare",
"chat": "Tzarrada",
@@ -597,8 +595,6 @@
"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"
},
@@ -727,6 +723,8 @@
},
"participantsPane": {
"actions": {
"admit": "Ammite",
"admitAll": "Ammite totu",
"allow": "Permite a is partetzipantes:",
"allowVideo": "Permite vìdeu",
"askUnmute": "Pedi de ativare su micròfonu",
@@ -739,6 +737,7 @@
"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",
@@ -1037,6 +1036,7 @@
"neutral": "Neutrale",
"sad": "Tristu",
"search": "Chirca",
"searchHint": "Chirca partetzipantes",
"seconds": "{count} seg",
"speakerStats": "Istatìsticas de partetzipante",
"speakerTime": "Tempus de partetzipante",

View File

@@ -466,7 +466,6 @@
"notificationTitle": "Čakáreň",
"passwordField": "Zadajte heslo do konferencie",
"passwordJoinButton": "Vstúpiť",
"reject": "Odmietnuť",
"title": "Čakáreň",
"toggleLabel": "Zapnúť čakáreň"
},
@@ -541,6 +540,11 @@
"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",
@@ -694,6 +698,8 @@
"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,8 +499,6 @@
"youtubeTerms": "Pogoji uporabe YouTube"
},
"lobby": {
"admit": "Sprejmi",
"admitAll": "Sprejmi vse",
"allow": "Dovoli",
"backToKnockModeButton": "Prosi za dostop",
"dialogTitle": "Način predsobe",
@@ -531,8 +529,6 @@
"notificationTitle": "Predsoba",
"passwordField": "Vnesite geslo sestanka",
"passwordJoinButton": "Pridruži se",
"reject": "Zavrni",
"rejectAll": "Zavrni vse",
"title": "Predsoba",
"toggleLabel": "Omogoči predsobo"
},
@@ -629,6 +625,8 @@
},
"participantsPane": {
"actions": {
"admit": "Sprejmi",
"admitAll": "Sprejmi vse",
"allow": "Udeleženci si lahko:",
"allowVideo": "Dovoli video",
"askUnmute": "Prosi za vklop mikrofona",
@@ -638,6 +636,7 @@
"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",
@@ -876,6 +875,7 @@
"minutes": "{{count}}m",
"name": "Ime",
"search": "Iskanje",
"searchHint": "Iskanje udeležencev",
"seconds": "{{count}}s",
"speakerStats": "Statistika govorca",
"speakerTime": "Čas govorjenja"

View File

@@ -582,8 +582,6 @@
"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",
@@ -617,8 +615,6 @@
"notificationTitle": "Holl",
"passwordField": "Jepni fjalëkalim takimi",
"passwordJoinButton": "Hyni",
"reject": "Hidhe poshtë",
"rejectAll": "Hidhi poshtë të tërë",
"title": "Holl",
"toggleLabel": "Aktivizoni hollin"
},
@@ -749,6 +745,8 @@
},
"participantsPane": {
"actions": {
"admit": "Pranoje",
"admitAll": "Pranoji të tërë",
"allow": "Lejoju pjesëmarrësve të:",
"allowVideo": "Çaktivizoni videon",
"askUnmute": "Kërkoni heqje heshtimi",
@@ -761,6 +759,7 @@
"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",
@@ -1059,6 +1058,7 @@
"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,6 +580,8 @@
"hours": "",
"minutes": "",
"name": "Имe",
"search": "Претрага",
"searchHint": "Учесници претраге",
"seconds": "",
"speakerStats": "Статистика говорника",
"speakerTime": "Вријeмe говорника"

View File

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

View File

@@ -455,8 +455,6 @@
"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?",
@@ -485,7 +483,6 @@
"notificationTitle": "Lobby",
"passwordField": "సమావేశం సంకేతపదం ఇవ్వండి",
"passwordJoinButton": "చేరు",
"reject": "నిరాకరించు",
"title": "Lobby",
"toggleLabel": "Enable lobby"
},
@@ -566,8 +563,11 @@
},
"participantsPane": {
"actions": {
"admit": "అనుమతించు",
"allow": "అనుమతించు",
"invite": "ప్రజలను ఆహ్వానించు",
"muteAll": "అందరినీ మౌనించు",
"reject": "నిరాకరించు",
"stopVideo": "వీడియో ఆపివేయి"
},
"headings": {
@@ -752,6 +752,8 @@
"hours": "{{count}}గం",
"minutes": "{{count}}ని",
"name": "పేరు",
"search": "శోధించు",
"searchHint": "శోధన పాల్గొనేవారు",
"seconds": "{{count}}క్ష",
"speakerStats": "మాట్లాడేవారి గణాంకాలు",
"speakerTime": "మాట్లాడిన సమయం"

View File

@@ -561,8 +561,6 @@
"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",
@@ -597,8 +595,6 @@
"notificationTitle": "Lobi",
"passwordField": "Toplantı parolasını giriniz",
"passwordJoinButton": "Katıl",
"reject": "Reddet",
"rejectAll": "Hepsini reddet",
"title": "Lobi",
"toggleLabel": "Lobiyi etkinleştir"
},
@@ -725,6 +721,8 @@
},
"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",
@@ -737,6 +735,7 @@
"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,6 +1033,7 @@
"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,8 +584,6 @@
"youtubeTerms": "Умови надання послуг YouTube"
},
"lobby": {
"admit": "Допустити",
"admitAll": "Допустити всіх",
"backToKnockModeButton": "Запитати дозволу",
"chat": "Чат",
"dialogTitle": "Приймальна",
@@ -619,8 +617,6 @@
"notificationTitle": "Приймальна",
"passwordField": "Ввести пароль зустрічі",
"passwordJoinButton": "Приєднатися",
"reject": "Відмовити",
"rejectAll": "Відмовити всім",
"title": "Приймальна",
"toggleLabel": "Увімкнути приймальну"
},
@@ -753,6 +749,8 @@
},
"participantsPane": {
"actions": {
"admit": "Допустити",
"admitAll": "Допустити всіх",
"allow": "Дозволити учасникам:",
"allowVideo": "Розблокувати камеру",
"askUnmute": "Надати слово",
@@ -765,6 +763,7 @@
"mute": "Вимкнути мікрофон",
"muteAll": "Вимкнути мікрофони всім",
"muteEveryoneElse": "Вимкнути мікрофони всім іншим",
"reject": "Відмовити",
"stopEveryonesVideo": "Вимкнути камери всім",
"stopVideo": "Вимкнути камеру",
"unblockEveryoneMicCamera": "Розблокувати всім мікрофон і камеру",
@@ -1067,6 +1066,7 @@
"neutral": "нормально",
"sad": "сумую",
"search": "Пошук",
"searchHint": "Пошук учасників",
"seconds": "{{count}} с",
"speakerStats": "Статистика спілкування",
"speakerTime": "Час спілкування",

View File

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

View File

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

View File

@@ -452,7 +452,7 @@
"token": "token",
"tokenAuthFailed": "Sorry, you're not allowed to join this call.",
"tokenAuthFailedReason": {
"audInvalid": "Ivalid `aud` value. It should be `jitsi`.",
"audInvalid": "Invalid `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.",
@@ -642,8 +642,6 @@
"youtubeTerms": "YouTube terms of services"
},
"lobby": {
"admit": "Admit",
"admitAll": "Admit all",
"backToKnockModeButton": "Ask to join",
"chat": "Chat",
"dialogTitle": "Lobby mode",
@@ -677,8 +675,6 @@
"notificationLobbyEnabled": "Lobby has been enabled by {{originParticipantName}}",
"notificationTitle": "Lobby",
"passwordJoinButton": "Join",
"reject": "Reject",
"rejectAll": "Reject all",
"title": "Lobby",
"toggleLabel": "Enable lobby"
},
@@ -816,6 +812,8 @@
},
"participantsPane": {
"actions": {
"admit": "Admit",
"admitAll": "Admit all",
"allow": "Allow attendees to:",
"allowVideo": "Allow video",
"askUnmute": "Ask to unmute",
@@ -829,6 +827,7 @@
"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",
@@ -838,7 +837,8 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Meeting participants ({{count}})",
"visitors": "Visitors ({{count}})",
"visitorRequests": " (requests {{count}})",
"visitors": "Visitors {{count}}",
"waitingLobby": "Waiting in lobby ({{count}})"
},
"search": "Search participants",
@@ -928,7 +928,7 @@
"joinWithoutAudio": "Join without audio",
"keyboardShortcuts": "Enable Keyboard shortcuts",
"linkCopied": "Link copied to clipboard",
"lookGood": "Your microphone is working properly",
"lookGood": "Everything is working properly",
"or": "or",
"premeeting": "Pre meeting",
"proceedAnyway": "Proceed anyway",
@@ -998,7 +998,6 @@
"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.",
@@ -1015,13 +1014,15 @@
"onBy": "{{name}} started the recording",
"onlyRecordSelf": "Record only my audio and video streams",
"pending": "Preparing to record the meeting...",
"rec": "REC",
"recordAudioAndVideo": "Record audio and video",
"recordTranscription": "Record transcription",
"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.",
@@ -1037,7 +1038,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 you meeting ",
"insecureRoomNameWarningNative": "The room name is unsafe. Unwanted participants may join your meeting. {{recommendAction}} Learn more about securing your 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": {
@@ -1142,6 +1143,7 @@
"neutral": "Neutral",
"sad": "Sad",
"search": "Search",
"searchHint": "Search participants",
"seconds": "{{count}}s",
"speakerStats": "Participants Stats",
"speakerTime": "Speaker Time",
@@ -1164,7 +1166,7 @@
"toolbar": {
"Settings": "Settings",
"accessibilityLabel": {
"Settings": "Toggle settings",
"Settings": "Open settings",
"audioOnly": "Toggle audio only",
"audioRoute": "Select the sound device",
"boo": "Boo",
@@ -1210,7 +1212,7 @@
"moreActions": "More actions",
"moreActionsMenu": "More actions menu",
"moreOptions": "Show more options",
"mute": "Mute",
"mute": "Mute microphone",
"muteEveryone": "Mute everyone",
"muteEveryoneElse": "Mute everyone else",
"muteEveryoneElsesVideoStream": "Stop everyone else's video",
@@ -1246,7 +1248,7 @@
"tileView": "Toggle tile view",
"toggleCamera": "Toggle camera",
"toggleFilmstrip": "Toggle filmstrip",
"unmute": "Unmute",
"unmute": "Unmute microphone",
"videoblur": "Toggle video blur",
"videomute": "Stop camera",
"videomuteGUMPending": "Connecting your camera",
@@ -1297,7 +1299,7 @@
"lowerYourHand": "Lower your hand",
"moreActions": "More actions",
"moreOptions": "More options",
"mute": "Mute",
"mute": "Mute microphone",
"muteEveryone": "Mute everyone",
"muteEveryonesVideo": "Disable everyone's camera",
"muteGUMPending": "Connecting your microphone",
@@ -1343,7 +1345,7 @@
"talkWhileMutedPopup": "Trying to speak? You are muted.",
"tileViewToggle": "Toggle tile view",
"toggleCamera": "Toggle camera",
"unmute": "Unmute",
"unmute": "Unmute microphone",
"videoSettings": "Video settings",
"videomute": "Stop camera",
"videomuteGUMPending": "Connecting your camera",
@@ -1356,6 +1358,7 @@
"failedToStart": "Transcribing failed to start",
"labelToolTip": "The meeting is being transcribed",
"off": "Transcribing stopped",
"on": "Transcribing started",
"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",

View File

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

View File

@@ -466,8 +466,8 @@ function initCommands() {
'toggle-subtitles': () => {
APP.store.dispatch(toggleRequestingSubtitles());
},
'set-subtitles': enabled => {
APP.store.dispatch(setRequestingSubtitles(enabled));
'set-subtitles': (enabled, displaySubtitles, language) => {
APP.store.dispatch(setRequestingSubtitles(enabled, displaySubtitles, language));
},
'toggle-tile-view': () => {
sendAnalytics(createApiEvent('tile-view.toggled'));
@@ -835,8 +835,6 @@ function initCommands() {
return true;
}
logger.warn(`Unknown API command received: ${name}`);
return false;
});
transport.on('request', (request, callback) => {
@@ -1977,6 +1975,19 @@ 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,6 +160,7 @@ 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,6 +229,9 @@ 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;
@@ -239,8 +242,6 @@ 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
@@ -287,10 +288,6 @@ 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
@@ -303,6 +300,10 @@ 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,6 +26,13 @@ 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
@@ -242,11 +249,18 @@ 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.
*
@@ -255,6 +269,7 @@ export class VideoContainer extends LargeContainer {
this._resizeListeners = new Set();
this.video.onresize = this._onResize.bind(this);
this._play = this._play.bind(this);
}
/**
@@ -455,6 +470,30 @@ 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
@@ -464,6 +503,8 @@ 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.
@@ -488,22 +529,28 @@ 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} has failed with `, error);
logger.error(`Attaching the remote track ${stream} to large video 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.video.play();
browser.isWebKitBased() && this._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,6 +154,8 @@ 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();

8819
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -36,6 +36,7 @@
"@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",
@@ -65,7 +66,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/v1734.0.0+34ceebd2/lib-jitsi-meet.tgz",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1760.0.0+7895cb25/lib-jitsi-meet.tgz",
"lodash": "4.17.21",
"moment": "2.29.4",
"moment-duration-format": "2.2.2",
@@ -80,7 +81,7 @@
"react-focus-on": "3.8.1",
"react-i18next": "10.11.4",
"react-linkify": "1.0.0-alpha",
"react-native": "0.70.14",
"react-native": "0.72.9",
"react-native-background-timer": "2.4.1",
"react-native-calendar-events": "2.2.0",
"react-native-default-preference": "1.4.4",
@@ -102,7 +103,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.7",
"react-native-video": "6.0.0-alpha.11",
"react-native-watch-connectivity": "1.1.0",
"react-native-webrtc": "118.0.0",
"react-native-webview": "13.5.1",
@@ -124,10 +125,10 @@
"zxcvbn": "4.4.2"
},
"devDependencies": {
"@babel/core": "7.16.0",
"@babel/core": "7.21.5",
"@babel/eslint-parser": "7.21.8",
"@babel/plugin-proposal-export-default-from": "7.16.0",
"@babel/preset-env": "7.16.0",
"@babel/plugin-proposal-export-default-from": "7.22.5",
"@babel/preset-env": "7.21.5",
"@babel/preset-react": "7.16.0",
"@jitsi/eslint-config": "4.1.5",
"@types/amplitude-js": "8.16.2",
@@ -135,6 +136,7 @@
"@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",
@@ -165,7 +167,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.70.3",
"metro-react-native-babel-preset": "0.75.1",
"patch-package": "6.4.7",
"process": "0.11.10",
"sass": "1.26.8",

View File

@@ -1,25 +1,30 @@
diff --git a/node_modules/react-native/React/CoreModules/RCTTiming.mm b/node_modules/react-native/React/CoreModules/RCTTiming.mm
index 13d0d57..00e5d4c 100644
index e4f7e15..6f05fb3 100644
--- a/node_modules/react-native/React/CoreModules/RCTTiming.mm
+++ b/node_modules/react-native/React/CoreModules/RCTTiming.mm
@@ -127,7 +127,15 @@ RCT_EXPORT_MODULE()
@@ -127,13 +127,16 @@ 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,
@@ -146,6 +154,11 @@ RCT_EXPORT_MODULE()
UIApplicationDidEnterBackgroundNotification,
@@ -151,6 +154,11 @@ RCT_EXPORT_MODULE()
name:name
object:nil];
}
@@ -31,7 +36,7 @@ index 13d0d57..00e5d4c 100644
}
- (void)dealloc
@@ -182,6 +195,16 @@ RCT_EXPORT_MODULE()
@@ -187,6 +195,16 @@ RCT_EXPORT_MODULE()
[self startTimers];
}

View File

@@ -13,9 +13,12 @@ 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 {
@@ -28,6 +31,7 @@ interface IEventListeners {
onConferenceWillJoin?: Function;
onEnterPictureInPicture?: Function;
onParticipantJoined?: Function;
onParticipantLeft?: ({ id }: { id: string }) => void;
onReadyToClose?: Function;
}
@@ -48,10 +52,17 @@ 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((props: IAppProps, ref) => {
export const JitsiMeeting = forwardRef<JitsiRefProps, IAppProps>((props, ref) => {
const [ appProps, setAppProps ] = useState({});
const app = useRef(null);
const {
@@ -81,6 +92,11 @@ export const JitsiMeeting = forwardRef((props: IAppProps, ref) => {
const dispatch = app.current.state.store.dispatch;
dispatch(setVideoMuted(muted));
},
getRoomsInfo: () => {
const state = app.current.state.store.getState();
return getRoomsInfo(state);
}
}));
@@ -118,6 +134,7 @@ export const JitsiMeeting = forwardRef((props: IAppProps, ref) => {
onConferenceLeft: eventListeners?.onConferenceLeft,
onEnterPictureInPicture: eventListeners?.onEnterPictureInPicture,
onParticipantJoined: eventListeners?.onParticipantJoined,
onParticipantLeft: eventListeners?.onParticipantLeft,
onReadyToClose: eventListeners?.onReadyToClose
},
'url': urlProps,

View File

@@ -7,3 +7,23 @@
* }
*/
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

@@ -0,0 +1,25 @@
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,13 @@ 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 {void}
* @returns {boolean} - True if the analytics were successfully initialized and false otherwise.
*/
export function initAnalytics(store: IStore, handlers: Array<Object>) {
export function initAnalytics(store: IStore, handlers: Array<Object>): boolean {
const { getState, dispatch } = store;
if (!isAnalyticsEnabled(getState) || handlers.length === 0) {
return;
return false;
}
const state = getState();
@@ -232,7 +232,11 @@ export function initAnalytics(store: IStore, handlers: Array<Object>) {
}
}
analytics.addPermanentProperties(permanentProperties);
analytics.addPermanentProperties({
...permanentProperties,
...getState()['features/analytics'].initialPermanentProperties
});
analytics.setConferenceName(getAnalyticsRoomName(state, dispatch));
// Set the handlers last, since this triggers emptying of the cache
@@ -249,6 +253,8 @@ export function initAnalytics(store: IStore, handlers: Array<Object>) {
}
});
}
return true;
}
/**

View File

@@ -5,7 +5,6 @@ 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 {
@@ -23,7 +22,8 @@ import { I_AM_VISITOR_MODE } from '../visitors/actionTypes';
import { iAmVisitor } from '../visitors/functions';
import { createLocalTracksDurationEvent, createNetworkInfoEvent } from './AnalyticsEvents';
import { UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
import { SET_INITIALIZED, UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
import { setPermanentProperty } from './actions';
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());
analytics.addPermanentProperties({
store.dispatch(setPermanentProperty({
isVisitor: newIAmVisitor,
isPromotedFromVisitor: oldIAmVisitor && !newIAmVisitor
});
}));
return result;
}
@@ -104,6 +104,13 @@ 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: {
@@ -114,7 +121,12 @@ MiddlewareRegistry.register(store => next => action => {
const result = next(action);
createHandlersPromise.then(handlers => {
initAnalytics(store, handlers);
if (initAnalytics(store, handlers)) {
store.dispatch({
type: SET_INITIALIZED,
value: true
});
}
});
return result;
@@ -163,9 +175,9 @@ MiddlewareRegistry.register(store => next => action => {
}
case SET_LOBBY_VISIBILITY:
if (getIsLobbyVisible(store.getState())) {
analytics.addPermanentProperties({
store.dispatch(setPermanentProperty({
wasLobbyVisible: true
});
}));
}
break;

View File

@@ -1,11 +1,17 @@
import ReducerRegistry from '../base/redux/ReducerRegistry';
import { UPDATE_LOCAL_TRACKS_DURATION } from './actionTypes';
import {
SET_INITIALIZED,
SET_INITIAL_PERMANENT_PROPERTIES,
UPDATE_LOCAL_TRACKS_DURATION
} from './actionTypes';
/**
* Initial state.
*/
const DEFAULT_STATE = {
isInitialized: false,
initialPermanentProperties: {},
localTracksDuration: {
audio: {
startedTime: -1,
@@ -34,6 +40,8 @@ interface IValue {
}
export interface IAnalyticsState {
initialPermanentProperties: Object;
isInitialized: boolean;
localTracksDuration: {
audio: IValue;
conference: IValue;
@@ -55,6 +63,20 @@ export interface IAnalyticsState {
ReducerRegistry.register<IAnalyticsState>('features/analytics',
(state = DEFAULT_STATE, action): IAnalyticsState => {
switch (action.type) {
case SET_INITIALIZED:
return {
...state,
initialPermanentProperties: action.value ? state.initialPermanentProperties : {},
isInitialized: action.value
};
case SET_INITIAL_PERMANENT_PROPERTIES:
return {
...state,
initialPermanentProperties: {
...state.initialPermanentProperties,
...action.properties
}
};
case UPDATE_LOCAL_TRACKS_DURATION:
return {
...state,

View File

@@ -1000,8 +1000,6 @@ export function setAssumedBandwidthBps(assumedBandwidthBps: number) {
*/
export function redirect(vnode: string, focusJid: string, username: string) {
return (dispatch: IStore['dispatch'], getState: IStore['getState']) => {
const { conference, joining } = getState()['features/base/conference'];
const newConfig = getVisitorOptions(getState, vnode, focusJid, username);
if (!newConfig) {
@@ -1011,8 +1009,7 @@ export function redirect(vnode: string, focusJid: string, username: string) {
}
dispatch(overwriteConfig(newConfig)) // @ts-ignore
.then(() => dispatch(conferenceWillLeave(conference || joining, true)))
.then(() => dispatch(disconnect()))
.then(() => dispatch(disconnect(true)))
.then(() => dispatch(setIAmVisitor(Boolean(vnode))))
// we do not clear local tracks on error, so we need to manually clear them

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