Compare commits

...

279 Commits

Author SHA1 Message Date
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
Jaya Allamsetty
3a836eba63 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1733.0.0+c5dd1faa...v1734.0.0+34ceebd2
2023-12-08 12:43:01 -05:00
Calin-Teodor
55a16f31c2 feat(settings/native): hide login/logout for 8x8.vc on profile screen 2023-12-08 17:41:46 +02:00
Hristo Terezov
7de88f4e47 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1732.0.0+7841a38e...v1733.0.0+c5dd1faa
2023-12-06 15:11:17 -06:00
Hristo Terezov
d71b827d1a feat(analytics): add visitor,prejoin,lobby props 2023-12-06 14:37:49 -06:00
Дамян Минков
3811caa8a0 fix(auth): Skip authStatusChanged for jaas meetings. (#14128)
It is showing Login/Logout buttons which does nothing in this case.
2023-12-05 10:59:21 -06:00
Calinteodor
32f6bc376b feat(rn): 0.70.14 update (#14123)
* feat(rn): update to 0.70.14 and removed libray_search_paths variables from ios project
2023-12-01 22:29:08 +02:00
Calin-Teodor
8b4ebe4fa3 feat(mobile): fixed undefined is not an object (evaluating action.conference.callUUID) 2023-12-01 18:59:18 +02:00
damencho
45415ef8da fix: When host is loaded muc module maybe still be nil in rayo filter.
This can prevent outgoing calls due to error.
2023-11-30 18:09:17 -06:00
Shawn
99bba14628 fix(breakout-rooms, persistent-lobby): support for using both these modules together 2023-11-30 00:25:05 +01:00
bgrozev
8b8b2568e2 feat: Log all API commands. (#14118)
* feat: Log all API commands.
2023-11-29 14:37:48 -08:00
Hristo Terezov
ca144e127c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1729.0.0+ba526ee8...v1732.0.0+7841a38e
2023-11-28 11:59:26 -06:00
Saúl Ibarra Corretgé
965760df41 feat(ci) test debian packages build 2023-11-28 16:30:01 +01:00
bgrozev
6ab25f7bc0 Remove callstats (#14076)
* ref: Remove precall test.
* ref: Remove callstats.
* Remove the dependency on react-native-callstats.
2023-11-28 07:28:05 -08:00
Дамян Минков
701ae5b2b1 fix(debian): No svg available in root folder.
We reference the favicon from index as svg directly from the images folder.
2023-11-28 08:01:42 -06:00
Horatiu Muresan
b2d6ee06df fix(ci) Fix favicon (#14108) 2023-11-28 12:15:22 +02:00
Javier García
18f5bdeaf8 fix(lang) update spanish translation 2023-11-27 23:46:59 +01:00
Saúl Ibarra Corretgé
dd6ce33296 feat(deps,rn) update react-native-webrtc to 118 2023-11-27 13:29:23 +01:00
brlarini
5a7a6bf59c fix(lang) update Brazilian Portuguese translation 2023-11-24 22:39:15 +01:00
shane215
20d8a403f3 fix(favicon) make favicon visible in dark-themed browser
Fixes: #6182
2023-11-24 17:48:28 +01:00
Gabriel Borlea
0bce8e185d fix(devices): device type to settings key mapping for video 2023-11-24 18:06:04 +02:00
Horatiu Muresan
7f21075613 fix(media-devices) Fix configuring media devices on init (#14097)
- on 3rd party prejoin, we did not setup the initial devices, resulting in always creating tracks for default device for camera and mic regardless of settings, and for both meeting and 3rd party prejoin to not set the audio output device at all
2023-11-24 17:48:43 +02:00
Gabriel Borlea
e833860fcb fix(devices): return user selected device id if there is no device id 2023-11-24 15:32:17 +02:00
Saúl Ibarra Corretgé
376b17e011 fix(compute-pressure) disable when in an iframe
Permission delegation doesn't work for 3rd party iframes on this origin
trial, wait until Google solves it: https://bugs.chromium.org/p/chromium/issues/detail?id=1504167
2023-11-24 13:56:35 +01:00
Gabriel Borlea
87541a63d3 ref(settings): listen to TRACK_ADDED to set the input devices id (#14093)
This fixes the issue when starting the conference with video muted, after unmuting it the cameraDeviceId would stay undefined.
2023-11-24 14:16:08 +02:00
Calinteodor
109b83d6f1 fix(sdk): custom server url is overwritten by sdk default url option value (#14092)
* fix(sdk): custom server url is overwritten by sdk default url option value
2023-11-22 17:13:02 +02:00
Andrei Gavrilescu
3a1fc363ed feat(rtcstats): fetch conference creator id and send to rtcstats (#14060)
* fetch conference creator id and send to rtcstats

* fix lint

* fix lint again
2023-11-22 12:39:08 +02:00
Calin-Teodor
71658a5de6 feat(react-native-sdk): null error fix for ios 2023-11-22 12:34:13 +02:00
Calinteodor
40ac57a5d4 feat(settings): make settings screen functional component (#14084)
* feat(settings): convert component to functional component
2023-11-22 09:47:15 +02:00
Edgars Voroboks
a20bf845ea fix(lang) update Latvian translation
* Update Latvian lang. Make Meeting term consistent.

* Better express Meeting end message
2023-11-21 23:55:19 +01:00
damencho
95943b725c fix(i18n): Fixes retrieving correct countries i18n file. 2023-11-21 13:53:21 -06:00
Gabriel Borlea
0813ae0f3c fix(electron-screensharing): get the right current selected source 2023-11-21 12:13:59 -06:00
Jaya Allamsetty
a33e34c309 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1728.0.0+456e45ee...v1729.0.0+ba526ee8
2023-11-21 12:51:56 -05:00
Calin-Teodor
821cc11364 sdk(react-native-sdk/android): replaced activityContext with currentActivity 2023-11-21 17:11:32 +02:00
Calin-Teodor
caf7df4a82 chore(rn-orientation-locker, version): bump to latest 2023-11-21 17:04:19 +02:00
Thomas Egebrand Gram
bda39ef876 feat(watermark) move static styles into stylesheet file & refactor a tiny bit 2023-11-21 16:03:20 +01:00
Horatiu Muresan
9e2ed855eb feat(recording) Allow extra metadata for file recordings (#14081) 2023-11-21 12:06:14 +02:00
Edgars Voroboks
3be453e76a fix(lang) update Latvian language translation (#14075) 2023-11-21 09:03:40 +01:00
damencho
dec54692c1 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1727.0.0+bd98ecd0...v1728.0.0+456e45ee
2023-11-20 16:30:10 -05:00
Calinteodor
e77d19b128 sdk(react-native-sdk): update script for rnsdk dependencies (#14069)
* sdk(react-native-sdk): update script for rnsdk dependencies
Some of our peer dependencies use github urls that need to be taken in consideration.
2023-11-20 21:20:24 +02:00
bgrozev
a83bf98625 Whitelist config.bridgeChannel. (#13775) 2023-11-20 10:35:00 -08:00
Jaya Allamsetty
3307365885 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1724.0.0+1b38128d...v1727.0.0+bd98ecd0
2023-11-18 08:25:26 -05:00
Jaya Allamsetty
341fc774a6 fix(config): Add the new codec settings 2023-11-17 12:40:47 -05:00
maheichyk
56673f14b5 fix(context-menu) fix double click behaviour if closed with ESC
Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
Co-authored-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
2023-11-17 15:08:50 +01:00
Abbas Al-Mansoori
ab08eb2f99 refactor(rnsdk): remove redundant audio and video actions (#14066)
* refactor(rnsdk): remove redundant audio and video actions
2023-11-17 12:09:31 +02:00
Mihaela Dumitru
000458697d fix(salesforce) reduce notification duration (#14068) 2023-11-17 11:59:57 +02:00
Дамян Минков
b0c56d8963 fix: Fixes login button in profile settings. 2023-11-16 12:09:23 -06:00
Gabriel Borlea
0ecd65777e fix(screenshot-captue): get the right worker url 2023-11-16 17:44:24 +02:00
Abbas Al-Mansoori
6d02f50d09 feat(rnsdk): add audio and video muted state changed 2023-11-16 12:54:36 +02:00
Philipp Fruck
a71143891e fix(native app): Display poll creator name
In the jitsi web app, the poll creator is displayed
for all published votes whereas in the native app
the current username of the participant has been
displayed for all polls regardless of the creator
2023-11-16 11:53:36 +02:00
Jaya Allamsetty
6fda5924a3 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1723.0.0+e9af2b98...v1724.0.0+1b38128d
2023-11-15 13:03:15 -05:00
Calin-Teodor
b09574f62f feat(authentication): group config options inside an object param 2023-11-15 16:30:42 +02:00
Calin-Teodor
8cdde88049 feat(authentication): used config for control over joining audio/video mute/unmute 2023-11-15 12:42:24 +02:00
Jaya Allamsetty
9cd42b988d fix(config) Remove deprecated config option. 2023-11-14 15:29:45 -05:00
Jaya Allamsetty
8b559ad4f2 fix(config): Add the optional screenshare settings. 2023-11-14 15:29:45 -05:00
Jaya Allamsetty
192fce8740 fix(iFrame): Add 'speaker-selection' to the allow list.
This is needed for Firefox 116 and above for setSinkId to succeed.
2023-11-14 11:44:04 -05:00
Jaya Allamsetty
235016d7cf chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1722.0.0+4588cc78...v1723.0.0+e9af2b98
2023-11-14 11:25:34 -05:00
Calinteodor
27792b0be4 ref(authentication): handle joining in low bandwidth mode (#14032)
ref(authentication): handle joining in low bandwidth mode
2023-11-14 11:31:55 +02:00
Calin-Teodor
765fd7d766 ref(@react-native-): updated related deps to latest 2023-11-14 11:26:20 +02:00
Hristo Terezov
d49a5097f0 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1720.0.0+b3173832...v1722.0.0+4588cc78
2023-11-13 15:44:03 -06:00
Hristo Terezov
cfcc3fdbbe fix(FeedbackButoon): display for JaaS meetings. 2023-11-13 13:56:36 -05:00
Mihaela Dumitru
fdbceb0e42 chore(deps) update excalidraw with disabled image pasting (#14046) 2023-11-13 20:17:55 +02:00
nurjin jafar
89197cbdb2 fix(a11y) resolve contrast issues in userAvatar and in performance settings slider
Signed-off-by: nurjinn jafar <nurjin.jafar@nordeck.net>
2023-11-13 10:51:35 +01:00
Hristo Terezov
f067f07d64 fix(pr-test): For LJM 2023-11-12 22:24:29 -05:00
Hristo Terezov
4594a978e0 feat(feedback): show even if callstats is disabled 2023-11-10 09:56:03 -05:00
Calin-Teodor
fcddccf018 feat(base/ui): removed unneeded lineHeight value 2023-11-09 12:11:09 +02:00
nurjin jafar
7a9285b326 feat(a11y) make instructions in share audio accessible and provide equivilant translation 2023-11-09 10:41:43 +01:00
Gabriel Borlea
11f0ab9226 ref(screenshot-capture): move screenshot processing on a web worker (#14015)
Improvement for the screenshot capture feature by using a web worker to process the differences between the screenshots, and some code adjustments.
2023-11-09 10:01:02 +02:00
Hristo Terezov
0b6705610c chore(package.jsom): Update LJM 2023-11-08 10:26:55 -05:00
Hristo Terezov
9d9199ba3b fix(conference-hangup): Leave room in parallel.
Currently we are waiting for the user to submit feedback dialog in
order to leave the room. Now the leave and showing the dialog are
executed in parallel.
2023-11-08 09:16:58 -05:00
AHMAD KADRI
ff656a0625 ref(accessibility): add an aria-expended attribute if the the button open menu (#14023)
ref(accessibility): add an aria-expended attribute if the the button open menu
2023-11-08 15:59:05 +02:00
emrah
148fc103e3 fix(token): add jitsi_meet_context_room into the param list 2023-11-08 06:06:22 -06:00
Calinteodor
77abbee308 feat(base/modal): changed hasTabNavigator to hasExtraHeaderHeight (#14033)
* feat(base/modal): changed hasTabNavigator to hasExtraHeaderHeight
2023-11-08 11:44:10 +02:00
Calinteodor
83c4ce98b4 feat(filmstrip): fixed indicators container dissapear when not in tile view (#14031)
* feat(filmstrip): fixed indicators container dissapear when not in tile view
2023-11-07 23:33:28 +02:00
Calin-Teodor
898741e40d feat(filmstrip): fixed indicators container ui 2023-11-07 18:39:02 +02:00
Calin-Teodor
0c3e7395e7 feat(participants-pane): fixed visitors label position 2023-11-07 18:39:02 +02:00
Saúl Ibarra Corretgé
c530bdd107 feat(external_api) add event with transcription chunks 2023-11-07 13:10:00 +01:00
Horatiu Muresan
29dbcb309d fix(drawer-menu) Make drawer menu accessible on small height (#14026) 2023-11-07 13:06:03 +02:00
Calinteodor
8a4990d9ae sdk(react-native-sdk): rnsdk screenshare android fix (#13884)
sdk(react-native-sdk): rnsdk screenshare android fix
2023-11-07 12:22:02 +02:00
Дамян Минков
0e55cbbda6 Clean up prosody modules with some extra checks (#14020)
* fix: Adds check for jitsi_meet_room not being string.

Oct 20 12:22:50 mod_bosh        error   Traceback[bosh]: /usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:336: bad argument #1 to 'lower' (string expected, got userdata)
        stack traceback:
        [C]: in function 'lower'
        /usr/share/jitsi-meet/prosody-plugins/token/util.lib.lua:336: in function 'verify_room'
        ...re/jitsi-meet/prosody-plugins/mod_token_verification.lua:78: in function 'verify_user'

* fix: Adds check for missing speaker stats for occupant.

error   Traceback[c2s]: ...itsi-meet/prosody-plugins/mod_speakerstats_component.lua:124: attempt to index field '?' (a nil value)
        stack traceback:
        ...itsi-meet/prosody-plugins/mod_speakerstats_component.lua:124: in function '?'

* fix: Nil check for breakout_rooms.

c2saaaad95a16c0 error   Traceback[c2s]: ...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:345: attempt to index local 'main_room' (a nil value)
        stack traceback:
        ...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:345: in function '?'
        /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
        (...tail calls...)
        /usr/lib/prosody/modules/muc/muc.lib.lua:496: in function </usr/lib/prosody/modules/muc/muc.lib.lua:492>

* fix: Adds nil check in allowners.

c2saaaae3024810 error   Traceback[c2s]: /usr/share/jitsi-meet/prosody-plugins/mod_muc_allowners.lua:171: attempt to index local 'room' (a nil value)
        stack traceback:
        /usr/share/jitsi-meet/prosody-plugins/mod_muc_allowners.lua:171: in function '?'
        /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>

* fix: Adds nil check in lobby.

mod_bosh        error   Traceback[bosh]: ...share/jitsi-meet/prosody-plugins/mod_muc_lobby_rooms.lua:168: attempt to index local 'lobby_room' (a nil value)
        stack traceback:
        ...share/jitsi-meet/prosody-plugins/mod_muc_lobby_rooms.lua:168: in function '?'
        /usr/share/lua/5.2/prosody/util/filters.lua:25: in function 'filter'
        /usr/lib/prosody/modules/mod_bosh.lua:361: in function 'send'
        /usr/lib/prosody/modules/muc/mod_muc.lua:495: in function '?'

* fix: Fixes nil error in fmuc.

s2sinaaaaf2817260       error   Traceback[s2s]: /usr/share/jitsi-meet/prosody-plugins/mod_fmuc.lua:295: attempt to index local 'occupant' (a nil value)
        stack traceback:
        /usr/share/jitsi-meet/prosody-plugins/mod_fmuc.lua:295: in function '?'
        /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
        (...tail calls...)
        /usr/lib/prosody/modules/muc/muc.lib.lua:1201: in function </usr/lib/prosody/modules/muc/muc.lib.lua:1194>

* fix: Fixes nil occupant.

c2s55f4d5411dd0 error   Traceback[c2s]: /usr/share/jitsi-meet/prosody-plugins/mod_muc_flip.lua:120: attempt to index local 'kicked_occupant' (a nil value)
        stack traceback:
        /usr/share/jitsi-meet/prosody-plugins/mod_muc_flip.lua:120: in function '?'
        /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
        (...tail calls...)
        /usr/lib/prosody/modules/muc/muc.lib.lua:791: in function </usr/lib/prosody/modules/muc/muc.lib.lua:616>

* fix: Fixes caching main room.

Objects should not be set in room._data as this field is being serialized and we see errors like.

error   Traceback[c2s]: /usr/share/lua/5.2/prosody/util/serialization.lua:34: Can't serialize userdata
        stack traceback:
        [C]: in function 'error'
        /usr/share/lua/5.2/prosody/util/serialization.lua:34: in function </usr/share/lua/5.2/prosody/util/serialization.lua:33>
        (...tail calls...)
        /usr/share/lua/5.2/prosody/util/serialization.lua:199: in function 'serialize_table'
        /usr/share/lua/5.2/prosody/util/serialization.lua:197: in function 'serialize_table'
        /usr/share/lua/5.2/prosody/util/serialization.lua:197: in function 'serialize_table'
        /usr/share/lua/5.2/prosody/util/serialization.lua:219: in function </usr/share/lua/5.2/prosody/util/serialization.lua:217>
        (...tail calls...)
        /usr/lib/prosody/modules/mod_storage_memory.lua:42: in function </usr/lib/prosody/modules/mod_storage_memory.lua:40>
        (...tail calls...)
        ...re/jitsi-meet/prosody-plugins/mod_muc_breakout_rooms.lua:207: in function 'create_breakout_room'

* fix: Fixes calling save_occupant after changing its role.

* squash: Fixed passed value to type.
2023-11-06 15:31:59 -06:00
damencho
6da94aecf2 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1718.0.0+30be4f6f...v1719.0.0+f8a18cf0
2023-11-06 09:40:48 -06:00
Calinteodor
2a3c962e88 feat(recent-list): fix undefined error that breaks visitor joining (#14024)
* feat(recent-list): fix undefined error that breaks visitor joining

* feat(recent-list): revert variable name change

* feat(recent-list): fixed linter
2023-11-06 09:40:28 -06:00
AHMAD KADRI
34f1eb60f4 Accessibility: add validation warning on room name (#14009)
feat(accessibility): add validation warning on room name
2023-11-06 10:59:51 +02:00
Jaya Allamsetty
4115ebe856 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1717.0.0+7b6ce949...v1718.0.0+30be4f6f
2023-11-02 15:36:11 -04:00
Horatiu Muresan
d7dadfc157 feat(facing-mode) add config for initial camera facing mode (#14013) 2023-11-02 16:20:38 +02:00
Erin Yuki Schlarb
2851eeeab3 fix: Make room_metadata Prosody module depend on the required jitsi_session module
Without this room_metadata will silently discard all room metadata client requests assuming that they didn’t come from Jitsi meet clients.

Fixes #14001
2023-11-01 17:06:26 -05:00
Muhammed Ajmal M
84d75f2ae8 fix(screen-sharing) Self view of SC sized correctly initially (#13992) 2023-11-01 18:32:34 +02:00
damencho
73b3309adf feat: Adds leave rate limit to muc_rate_limit. 2023-10-31 15:59:23 -05:00
Jaya Allamsetty
e2de06f60d chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1716.0.0+93c167d3...v1717.0.0+7b6ce949
2023-10-31 14:35:31 -04:00
damencho
cdc7962d11 feat: Adds region parameter to dial out authorize requests. 2023-10-31 11:45:06 -05:00
Saúl Ibarra Corretgé
59242e1217 feat(external-api) introduce a "ready" event
It's fired when the API is ready, and it signals the embedder that they
can reveal the meeting from behind an overlay, for example.

The astute reader might notice we are currently sending a
'browser-support' event roughly at the same time. The reason for this
new event is plain simply semantics.

In addition the 'onload' handler is faked by calling it when the new
ready event fires. The original onload event is unreliable. It will be
called even when nothing was ever loaded (try loading a page without
internet and be amused).
2023-10-31 16:27:12 +01:00
Saúl Ibarra Corretgé
631e39d4fd feat(external-api) allow vh and vw values as parameters 2023-10-31 16:27:12 +01:00
Julian LADJANI
4290cdf53d fix(breakout-rooms, feature-flags): handle breakout button feature flag on participant pane footer component (#14003)
* fix(breakout-rooms, feature-flags): handle breakout button feature flag on participant pane footer component
2023-10-31 13:53:41 +02:00
damencho
84c1e20216 fix(moderated): Fixes moderators in moderated rooms without tenant. 2023-10-30 17:26:42 -05:00
Saúl Ibarra Corretgé
e6caeb86b0 chore(deps,rn) react-native-webrtc@111.0.6 2023-10-30 15:46:14 +01:00
Saúl Ibarra Corretgé
5854e38a09 fix(rn) allow default server URL to be set from native
On Android we support RestrictionManager, but that already sets it, so
make sure we always save it on the settings.

Editing will be restricted in the Settings dialog if changing it is
restricted anyway.

Fixes: https://github.com/jitsi/jitsi-meet/issues/13994
2023-10-30 15:12:05 +01:00
Saúl Ibarra Corretgé
3e9ee9451f fix(android) fix crash on Android 14
Fixes: https://github.com/jitsi/jitsi-meet/issues/13998
2023-10-30 15:11:19 +01:00
Calinteodor
29d02f0a2b feat(chat/native): fixed keyboard overlapping chat input bar (#13984)
* feat(chat/native): fixed keyboard overlapping chat input bar
2023-10-30 12:59:05 +02:00
David Hall
c780f9bbba Update main-sv.json
Fix typos.
2023-10-29 20:53:01 +01:00
Jaya Allamsetty
d5a0bac0a3 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1713.0.0+a1d7b0ea...v1716.0.0+93c167d3
2023-10-28 14:45:24 -04:00
5idereal
f0187cc0f8 lang: update zhTW translation (#13986)
* update zhTW translation

* Update main.json
2023-10-26 10:47:22 -05:00
damencho
4708d894cc fix: Adds a nil check in visitors module.
Sep 22 22:06:01 mod_bosh        error   Traceback[bosh]: /usr/share/jitsi-meet/prosody-plugins/mod_visitors.lua:305: attempt to index field '?' (a nil value)
        stack traceback:
        /usr/share/jitsi-meet/prosody-plugins/mod_visitors.lua:305: in function '?'
        /usr/share/lua/5.2/prosody/util/events.lua:81: in function </usr/share/lua/5.2/prosody/util/events.lua:77>
2023-10-26 09:38:23 -05:00
damencho
f38d120406 fix(visitors): Bumps queue size for waiting for jicofo.
500 is the maximum meeting participants we test and support.
2023-10-24 18:27:16 -05:00
damencho
53960baf76 fix(visitors): Fixes filtering initial msgs to main participants.
Filters initial msg for <subject/>.
2023-10-24 18:27:16 -05:00
Jaya Allamsetty
a0f061aa6f chore(deps): Update lib-jitsi-meet. 2023-10-23 17:42:32 -04:00
Jaya Allamsetty
f2fb525d0a ref(config) Drop forceJVB121Ratio from config.js 2023-10-23 17:42:32 -04:00
Jaya Allamsetty
5a59bee597 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1711.0.0+8ec3b736...v1712.0.0+540aed1e
2023-10-23 16:10:10 -04:00
Дамян Минков
07b903d887 feat(visitors): Adds an option to request to be visitor based on jwt. (#13977)
* feat(visitors): Adds an option to request to be visitor based on jwt.

* squash: Updates ljm.
2023-10-23 12:07:03 -05:00
Mihaela Dumitru
1a39315001 feat(whiteboard) expose the excalidraw api (#13974) 2023-10-23 09:22:42 +03:00
Gabriel Borlea
97e5f00dae fix(electron-screensharing): simplify the proccess (#13967)
* fix(electron-screensharing): simplify the proccess
2023-10-20 19:55:06 +03:00
Дамян Минков
bae77f21f8 feat: Adds event for parsed jwt and check for required token.context (#13973)
* squash: Remove tabs.

* feat: Adds a check for context required in jwt.

* feat: Adds an event to notify for parsed jwt.
2023-10-20 08:50:38 -05:00
José Luís Andrade
24d788f333 Update Portuguese translation 2023-10-20 06:50:20 -05:00
damencho
c4d553c605 feat: Filter iq rayo respects the actor of grant moderation. 2023-10-18 14:00:21 -05:00
Mehmet
fa64e2e67c fix(visitors): informs visitor nodes when a participant is kicked. (#13951)
* fix(visitors): informs visitor nodes when a participant is kicked.

* remove hooking muc-broadcast-presence event and create a stanza in muc-occupant-left event.
2023-10-17 07:54:02 -05:00
Damien Fetis
94c29180e4 fix(whiteboard) fix room id generation
Fixes: https://github.com/jitsi/jitsi-meet/issues/13921
2023-10-17 11:09:34 +02:00
dependabot[bot]
b864d91572 chore(deps): bump @babel/traverse in /react-native-sdk
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.15 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 17:57:49 +02:00
Saúl Ibarra Corretgé
2006182a2a fix(deps) run npm audit fix 2023-10-16 17:57:25 +02:00
Saúl Ibarra Corretgé
8fc3de416c feat(config) add ability to prefer BOSH over WebSocket
There might be cases where we'd want to enforce it.
2023-10-16 17:56:34 +02:00
Jaya Allamsetty
4c5787511e chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1698.0.0+03cb3ce8...v1704.0.0+d3efd197
2023-10-16 11:12:19 -04:00
Duduman Bogdan Vlad
8a2e4bc628 feat(screenshare) - add web security fix for electron (#13096)
use send the share screen sources using the external api

---------

Co-authored-by: Gabriel Borlea <gabriel.borlea@8x8.com>
2023-10-16 14:59:55 +03:00
Calinteodor
f78ebbb9a9 feat(settings/native/android): Fixed scroll inside conference settings screen (#13956)
* feat(settings/native/android): fixed scroll inside conference settings screen.
2023-10-16 14:10:52 +03:00
Calin-Teodor
4cc4c25691 feat(prejoin/native): fix display name input on prejoin 2023-10-16 13:13:30 +03:00
Avram Tudor
d02c7dc3a7 i18n: change iframe disabled message based on current hostname (#13950)
* i18n: change iframe disabled message based on current hostname

This will allow us to remove translation overrides from branded repo

* fix linter
2023-10-13 15:05:24 +03:00
Mihaela Dumitru
8741ee771e fix(language/config) deprecate defaultLanguage (#13949) 2023-10-13 14:06:59 +03:00
Mihaela Dumitru
006e8463cd feat(whiteboard) add user limit (#13870) 2023-10-13 13:41:31 +03:00
Saúl Ibarra Corretgé
86e295e9bc fix(conference) clear raised hands when conference changes
Fixes: https://github.com/jitsi/jitsi-meet-sdk-samples/issues/175
2023-10-12 15:03:59 +02:00
keremoge
07bade2557 feat(deps,rn) update React Native to version 0.69.12 2023-10-12 13:18:40 +03:00
Hristo Terezov
0becc890d8 feat(track-state): Log on add/remove/mute/owner. 2023-10-11 16:39:06 -05:00
Hristo Terezov
a1ce6f1ce5 fed(UI): remove UI.setAudioMuted 2023-10-11 16:39:06 -05:00
otbutz
43a7d00c63 web: enable http2 support 2023-10-11 18:22:12 +02:00
Calinteodor
9c04ba767c feat(breakout-rooms/native): separate breakout rooms from participants (#13920)
feat(breakout-rooms/native): separate breakout rooms from participants
2023-10-11 17:34:49 +03:00
Calinteodor
7e1d10fb4d sdk(react-native-sdk): update readme 2023-10-10 12:03:43 +02:00
Saúl Ibarra Corretgé
4ce2280e31 fix(rnsdk,build) run npm install after syncing deps 2023-10-09 15:21:32 +02:00
Saúl Ibarra Corretgé
2918a89d35 fix(rnsdk,build) don't commit the result after bumping version
Just like the other version bumping scripts
2023-10-09 15:21:32 +02:00
malik tekin
8f1c83edfd fix(lang) update Turkish translation
The Turkish translation of the "adjust for" is "ayarla". It was misspelled as "ayala".
2023-10-09 11:01:24 +02:00
eemehmet
106452d857 fix(visitors): Fixes duplicated messages sent from guest domain. 2023-10-06 10:33:23 -05:00
Horatiu Muresan
a4d3fb6c70 fix(notifications) Fix case when description is react component instance (#13919) 2023-10-06 15:20:56 +03:00
Saúl Ibarra Corretgé
a7af01b9e3 fix(screen-sharing) remove stop screen sharing icon 2023-10-06 10:31:47 +02:00
emrah
f7f434ab55 fix(config): add missing notification keys into the list 2023-10-06 10:31:23 +02:00
Esra Hatice YILMAZ
09c0854779 fix(breakout-rooms) fix race condition in timer handling 2023-10-05 22:56:53 +02:00
Horatiu Muresan
b4d12d74f7 fix(aot) remove dependency to store (#13910) 2023-10-05 13:05:15 +03:00
Gabriel Borlea
50b064907a fix(environment): optimal browsers list 2023-10-05 11:14:50 +03:00
dependabot[bot]
b9d6a0f269 chore(deps): bump postcss and css-loader
Bumps [postcss](https://github.com/postcss/postcss) to 8.4.31 and updates ancestor dependency [css-loader](https://github.com/webpack-contrib/css-loader). These dependencies need to be updated together.


Updates `postcss` from 7.0.39 to 8.4.31
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/7.0.39...8.4.31)

Updates `css-loader` from 3.6.0 to 6.8.1
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v3.6.0...v6.8.1)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
- dependency-name: css-loader
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-05 10:04:58 +02:00
Calinteodor
2414e57260 feat(shared-video/native): use local logger (#13886)
* feat(shared-video/native): use local logger
2023-10-04 13:13:54 +03:00
Horatiu Muresan
6c41ddb622 fix(aot) fix icons creating deps to store (#13901) 2023-10-03 17:31:04 +03:00
damencho
55e75d56fd fix: Fixes skipping the lobby for two times in a row for jibri.
An issue where a livestreaming is started for a second time in a meeting with lobby turned on.
2023-10-02 11:22:27 -05:00
Calinteodor
32ac299422 feat(authentication/native): hide login button for 8x8.vc (#13881)
* feat(authentication): hide login button for 8x8.vc
2023-10-02 18:03:57 +03:00
Christoph Settgast
cb7146f954 lang: update German translation 2023-09-29 12:28:22 -05:00
damencho
144c1ce4f4 fix: Fixes passing the hash params in state for token auth URL. 2023-09-29 12:11:52 -05:00
Gabriel Borlea
2102d6eda1 chore(deps): update js-utils to 2.2.1 2023-09-29 18:45:36 +03:00
damencho
1f8e3fe26f fix: Fixes wait for host to respect moderated tenants.
The correct place to check for tenant value is jitsi_meet_domain and not jitsi_meet_context_group.
2023-09-29 09:54:02 -05:00
Andrei Gavrilescu
8b0285a9d7 chore(deps) lib-jitsi-meet@latest (#13891)
https://github.com/jitsi/lib-jitsi-meet/compare/v1695.0.0+51c2187b...v1698.0.0+03cb3ce8
2023-09-29 17:02:31 +03:00
Mihaela Dumitru
b546d01c2d fix(prejoin) improve display name handling relative to configs (#13865) 2023-09-29 16:17:35 +03:00
Saúl Ibarra Corretgé
7bf3e7df1d fix(rn,polyfills) remove no longer needed polyfill
Fixes: https://github.com/jitsi/jitsi-meet/issues/13807
2023-09-28 12:23:09 +02:00
damencho
f9ac965e18 feat: Updates for jwt when room claim is not required.
This allows mod_token_verification to be used with token missing room claim (firebase) and jitsi tokens with the claim.
2023-09-27 19:29:16 -05:00
Gabriel Borlea
d70412166c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1694.0.0+a0145343...v1695.0.0+51c2187b
2023-09-27 16:20:19 +03:00
Дамян Минков
a843406cb0 feat: Check jwt expiration and redirects to auth url if any. (#13879)
* feat: Check jwt expiration and redirects to auth url if any.

It may happen that the jwt had expired while being in the meeting and there is a network issue requiring to reload.

* squash: Fixes lint error.

* squash: Fixes comments.
2023-09-27 07:40:07 -05:00
AHMAD KADRI
58115477a2 Improve accessibility in breakout rooms list (#13669)
Improve accessibility in breakout rooms list
2023-09-27 12:13:03 +03:00
Hristo Terezov
e1dc573c3c fix(GUM):set deviceId only when the device exists 2023-09-26 12:53:08 -05:00
Hristo Terezov
c025102511 feat(devices): Filter MS Teams Audio device 2023-09-26 12:53:08 -05:00
Gabriel Borlea
54d052de73 chore: update js-utils with new ua-parser (#13877)
* chore: update js-utils with new ua-parser

* chore(deps) lib-jitsi-meet@latest
2023-09-26 19:31:26 +03:00
Javier García
7e633f0136 fix: Also check single quote on jitsi-meet-tokens install (#13869)
Fixes #13768.
2023-09-26 11:25:38 -05:00
Gabriel Borlea
4b4bc1c823 chore(deps) lib-jitsi-meet@latest (#13871)
https://github.com/jitsi/lib-jitsi-meet/compare/v1691.0.0+255d8f49...v1693.0.0+c3a086f8
2023-09-25 18:21:58 +03:00
Saúl Ibarra Corretgé
767e23f34c fix(android,deps) update GMS native dependencies
Should fix this error:

~~~
Fatal Exception: java.lang.IllegalArgumentException: org.jitsi.meet: Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
       at android.app.PendingIntent.checkFlags(PendingIntent.java:402)
       at android.app.PendingIntent.getActivityAsUser(PendingIntent.java:485)
       at android.app.PendingIntent.getActivity(PendingIntent.java:471)
       at android.app.PendingIntent.getActivity(PendingIntent.java:435)
       at com.google.android.gms.common.GoogleApiAvailabilityLight.getErrorResolutionPendingIntent(com.google.android.gms:play-services-basement@@17.5.0:25)
       at com.google.android.gms.common.GoogleApiAvailabilityLight.getErrorResolutionPendingIntent(com.google.android.gms:play-services-basement@@17.5.0:21)
       at com.google.android.gms.common.GoogleApiAvailability.getErrorResolutionPendingIntent(com.google.android.gms:play-services-base@@17.5.0:170)
       at com.google.android.gms.common.GoogleApiAvailability.getErrorResolutionPendingIntent(com.google.android.gms:play-services-base@@17.5.0:173)
       at com.google.android.gms.common.GoogleApiAvailability.zaa(com.google.android.gms:play-services-base@@17.5.0:112)
       at com.google.android.gms.common.api.internal.GoogleApiManager.zaa(com.google.android.gms:play-services-base@@17.5.0:252)
       at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zaa(com.google.android.gms:play-services-base@@17.5.0:109)
       at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.onConnectionFailed(com.google.android.gms:play-services-base@@17.5.0:75)
       at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zai(com.google.android.gms:play-services-base@@17.5.0:263)
       at com.google.android.gms.common.api.internal.GoogleApiManager$zaa.zaa(com.google.android.gms:play-services-base@@17.5.0:133)
       at com.google.android.gms.common.api.internal.GoogleApiManager.handleMessage(com.google.android.gms:play-services-base@@17.5.0:164)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loopOnce(Looper.java:240)
       at android.os.Looper.loop(Looper.java:351)
       at android.os.HandlerThread.run(HandlerThread.java:67)
~~~
2023-09-25 16:46:42 +02:00
Saúl Ibarra Corretgé
b003d28cc5 fix(ios) remove duplicate dependency
We get JitsiWebRTC transitively through the react-native-webrtc Pod now.
2023-09-25 16:44:08 +02:00
Saúl Ibarra Corretgé
91c8e9bd86 chore(deps,rnsdk) add missing dependency 2023-09-25 17:11:21 +03:00
Saúl Ibarra Corretgé
1f52c0b49f chore(deps,rnsdk) sync dependencies 2023-09-25 17:11:21 +03:00
Calin-Teodor
16fd4d4411 sdk(react-native-sdk): update script to check if dep versions are valid 2023-09-25 14:03:04 +03:00
Saúl Ibarra Corretgé
b8a669ad21 feat(android) disable ConnectionService by default
Our app has had it disabled for quite a while, it makes sense the SDKs
do that too.

Fixes: https://github.com/jitsi/jitsi-meet/issues/13800
2023-09-23 22:01:28 +02:00
damencho
f0cb33a627 fix: Fixes missing import in wait for host module. 2023-09-21 14:45:12 -05:00
damencho
b5b7019325 fix: Adds check for missing main_room. 2023-09-21 12:17:53 -05:00
damencho
7ccd68eb18 feat: Introduces passing state to the token authUrl.
Fixes jitsi/jitsi-meet-electron#902.
2023-09-21 12:17:53 -05:00
damencho
44b0ac57eb feat: Updates base64-js dependency. 2023-09-21 12:17:53 -05:00
damencho
a411b7c969 fix: Fixes check for health check room. 2023-09-21 12:17:53 -05:00
damencho
fc8ce532f6 feat: Hides any error from the UI for the DialIn info app.
If the conference mapper return an error we show it on deeplinking page. In case the conf mapper receives non authenticated request it may return an error and this is normal so hide it from that page.
2023-09-21 12:17:53 -05:00
damencho
ef56b3c5b6 feat: Adds an event for host arrived. 2023-09-21 12:17:53 -05:00
Saúl Ibarra Corretgé
37e13804a5 fix(ios) fix compilation with Xcode 14.3
Fixes: https://github.com/jitsi/jitsi-meet/issues/13274
2023-09-21 19:17:15 +02:00
Saúl Ibarra Corretgé
8b209b3c6e fix(external-api) add policy to support the Compute Pressure API
https://w3c.github.io/compute-pressure/#policy-control
2023-09-21 17:15:36 +02:00
Mihaela Dumitru
cb26042d08 fix(virtual-background) display current settings (#13857) 2023-09-21 15:45:17 +03:00
Javier
2952d1cde8 Fix disable virtual background feature, now hides the feature everywhere 2023-09-20 09:05:10 -05:00
Licaon_Kter
8a7f456560 feat(android) add Fastlane metadata
Fix https://github.com/jitsi/jitsi-meet/issues/11786
2023-09-20 11:46:56 +02:00
Thomas Egebrand Gram
f74b6cd82f fix (mobile-layout) change "vh" to "dvh" for all layouts (#13840)
* Convert all vh units to dvh; fixing layout for mobile browsers such as Chrome for Android.
2023-09-20 12:19:54 +03:00
Calinteodor
d04515c35a feat(prejoin/native): fixed screen header hooks warning (#13845)
* feat(prejoin/native): fixed screen header hooks warning
2023-09-20 11:40:28 +03:00
Jaya Allamsetty
2aca0ce110 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1689.0.0+0d5c73d1...v1691.0.0+255d8f49
2023-09-19 18:24:02 -04:00
Calinteodor
d0e49b27a1 feat(app/native): rework appNavigate so callkit video button does not end the call (#13814)
* feat(app/native): rework appNavigate so callkit video button does not end the call
2023-09-19 20:47:29 +03:00
Jaya Allamsetty
d97c365aed chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1687.0.0+cafe30d7...v1689.0.0+0d5c73d1
2023-09-19 12:54:18 -04:00
damencho
8304e77a04 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1686.0.0+1b5830f1...v1687.0.0+cafe30d7
2023-09-14 16:02:29 +02:00
Saúl Ibarra Corretgé
b1db315582 fix(authentication) fix moderator logout 2023-09-14 13:44:08 +02:00
Shawn
4e785dd982 fix(config): missing colon in example for lobby config 2023-09-14 12:19:35 +02:00
damencho
40f5afcf43 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1685.0.0+02c54a23...v1686.0.0+1b5830f1
2023-09-13 16:27:06 -05:00
Saúl Ibarra Corretgé
de2688bb33 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1683.0.0+fc7775bc...v1685.0.0+02c54a23
2023-09-13 00:10:08 +02:00
Saúl Ibarra Corretgé
76db09303b fix(rn,conference) avoid starting to knock twice
The auto-knock process is started by the lobby middleware.
2023-09-12 23:20:41 +02:00
José Luís Andrade
ea4e20f9a7 lang: Update Portuguese translation (#13818) 2023-09-11 10:34:03 -05:00
rca
01a74856a3 Fix missing closing tag for identity node in presence stanza 2023-09-11 10:03:09 -05:00
Mihaela Dumitru
36045100bf feat(branding) add support for custom icons 2023-09-11 09:11:06 +02:00
Hristo Terezov
cc344cb548 chore(LJM): Update 2023-09-08 16:01:28 -05:00
Hristo Terezov
a2624952a0 feat(iframe-api): replace ice servers 2023-09-08 16:01:28 -05:00
Calinteodor
b8259e00dc sdk(react-native-sdk): created script that compares dep with peerDep versions (#13789)
sdk(react-native-sdk): created script that compares app dep with RNSDK peerDep versions
2023-09-08 20:26:25 +03:00
Horatiu Muresan
463c823d3b fix(toolbar-buttons) Show tileview in toolbar when separate reactions button (#13810) 2023-09-08 14:44:32 +03:00
Shawn
5a6f3ead5a feat(external-api) Add functions to query supported commands/events 2023-09-08 09:31:23 +02:00
482 changed files with 18732 additions and 11913 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,4 +73,25 @@ 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
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 16
cache: 'npm'
- run: npm install
- run: make
- run: sudo apt-get install -y debhelper
- run: dpkg-buildpackage -A -rfakeroot -us -uc -d
- run: make source-package

4
.gitignore vendored
View File

@@ -99,6 +99,10 @@ tsconfig.json
#
react-native-sdk/*.tgz
react-native-sdk/android/src
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.java
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetReactNativePackage.java
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JMOngoingConferenceModule.java
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/RNOngoingNotification.java
react-native-sdk/images
react-native-sdk/ios
react-native-sdk/lang

View File

@@ -55,6 +55,8 @@ deploy-appbundle:
$(BUILD_DIR)/face-landmarks-worker.min.js.map \
$(BUILD_DIR)/noise-suppressor-worklet.min.js \
$(BUILD_DIR)/noise-suppressor-worklet.min.js.map \
$(BUILD_DIR)/screenshot-capture-worker.min.js \
$(BUILD_DIR)/screenshot-capture-worker.min.js.map \
$(DEPLOY_DIR)
cp \
$(BUILD_DIR)/close3.min.js \
@@ -123,7 +125,7 @@ dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-mode
source-package:
mkdir -p source_package/jitsi-meet/css && \
cp -r *.js *.html resources/*.txt favicon.ico fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp -r *.js *.html resources/*.txt fonts images libs static sounds LICENSE lang source_package/jitsi-meet && \
cp css/all.css source_package/jitsi-meet/css && \
(cd source_package ; tar cjf ../jitsi-meet.tar.bz2 jitsi-meet) && \
rm -rf source_package

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,24 +74,24 @@ 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
implementation 'com.google.android.gms:play-services-auth:19.2.0'
implementation 'com.google.android.gms:play-services-auth:20.5.0'
// Firebase
// - Crashlytics
// - Dynamic Links
implementation 'com.google.firebase:firebase-analytics:17.5.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.1'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.0'
implementation 'com.google.firebase:firebase-analytics:21.3.0'
implementation 'com.google.firebase:firebase-crashlytics:18.4.3'
implementation 'com.google.firebase:firebase-dynamic-links:21.1.0'
}
implementation project(':sdk')

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

@@ -152,7 +152,6 @@ public class MainActivity extends JitsiMeetActivity {
= new JitsiMeetConferenceOptions.Builder()
.setServerURL(buildURL(defaultURL))
.setFeatureFlag("welcomepage.enabled", true)
.setFeatureFlag("call-integration.enabled", false)
.setFeatureFlag("resolution", 360)
.setFeatureFlag("server-url-change.enabled", !configurationByRestrictions)
.build();

View File

@@ -1,11 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Server URL configuration -->
<restriction
android:defaultValue="https://meet.jit.si"
android:description="@string/restriction_server_url_description"
android:key="SERVER_URL"
android:restrictionType="string"
android:title="@string/restriction_server_url_title"/>
</restrictions>
<?xml version="1.0" encoding="utf-8"?>
<restrictions xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Server URL configuration -->
<restriction
android:description="@string/restriction_server_url_description"
android:key="SERVER_URL"
android:restrictionType="string"
android:title="@string/restriction_server_url_title"/>
</restrictions>

View File

@@ -10,18 +10,18 @@ buildscript {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.1'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2'
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'
}
}
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

@@ -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'

6
app.js
View File

@@ -31,12 +31,6 @@ if (window.Olm) {
window.APP = {
API,
conference,
// Used for automated performance tests.
connectionTimes: {
'index.loaded': window.indexLoadedTime
},
translation,
UI
};

View File

@@ -65,7 +65,11 @@ import {
updateDeviceList
} from './react/features/base/devices/actions.web';
import {
areDevicesDifferent,
filterIgnoredDevices,
flattenAvailableDevices,
getDefaultDeviceId,
logDevices,
setAudioOutputDeviceId
} from './react/features/base/devices/functions.web';
import {
@@ -150,7 +154,7 @@ import {
import { isModerationNotificationDisplayed } from './react/features/notifications/functions';
import { mediaPermissionPromptVisibilityChanged } from './react/features/overlay/actions';
import { suspendDetected } from './react/features/power-monitor/actions';
import { initPrejoin, makePrecallTest } from './react/features/prejoin/actions';
import { initPrejoin } from './react/features/prejoin/actions';
import { isPrejoinPageVisible } from './react/features/prejoin/functions';
import { disableReceiver, stopReceiver } from './react/features/remote-control/actions';
import { setScreenAudioShareState } from './react/features/screen-share/actions.web';
@@ -632,7 +636,7 @@ export default {
// so that the user can try unmute later on and add audio/video
// to the conference
if (!tracks.find(t => t.isAudioTrack())) {
this.setAudioMuteStatus(true);
this.updateAudioIconEnabled();
}
if (!tracks.find(t => t.isVideoTrack())) {
@@ -714,8 +718,6 @@ export default {
};
if (isPrejoinPageVisible(state)) {
APP.store.dispatch(makePrecallTest(this._getConferenceOptions()));
const { tryCreateLocalTracks, errors } = this.createInitialLocalTracks(initialOptions);
const localTracks = await tryCreateLocalTracks;
@@ -841,7 +843,7 @@ export default {
// This will only modify base/media.audio.muted which is then synced
// up with the track at the end of local tracks initialization.
muteLocalAudio(mute);
this.setAudioMuteStatus(mute);
this.updateAudioIconEnabled();
return;
} else if (this.isLocalAudioMuted() === mute) {
@@ -1035,17 +1037,6 @@ export default {
.filter(p => !p.isHidden() || !(config.iAmRecorder && p.isHiddenFromRecorder())).length + 1;
},
/**
* Returns true if the callstats integration is enabled, otherwise returns
* false.
*
* @returns true if the callstats integration is enabled, otherwise returns
* false.
*/
isCallstatsEnabled() {
return room && room.isCallstatsEnabled();
},
/**
* Get speaker stats that track total dominant speaker time.
*
@@ -1057,13 +1048,6 @@ export default {
return room.getSpeakerStats();
},
/**
* Returns the connection times stored in the library.
*/
getConnectionTimes() {
return room.getConnectionTimes();
},
// used by torture currently
isJoined() {
return room && room.isJoined();
@@ -1390,7 +1374,7 @@ export default {
APP.store.dispatch(
replaceLocalTrack(oldTrack, newTrack, room))
.then(() => {
this.setAudioMuteStatus(this.isLocalAudioMuted());
this.updateAudioIconEnabled();
})
.then(resolve)
.catch(reject)
@@ -2045,10 +2029,6 @@ export default {
return this.useVideoStream(stream);
})
.then(() => {
logger.info(`Switched local video device to ${cameraDeviceId}.`);
this._updateVideoDeviceId();
})
.catch(error => {
logger.error(`Failed to switch to selected camera:${cameraDeviceId}, error:${error}`);
@@ -2103,8 +2083,6 @@ export default {
// above mentioned chrome bug.
localAudio._realDeviceId = localAudio.deviceId = 'default';
}
logger.info(`switched local audio input device to: ${selectedDeviceId}`);
this._updateAudioDeviceId();
})
.catch(err => {
logger.error(`Failed to switch to selected audio input device ${selectedDeviceId}, error=${err}`);
@@ -2189,13 +2167,6 @@ export default {
return dispatch(getAvailableDevices())
.then(devices => {
// Ugly way to synchronize real device IDs with local
// storage and settings menu. This is a workaround until
// getConstraints() method will be implemented in browsers.
this._updateAudioDeviceId();
this._updateVideoDeviceId();
APP.UI.onAvailableDevicesChanged(devices);
});
}
@@ -2203,36 +2174,6 @@ export default {
return Promise.resolve();
},
/**
* Updates the settings for the currently used video device, extracting
* the device id from the used track.
* @private
*/
_updateVideoDeviceId() {
const localVideo = getLocalJitsiVideoTrack(APP.store.getState());
if (localVideo && localVideo.videoType === 'camera') {
APP.store.dispatch(updateSettings({
cameraDeviceId: localVideo.getDeviceId()
}));
}
},
/**
* Updates the settings for the currently used audio device, extracting
* the device id from the used track.
* @private
*/
_updateAudioDeviceId() {
const localAudio = getLocalJitsiAudioTrack(APP.store.getState());
if (localAudio) {
APP.store.dispatch(updateSettings({
micDeviceId: localAudio.getDeviceId()
}));
}
},
/**
* Event listener for JitsiMediaDevicesEvents.DEVICE_LIST_CHANGED to
* handle change of available media devices.
@@ -2241,19 +2182,28 @@ export default {
* @returns {Promise}
*/
async _onDeviceListChanged(devices) {
const oldDevices = APP.store.getState()['features/base/devices'].availableDevices;
const localAudio = getLocalJitsiAudioTrack(APP.store.getState());
const localVideo = getLocalJitsiVideoTrack(APP.store.getState());
const state = APP.store.getState();
const { filteredDevices, ignoredDevices } = filterIgnoredDevices(devices);
const oldDevices = state['features/base/devices'].availableDevices;
APP.store.dispatch(updateDeviceList(devices));
if (!areDevicesDifferent(flattenAvailableDevices(oldDevices), filteredDevices)) {
return Promise.resolve();
}
logDevices(ignoredDevices, 'Ignored devices on device list changed:');
const localAudio = getLocalJitsiAudioTrack(state);
const localVideo = getLocalJitsiVideoTrack(state);
APP.store.dispatch(updateDeviceList(filteredDevices));
// Firefox users can choose their preferred device in the gUM prompt. In that case
// we should respect that and not attempt to switch to the preferred device from
// our settings.
const newLabelsOnly = mediaDeviceHelper.newDeviceListAddedLabelsOnly(oldDevices, devices);
const newLabelsOnly = mediaDeviceHelper.newDeviceListAddedLabelsOnly(oldDevices, filteredDevices);
const newDevices
= mediaDeviceHelper.getNewMediaDevicesAfterDeviceListChanged(
devices,
filteredDevices,
localVideo,
localAudio,
newLabelsOnly);
@@ -2372,21 +2322,17 @@ export default {
this.useAudioStream(track)
.then(() => {
hasDefaultMicChanged && (track._realDeviceId = track.deviceId = 'default');
this._updateAudioDeviceId();
}));
} else {
promises.push(
this.useVideoStream(track)
.then(() => {
this._updateVideoDeviceId();
}));
this.useVideoStream(track));
}
}
}
return Promise.all(promises)
.then(() => {
APP.UI.onAvailableDevicesChanged(devices);
APP.UI.onAvailableDevicesChanged(filteredDevices);
});
},
@@ -2432,7 +2378,7 @@ export default {
* @param {string} [hangupReason] the reason for leaving the meeting
* requested
*/
async hangup(requestFeedback = false, hangupReason) {
hangup(requestFeedback = false, hangupReason) {
APP.store.dispatch(disableReceiver());
this._stopProxyConnection();
@@ -2449,33 +2395,42 @@ export default {
APP.UI.removeAllListeners();
let feedbackResult = {};
let feedbackResultPromise = Promise.resolve({});
if (requestFeedback) {
try {
feedbackResult = await APP.store.dispatch(maybeOpenFeedbackDialog(room, hangupReason));
} catch (err) { // eslint-disable-line no-empty
const feedbackDialogClosed = (feedbackResult = {}) => {
if (!feedbackResult.wasDialogShown && hangupReason) {
return APP.store.dispatch(
openLeaveReasonDialog(hangupReason)).then(() => feedbackResult);
}
return Promise.resolve(feedbackResult);
};
feedbackResultPromise
= APP.store.dispatch(maybeOpenFeedbackDialog(room, hangupReason))
.then(feedbackDialogClosed, feedbackDialogClosed);
}
const leavePromise = this.leaveRoom().catch(() => Promise.resolve());
Promise.allSettled([ feedbackResultPromise, leavePromise ]).then(([ feedback, _ ]) => {
this._room = undefined;
room = undefined;
/**
* Don't call {@code notifyReadyToClose} if the promotional page flag is set
* and let the page take care of sending the message, since there will be
* a redirect to the page anyway.
*/
if (!interfaceConfig.SHOW_PROMOTIONAL_CLOSE_PAGE) {
APP.API.notifyReadyToClose();
}
}
if (!feedbackResult.wasDialogShown && hangupReason) {
await APP.store.dispatch(openLeaveReasonDialog(hangupReason));
}
APP.store.dispatch(maybeRedirectToWelcomePage(feedback.value ?? {}));
});
await this.leaveRoom();
this._room = undefined;
room = undefined;
/**
* Don't call {@code notifyReadyToClose} if the promotional page flag is set
* and let the page take care of sending the message, since there will be
* a redirect to the page anyway.
*/
if (!interfaceConfig.SHOW_PROMOTIONAL_CLOSE_PAGE) {
APP.API.notifyReadyToClose();
}
APP.store.dispatch(maybeRedirectToWelcomePage(feedbackResult));
},
/**
@@ -2485,7 +2440,7 @@ export default {
* @param {string} reason - reason for leaving the room.
* @returns {Promise}
*/
async leaveRoom(doDisconnect = true, reason = '') {
leaveRoom(doDisconnect = true, reason = '') {
APP.store.dispatch(conferenceWillLeave(room));
const maybeDisconnect = () => {
@@ -2662,15 +2617,6 @@ export default {
APP.UI.setVideoMuted(this.getMyUserId());
},
/**
* Sets the audio muted status.
*
* @param {boolean} muted - New muted status.
*/
setAudioMuteStatus(muted) {
APP.UI.setAudioMuted(this.getMyUserId(), muted);
},
/**
* Dispatches the passed in feedback for submission. The submitted score
* should be a number inclusively between 1 through 5, or -1 for no score.

211
config.js
View File

@@ -51,6 +51,9 @@ var config = {
// Websocket URL (XMPP)
// websocket: 'wss://jitsi-meet.example.com/' + subdir + 'xmpp-websocket',
// Whether BOSH should be preferred over WebSocket if both are configured.
// preferBosh: false,
// The real JID of focus participant - can be overridden here
// Do not change username - FIXME: Make focus username configurable
// https://github.com/jitsi/jitsi-meet/issues/7376
@@ -81,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
@@ -95,10 +101,8 @@ var config = {
// This is useful when the client runs on a host with limited resources.
// noAutoPlayVideo: false,
// Enable callstats only for a percentage of users.
// This takes a value between 0 and 100 which determines the probability for
// the callstats to be enabled.
// callStatsThreshold: 5, // enable callstats for 5% of the users.
// Experiment: Whether to skip interim transcriptions.
// skipInterimTranscriptions: false,
},
// Disables moderator indicators.
@@ -215,6 +219,9 @@ var config = {
// Video
// Sets the default camera facing mode.
// cameraFacingMode: 'user',
// Sets the preferred resolution (height) for local video. Defaults to 720.
// resolution: 720,
@@ -288,12 +295,19 @@ var config = {
// max: 5,
// },
// This option has been deprecated since it is no longer supported as per the w3c spec.
// https://w3c.github.io/mediacapture-screen-share/#dom-mediadevices-getdisplaymedia. If the user has not
// interacted with the webpage before the getDisplayMedia call, the promise will be rejected by the browser. This
// has already been implemented in Firefox and Safari and will be implemented in Chrome soon.
// https://bugs.chromium.org/p/chromium/issues/detail?id=1198918
// startScreenSharing: false,
// Optional screenshare settings that give more control over screen capture in the browser.
// screenShareSettings: {
// // Show users the current tab is the preferred capture source, default: false.
// desktopPreferCurrentTab: false,
// // Allow users to select system audio, default: include.
// desktopSystemAudio: 'include',
// // Allow users to seamlessly switch which tab they are sharing without having to select the tab again.
// desktopSurfaceSwitching: 'include',
// // Allow a user to be shown a preference for what screen is to be captured, default: unset.
// desktopDisplaySurface: undefined,
// // Allow users to select the current tab as a capture source, default: exclude.
// desktopSelfBrowserSurface: 'exclude'
// },
// Recording
@@ -370,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.
@@ -402,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
@@ -431,6 +445,49 @@ var config = {
// // Provides a way to set the codec preference on desktop based endpoints.
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264' ],
//
// // Codec specific settings for scalability modes and max bitrates.
// av1: {
// maxBitratesVideo: {
// low: 100000,
// standard: 300000,
// high: 1000000,
// ssHigh: 2500000
// },
// scalabilityModeEnabled: true,
// useSimulcast: false,
// useKSVC: true
// },
// h264: {
// maxBitratesVideo: {
// low: 200000,
// standard: 500000,
// high: 1500000,
// ssHigh: 2500000
// },
// scalabilityModeEnabled: true
// },
// vp8: {
// maxBitratesVideo: {
// low: 200000,
// standard: 500000,
// high: 1500000,
// ssHigh: 2500000
// },
// scalabilityModeEnabled: false
// },
// vp9: {
// maxBitratesVideo: {
// low: 100000,
// standard: 300000,
// high: 1200000,
// ssHigh: 2500000
// },
// scalabilityModeEnabled: true,
// useSimulcast: false,
// useKSVC: true
// }
//
// DEPRECATED! Use `codec specific settings` instead.
// // Provides a way to configure the maximum bitrates that will be enforced on the simulcast streams for
// // video tracks. The keys in the object represent the type of the stream (LD, SD or HD) and the values
// // are the max.bitrates to be set on that particular type of stream. The actual send may vary based on
@@ -588,7 +645,7 @@ var config = {
// },
// Configs for the lobby screen.
// lobby {
// lobby: {
// // If Lobby is enabled, it starts knocking automatically. Replaces `autoKnockLobby`.
// autoKnock: false,
// // Enables the lobby chat. Replaces `enableLobbyChat`.
@@ -632,6 +689,7 @@ var config = {
// hideDominantSpeakerBadge: false,
// Default language for the user interface. Cannot be overwritten.
// DEPRECATED! Use the `lang` iframe option directly instead.
// defaultLanguage: 'en',
// Disables profile and the edit of all fields from the profile settings (display name and email)
@@ -886,38 +944,10 @@ var config = {
// The interval at which PeerConnection.getStats() is called. Defaults to 10000
// pcStatsInterval: 10000,
// To enable sending statistics to callstats.io you must provide the
// Application ID and Secret.
// callStatsID: '',
// callStatsSecret: '',
// callStatsApplicationLogsDisabled: false,
// The callstats initialize config params as described in the API:
// https://docs.callstats.io/docs/javascript#callstatsinitialize-with-app-secret
// callStatsConfigParams: {
// disableBeforeUnloadHandler: true, // disables callstats.js's window.onbeforeunload parameter.
// applicationVersion: "app_version", // Application version specified by the developer.
// disablePrecalltest: true, // disables the pre-call test, it is enabled by default.
// siteID: "siteID", // The name/ID of the site/campus from where the call/pre-call test is made.
// additionalIDs: { // additionalIDs object, contains application related IDs.
// customerID: "Customer Identifier. Example, walmart.",
// tenantID: "Tenant Identifier. Example, monster.",
// productName: "Product Name. Example, Jitsi.",
// meetingsName: "Meeting Name. Example, Jitsi loves callstats.",
// serverName: "Server/MiddleBox Name. Example, jvb-prod-us-east-mlkncws12.",
// pbxID: "PBX Identifier. Example, walmart.",
// pbxExtensionID: "PBX Extension Identifier. Example, 5625.",
// fqExtensionID: "Fully qualified Extension Identifier. Example, +71 (US) +5625.",
// sessionID: "Session Identifier. Example, session-12-34",
// },
// collectLegacyStats: true, //enables the collection of legacy stats in chrome browser
// collectIP: true, //enables the collection localIP address
// },
// Enables sending participants' display names to callstats
// Enables sending participants' display names to stats
// enableDisplayNameInStats: false,
// Enables sending participants' emails (if available) to callstats and other analytics
// Enables sending participants' emails (if available) to stats and other analytics
// enableEmailInStats: false,
// faceLandmarks: {
@@ -940,7 +970,7 @@ var config = {
// captureInterval: 1000,
// },
// Controls the percentage of automatic feedback shown to participants when callstats is enabled.
// Controls the percentage of automatic feedback shown to participants.
// The default value is 100%. If set to 0, no automatic feedback will be requested
// feedbackPercentage: 100,
@@ -948,7 +978,7 @@ var config = {
//
// If third party requests are disabled, no other server will be contacted.
// This means avatars will be locally generated and callstats integration
// This means avatars will be locally generated and external stats integration
// will not function.
// disableThirdPartyRequests: false,
@@ -1167,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.
@@ -1272,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.
@@ -1298,6 +1327,16 @@ var config = {
// A list of images that can be used as video backgrounds.
// When this field is present, the default images will be replaced with those provided.
virtualBackgrounds: ['https://example.com/img.jpg'],
// Object containing customized icons that should replace the default ones.
// The keys need to be the exact same icon names used in here:
// https://github.com/jitsi/jitsi-meet/blob/master/react/features/base/icons/svg/index.ts
// To avoid having the icons trimmed or displayed in an unexpected way, please provide svg
// files containing svg xml icons in the size that the default icons come in.
customIcons: {
IconArrowUp: 'https://example.com/arrow-up.svg',
IconDownload: 'https://example.com/download.svg',
IconRemoteControlStart: 'https://example.com/remote-start.svg',
},
// Object containing a theme's properties. It also supports partial overwrites of the main theme.
// For a list of all possible theme tokens and their current defaults, please check:
// https://github.com/jitsi/jitsi-meet/tree/master/resources/custom-theme/custom-theme.json
@@ -1358,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,
@@ -1431,6 +1467,31 @@ var config = {
// dialInConfCodeUrl is the conference mapper converting a meeting id to a PIN used for dial-in
// or the other way around (more info in resources/cloud-api.swagger)
// You can use external service for authentication that will redirect back passing a jwt token
// You can use tokenAuthUrl config to point to a URL of such service.
// The URL for the service supports few params which will be filled in by the code.
// tokenAuthUrl:
// 'https://myservice.com/auth/{room}?code_challenge_method=S256&code_challenge={code_challenge}&state={state}'
// Supported parameters in tokenAuthUrl:
// {room} - will be replaced with the room name
// {code_challenge} - (A web only). A oauth 2.0 code challenge that will be sent to the service. See:
// https://datatracker.ietf.org/doc/html/rfc7636. The code verifier will be saved in the sessionStorage
// under key: 'code_verifier'.
// {state} - A json with the current state before redirecting. Keys that are included in the state:
// - room (The current room name as shown in the address bar)
// - roomSafe (the backend safe room name to use (lowercase), that is passed to the backend)
// - tenant (The tenant if any)
// - config.xxx (all config overrides)
// - interfaceConfig.xxx (all interfaceConfig overrides)
// - ios=true (in case ios mobile app is used)
// - android=true (in case android mobile app is used)
// - electron=true (when web is loaded in electron app)
// If there is a logout service you can specify its URL with:
// tokenLogoutUrl: 'https://myservice.com/logout'
// You can enable tokenAuthUrlAutoRedirect which will detect that you have logged in successfully before
// and will automatically redirect to the token service to get the token for the meeting.
// tokenAuthUrlAutoRedirect: false
// List of undocumented settings used in jitsi-meet
/**
_immediateReloadThreshold
@@ -1450,9 +1511,6 @@ var config = {
peopleSearchQueryTypes
peopleSearchUrl
requireDisplayName
tokenAuthUrl
tokenAuthUrlAutoRedirect
tokenLogoutUrl
*/
/**
@@ -1467,8 +1525,6 @@ var config = {
_peerConnStatusOutOfLastNTimeout
_peerConnStatusRtcMuteTimeout
avgRtpStatsN
callStatsConfIDNamespace
callStatsCustomScriptUrl
desktopSharingSources
disableAEC
disableAGC
@@ -1477,7 +1533,6 @@ var config = {
disableLocalStats
disableNS
enableTalkWhileMuted
forceJVB121Ratio
forceTurnRelay
hiddenDomain
hiddenFromRecorderFeatureEnabled
@@ -1501,6 +1556,7 @@ var config = {
*/
// notifications: [
// 'connection.CONNFAIL', // shown when the connection fails,
// 'dialog.cameraConstraintFailedError', // shown when the camera failed
// 'dialog.cameraNotSendingData', // shown when there's no feed from user's camera
// 'dialog.kickTitle', // shown when user has been kicked
// 'dialog.liveStreaming', // livestreaming notifications (pending, on, off, limits)
@@ -1511,6 +1567,7 @@ var config = {
// 'dialog.recording', // recording notifications (pending, on, off, limits)
// 'dialog.remoteControlTitle', // remote control notifications (allowed, denied, start, stop, error)
// 'dialog.reservationError',
// 'dialog.screenSharingFailedTitle', // shown when the screen sharing failed
// 'dialog.serviceUnavailable', // shown when server is not reachable
// 'dialog.sessTerminated', // shown when there is a failed conference session
// 'dialog.sessionRestarted', // show when a client reload is initiated because of bridge migration
@@ -1523,37 +1580,45 @@ var config = {
// 'liveStreaming.unavailableTitle', // shown when livestreaming service is not reachable
// 'lobby.joinRejectedMessage', // shown when while in a lobby, user's request to join is rejected
// 'lobby.notificationTitle', // shown when lobby is toggled and when join requests are allowed / denied
// 'notify.audioUnmuteBlockedTitle', // shown when mic unmute blocked
// 'notify.chatMessages', // shown when receiving chat messages while the chat window is closed
// 'notify.disconnected', // shown when a participant has left
// 'notify.connectedOneMember', // show when a participant joined
// 'notify.connectedTwoMembers', // show when two participants joined simultaneously
// 'notify.connectedThreePlusMembers', // show when more than 2 participants joined simultaneously
// 'notify.leftOneMember', // show when a participant left
// 'notify.leftTwoMembers', // show when two participants left simultaneously
// 'notify.leftThreePlusMembers', // show when more than 2 participants left simultaneously
// 'notify.grantedTo', // shown when moderator rights were granted to a participant
// 'notify.connectedTwoMembers', // show when two participants joined simultaneously
// 'notify.dataChannelClosed', // shown when the bridge channel has been disconnected
// 'notify.hostAskedUnmute', // shown to participant when host asks them to unmute
// 'notify.invitedOneMember', // shown when 1 participant has been invited
// 'notify.invitedThreePlusMembers', // shown when 3+ participants have been invited
// 'notify.invitedTwoMembers', // shown when 2 participants have been invited
// 'notify.kickParticipant', // shown when a participant is kicked
// 'notify.leftOneMember', // show when a participant left
// 'notify.leftThreePlusMembers', // show when more than 2 participants left simultaneously
// 'notify.leftTwoMembers', // show when two participants left simultaneously
// 'notify.linkToSalesforce', // shown when joining a meeting with salesforce integration
// 'notify.moderationStartedTitle', // shown when AV moderation is activated
// 'notify.moderationStoppedTitle', // shown when AV moderation is deactivated
// 'notify.localRecordingStarted', // shown when the local recording has been started
// 'notify.localRecordingStopped', // shown when the local recording has been stopped
// 'notify.moderationInEffectCSTitle', // shown when user attempts to share content during AV moderation
// 'notify.moderationInEffectTitle', // shown when user attempts to unmute audio during AV moderation
// 'notify.moderationInEffectVideoTitle', // shown when user attempts to enable video during AV moderation
// 'notify.moderationInEffectCSTitle', // shown when user attempts to share content during AV moderation
// 'notify.moderator', // shown when user gets moderator privilege
// 'notify.mutedRemotelyTitle', // shown when user is muted by a remote party
// 'notify.mutedTitle', // shown when user has been muted upon joining,
// 'notify.newDeviceAudioTitle', // prompts the user to use a newly detected audio device
// 'notify.newDeviceCameraTitle', // prompts the user to use a newly detected camera
// 'notify.noiseSuppressionFailedTitle', // shown when failed to start noise suppression
// 'notify.participantWantsToJoin', // shown when lobby is enabled and participant requests to join meeting
// 'notify.participantsWantToJoin', // shown when lobby is enabled and participants request to join meeting
// 'notify.passwordRemovedRemotely', // shown when a password has been removed remotely
// 'notify.passwordSetRemotely', // shown when a password has been set remotely
// 'notify.raisedHand', // shown when a partcipant used raise hand,
// 'notify.screenShareNoAudio', // shown when the audio could not be shared for the selected screen
// 'notify.screenSharingAudioOnlyTitle', // shown when the best performance has been affected by screen sharing
// 'notify.selfViewTitle', // show "You can always un-hide the self-view from settings"
// 'notify.startSilentTitle', // shown when user joined with no audio
// 'notify.suboptimalExperienceTitle', // show the browser warning
// 'notify.unmute', // shown to moderator when user raises hand during AV moderation
// 'notify.videoMutedRemotelyTitle', // shown when user's video is muted by a remote party,
// 'notify.videoUnmuteBlockedTitle', // shown when camera unmute and desktop sharing are blocked
// 'prejoin.errorDialOut',
// 'prejoin.errorDialOutDisconnected',
// 'prejoin.errorDialOutFailed',
@@ -1633,13 +1698,12 @@ var config = {
// logging: {
// // Default log level for the app and lib-jitsi-meet.
// defaultLogLevel: 'trace',
// // Option to disable LogCollector (which stores the logs on CallStats).
// // Option to disable LogCollector.
// //disableLogCollector: true,
// // Individual loggers are customizable.
// loggers: {
// // The following are too verbose in their logging with the default level.
// 'modules/RTC/TraceablePeerConnection.js': 'info',
// 'modules/statistics/CallStats.js': 'info',
// 'modules/xmpp/strophe.util.js': 'log',
// },
@@ -1653,6 +1717,11 @@ var config = {
// // The server used to support whiteboard collaboration.
// // https://github.com/jitsi/excalidraw-backend
// collabServerBaseUrl: 'https://excalidraw-backend.example.com',
// // The user access limit to the whiteboard, introduced as a means
// // to control the performance.
// userLimit: 25,
// // The url for more info about the whiteboard and its usage limitations.
// limitUrl: 'https://example.com/blog/whiteboard-limits,
// },
// The watchRTC initialize config params as described :

View File

@@ -115,17 +115,18 @@ form {
}
.leftwatermark {
max-width: 140px;
max-height:70px;
left: 32px;
top: 32px;
background-position: center left;
background-repeat: no-repeat;
background-size: contain;
}
.leftwatermarknomargin {
background-position: center left;
background-repeat: no-repeat;
background-size: contain;
&.no-margin {
left:0;
top:0;
}
}
.rightwatermark {

View File

@@ -154,17 +154,17 @@ $reactionCount: 20;
}
70% {
transform: translate(40px, -70vh) scale(1.5);
transform: translate(40px, -70dvh) scale(1.5);
opacity: 1;
}
75% {
transform: translate(40px, -70vh) scale(1.5);
transform: translate(40px, -70dvh) scale(1.5);
opacity: 1;
}
100% {
transform: translate(140px, -50vh) scale(1);
transform: translate(140px, -50dvh) scale(1);
opacity: 0;
}
}
@@ -187,17 +187,17 @@ $reactionCount: 20;
}
70% {
transform: translate(#{$topX}px, -#{$topY}vh) scale(1.5);
transform: translate(#{$topX}px, -#{$topY}dvh) scale(1.5);
opacity: 1;
}
75% {
transform: translate(#{$topX}px, -#{$topY}vh) scale(1.5);
transform: translate(#{$topX}px, -#{$topY}dvh) scale(1.5);
opacity: 1;
}
100% {
transform: translate(#{$bottomX}px, -#{$bottomY}vh) scale(1);
transform: translate(#{$bottomX}px, -#{$bottomY}dvh) scale(1);
opacity: 0;
}
}

View File

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

View File

@@ -266,10 +266,10 @@
#avatarContainer {
border-radius: 50%;
display: inline-block;
height: 50vh;
margin-top: 25vh;
height: 50dvh;
margin-top: 25dvh;
overflow: hidden;
width: 50vh;
width: 50dvh;
#avatar {
height: 100%;

View File

@@ -10,7 +10,7 @@ body.welcome-page {
flex-direction: column;
font-family: $welcomePageFontFamily;
justify-content: space-between;
min-height: 100vh;
min-height: 100dvh;
position: relative;
.header {
@@ -61,6 +61,35 @@ body.welcome-page {
}
.not-allow-title-character-div {
color: #f03e3e;
background-color: #fff;
font-size: 12px;
font-weight: 600;
margin: 10px 0px 5px 0px;
text-align: $welcomePageHeaderTextAlign;
border-radius: 5px;
padding: 5px;
.not-allow-title-character-text {
float: right;
line-height: 1.9;
};
.jitsi-icon {
margin-right: 9px;
float: left;
svg {
fill:#f03e3e;
& > *:first-child {
fill: none !important;
}
}
}
}
.insecure-room-name-warning {
align-items: center;
color: rgb(215, 121, 118);
@@ -231,11 +260,6 @@ body.welcome-page {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
.watermark.leftwatermarknomargin {
width: $welcomePageWatermarkWidth;
height: $welcomePageWatermarkHeight;
}
}
&.without-content {

View File

@@ -1,6 +1,6 @@
.deep-linking-mobile {
background-color: #fff;
height: 100vh;
height: 100dvh;
overflow: auto;
position: relative;
width: 100vw;

View File

@@ -39,7 +39,7 @@ case "$1" in
echo "Application secret is mandatory"
fi
# Not allowed unix special characters in secret: /, \, ", ', `
if echo "$RET" | grep -q '[/\\\"\`]' ; then
if echo "$RET" | grep -q "[/\\\"\`\']" ; then
echo "Application secret contains invalid characters: /, \\, \", ', \`"
exit 1
fi

View File

@@ -1,6 +1,5 @@
interface_config.js /usr/share/jitsi-meet/
*.html /usr/share/jitsi-meet/
*.ico /usr/share/jitsi-meet/
libs /usr/share/jitsi-meet/
static /usr/share/jitsi-meet/
css/all.css /usr/share/jitsi-meet/css/

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

@@ -43,8 +43,8 @@ server {
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name jitsi-meet.example.com;
# Mozilla Guideline v5.4, nginx 1.17.7, OpenSSL 1.1.1d, intermediate configuration

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

13
images/favicon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -107,8 +107,8 @@ var interfaceConfig = {
// Names of browsers which should show a warning stating the current browser
// has a suboptimal experience. Browsers which are not listed as optimal or
// unsupported are considered suboptimal. Valid values are:
// chrome, chromium, edge, electron, firefox, nwjs, opera, safari
OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'nwjs', 'electron', 'safari' ],
// chrome, chromium, electron, firefox , safari, webkit
OPTIMAL_BROWSERS: [ 'chrome', 'chromium', 'firefox', 'electron', 'safari', 'webkit' ],
POLICY_LOGO: null,
PROVIDER_NAME: 'Jitsi',

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,13 +1,15 @@
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
production = ENV["PRODUCTION"] == "1"
target 'JitsiMeet' do
project 'app/app.xcodeproj'
@@ -26,7 +28,6 @@ target 'JitsiMeetSDK' do
flags = get_default_flags()
use_react_native!(
:path => config[:reactNativePath],
:production => production,
:hermes_enabled => false,
:fabric_enabled => false,
# An absolute path to your application root.
@@ -46,7 +47,6 @@ target 'JitsiMeetSDK' do
pod 'CocoaLumberjack', '3.7.2'
pod 'ObjectiveDropboxOfficial', '6.2.3'
pod 'JitsiWebRTC', '~> 111.0.0'
end
target 'JitsiMeetSDKLite' do
@@ -57,24 +57,28 @@ target 'JitsiMeetSDKLite' do
# React Native and its dependencies
#
config = use_native_modules!
use_react_native!(
:path => config["reactNativePath"],
:path => config[:reactNativePath],
:hermes_enabled => false,
:fabric_enabled => false,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
)
# Native pod dependencies
#
pod 'CocoaLumberjack', '3.7.2'
end
post_install do |installer|
react_native_post_install(installer)
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
@@ -85,7 +89,8 @@ 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
end

View File

@@ -14,14 +14,14 @@ PODS:
- CocoaLumberjack/Core (= 3.7.2)
- CocoaLumberjack/Core (3.7.2)
- DoubleConversion (1.1.6)
- FBLazyVector (0.69.11)
- FBReactNativeSpec (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.69.11)
- RCTTypeSafety (= 0.69.11)
- React-Core (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- FBLazyVector (0.72.9)
- FBReactNativeSpec (0.72.9):
- RCT-Folly (= 2021.07.22.00)
- RCTRequired (= 0.72.9)
- RCTTypeSafety (= 0.72.9)
- React-Core (= 0.72.9)
- React-jsi (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- Firebase/Analytics (8.15.0):
- Firebase/Core
- Firebase/Core (8.15.0):
@@ -103,7 +103,7 @@ PODS:
- GoogleUtilities/Network (~> 7.7)
- "GoogleUtilities/NSData+zlib (~> 7.7)"
- nanopb (~> 2.30908.0)
- GoogleDataTransport (9.2.5):
- GoogleDataTransport (9.3.0):
- GoogleUtilities/Environment (~> 7.7)
- nanopb (< 2.30910.0, >= 2.30908.0)
- PromisesObjC (< 3.0, >= 1.2)
@@ -111,41 +111,41 @@ PODS:
- AppAuth (~> 1.5)
- GTMAppAuth (< 3.0, >= 1.3)
- GTMSessionFetcher/Core (< 4.0, >= 1.1)
- GoogleUtilities/AppDelegateSwizzler (7.11.5):
- GoogleUtilities/AppDelegateSwizzler (7.12.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (7.11.5):
- GoogleUtilities/Environment (7.12.0):
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.11.5):
- GoogleUtilities/Logger (7.12.0):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (7.11.5):
- GoogleUtilities/MethodSwizzler (7.12.0):
- GoogleUtilities/Logger
- GoogleUtilities/Network (7.11.5):
- GoogleUtilities/Network (7.12.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.11.5)"
- GoogleUtilities/Reachability (7.11.5):
- "GoogleUtilities/NSData+zlib (7.12.0)"
- GoogleUtilities/Reachability (7.12.0):
- GoogleUtilities/Logger
- GoogleUtilities/UserDefaults (7.11.5):
- GoogleUtilities/UserDefaults (7.12.0):
- GoogleUtilities/Logger
- GTMAppAuth (2.0.0):
- AppAuth/Core (~> 1.6)
- GTMSessionFetcher/Core (< 4.0, >= 1.5)
- GTMSessionFetcher/Core (3.1.1)
- JitsiWebRTC (111.0.2)
- libwebp (1.3.1):
- libwebp/demux (= 1.3.1)
- libwebp/mux (= 1.3.1)
- libwebp/sharpyuv (= 1.3.1)
- libwebp/webp (= 1.3.1)
- libwebp/demux (1.3.1):
- GTMSessionFetcher/Core (3.2.0)
- JitsiWebRTC (118.0.0)
- libwebp (1.3.2):
- libwebp/demux (= 1.3.2)
- libwebp/mux (= 1.3.2)
- libwebp/sharpyuv (= 1.3.2)
- libwebp/webp (= 1.3.2)
- libwebp/demux (1.3.2):
- libwebp/webp
- libwebp/mux (1.3.1):
- libwebp/mux (1.3.2):
- libwebp/demux
- libwebp/sharpyuv (1.3.1)
- libwebp/webp (1.3.1):
- libwebp/sharpyuv (1.3.2)
- libwebp/webp (1.3.2):
- libwebp/sharpyuv
- nanopb (2.30908.0):
- nanopb/decode (= 2.30908.0)
@@ -156,214 +156,276 @@ PODS:
- PromisesObjC (2.3.1)
- PromisesSwift (2.3.1):
- PromisesObjC (= 2.3.1)
- RCT-Folly (2021.06.28.00-v2):
- RCT-Folly (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCT-Folly/Default (= 2021.06.28.00-v2)
- RCT-Folly/Default (2021.06.28.00-v2):
- RCT-Folly/Default (= 2021.07.22.00)
- RCT-Folly/Default (2021.07.22.00):
- boost
- DoubleConversion
- fmt (~> 6.2.1)
- glog
- RCTRequired (0.69.11)
- RCTTypeSafety (0.69.11):
- FBLazyVector (= 0.69.11)
- RCTRequired (= 0.69.11)
- React-Core (= 0.69.11)
- React (0.69.11):
- React-Core (= 0.69.11)
- React-Core/DevSupport (= 0.69.11)
- React-Core/RCTWebSocket (= 0.69.11)
- React-RCTActionSheet (= 0.69.11)
- React-RCTAnimation (= 0.69.11)
- React-RCTBlob (= 0.69.11)
- React-RCTImage (= 0.69.11)
- React-RCTLinking (= 0.69.11)
- React-RCTNetwork (= 0.69.11)
- React-RCTSettings (= 0.69.11)
- React-RCTText (= 0.69.11)
- React-RCTVibration (= 0.69.11)
- React-bridging (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsi (= 0.69.11)
- React-callinvoker (0.69.11)
- React-Codegen (0.69.11):
- FBReactNativeSpec (= 0.69.11)
- RCT-Folly (= 2021.06.28.00-v2)
- RCTRequired (= 0.69.11)
- RCTTypeSafety (= 0.69.11)
- React-Core (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-Core (0.69.11):
- 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 (= 2021.06.28.00-v2)
- React-Core/Default (= 0.69.11)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- 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.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.69.11):
- React-Core/CoreModulesHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/Default (0.69.11):
- React-Core/Default (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/DevSupport (0.69.11):
- React-Core/DevSupport (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.69.11)
- React-Core/RCTWebSocket (= 0.69.11)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-jsinspector (= 0.69.11)
- React-perflogger (= 0.69.11)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.9)
- React-Core/RCTWebSocket (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-jsinspector (= 0.72.9)
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTActionSheetHeaders (0.69.11):
- React-Core/RCTActionSheetHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTAnimationHeaders (0.69.11):
- React-Core/RCTAnimationHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTBlobHeaders (0.69.11):
- React-Core/RCTBlobHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTImageHeaders (0.69.11):
- React-Core/RCTImageHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTLinkingHeaders (0.69.11):
- React-Core/RCTLinkingHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTNetworkHeaders (0.69.11):
- React-Core/RCTNetworkHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTSettingsHeaders (0.69.11):
- React-Core/RCTSettingsHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTTextHeaders (0.69.11):
- React-Core/RCTTextHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTVibrationHeaders (0.69.11):
- React-Core/RCTVibrationHeaders (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-Core/RCTWebSocket (0.69.11):
- React-Core/RCTWebSocket (0.72.9):
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-Core/Default (= 0.69.11)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsiexecutor (= 0.69.11)
- React-perflogger (= 0.69.11)
- RCT-Folly (= 2021.07.22.00)
- React-Core/Default (= 0.72.9)
- React-cxxreact
- React-jsc
- React-jsi
- React-jsiexecutor
- React-perflogger
- React-runtimeexecutor
- React-utils
- SocketRocket (= 0.6.1)
- Yoga
- React-CoreModules (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.69.11)
- React-Codegen (= 0.69.11)
- React-Core/CoreModulesHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- React-RCTImage (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-cxxreact (0.69.11):
- React-CoreModules (0.72.9):
- RCT-Folly (= 2021.07.22.00)
- RCTTypeSafety (= 0.72.9)
- React-Codegen (= 0.72.9)
- React-Core/CoreModulesHeaders (= 0.72.9)
- React-jsi (= 0.72.9)
- React-RCTBlob
- React-RCTImage (= 0.72.9)
- ReactCommon/turbomodule/core (= 0.72.9)
- SocketRocket (= 0.6.1)
- React-cxxreact (0.72.9):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-callinvoker (= 0.69.11)
- React-jsi (= 0.69.11)
- React-jsinspector (= 0.69.11)
- React-logger (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-runtimeexecutor (= 0.69.11)
- React-jsi (0.69.11):
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-debug (= 0.72.9)
- React-jsi (= 0.72.9)
- React-jsinspector (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- React-runtimeexecutor (= 0.72.9)
- React-debug (0.72.9)
- React-jsc (0.72.9):
- React-jsc/Fabric (= 0.72.9)
- React-jsi (= 0.72.9)
- React-jsc/Fabric (0.72.9):
- React-jsi (= 0.72.9)
- React-jsi (0.72.9):
- boost (= 1.76.0)
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsi/Default (= 0.69.11)
- React-jsi/Default (0.69.11):
- boost (= 1.76.0)
- RCT-Folly (= 2021.07.22.00)
- React-jsiexecutor (0.72.9):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-jsiexecutor (0.69.11):
- DoubleConversion
- glog
- RCT-Folly (= 2021.06.28.00-v2)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-perflogger (= 0.69.11)
- React-jsinspector (0.69.11)
- React-logger (0.69.11):
- RCT-Folly (= 2021.07.22.00)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-perflogger (= 0.72.9)
- React-jsinspector (0.72.9)
- React-logger (0.72.9):
- glog
- react-native-background-timer (2.4.1):
- React-Core
@@ -371,9 +433,9 @@ PODS:
- React-Core
- react-native-keep-awake (4.0.0):
- React
- react-native-netinfo (9.4.1):
- react-native-netinfo (11.1.0):
- React-Core
- react-native-orientation-locker (1.5.0):
- react-native-orientation-locker (1.6.0):
- React-Core
- react-native-pager-view (6.2.0):
- React-Core
@@ -385,86 +447,125 @@ 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 (111.0.3):
- JitsiWebRTC (~> 111.0.0)
- react-native-webrtc (118.0.0):
- JitsiWebRTC (~> 118.0.0)
- React-Core
- react-native-webview (13.5.1):
- React-Core
- React-perflogger (0.69.11)
- React-RCTActionSheet (0.69.11):
- React-Core/RCTActionSheetHeaders (= 0.69.11)
- React-RCTAnimation (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.69.11)
- React-Codegen (= 0.69.11)
- React-Core/RCTAnimationHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTBlob (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.69.11)
- React-Core/RCTBlobHeaders (= 0.69.11)
- React-Core/RCTWebSocket (= 0.69.11)
- React-jsi (= 0.69.11)
- React-RCTNetwork (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTImage (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.69.11)
- React-Codegen (= 0.69.11)
- React-Core/RCTImageHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- React-RCTNetwork (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTLinking (0.69.11):
- React-Codegen (= 0.69.11)
- React-Core/RCTLinkingHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTNetwork (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.69.11)
- React-Codegen (= 0.69.11)
- React-Core/RCTNetworkHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTSettings (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- RCTTypeSafety (= 0.69.11)
- React-Codegen (= 0.69.11)
- React-Core/RCTSettingsHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-RCTText (0.69.11):
- React-Core/RCTTextHeaders (= 0.69.11)
- React-RCTVibration (0.69.11):
- RCT-Folly (= 2021.06.28.00-v2)
- React-Codegen (= 0.69.11)
- React-Core/RCTVibrationHeaders (= 0.69.11)
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (= 0.69.11)
- React-runtimeexecutor (0.69.11):
- React-jsi (= 0.69.11)
- ReactCommon/turbomodule/core (0.69.11):
- 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.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.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.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.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.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.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.06.28.00-v2)
- React-bridging (= 0.69.11)
- React-callinvoker (= 0.69.11)
- React-Core (= 0.69.11)
- React-cxxreact (= 0.69.11)
- React-jsi (= 0.69.11)
- React-logger (= 0.69.11)
- React-perflogger (= 0.69.11)
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- ReactCommon/turbomodule/core (0.72.9):
- DoubleConversion
- glog
- RCT-Folly (= 2021.07.22.00)
- React-callinvoker (= 0.72.9)
- React-cxxreact (= 0.72.9)
- React-jsi (= 0.72.9)
- React-logger (= 0.72.9)
- React-perflogger (= 0.72.9)
- RNCalendarEvents (2.2.0):
- React
- RNCAsyncStorage (1.19.3):
- RNCAsyncStorage (1.19.4):
- React-Core
- RNCClipboard (1.5.1):
- React-Core
@@ -474,7 +575,7 @@ PODS:
- React-Core
- RNGestureHandler (2.9.0):
- React-Core
- RNGoogleSignin (10.0.1):
- RNGoogleSignin (10.1.0):
- GoogleSignIn (~> 7.0)
- React-Core
- RNScreens (3.24.0):
@@ -489,6 +590,7 @@ PODS:
- React-Core
- RNWatch (1.1.0):
- React
- SocketRocket (0.6.1)
- Yoga (1.14.0)
DEPENDENCIES:
@@ -503,19 +605,19 @@ DEPENDENCIES:
- Firebase/DynamicLinks (~> 8.0)
- "giphy-react-native-sdk (from `../node_modules/@giphy/react-native-sdk`)"
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- JitsiWebRTC (~> 111.0.0)
- ObjectiveDropboxOfficial (= 6.2.3)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- 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`)
@@ -533,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`)
@@ -543,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`)"
@@ -584,6 +691,7 @@ SPEC REPOS:
- ObjectiveDropboxOfficial
- PromisesObjC
- PromisesSwift
- SocketRocket
EXTERNAL SOURCES:
amplitude-react-native:
@@ -608,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:
@@ -620,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:
@@ -654,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:
@@ -674,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:
@@ -707,11 +827,11 @@ SPEC CHECKSUMS:
Amplitude: 834c7332dfb9640a751e21c13efb22a07c0c12d4
amplitude-react-native: 0ed8cab759aafaa94961b82122bf56297da607ad
AppAuth: 3bb1d1cd9340bd09f5ed189fb00b1cc28e1e8570
boost: a7c83b31436843459a1961bfd74b96033dc77234
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 5c0975e66853436589eae7542f4b956c7e2ef465
FBReactNativeSpec: bb062293e84c33200005312d1807d8cb94a0d66a
FBLazyVector: dc178b8748748c036ef9493a5d59d6d1f91a36ce
FBReactNativeSpec: d0aaae78e93c89dc2d691d8052a4d2aeb1b461ee
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseAnalytics: 7761cbadb00a717d8d0939363eb46041526474fa
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
@@ -722,71 +842,78 @@ SPEC CHECKSUMS:
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
Giphy: 6b5f6986c8df4f71e01a8ef86595f426b3439fb5
giphy-react-native-sdk: fcda9639f8ca2cc47e0517b6ef11c19359db5f5a
glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
GoogleAppMeasurement: 4c19f031220c72464d460c9daa1fb5d1acce958e
GoogleDataTransport: 54dee9d48d14580407f8f5fbf2f496e92437a2f2
GoogleDataTransport: 57c22343ab29bc686febbf7cbb13bad167c2d8fe
GoogleSignIn: b232380cf495a429b8095d3178a8d5855b42e842
GoogleUtilities: 13e2c67ede716b8741c7989e26893d151b2b2084
GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
GTMAppAuth: 99fb010047ba3973b7026e45393f51f27ab965ae
GTMSessionFetcher: e8647203b65cee28c5f73d0f473d096653945e72
JitsiWebRTC: 80f62908fcf2a1160e0d14b584323fb6e6be630b
libwebp: 33dc822fbbf4503668d09f7885bbfedc76c45e96
GTMSessionFetcher: 41b9ef0b4c08a6db4b7eb51a21ae5183ec99a2c8
JitsiWebRTC: 3a41671ef65a51d7204323814b055a2690b921c7
libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96
ObjectiveDropboxOfficial: fe206ce8c0bc49976c249d472db7fdbc53ebbd53
PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
PromisesSwift: 28dca69a9c40779916ac2d6985a0192a5cb4a265
RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a
RCTRequired: 8e9a57dddc8f8e9e816c67c2d2537271a997137a
RCTTypeSafety: 2b19e268e2036a2c2f6db6deb1ac03e28b1d607a
React: f9478e6390f177ee6b67b87a3c6afea42b39523e
React-bridging: d405ecd3ff80e1d0a4059a11063eaa9ed7a00c58
React-callinvoker: c8ffa61f3f06f486ba6647769fc98f19e25d165a
React-Codegen: 73acfdac1495b91ad5efdd3ab005568263c5def6
React-Core: 7b7c75af4b73fe0ed4e5c3cdb7d79979e81148dc
React-CoreModules: cd6e7efb38162884f08c7afa16fffaf15ff28ae4
React-cxxreact: 51157cc600c9f436a7e623913a03b775305ef86c
React-jsi: 3eeb345c4828d7b132fd38064a305f31b46d4ec3
React-jsiexecutor: 5813455a4a908fb7284aa13307a9e0386e93b0bb
React-jsinspector: 9ca5bf73ed0a195397e45fdbcd507cf7d503c428
React-logger: 700340e325f21ba2a2d6413a61ef14268c7360aa
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
react-native-netinfo: fefd4e98d75cbdd6e85fc530f7111a8afdf2b0c5
react-native-orientation-locker: 851f6510d8046ea2f14aa169b1e01fcd309a94ba
react-native-netinfo: 3aa5637c18834966e0c932de8ae1ae56fea20a97
react-native-orientation-locker: 4409c5b12b65f942e75449872b4f078b6f27af81
react-native-pager-view: 0ccb8bf60e2ebd38b1f3669fa3650ecce81db2df
react-native-performance: 47ac22ebf2aa24f324a96a5825581f6ce18c09e8
react-native-safe-area-context: 9697629f7b2cda43cf52169bb7e0767d330648c2
react-native-slider: 1cdd6ba29675df21f30544253bf7351d3c2d68c4
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: 967eead48aaa42c25a9e1d65c3b1ab30762a88df
react-native-webrtc: 4d1669c2ed29767fe70b0169428b4466589ecf8b
react-native-video: 472b7c366eaaaa0207e546d9a50410df89790bcf
react-native-webrtc: c8d9ad3c152105b2720ca2851d04b49659551992
react-native-webview: 8baa0f5c6d336d6ba488e942bcadea5bf51f050a
React-perflogger: fdee2a0c512167ae4c19c4e230ccf6aa66a6aff0
React-RCTActionSheet: 1cf5fef4e372f1c877969710a51bea4bb25e78fe
React-RCTAnimation: 73816e3acd1f5e3f00166fc7eedb34f6b112f734
React-RCTBlob: 6976c838fb14a1daf75d7c8bb23bae9cbbf726bb
React-RCTImage: ab8a7498f215117f32271698591e4bd932dcf812
React-RCTLinking: e8e78aed2744ab9946cc8ba5716b4938c2efb1e0
React-RCTNetwork: 796f5aed4d932655d292bdc6b40f9502dcdb9542
React-RCTSettings: 7e1cd2a384b45c90caf67464572abe3833b9da3b
React-RCTText: fd6162890828f0761e03c59058fa23c3a21b2e10
React-RCTVibration: 302cfd5cc33669d7abdb7ec6790123baba66e62e
React-runtimeexecutor: 59407514818b2afbb1d7507e4e1ac834d24b0fbd
ReactCommon: b8487da74723562d7368dab27135fd182f00a91c
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: c913ede1fa163a71cea118ed4670bbaaa4b511bb
RNCAsyncStorage: 3a8f7145d17cdd9f88e7b77666c94a09e4f759c8
RNCClipboard: 41d8d918092ae8e676f18adada19104fa3e68495
RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31
RNDeviceInfo: 02ea8b23e2280fa18e00a06d7e62804d74028579
RNGestureHandler: 071d7a9ad81e8b83fe7663b303d132406a7d8f39
RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0
RNGoogleSignin: a6a612cce56a45ab701c5c5c6e36f5390522d100
RNScreens: b21dc57dfa2b710c30ec600786a3fc223b1b92e7
RNSound: 6c156f925295bdc83e8e422e7d8b38d33bc71852
RNSVG: ed492aaf3af9ca01bc945f7a149d76d62e73ec82
RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236
Yoga: 7f5ad94937ba3fc58c151ad1b7bbada2c275b28e
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Yoga: eddf2bbe4a896454c248a8f23b4355891eb720a6
PODFILE CHECKSUM: e3579df5272b8b697c9fdc0e55aa0845b189c4dd
PODFILE CHECKSUM: ec00682c7062a323dff24a3c3643ca0bbb420d01
COCOAPODS: 1.12.1
COCOAPODS: 1.14.3

View File

@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 52;
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -862,7 +862,6 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -892,7 +891,6 @@
"$(inherited)",
"@executable_path/Frameworks",
);
LIBRARY_SEARCH_PATHS = "$(inherited)";
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -978,7 +976,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -1013,6 +1011,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -1025,9 +1024,15 @@
"$(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)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -1039,7 +1044,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -1069,6 +1074,10 @@
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
@@ -1079,8 +1088,14 @@
"$(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)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;

View File

@@ -38,7 +38,6 @@
[builder setFeatureFlag:@"resolution" withValue:@(360)];
[builder setFeatureFlag:@"ios.screensharing.enabled" withBoolean:YES];
[builder setFeatureFlag:@"ios.recording.enabled" withBoolean:YES];
builder.serverURL = [NSURL URLWithString:@"https://meet.jit.si"];
}];
[jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];
@@ -126,7 +125,7 @@
- (UIInterfaceOrientationMask)application:(UIApplication *)application
supportedInterfaceOrientationsForWindow:(UIWindow *)window {
return [[JitsiMeet sharedInstance] application:application
return [[JitsiMeet sharedInstance] application:application
supportedInterfaceOrientationsForWindow:window];
}

View File

@@ -728,7 +728,7 @@
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -766,6 +766,7 @@
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
@@ -773,9 +774,15 @@
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)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -791,7 +798,7 @@
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
@@ -824,14 +831,24 @@
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION,
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
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)",
" ",
);
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;

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

@@ -67,13 +67,18 @@
"renameBreakoutRoom": "Breakout-Raum umbenennen",
"sendToBreakoutRoom": "Anwesende in Breakout-Raum verschieben:"
},
"breakoutList": "Breakout-Liste",
"buttonLabel": "Breakout-Räume",
"defaultName": "Breakout-Raum #{{index}}",
"hideParticipantList": "Teilnehmerliste ausblenden",
"mainRoom": "Hauptraum",
"notifications": {
"joined": "Breakout-Raum \"{{name}}\" betreten",
"joinedMainRoom": "Hauptraum betreten",
"joinedTitle": "Breakout-Räume"
}
},
"showParticipantList": "Teilnehmerliste anzeigen",
"title": "Breakout-Räume"
},
"calendarSync": {
"addMeetingURL": "Konferenzlink hinzufügen",
@@ -215,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",
@@ -256,6 +261,7 @@
"Share": "Teilen",
"Submit": "OK",
"WaitForHostMsg": "Die Konferenz wurde noch nicht gestartet. Falls Sie die Konferenz leiten, authentifizieren Sie sich bitte. Warten Sie andernfalls, bis die Konferenz gestartet wird.",
"WaitingForHostButton": "Auf Moderation warten",
"WaitingForHostTitle": "Warten auf den Beginn der Konferenz …",
"Yes": "Ja",
"accessibilityLabel": {
@@ -269,6 +275,8 @@
"addMeetingNote": "Notiz zu dieser Konferenz hinzufügen",
"addOptionalNote": "Notiz hinzufügen (optional):",
"allow": "Erlauben",
"allowToggleCameraDialog": "Wollen Sie {{initiatorName}} erlauben, Ihre Kameraauswahl zu ändern?",
"allowToggleCameraTitle": "Änderung der Kamera zulassen?",
"alreadySharedVideoMsg": "Eine andere Person gibt bereits ein Video weiter. Bei dieser Konferenz ist jeweils nur ein geteiltes Video möglich.",
"alreadySharedVideoTitle": "Nur ein geteiltes Video gleichzeitig",
"applicationWindow": "Anwendungsfenster",
@@ -329,6 +337,7 @@
"lockRoom": "Konferenz$t(lockRoomPassword) hinzufügen",
"lockTitle": "Sperren fehlgeschlagen",
"login": "Anmelden",
"loginQuestion": "Sind Sie sicher, dass sie sich anmelden und die Konferenz verlassen möchten?",
"logoutQuestion": "Sind Sie sicher, dass Sie sich abmelden und die Konferenz verlassen möchten?",
"logoutTitle": "Abmelden",
"maxUsersLimitReached": "Das Limit für die maximale Personenzahl ist erreicht. Die Konferenz ist voll. Bitte wenden Sie sich an die Konferenzleitung oder versuchen Sie es später noch einmal!",
@@ -409,8 +418,10 @@
"sendPrivateMessageTitle": "Privat antworten?",
"serviceUnavailable": "Dienst nicht verfügbar",
"sessTerminated": "Konferenz beendet",
"sessTerminatedReason": "Die Konferenz wurde beendet",
"sessionRestarted": "Konferenz neugestartet",
"shareAudio": "Fortfahren",
"shareAudioAltText": "Um den gewünschten Inhalt zu teilen: Navigiere zu \"Browser tab\", wähle den Inhalt, aktiviere \"Audio teilen\" Kästchen Und klicke den “Teilen” schaltfläche",
"shareAudioTitle": "Wie kann Audio geteilt werden",
"shareAudioWarningD1": "müssen Sie Ihre Bildschirmfreigabe stoppen, bevor Sie Audio teilen können.",
"shareAudioWarningD2": "müssen Sie Ihre Bildschirmfreigabe neustarten und die Option \"Audio freigeben\" auswählen.",
@@ -440,7 +451,24 @@
"thankYou": "Danke für die Verwendung von {{appName}}!",
"token": "Token",
"tokenAuthFailed": "Sie sind nicht berechtigt, dieser Konferenz beizutreten.",
"tokenAuthFailedReason": {
"audInvalid": "Ungültiger `aud`-Wert. Erwartet wird `jitsi`.",
"contextNotFound": "Das `context`-Objekt fehlt.",
"expInvalid": "Ungültiger `exp`-Wert.",
"featureInvalid": "Ungültiges Feature: {{feature}}, noch nicht implementiert.",
"featureValueInvalid": "Ungültiger Wert für Feature: {{feature}}.",
"featuresNotFound": "Das `features`-Objekt fehlt.",
"headerNotFound": "Header fehlt.",
"issInvalid": "Ungültiger `iss`-Wert. Erwartet wird `chat`.",
"kidMismatch": "Die Key-ID (kid) passt nicht zum sub.",
"kidNotFound": "Fehlende Key-ID (kid).",
"nbfFuture": "Der `nbf`-Wert liegt in der Zukunft.",
"nbfInvalid": "Ungültiger `nbf`-Wert.",
"payloadNotFound": "Fehlende Payload.",
"tokenExpired": "Das Token ist abgelaufen."
},
"tokenAuthFailedTitle": "Authentifizierung fehlgeschlagen",
"tokenAuthFailedWithReasons": "Teilnahme an der Konferenz fehlgeschlagen. Möglicher Grund: {{reason}}",
"tokenAuthUnsupported": "Token-Authentifizierung wird nicht unterstützt.",
"transcribing": "Wird transkribiert",
"unlockRoom": "Konferenz$t(lockRoomPassword) entfernen",
@@ -455,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": {
@@ -530,6 +562,7 @@
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Sie haben die Grenzen Ihres Tarifs erreicht.",
"sip": "SIP-Adresse",
"sipAudioOnly": "SIP-Adresse (nur Ton)",
"title": "Teilen",
"tooltip": "Freigabe-Link und Einwahlinformationen für dieses Meeting",
"upgradeOptions": "Bitte prüfen Sie Ihre Upgrade-Optionen auf"
@@ -609,8 +642,6 @@
"youtubeTerms": "YouTube-Nutzungsbedingungen"
},
"lobby": {
"admit": "Zulassen",
"admitAll": "Alle zulassen",
"backToKnockModeButton": "Kein Passwort, stattdessen Beitritt anfragen",
"chat": "Chat",
"dialogTitle": "Lobbymodus",
@@ -636,16 +667,14 @@
"knockingParticipantList": "Liste anklopfender Personen",
"lobbyChatStartedNotification": "{{moderator}} hat einen Lobby-Chat mit {{attendee}} gestartet",
"lobbyChatStartedTitle": "{{moderator}} hat einen Lobby-Chat mit Ihnen gestartet.",
"lobbyClosed": "Die Lobby wurde geschlossen.",
"nameField": "Geben Sie Ihren Namen ein",
"notificationLobbyAccessDenied": "{{targetParticipantName}} wurde von {{originParticipantName}} der Zutritt verwehrt",
"notificationLobbyAccessGranted": "{{targetParticipantName}} wurde von {{originParticipantName}} der Zutritt gestattet",
"notificationLobbyDisabled": "{{originParticipantName}} hat die Lobby deaktiviert",
"notificationLobbyEnabled": "{{originParticipantName}} hat die Lobby aktiviert",
"notificationTitle": "Lobby",
"passwordField": "Konferenzpasswort eingeben",
"passwordJoinButton": "Beitreten",
"reject": "Ablehnen",
"rejectAll": "Alle ablehnen",
"title": "Lobby",
"toggleLabel": "Lobby aktivieren"
},
@@ -677,6 +706,8 @@
"sessionToken": "Sitzungs-Token",
"start": "Aufnahme starten",
"stop": "Aufnahme stoppen",
"stopping": "Aufnahme wird gestoppt",
"wait": "Bitte warten Sie während wir Ihre Aufnahme speichern",
"yes": "Ja"
},
"lockRoomPassword": "Passwort",
@@ -699,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",
@@ -774,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",
@@ -790,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",
@@ -799,6 +837,7 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"visitorRequests": " (Anfragen {{count}})",
"visitors": "Gäste ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
},
@@ -889,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",
@@ -977,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.",
@@ -1059,6 +1101,7 @@
"alertOk": "OK",
"alertTitle": "Warnung",
"alertURLText": "Die angegebene Server-URL ist ungültig",
"apply": "Übernehmen",
"buildInfoSection": "Build-Informationen",
"conferenceSection": "Konferenz",
"disableCallIntegration": "Native Anrufintegration deaktivieren",
@@ -1069,6 +1112,7 @@
"displayNamePlaceholderText": "z.B. Erika Musterfrau",
"email": "E-Mail",
"emailPlaceholderText": "email@beispiel.de",
"gavatarMessage": "Wenn Sie ein Gravatar-Konto mit Ihrer Emailadresse haben, wird dieses als Ihr Profilfoto verwendet.",
"goTo": "Gehe zu",
"header": "Einstellungen",
"help": "Hilfe",
@@ -1101,6 +1145,7 @@
"neutral": "Neutral",
"sad": "Traurig",
"search": "Suche",
"searchHint": "Suche Anwesende",
"seconds": "{{count}} Sek.",
"speakerStats": "Sprechstatistik",
"speakerTime": "Sprechzeit",
@@ -1123,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",
@@ -1169,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",
@@ -1207,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"
},
@@ -1256,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",
@@ -1315,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",
@@ -778,8 +776,9 @@
"moreModerationControls": "Más controles de moderación",
"moreParticipantOptions": "Más opciones de participantes",
"mute": "Silenciar",
"muteAll": "Silenciar a todos los demás",
"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",
@@ -1361,7 +1361,7 @@
"videothumbnail": {
"connectionInfo": "Información de conexión",
"domute": "Silenciar",
"domuteOthers": "Silenciar a todos",
"domuteOthers": "Silenciar a todos los demás",
"domuteVideo": "Desactivar la cámara",
"domuteVideoOfOthers": "Desactivar la cámara de todos los demás",
"flip": "Voltear",

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

@@ -584,8 +584,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",
@@ -619,8 +617,6 @@
"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"
},
@@ -751,6 +747,8 @@
},
"participantsPane": {
"actions": {
"admit": "Accepter",
"admitAll": "Tout accepter",
"allow": "Autoriser les participants à:",
"allowVideo": "permettre la vidéo",
"askUnmute": "Demander de réactiver le micro",
@@ -763,6 +761,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",
@@ -1065,6 +1064,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",

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": ""

View File

@@ -579,6 +579,8 @@
"hours": "{{count}}klst",
"minutes": "{{count}}mín",
"name": "Nafn",
"search": "Leita",
"searchHint": "Leitaðu að þátttakendum",
"seconds": "{{count}}sek",
"speakerStats": "Tölfræði ræðumanns",
"speakerTime": "Tími ræðumanns"

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"

File diff suppressed because it is too large Load Diff

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 d’utilizacion 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

@@ -67,13 +67,18 @@
"renameBreakoutRoom": "Renomear sala",
"sendToBreakoutRoom": "Enviar participante para:"
},
"breakoutList": "lista de salas",
"buttonLabel": "Salas simultâneas",
"defaultName": "Sala #{{index}}",
"hideParticipantList": "Ocultar lista de participantes",
"mainRoom": "Sala principal",
"notifications": {
"joined": "Entrada na sala \"{{name}}\"",
"joinedMainRoom": "Entrada na sala principal",
"joinedTitle": "Salas simultâneas"
}
},
"showParticipantList": "Mostrar lista de participantes",
"title": "Salas simultâneas"
},
"calendarSync": {
"addMeetingURL": "Adicionar um link da reunião",
@@ -250,13 +255,14 @@
"dialog": {
"Back": "Voltar",
"Cancel": "Cancelar",
"IamHost": "Eu sou o anfitrião",
"IamHost": "Iniciar sessão",
"Ok": "OK",
"Remove": "Remover",
"Share": "Partilhar",
"Submit": "Submeter",
"WaitForHostMsg": "A conferência ainda não começou. Se for o anfitrião, por favor autentique. Caso contrário, por favor aguarde que o anfitrião chegue.",
"WaitingForHostTitle": "À espera do anfitrião ...",
"WaitForHostMsg": "A conferência ainda não começou porque ainda não chegaram moderadores. Se quiser ser um moderador, inicie a sessão. Caso contrário, aguarde.",
"WaitingForHostButton": "Esperar pelo moderador",
"WaitingForHostTitle": "À espera de um moderador...",
"Yes": "Sim",
"accessibilityLabel": {
"Cancel": "Cancelar (sair da caixa de diálogo)",
@@ -269,6 +275,8 @@
"addMeetingNote": "Acrescentar uma nota sobre esta reunião",
"addOptionalNote": "Adicionar uma nota (opcional):",
"allow": "Permitir",
"allowToggleCameraDialog": "Permite que {{initiatorName}} alterne o modo de visualização da câmara?",
"allowToggleCameraTitle": "Permitir alternar a câmara?",
"alreadySharedVideoMsg": "Outro participante já está a partilhar um vídeo. Esta conferência permite apenas um vídeo partilhado de cada vez.",
"alreadySharedVideoTitle": "Só é permitido um vídeo partilhado de cada vez",
"applicationWindow": "Janela de aplicação",
@@ -329,6 +337,7 @@
"lockRoom": "Adicionar reunião $t(lockRoomPassword)",
"lockTitle": "Bloqueio falhado",
"login": "Entrar",
"loginQuestion": "Tem a certeza de que pretende iniciar sessão e abandonar a conferência?",
"logoutQuestion": "Tem a certeza de que quer terminar a sessão e sair da conferência?",
"logoutTitle": "Sair",
"maxUsersLimitReached": "O limite para o número máximo de participantes foi atingido. A conferência está cheia. Por favor contacte o proprietário da reunião ou tente novamente mais tarde!",
@@ -409,8 +418,10 @@
"sendPrivateMessageTitle": "Enviar em privado?",
"serviceUnavailable": "Serviço indisponível",
"sessTerminated": "Chamada terminada",
"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\".",
@@ -440,7 +451,24 @@
"thankYou": "Obrigado por utilizar {{appName}}!",
"token": "token",
"tokenAuthFailed": "Desculpe, não está autorizado a juntar-se a esta chamada.",
"tokenAuthFailedReason": {
"audInvalid": "Valor `aud` inválido. Deveria ser `jitsi`.",
"contextNotFound": "O objeto `context` está em falta na carga útil.",
"expInvalid": "Valor `exp` inválido.",
"featureInvalid": "Funcionalidade inválida: {{feature}}, muito provavelmente ainda não implementada.",
"featureValueInvalid": "Valor inválido para a caraterística: {{feature}}.",
"featuresNotFound": "O objeto `features` está em falta na carga útil.",
"headerNotFound": "Falta o cabeçalho.",
"issInvalid": "Valor `iss` inválido. Deveria ser `chat`.",
"kidMismatch": "O ID da chave (kid) não corresponde ao sub.",
"kidNotFound": "Falta o ID da chave (kid)",
"nbfFuture": "O valor `nbf` está no futuro.",
"nbfInvalid": "Valor `nbf` inválido.",
"payloadNotFound": "Falta a carga útil.",
"tokenExpired": "O token expirou."
},
"tokenAuthFailedTitle": "A autenticação falhou",
"tokenAuthFailedWithReasons": "Lamentamos, mas não está autorizado a participar nesta chamada. Razões possíveis: {{reason}}",
"tokenAuthUnsupported": "O URL de token não é suportado.",
"transcribing": "Transcrição",
"unlockRoom": "Retirar reunião $t(lockRoomPassword)",
@@ -455,6 +483,10 @@
"viewUpgradeOptions": "Ver opções de actualização",
"viewUpgradeOptionsContent": "Para obter acesso ilimitado a funcionalidades premium como gravação, transcrições, RTMP Streaming & mais, terá de actualizar o seu plano.",
"viewUpgradeOptionsTitle": "Descobriu uma característica premium!",
"whiteboardLimitContent": "Lamentamos, mas o limite de utilizadores do quadro branco foi atingido.",
"whiteboardLimitReference": "Para mais informações consultar",
"whiteboardLimitReferenceUrl": "o nosso sítio Web",
"whiteboardLimitTitle": "Restrição da utilização do quadro branco",
"yourEntireScreen": "O seu ecrã inteiro"
},
"documentSharing": {
@@ -529,7 +561,8 @@
"numbers": "Números para entrar por chamada telefónica",
"password": "$t(lockRoomPasswordUppercase): ",
"reachedLimit": "atingiu o limite do seu plano.",
"sip": "Endereços SIP",
"sip": "Endereço SIP",
"sipAudioOnly": "Endereço SIP só de áudio",
"title": "Partilhar",
"tooltip": "Partilhar link e acesso telefónico para esta reunião",
"upgradeOptions": "Por favor, verifique as opções de atualização em"
@@ -593,15 +626,15 @@
"limitNotificationDescriptionWeb": "Devido à grande procura, a sua transmissão será limitada a {{limit}} min. Para uma tentativa de streaming ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"off": "Transmissão em direto encerrada",
"offBy": "{{name}} parou a transmissão em direto",
"on": "Transmissão em Direto",
"on": "Iniciada a transmissão em direto",
"onBy": "{{name}} iniciou a transmissão em direto",
"pending": "Iniciando Transmissão em Direto...",
"pending": "Início da transmissão em direto...",
"serviceName": "Serviço de Transmissão em Direto",
"sessionAlreadyActive": "Esta sessão já está a ser gravada ou transmitida em direto.",
"signIn": "Faça login no Google",
"signInCTA": "Faça login ou insira sua chave de transmissão em Direto do YouTube.",
"signIn": "Iniciar sessão com o Google",
"signInCTA": "Inicie sessão ou introduza a sua chave de transmissão em direto do YouTube.",
"signOut": "Sair",
"signedInAs": "Está conectado como:",
"signedInAs": "Atualmente, tem sessão iniciada como:",
"start": "Iniciar uma transmissão em direto",
"streamIdHelp": "O que é isso?",
"title": "Transmissão em direto",
@@ -609,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",
@@ -636,16 +667,14 @@
"knockingParticipantList": "Lista de participantes a expulsar",
"lobbyChatStartedNotification": "{{moderator}} iniciou com {{attendee}} uma conversa na sala de espera",
"lobbyChatStartedTitle": "{{moderator}} iniciou consigo uma conversa na sala de espera.",
"lobbyClosed": "A sala de espera foi encerrada.",
"nameField": "Introduza o seu nome",
"notificationLobbyAccessDenied": "{{targetParticipantName}} foi recusada a adesão por {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} foi autorizado a aderir por {{originParticipantName}}",
"notificationLobbyDisabled": "A sala de espera foi desactivada por {{originParticipantName}}",
"notificationLobbyEnabled": "A sala de espera foi activada por {{originParticipantName}}",
"notificationTitle": "Sala de espera",
"passwordField": "Introduza a senha da reunião",
"passwordJoinButton": "Solicitar",
"reject": "Rejeitar",
"rejectAll": "Rejeitar todos",
"title": "Sala de espera",
"toggleLabel": "Ativar sala de espera"
},
@@ -701,6 +730,7 @@
"dataChannelClosed": "Deficiência na qualidade do vídeo",
"dataChannelClosedDescription": "O canal de ponte foi desconectado e, portanto, a qualidade do vídeo está limitada à sua configuração mais baixa.",
"disabledIframe": "A incorporação destina-se apenas a fins de demonstração, pelo que esta chamada será desligada em {{timeout}} minutos.",
"disabledIframeSecondary": "A incorporação de {{domain}} destina-se apenas a fins de demonstração, pelo que esta chamada será desligada em {{timeout}} minutos. Por favor, use <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a> para incorporação em produção!",
"disconnected": "desconectado",
"displayNotifications": "Mostrar notificações para",
"dontRemindMe": "Não me lembre",
@@ -776,15 +806,20 @@
"videoUnmuteBlockedDescription": "A operação de ligar a câmara e partilhar o ambiente de trabalho foi temporariamente bloqueada devido aos limites do sistema.",
"videoUnmuteBlockedTitle": "Está bloqueado ligar a câmara e partilhar o ambiente de trabalho!",
"viewLobby": "Ver sala de espera",
"waitingParticipants": "{{waitingParticipants}} pessoas"
"waitingParticipants": "{{waitingParticipants}} pessoas",
"whiteboardLimitDescription": "Guarde o seu progresso, pois o limite de utilizadores será atingido em breve e o quadro branco será encerrado.",
"whiteboardLimitTitle": "Utilização do quadro branco"
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ligar o som",
"audioModeration": "Ligar o microfone deles",
"blockEveryoneMicCamera": "Bloquear o microfone e a câmara de todos",
"breakoutRooms": "Salas simultâneas",
"invite": "Convidar alguém",
"moreModerationActions": "Mais opções de moderação",
"moreModerationControls": "Mais controlos de moderação",
@@ -792,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",
@@ -801,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}})"
},
@@ -891,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",
@@ -979,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.",
@@ -1061,6 +1101,7 @@
"alertOk": "OK",
"alertTitle": "Atenção",
"alertURLText": "A URL digitada do servidor é inválida",
"apply": "Aplicar",
"buildInfoSection": "Informações de compilação",
"conferenceSection": "Conferência",
"disableCallIntegration": "Desactivar a integração de chamadas nativas",
@@ -1071,6 +1112,7 @@
"displayNamePlaceholderText": "Ex: João Dias",
"email": "Email",
"emailPlaceholderText": "email@example.com",
"gavatarMessage": "Se o seu e-mail estiver associado a uma conta Gravatar, utilizá-la-emos para apresentar a sua imagem de perfil.",
"goTo": "Ir para",
"header": "Configurações",
"help": "Ajuda",
@@ -1103,6 +1145,7 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Pesquisar",
"searchHint": "Pesquisar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas dos Participantes",
"speakerTime": "Tempo do Participante",
@@ -1125,11 +1168,11 @@
"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",
"breakoutRoom": "Entrar/Sair da sala",
"breakoutRooms": "Salas simultâneas",
"callQuality": "Gerir a qualidade do vídeo",
"carmode": "Modo de condução",
"cc": "Mudar legendas",
@@ -1254,7 +1297,7 @@
"lobbyButtonDisable": "Desativar sala de espera",
"lobbyButtonEnable": "Ativar sala de espera",
"login": "Iniciar sessão",
"logout": "Encerrar sessão",
"logout": "Terminar sessão",
"lowerYourHand": "Baixar a mão",
"moreActions": "Mais ações",
"moreOptions": "Mais opções",

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Link da reunião: {{url}}"
},
"add": "Convidar",
"addContacts": "Convide seus contatos",
"contacts": "contatos",
@@ -39,6 +42,18 @@
"audioOnly": {
"audioOnly": "Largura de banda baixa"
},
"bandwidthSettings": {
"assumedBandwidthBps": "Ex. 10000000 para 10 Mbps",
"assumedBandwidthBpsWarning": "Valores mais altos podem causar erros de rede.",
"customValue": "valor personalizado",
"customValueEffect": "para definir o valor de bps real",
"leaveEmpty": "deixar vazio",
"leaveEmptyEffect": "para permitir que estimativas assumam",
"possibleValues": "Valores possíveis",
"setAssumedBandwidthBps": "Banda presumida (bps)",
"title": "Configurações de banda",
"zeroEffect": "para desabilitar o vídeo"
},
"breakoutRooms": {
"actions": {
"add": "Adicionar sala de apoio",
@@ -48,15 +63,22 @@
"leaveBreakoutRoom": "Sair da sala de apoio",
"more": "Mais",
"remove": "Remover",
"rename": "Renomear",
"renameBreakoutRoom": "Renomear sala de apoio",
"sendToBreakoutRoom": "Enviar participante para:"
},
"breakoutList": "Lista de apoio",
"buttonLabel": "Salas de apoio",
"defaultName": "Sala de apoio #{{index}}",
"hideParticipantList": "Ocultar lista de participantes",
"mainRoom": "Sala principal",
"notifications": {
"joined": "Entrando na sala de apoio \"{{name}}\"",
"joinedMainRoom": "Entrando na sala principal",
"joinedTitle": "Salas de apoio"
}
},
"showParticipantList": "Exibir lista de participantes",
"title": "Salas de apoio"
},
"calendarSync": {
"addMeetingURL": "Adicionar um link da reunião",
@@ -239,9 +261,12 @@
"Share": "Compartilhar",
"Submit": "Enviar",
"WaitForHostMsg": "A conferência ainda não começou. Se você é o anfitrião, faça a autenticação. Do contrário, aguarde a chegada do anfitrião.",
"WaitingForHostButton": "Aguardar por anfitrião",
"WaitingForHostTitle": "Esperando o anfitrião...",
"Yes": "Sim",
"accessibilityLabel": {
"Cancel": "Cancelar (fechar janela)",
"Ok": "OK (salvar e fechar janela)",
"close": "Fechar janela",
"liveStreaming": "Transmissão ao vivo",
"sharingTabs": "Opções de compartilhamento"
@@ -250,6 +275,8 @@
"addMeetingNote": "Adicionar uma anotação para esta reunião",
"addOptionalNote": "Adicionar uma anotação (opcional):",
"allow": "Permitir",
"allowToggleCameraDialog": "Você permite que {{initiatorName}} possa alternar entre suas câmeras?",
"allowToggleCameraTitle": "Permitir alternar câmera?",
"alreadySharedVideoMsg": "Outro participante já está compartilhando um vídeo. Esta conferência permite apenas um vídeo compartilhado por vez.",
"alreadySharedVideoTitle": "Somente um vídeo compartilhado é permitido por vez",
"applicationWindow": "Janela de aplicativo",
@@ -310,6 +337,7 @@
"lockRoom": "Adicionar reunião $t(lockRoomPasswordUppercase)",
"lockTitle": "Bloqueio falhou",
"login": "Entrar",
"loginQuestion": "Deseja iniciar a sessão e finalizar a conferência?",
"logoutQuestion": "Deseja encerrar a sessão e finalizar a conferência?",
"logoutTitle": "Encerrar sessão",
"maxUsersLimitReached": "O limite para o número máximo de participantes foi atingido. A conferência está cheia. Entre em contato com o proprietário da reunião ou tente novamente mais tarde!",
@@ -353,8 +381,6 @@
"permissionCameraRequiredError": "É necessário permitir acesso à câmera para participar de reuniões com vídeo. Ative a permissão nas configurações",
"permissionErrorTitle": "Permissão necessária",
"permissionMicRequiredError": "É necessário permitir acesso ao microfone para participar de reuniões com áudio. Ative a permissão nas configurações",
"popupError": "Seu navegador está bloqueando janelas popup deste site. Habilite os popups nas configurações de segurança no seu navegador e tente novamente.",
"popupErrorTitle": "Popup bloqueado",
"readMore": "mais...",
"recentlyUsedObjects": "Seus objetos usados recentemente",
"recording": "Gravando",
@@ -371,6 +397,8 @@
"removePassword": "Remover $t(lockRoomPassword)",
"removeSharedVideoMsg": "Deseja remover seu vídeo compartilhado?",
"removeSharedVideoTitle": "Remover vídeo compartilhado",
"renameBreakoutRoomLabel": "Nome da sala",
"renameBreakoutRoomTitle": "Renomear sala de apoio",
"reservationError": "Erro de sistema de reserva",
"reservationErrorMsg": "Código do erro: {{code}}, mensagem: {{msg}}",
"retry": "Tentar novamente",
@@ -389,9 +417,11 @@
"sendPrivateMessageOk": "Enviar em privado",
"sendPrivateMessageTitle": "Enviar em privado?",
"serviceUnavailable": "Serviço indisponível",
"sessTerminated": "Chamada terminada",
"sessionRestarted": "Chamada reiniciada pelo bridge",
"sessTerminated": "Chamada encerrada",
"sessTerminatedReason": "A chamada foi encerrada",
"sessionRestarted": "Chamada reiniciada devido a um erro de conexão.",
"shareAudio": "Continuar",
"shareAudioAltText": "para compartilhar o conteúdo desejado, acesse \"Aba de navegador\", selecione o conteúdo, ative a caixa de \"compartilhar áudio\" e então clique no botão \"compartilhar\"",
"shareAudioTitle": "Como compartilhar áudio",
"shareAudioWarningD1": "você precisa parar o compartilhamento de tela antes de compartilhar seu áudio.",
"shareAudioWarningD2": "você precisa reiniciar o compartilhamento de tela e selecionar a opção \"compartilhar áudio\".",
@@ -421,7 +451,25 @@
"thankYou": "Obrigado por usar o {{appName}}!",
"token": "token",
"tokenAuthFailed": "Desculpe, você não está autorizado a entrar nesta chamada.",
"tokenAuthFailedReason": {
"audInvalid": "Valor `aud` inválido. Deveria ser `jitsi`.",
"contextNotFound": "O objeto `context` está faltando na carga.",
"expInvalid": "Valor `exp`inválido.",
"featureInvalid": "Recurso inválido: {{feature}}, possivelmente ainda não implementado.",
"featureValueInvalid": "Valor inválido para recurso: {{feature}}.",
"featuresNotFound": "O objeto `features` está faltando na carga.",
"headerNotFound": "Cabeçalho está faltando.",
"issInvalid": "Valor `iss` inválido. Deveria ser `chat`.",
"kidMismatch": "Key ID (kid) não coincide com o sub.",
"kidNotFound": "Key ID (kid) faltando.",
"nbfFuture": "O valor `nbf` está no futuro.",
"nbfInvalid": "Valor `nbf` inválido.",
"payloadNotFound": "Carga faltando.",
"tokenExpired": "O token está expirado."
},
"tokenAuthFailedTitle": "Falha de autenticação",
"tokenAuthFailedWithReasons": "Desculpe, você não pode ingressar nesta chamada. Razões possíveis: {{reason}}",
"tokenAuthUnsupported": "Token da URL não é suportada.",
"transcribing": "Transcrevendo",
"unlockRoom": "Remove a reunião $t(lockRoomPassword)",
"user": "Usuário",
@@ -435,6 +483,10 @@
"viewUpgradeOptions": "Ver opções de atualização",
"viewUpgradeOptionsContent": "Para obter acesso ilimitado a recursos premium tais como gravação, transcrição, streaming RTMP e muito mais, você precisa atualizar seu plano.",
"viewUpgradeOptionsTitle": "Você descobriu um recurso premium!",
"whiteboardLimitContent": "Desculpe, o limite de usuários de quadro-branco simultâneos foi atingido.",
"whiteboardLimitReference": "Para mais informações por favor visite",
"whiteboardLimitReferenceUrl": "nosso website",
"whiteboardLimitTitle": "Restrição no uso do quadro-branco",
"yourEntireScreen": "Toda sua tela"
},
"documentSharing": {
@@ -447,6 +499,9 @@
"title": "Reunião em formato compacto"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Sua escolha: {{rating}}"
},
"average": "Média",
"bad": "Ruim",
"detailsLabel": "Nos conte mais sobre isso.",
@@ -507,6 +562,7 @@
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Você atingiu o limite do seu plano.",
"sip": "endereço SIP",
"sipAudioOnly": "Endereço apenas para áudio SIP",
"title": "Compartilhar",
"tooltip": "Compartilhar link e discagem para esta reunião",
"upgradeOptions": "Por favor, verifique as opções de upgrade em"
@@ -586,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",
@@ -613,16 +667,14 @@
"knockingParticipantList": "Remover lista de participantes",
"lobbyChatStartedNotification": "{{moderator}} iniciou uma conversa na sala de espera com {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} iniciou uma conversa na sala de espera com você.",
"lobbyClosed": "A sala de espera foi fechada.",
"nameField": "Informe seu nome",
"notificationLobbyAccessDenied": "{{targetParticipantName}} foi rejeitado por {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} foi aceito por {{originParticipantName}}",
"notificationLobbyDisabled": "Sala de espera foi desabilitada por {{originParticipantName}}",
"notificationLobbyEnabled": "Sala de espera foi habilitada por {{originParticipantName}}",
"notificationTitle": "Sala de espera",
"passwordField": "Informe a senha da conferência",
"passwordJoinButton": "Solicitar",
"reject": "Rejeitar",
"rejectAll": "Rejeitar todos",
"title": "Sala de espera",
"toggleLabel": "Habilitar sala de espera"
},
@@ -651,9 +703,11 @@
"participant": "Participante",
"participantStats": "Estatísticas dos Participantes",
"selectTabTitle": "🎥 Por favor selecione esta aba para gravar",
"sessionToken": "Token de Sessão",
"sessionToken": "Token de sessão",
"start": "Iniciar gravação",
"stop": "Parar a Gravação",
"stop": "Parar a gravação",
"stopping": "Parando a gravação",
"wait": "Por favor aguarde enquanto salvamos sua gravação",
"yes": "Sim"
},
"lockRoomPassword": "senha",
@@ -676,6 +730,7 @@
"dataChannelClosed": "Qualidade do vídeo prejudicada",
"dataChannelClosedDescription": "O canal da ponte foi desconectado, assim a qualidade do vídeo foi limitada a sua configuração mais baixa.",
"disabledIframe": "Incorporação destina-se apenas a fins de demonstração, assim esta chamada será desconectada em {{timeout}} minutos.",
"disabledIframeSecondary": "Incorporação de {{domain}} é apenas destinado para fins de demonstração, então esta chamada será desconectada em {{timeout}} minutos. Por favor use o <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a> para incorporação em produção!",
"disconnected": "desconectado",
"displayNotifications": "Exibir notificações para",
"dontRemindMe": "Não me lembrar",
@@ -722,7 +777,6 @@
"newDeviceCameraTitle": "Nova câmera detectada",
"noiseSuppressionDesktopAudioDescription": "A supressão de ruído não pode ser habilitada enquanto compartilha o áudio da área de trabalho. Por favor desabilite e tente novamente.",
"noiseSuppressionFailedTitle": "Falha ao iniciar a supressão de ruído",
"noiseSuppressionNoTrackDescription": "Por favor ative o microfone antes.",
"noiseSuppressionStereoDescription": "Supressão de ruído de áudio estéreo não é suportado no momento.",
"oldElectronClientDescription1": "Você está usando um versão antiga do cliente Jitsi Meet que possui uma conhecida vulnerabilidade de segurança. Por favor tenha certeza de atulizar para a nossa ",
"oldElectronClientDescription2": "última versão",
@@ -752,15 +806,20 @@
"videoUnmuteBlockedDescription": "A liberação da câmera e compartilhamento de tela foram temporariamente bloqueados devido a limites do sistema.",
"videoUnmuteBlockedTitle": "Câmera e compartilhamento de tela bloqueados!",
"viewLobby": "Ver sala de espera",
"waitingParticipants": "{{waitingParticipants}} pessoas"
"waitingParticipants": "{{waitingParticipants}} pessoas",
"whiteboardLimitDescription": "Por favor, salve seu progresso pois o limite de usuários logo será atingido e o quadro-branco será fechado.",
"whiteboardLimitTitle": "Uso do quadro-branco"
},
"participantsPane": {
"actions": {
"admit": "Aceitar",
"admitAll": "Aceitar todos",
"allow": "Permitir aos participantes:",
"allowVideo": "Permitir vídeo",
"askUnmute": "Pedir para ativar som",
"audioModeration": "Reativarem seus sons",
"blockEveryoneMicCamera": "Bloquear microfone e câmera de todos",
"breakoutRooms": "Salas de apoio",
"invite": "Convidar alguém",
"moreModerationActions": "Mais opções de moderação",
"moreModerationControls": "Mais controles de moderação",
@@ -768,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",
@@ -937,7 +997,7 @@
"limitNotificationDescriptionNative": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Devido a demanda, sua gravação ficará limitada a {{limit}} minutos. Para gravação ilimitada tente <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Geramos um link para sua gravação.",
"live": "AOVIVO",
"live": "AO VIVO",
"localRecordingNoNotificationWarning": "A gravação não será anunciada aos outros participantes. Você precisará avisá-los que a reunião está sendo gravada.",
"localRecordingNoVideo": "O vídeo não está sendo gravado",
"localRecordingStartWarning": "Por favor, certifique-se de ter parado a gravação antes de sair da reunião para garantir que será salva.",
@@ -1037,6 +1097,7 @@
"alertOk": "OK",
"alertTitle": "Atenção",
"alertURLText": "A URL digitada do servidor é inválida",
"apply": "Aplicar",
"buildInfoSection": "Informações de compilação",
"conferenceSection": "Conferência",
"disableCallIntegration": "Desativar integração de chamada nativa",
@@ -1047,12 +1108,14 @@
"displayNamePlaceholderText": "Ex: João Silva",
"email": "Email",
"emailPlaceholderText": "email@exemplo.com.br",
"gavatarMessage": "Se seu email está associado com uma conta Gravatar, o usaremos para exibir sua foto de perfil.",
"goTo": "Ir para",
"header": "Configurações",
"help": "Ajuda",
"links": "Links",
"privacy": "Privacidade",
"profileSection": "Perfil",
"sdkVersion": "Versão do SDK",
"serverURL": "URL do servidor",
"showAdvanced": "Mostrar configurações avançadas",
"startCarModeInLowBandwidthMode": "Iniciar modo carro em modo de banda baixa",
@@ -1078,6 +1141,7 @@
"neutral": "Neutro",
"sad": "Triste",
"search": "Busca",
"searchHint": "Buscar participantes",
"seconds": "{{count}}s",
"speakerStats": "Estatísticas do apresentador",
"speakerTime": "Tempo do apresentador",
@@ -1104,7 +1168,7 @@
"audioOnly": "Alternar para apenas áudio",
"audioRoute": "Selecionar o dispositivo de som",
"boo": "Vaia",
"breakoutRoom": "Entrar/sair da sala de apoio",
"breakoutRooms": "Entrar/sair da sala de apoio",
"callQuality": "Gerenciar qualidade do vídeo",
"carmode": "Modo carro",
"cc": "Alternar legendas",
@@ -1132,7 +1196,7 @@
"hangup": "Sair da chamada",
"heading": "Barra de ferramentas",
"help": "Ajuda",
"hideWhiteboard": "Ocultar quadro branco",
"hideWhiteboard": "Ocultar quadro-branco",
"invite": "Convidar pessoas",
"kick": "Remover participante",
"laugh": "Risada",
@@ -1173,7 +1237,7 @@
"sharedvideo": "Alternar compartilhamento de vídeo",
"shortcuts": "Alternar atalhos",
"show": "Mostrar no palco",
"showWhiteboard": "Exibir quadro branco",
"showWhiteboard": "Exibir quadro-branco",
"silence": "Silenciar",
"speakerStats": "Alternar estatísticas do apresentador",
"stopScreenSharing": "Parar de compartilhar sua tela",
@@ -1218,7 +1282,7 @@
"giphy": "Alternar menu do GIPHY",
"hangup": "Sair",
"help": "Ajuda",
"hideWhiteboard": "Ocultar quadro branco",
"hideWhiteboard": "Ocultar quadro-branco",
"invite": "Convidar pessoas",
"joinBreakoutRoom": "Ingressar na sala de apoio",
"laugh": "Risada",
@@ -1266,7 +1330,7 @@
"shareaudio": "Compartilhar áudio",
"sharedvideo": "Compartilhar um vídeo",
"shortcuts": "Ver atalhos",
"showWhiteboard": "Exibir quadro branco",
"showWhiteboard": "Exibir quadro-branco",
"silence": "Silêncio",
"speakerStats": "Estatísticas do Apresentador",
"startScreenSharing": "Iniciar compart. de tela",
@@ -1371,6 +1435,10 @@
"videomute": "O participante parou a câmera"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Fundo atual: {{background}}",
"selectBackground": "Selecionar um fundo"
},
"addBackground": "Adicionar novo fundo",
"apply": "Aplicar",
"backgroundEffectError": "Falha ao aplicar efeito de fundo.",
@@ -1457,7 +1525,7 @@
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Quadro branco"
"heading": "Quadro-branco"
}
}
}

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

@@ -391,7 +391,7 @@
"serviceUnavailable": "Tjänsten otillgänglig",
"sessTerminated": "Konferensen avslutades",
"sessionRestarted": "Samtal återstartat av bryggan",
"shareAudio": "Forstätt",
"shareAudio": "Fortsätt",
"shareAudioTitle": "Hur man delar ljud",
"shareAudioWarningD1": "Du måste avsluta din skärmdelning innan du kan dela ditt ljud",
"shareAudioWarningD2": "Du måste starta om din skärmdelning och därefter klicka på \"ljuddelning\"",
@@ -427,13 +427,13 @@
"user": "Användare",
"userIdentifier": "Användar-ID",
"userPassword": "Lösenord",
"verifyParticipantConfirm": "Dem matchar",
"verifyParticipantDismiss": "Dem matchar inte",
"verifyParticipantConfirm": "De matchar",
"verifyParticipantDismiss": "De matchar inte",
"verifyParticipantQuestion": "EXPERIMENTELLT: Fråga deltagaren; {{participantName}} om han/hon kan se samma innehåll, i samma ordning.",
"verifyParticipantTitle": "Användarverifikation",
"videoLink": "Videolänk",
"viewUpgradeOptions": "Se uppgraderings alternativ",
"viewUpgradeOptionsContent": "För att få obegränsad tillgång till premiumfunktioner som inspelning, transkriptioner, RTMP -streaming och mer måste du uppgradera din plan.",
"viewUpgradeOptionsContent": "För att få obegränsad tillgång till premiumfunktioner som inspelning, transkriptioner, RTMP-streaming och mer måste du uppgradera din plan.",
"viewUpgradeOptionsTitle": "Du upptäckte en premiumfunktion!",
"yourEntireScreen": "Helskärm"
},
@@ -458,7 +458,7 @@
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Videomineatyrer"
"heading": "Videominiatyrer"
}
},
"giphy": {
@@ -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",
@@ -1278,7 +1278,7 @@
"tileViewToggle": "Öppna eller stäng panelvyn",
"toggleCamera": "Byta kamera",
"unmute": "Slå på ljud",
"videoSettings": "Video inställningar",
"videoSettings": "Videoinställningar",
"videomute": "Inaktivera kameran",
"videounmute": "Aktivera kameran"
},
@@ -1346,9 +1346,9 @@
"videothumbnail": {
"connectionInfo": "Anslutningsinformation",
"domute": "Tysta",
"domuteOthers": "Inkativerad ljud för alla andra",
"domuteOthers": "Inaktivera ljud för alla andra",
"domuteVideo": "Inaktivera kamera",
"domuteVideoOfOthers": "Inkativera kamera för alla andra",
"domuteVideoOfOthers": "Inaktivera kamera för alla andra",
"flip": "Vänd",
"grantModerator": "Godkänn moderator",
"hideSelfView": "Dölj självvyn",

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",
@@ -1251,7 +1251,7 @@
"pending": "{{displayName}} davet edildi"
},
"videoStatus": {
"adjustFor": "Ayala:",
"adjustFor": "Ayarla:",
"audioOnly": "SES",
"audioOnlyExpanded": "Yalnızca ses modundasınız. Bu mod bant genişliğinden tasarruf sağlar, ancak başkalarının videolarını göremezsiniz.",
"bestPerformance": "En iyi performans",

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

@@ -1,7 +1,7 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "會議連結: {{url}}"
"meetingLink": "會議連結:{{url}}"
},
"add": "邀請",
"addContacts": "邀請您的聯絡人",
@@ -16,7 +16,7 @@
"failedToAdd": "加入與會者失敗",
"googleEmail": "Google Email",
"inviteMoreHeader": "目前只有您一個人在會議中",
"inviteMoreMailSubject": "加入{{appName}}會議",
"inviteMoreMailSubject": "加入 {{appName}} 會議",
"inviteMorePrompt": "邀請更多人",
"linkCopied": "已將連結複製至剪貼簿",
"noResults": "沒有符合的搜尋結果",
@@ -29,7 +29,7 @@
"sipAddresses": "SIP 位址",
"telephone": "電話號碼:{{number}}",
"title": "邀請他人至會議",
"yahooEmail": "Yahoo! Email"
"yahooEmail": "Yahoo Email"
},
"audioDevices": {
"bluetooth": "藍牙",
@@ -56,24 +56,29 @@
},
"breakoutRooms": {
"actions": {
"add": "新增討論室",
"autoAssign": "自動分配至討論室",
"add": "新增分組討論室",
"autoAssign": "自動分配至分組討論室",
"close": "關閉",
"join": "加入",
"leaveBreakoutRoom": "離開討論室",
"leaveBreakoutRoom": "離開分組討論室",
"more": "更多",
"remove": "移除",
"rename": "重新命名",
"renameBreakoutRoom": "重新命名討論室",
"renameBreakoutRoom": "重新命名分組討論室",
"sendToBreakoutRoom": "將與會者移至:"
},
"breakoutList": "分組討論室列表",
"buttonLabel": "分組討論室",
"defaultName": "分組討論室 #{{index}}",
"hideParticipantList": "隱藏與會者列表",
"mainRoom": "主會議室",
"notifications": {
"joined": "正在加入「{{name}}」分組討論室",
"joinedMainRoom": "正在加入主會議室",
"joinedTitle": "分組討論室"
}
},
"showParticipantList": "顯示與會者列表",
"title": "分組討論室"
},
"calendarSync": {
"addMeetingURL": "增加會議連結",
@@ -107,11 +112,11 @@
"enter": "加入聊天室",
"error": "錯誤:您的訊息未被傳送。原因:{{error}}",
"fieldPlaceHolder": "在此輸入您的訊息",
"lobbyChatMessageTo": "大廳聊天訊息傳送至{{recipient}}",
"lobbyChatMessageTo": "大廳聊天訊息傳送至 {{recipient}}",
"message": "訊息",
"messageAccessibleTitle": "{{user}}:",
"messageAccessibleTitleMe": "說:",
"messageTo": "傳送私人訊息至{{recipient}}",
"messageAccessibleTitleMe": "我:",
"messageTo": "傳送私人訊息至 {{recipient}}",
"messagebox": "輸入訊息",
"newMessages": "新訊息",
"nickname": {
@@ -120,7 +125,7 @@
"titleWithPolls": "輸入名稱來使用聊天與投票"
},
"noMessagesMessage": "此會議尚無訊息,在此開始對話聊天!",
"privateNotice": "傳送私人訊息至{{recipient}}",
"privateNotice": "傳送私人訊息至 {{recipient}}",
"sendButton": "傳送",
"smileysPanel": "Emoji 面板",
"tabs": {
@@ -133,7 +138,7 @@
},
"chromeExtensionBanner": {
"buttonText": "安裝 Chrome 擴充功能",
"buttonTextEdge": "安裝 Edge 外掛程式",
"buttonTextEdge": "安裝 Edge 擴充功能",
"close": "關閉",
"dontShowAgain": "不要再問了",
"installExtensionText": "安裝適用於 Google 行事曆及 Office 365 整合的擴充功能"
@@ -151,14 +156,14 @@
"DISCONNECTED": "已斷線",
"DISCONNECTING": "中斷連接中",
"ERROR": "錯誤",
"FETCH_SESSION_ID": "正在取得工作階段ID...",
"GET_SESSION_ID_ERROR": "取得工作階段ID時發生錯誤:{{code}}",
"GOT_SESSION_ID": "正在取得工作階段ID...完成",
"LOW_BANDWIDTH": "已關閉{{displayName}}的視訊以節省流量"
"FETCH_SESSION_ID": "正在取得工作階段 ID...",
"GET_SESSION_ID_ERROR": "取得工作階段 ID 時發生錯誤:{{code}}",
"GOT_SESSION_ID": "正在取得工作階段 ID... 完成",
"LOW_BANDWIDTH": "已關閉 {{displayName}} 的視訊以節省頻寬"
},
"connectionindicator": {
"address": "位址:",
"audio_ssrc": "音訊SSRC:",
"audio_ssrc": "音訊 SSRC:",
"bandwidth": "預估頻寬:",
"bitrate": "連線速率:",
"bridgeCount": "伺服器數量:",
@@ -175,7 +180,7 @@
"more": "顯示更多",
"no": "否",
"packetloss": "封包遺失率:",
"participant_id": "與會者ID:",
"participant_id": "與會者 ID:",
"quality": {
"good": "良好",
"inactive": "閒置",
@@ -192,7 +197,7 @@
"status": "連線狀態:",
"transport": "傳輸協定:",
"transport_plural": "傳輸:",
"video_ssrc": "視訊SSRC:",
"video_ssrc": "視訊 SSRC:",
"yes": "是"
},
"dateUtils": {
@@ -201,33 +206,33 @@
"yesterday": "昨天"
},
"deepLinking": {
"appNotInstalled": "您需要在手機上安裝{{app}}行動應用程式才能加入這場會議。",
"description": "什麼事情都沒發生?我們已嘗試在您的{{app}}桌面應用程式開啟會議。請再試一次,或是在{{app}}網路應用程式開啟會議。",
"descriptionNew": "什麼事情都沒發生?我們已嘗試在您的{{app}}桌面應用程式開啟會議。<br /><br />您可以再試一次,或在網頁上啟動。",
"descriptionWithoutWeb": "什麼事情都沒發生?我們已試著將您的會議在桌面應用程式{{app}}中啟動。",
"downloadApp": "下載App",
"downloadMobileApp": "從App Store下載",
"ifDoNotHaveApp": "如果您尚未安裝App:",
"ifHaveApp": "如果您已經安裝此App:",
"joinInApp": "使用App加入會議",
"joinInAppNew": "在APP中加入",
"appNotInstalled": "您需要在手機上安裝 {{app}} 應用程式才能加入這場會議。",
"description": "什麼事情都沒發生?我們已嘗試在您的 {{app}} 桌面應用程式開啟會議。請再試一次,或是在 {{app}} 網頁應用程式開啟會議。",
"descriptionNew": "什麼事情都沒發生?我們已嘗試在您的 {{app}} 桌面應用程式開啟會議。<br /><br />您可以再試一次,或在網頁上啟動。",
"descriptionWithoutWeb": "什麼事情都沒發生?我們已試著將您的會議在桌面應用程式 {{app}} 中啟動。",
"downloadApp": "下載應用程式",
"downloadMobileApp": "從 App Store 下載",
"ifDoNotHaveApp": "如果您尚未安裝應用程式:",
"ifHaveApp": "如果您已經安裝應用程式:",
"joinInApp": "使用應用程式加入會議",
"joinInAppNew": "在應用程式中加入",
"joinInBrowser": "在瀏覽器中加入",
"launchMeetingLabel": "您想如何加入此會議?",
"launchWebButton": "在瀏覽器開啟",
"noMobileApp": "您尚未安裝該APP?",
"noMobileApp": "您尚未安裝該應用程式?",
"termsAndConditions": "繼續操作即表示您同意我們的<a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>條款與條件。</a>",
"title": "正在{{app}}發起您的會議...",
"titleNew": "正在啟動您的會議...",
"title": "正在 {{app}} 開啟您的會議...",
"titleNew": "正在開啟您的會議...",
"tryAgainButton": "在桌面上再試一次",
"unsupportedBrowser": "您似乎正在使用我們不支援的瀏覽器"
"unsupportedBrowser": "您似乎正在使用我們不支援的瀏覽器。"
},
"defaultLink": "例如{{url}}",
"defaultNickname": "例如:Jane Pink",
"defaultLink": "例如 {{url}}",
"defaultNickname": "例如:王小明",
"deviceError": {
"cameraError": "無法存取您的網路攝影機",
"cameraPermission": "獲取網路攝影機權限時發生錯誤",
"cameraPermission": "取得網路攝影機權限時發生錯誤",
"microphoneError": "無法存取您的麥克風",
"microphonePermission": "獲取麥克風權限時發生錯誤"
"microphonePermission": "取得麥克風權限時發生錯誤"
},
"deviceSelection": {
"hid": {
@@ -239,13 +244,13 @@
"noPermission": "未取得權限",
"previewUnavailable": "無法預覽",
"selectADevice": "選擇裝置",
"testAudio": "播放測試聲音"
"testAudio": "測試"
},
"dialIn": {
"screenTitle": "通話記錄"
},
"dialOut": {
"statusMessage": "現在狀態為{{status}}"
"statusMessage": "現在狀態為 {{status}}"
},
"dialog": {
"Back": "返回",
@@ -256,6 +261,7 @@
"Share": "分享",
"Submit": "送出",
"WaitForHostMsg": "此會議尚未開始,如果您是會議主持人,請進行認證並以主持人身分開始會議。",
"WaitingForHostButton": "等待主持人",
"WaitingForHostTitle": "正在等候主持人加入...",
"Yes": "是",
"accessibilityLabel": {
@@ -269,6 +275,8 @@
"addMeetingNote": "新增此會議的備註",
"addOptionalNote": "新增備註(選填):",
"allow": "允許",
"allowToggleCameraDialog": "您要允許 {{initiatorName}} 切換您的鏡頭朝向嗎?",
"allowToggleCameraTitle": "要允許切換鏡頭嗎?",
"alreadySharedVideoMsg": "其他與會者正在分享影像,同一時間只有一個與會者可以分享影像螢幕。",
"alreadySharedVideoTitle": "同一時間只允許一位影像分享",
"applicationWindow": "應用程式視窗",
@@ -277,14 +285,14 @@
"cameraNotFoundError": "找不到網路攝影機。",
"cameraNotSendingData": "我們無法存取您的網路攝影機,請檢查是否有其他應用程式正在使用這個裝置,並從裝置選單裡選擇其他設備或者重新載入。",
"cameraNotSendingDataTitle": "無法存取網路攝影機",
"cameraPermissionDeniedError": "未取得網路攝影機的存取權,您仍可參加會議,但其他人無法看到你。按一下網址列中的「攝影機」圖示 ,然後選取「一律允許」選項。",
"cameraPermissionDeniedError": "未取得網路攝影機的存取權,您仍可參加會議,但其他人無法看到您。按一下網址列中的「攝影機」圖示 ,然後選取「一律允許」選項。",
"cameraTimeoutError": "無法啟動視訊裝置,連線逾時!",
"cameraUnknownError": "由於不明原因,無法存取網路攝影機。",
"cameraUnsupportedResolutionError": "您的網路攝影機不支援所需的影像解析度。",
"close": "關閉",
"conferenceDisconnectMsg": "請檢查一下網路連線,將在{{seconds}}秒後重新連接...",
"conferenceDisconnectMsg": "請檢查一下網路連線,將在 {{seconds}} 秒後重新連接...",
"conferenceDisconnectTitle": "您已經被中斷連接。",
"conferenceReloadMsg": "我們正試著修復狀況,將在{{seconds}}秒後重新連接...",
"conferenceReloadMsg": "我們正試著修復狀況,將在 {{seconds}} 秒後重新連接...",
"conferenceReloadTitle": "喔哦!好像有東西壞掉囉。",
"confirm": "確認",
"confirmNo": "否",
@@ -298,7 +306,7 @@
"dismiss": "取消",
"displayNameRequired": "嗨!請問大名?",
"done": "完成",
"e2eeDescription": "請注意,端對端加密目前是實驗性功能,啟用端對端加密將停用部分伺服器端提供的服務,例如:透過電話加入會議。另外,透過網頁版加入會議還需要使用支援Insertable Streams的瀏覽器。",
"e2eeDescription": "請注意,端對端加密目前是實驗性功能,啟用端對端加密將停用部分伺服器端提供的服務,例如:透過電話加入會議。另外,透過網頁版加入會議還需要使用支援 Insertable Streams 的瀏覽器。",
"e2eeDisabledDueToMaxModeDescription": "由於會議中的人數過多,故無法啟用端對端加密。",
"e2eeLabel": "啟用端對端加密",
"e2eeWarning": "警告:看來此會議中不是每位與會者都啟用了端對端加密,如果您啟用了,他們可能無法看或聽到您。",
@@ -307,7 +315,7 @@
"enterDisplayName": "請在此輸入您自己的名字",
"error": "錯誤",
"gracefulShutdown": "服務目前正在維護中,請稍後再試。",
"grantModeratorDialog": "您確定要授予{{participantName}}主持人權限嗎?",
"grantModeratorDialog": "您確定要授予 {{participantName}} 主持人權限嗎?",
"grantModeratorTitle": "授予主持人權限",
"hide": "隱藏",
"hideShareAudioHelper": "不再顯示",
@@ -315,16 +323,16 @@
"incorrectRoomLockPassword": "密碼不符",
"internalError": "喔哦!出現了點問題,發生錯誤:{{error}}",
"internalErrorTitle": "內部錯誤",
"kickMessage": "您可以聯絡{{participantDisplayName}}取得更詳細資訊。",
"kickMessage": "您可以聯絡 {{participantDisplayName}} 取得更詳細資訊。",
"kickParticipantButton": "移除",
"kickParticipantDialog": "您確定要將這位與會者移除嗎?",
"kickParticipantTitle": "移除這位與會者?",
"kickTitle": "噢!{{participantDisplayName}}將您從會議中移除",
"kickTitle": "噢!{{participantDisplayName}} 將您從會議中移除",
"linkMeeting": "連結會議",
"linkMeetingTitle": "將會議連結至 Salesforce",
"liveStreaming": "直播串流中",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "正在錄製,無法使用",
"localUserControls": "本地使用者控制",
"localUserControls": "本機使用者控制",
"lockMessage": "無法鎖定會議。",
"lockRoom": "新增會議 $t(lockRoomPasswordUppercase)",
"lockTitle": "鎖定失敗",
@@ -346,9 +354,9 @@
"muteEveryoneDialog": "與會者可以隨時解除自己的靜音狀態。",
"muteEveryoneDialogModerationOn": "與會者可以隨時請求發言。",
"muteEveryoneElseDialog": "靜音後,您就不能再解除對方的靜音,但對方可以隨時解除自己的靜音狀態。",
"muteEveryoneElseTitle": "是否要讓除了{{whom}}以外的人靜音?",
"muteEveryoneElseTitle": "是否要讓除了 {{whom}} 以外的人靜音?",
"muteEveryoneElsesVideoDialog": "一旦停用,您就不能再重新開啟對方的網路攝影機,但對方隨時能重新開啟自己的網路攝影機。",
"muteEveryoneElsesVideoTitle": "是否要關閉除了{{whom}}以外的人的網路攝影機?",
"muteEveryoneElsesVideoTitle": "是否要關閉除了 {{whom}} 以外的人的網路攝影機?",
"muteEveryoneSelf": "您自己",
"muteEveryoneStartMuted": "現在所有人皆已靜音",
"muteEveryoneTitle": "要將所有人靜音嗎?",
@@ -364,12 +372,12 @@
"muteParticipantsVideoDialog": "確定要停用這位與會者的網路攝影機?您不能再重新開啟對方的網路攝影機,但他們隨時能重新開啟。",
"muteParticipantsVideoDialogModerationOn": "您確定要關閉此與會者的網路攝影機嗎?您和他都無法再將視訊重新開啟。",
"muteParticipantsVideoTitle": "要關閉此與會者的網路攝影機嗎?",
"noDropboxToken": "沒有有效的 Dropbox token",
"noDropboxToken": "沒有有效的 Dropbox 權杖",
"password": "密碼",
"passwordLabel": "會議已被一位與會者鎖定,請輸入$t(lockRoomPassword)以加入。",
"passwordNotSupported": "尚未支援設定會議$t(lockRoomPassword)。",
"passwordNotSupportedTitle": "尚未支援$t(lockRoomPasswordUppercase)",
"passwordRequired": "需要$t(lockRoomPasswordUppercase)",
"passwordLabel": "會議已被一位與會者鎖定,請輸入 $t(lockRoomPassword) 以加入。",
"passwordNotSupported": "尚未支援設定會議 $t(lockRoomPassword)。",
"passwordNotSupportedTitle": "尚未支援 $t(lockRoomPasswordUppercase)",
"passwordRequired": "需要 $t(lockRoomPasswordUppercase)",
"permissionCameraRequiredError": "參與視訊會議需要存取網路攝影機,請在設定中啟用權限",
"permissionErrorTitle": "需要權限",
"permissionMicRequiredError": "參與音訊會議需要存取麥克風,請在設定中啟用權限",
@@ -378,19 +386,19 @@
"recording": "錄製中",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "正在直播時無法使用",
"rejoinNow": "立即重新加入",
"remoteControlAllowedMessage": "{{user}}接受您進行遠端控制的請求!",
"remoteControlDeniedMessage": "{{user}}拒絕您進行遠端控制的請求!",
"remoteControlErrorMessage": "在嘗試向{{user}}請求遠端控制權限時發生錯誤!",
"remoteControlRequestMessage": "您要允許{{user}}遠端控制您的桌面嗎?",
"remoteControlAllowedMessage": "{{user}} 接受您進行遠端控制的請求!",
"remoteControlDeniedMessage": "{{user}} 拒絕您進行遠端控制的請求!",
"remoteControlErrorMessage": "在嘗試向 {{user}} 請求遠端控制權限時發生錯誤!",
"remoteControlRequestMessage": "您要允許 {{user}} 遠端控制您的桌面嗎?",
"remoteControlShareScreenWarning": "請注意:如果按下「允許」您將會分享自己的螢幕!",
"remoteControlStopMessage": "遠端控制會話已結束!",
"remoteControlTitle": "遠端桌面控制",
"remoteUserControls": "{{username}}的遠端使用者控制",
"remoteUserControls": "{{username}} 的遠端使用者控制",
"removePassword": "移除 $t(lockRoomPassword)",
"removeSharedVideoMsg": "您確定要移除您分享的影像嗎?",
"removeSharedVideoTitle": "移除分享的影像",
"renameBreakoutRoomLabel": "討論室名稱",
"renameBreakoutRoomTitle": "重新命名討論室",
"renameBreakoutRoomLabel": "分組討論室名稱",
"renameBreakoutRoomTitle": "重新命名分組討論室",
"reservationError": "預約系統錯誤",
"reservationErrorMsg": "錯誤代碼:{{code}},訊息:{{msg}}",
"retry": "重試",
@@ -410,6 +418,7 @@
"sendPrivateMessageTitle": "私人回覆?",
"serviceUnavailable": "服務無法使用",
"sessTerminated": "通話已經終止",
"sessTerminatedReason": "會議已經終止",
"sessionRestarted": "通話因連線問題重新啟動。",
"shareAudio": "繼續",
"shareAudioTitle": "如何分享音訊",
@@ -438,7 +447,7 @@
"stopRecordingWarning": "確定要停用錄製嗎?",
"stopStreamingWarning": "確定要停止直播串流嗎?",
"streamKey": "直播串流金鑰",
"thankYou": "感謝您使用{{appName}}!",
"thankYou": "感謝您使用 {{appName}}!",
"token": "token",
"tokenAuthFailed": "抱歉,您未被允許加入這個通話。",
"tokenAuthFailedReason": {
@@ -450,29 +459,33 @@
"featuresNotFound": "`context` 未在負載中找到。",
"headerNotFound": "標頭缺失。",
"issInvalid": "無效的`iss`值,應為`chat`。",
"kidMismatch": "金鑰ID(kid)與子項不符。",
"kidNotFound": "缺少金鑰ID(kid)。",
"kidMismatch": "金鑰 ID(kid)與子項不符。",
"kidNotFound": "缺少金鑰 ID(kid)。",
"nbfFuture": "`nbf`值在未來。",
"nbfInvalid": "無效的`nbf`值。",
"payloadNotFound": "未找到負載。",
"tokenExpired": "Token已過期。"
"payloadNotFound": "負載缺失。",
"tokenExpired": "權杖已過期。"
},
"tokenAuthFailedTitle": "驗證失敗",
"tokenAuthFailedWithReasons": "抱歉,您無法參加這個通話,可能原因:{{reason}}",
"tokenAuthUnsupported": "不支援的令牌位址。",
"tokenAuthUnsupported": "不支援權杖網址。",
"transcribing": "轉錄中",
"unlockRoom": "移除會議 $t(lockRoomPassword)",
"user": "使用者",
"userIdentifier": "使用者ID",
"userIdentifier": "使用者 ID",
"userPassword": "使用者密碼",
"verifyParticipantConfirm": "符合",
"verifyParticipantDismiss": "不符合",
"verifyParticipantQuestion": "實驗性功能:詢問與會者{{participantName}}是否以相同順序看到相同內容。",
"verifyParticipantQuestion": "實驗性功能:詢問與會者 {{participantName}} 是否以相同順序看到相同內容。",
"verifyParticipantTitle": "使用者驗證",
"videoLink": "影片連結",
"viewUpgradeOptions": "查看升級方案",
"viewUpgradeOptionsContent": "若要不受限制地使用錄製、逐字稿、RTMP 串流等進階版功能,您需要升級您的方案。",
"viewUpgradeOptionsTitle": "您找到了進階版功能!",
"whiteboardLimitContent": "抱歉,已達到白板使用者限制。",
"whiteboardLimitReference": "若要了解詳情,請前往",
"whiteboardLimitReferenceUrl": "我們的網站",
"whiteboardLimitTitle": "白板使用受限",
"yourEntireScreen": "您的整個螢幕"
},
"documentSharing": {
@@ -521,7 +534,7 @@
"copyNumber": "複製號碼",
"country": "國家",
"dialANumber": "若要參加您的會議,請撥打以下其中一支號碼,然後輸入 PIN 碼。",
"dialInConferenceID": "PIN碼:",
"dialInConferenceID": "PIN 碼:",
"dialInNotSupported": "抱歉,目前不支援電話撥入。",
"dialInNumber": "撥入:",
"dialInSummaryError": "目前解析撥入資訊錯誤,請稍後再試一次。",
@@ -536,7 +549,7 @@
"inviteTextiOSPersonal": "{{name}}邀請您加入會議。",
"inviteTextiOSPhone": "若要透過電話加入,請使用此號碼:{{number}},,{{conferenceID}}#。如果您需要其他號碼,點擊此連結以檢視完整列表:{{didUrl}}。",
"inviteURLFirstPartGeneral": "您受邀參加會議。",
"inviteURLFirstPartPersonal": "{{name}}正在邀請您加入會議。\n",
"inviteURLFirstPartPersonal": "{{name}} 正在邀請您加入會議。\n",
"inviteURLSecondPart": "\n加入會議:\n{{url}}\n",
"label": "撥入資訊",
"liveStreamURL": "直播串流:",
@@ -547,7 +560,8 @@
"numbers": "撥入號碼",
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "您已達到您的方案上限",
"sip": "SIP位址",
"sip": "SIP 位址",
"sipAudioOnly": "SIP 僅音訊位址",
"title": "分享",
"tooltip": "顯示此會議的連結及電話撥入號碼",
"upgradeOptions": "請查看升級選項於"
@@ -566,7 +580,7 @@
"searchPlaceholder": "與會者或電話號碼",
"send": "傳送"
},
"jitsiHome": "{{logo}}商標,首頁連結",
"jitsiHome": "{{logo}} 商標,首頁連結",
"keyboardShortcuts": {
"focusLocal": "聚焦於自己的影像",
"focusRemote": "聚焦於另一人的影像",
@@ -594,11 +608,11 @@
"busyTitle": "全部直播設備正在忙碌",
"changeSignIn": "切換帳號",
"choose": "選擇直播串流",
"chooseCTA": "請選擇直播串流選項,您目前是以{{email}}身份登入。",
"chooseCTA": "請選擇直播串流選項,您目前是以 {{email}} 身份登入。",
"enterStreamKey": "在此輸入您的 YouTube 直播串流金鑰。",
"error": "直播串流失敗,請重試。",
"errorAPI": "在存取您的 YouTube 直播時發生問題,請重新登入。",
"errorLiveStreamNotEnabled": "直播在{{email}}尚未啟用,請開啟直播串流或登入有啟用直播串流的帳號。",
"errorLiveStreamNotEnabled": "直播在 {{email}} 尚未啟用,請開啟直播串流或登入有啟用直播串流的帳號。",
"expandedOff": "直播已停用",
"expandedOn": "會議目前正在 YouTube 上直播。",
"expandedPending": "直播串流正被啟動...",
@@ -607,12 +621,12 @@
"googlePrivacyPolicy": "Google 隱私權政策",
"inProgress": "正在錄製或直播",
"invalidStreamKey": "直播串流金鑰可能不正確。",
"limitNotificationDescriptionNative": "您的最大直播長度將被限制在{{limit}}分鐘,若要不受限的直播,請使用{{app}}。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的最大直播長度將被限制在{{limit}}分鐘。若要不受限的直播,請使用<a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"limitNotificationDescriptionNative": "您的最大直播長度將被限制在 {{limit}} 分鐘,若要不受限的直播,請使用 {{app}}。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的最大直播長度將被限制在 {{limit}} 分鐘。若要不受限的直播,請使用 <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"off": "直播串流已停用",
"offBy": "{{name}}停用了直播串流",
"offBy": "{{name}} 停用了直播串流",
"on": "直播串流已啟動",
"onBy": "{{name}}啟動了直播串流",
"onBy": "{{name}} 啟動了直播串流",
"pending": "啟動直播串流...",
"serviceName": "直播串流服務",
"sessionAlreadyActive": "已在錄製或直播此工作階段。",
@@ -627,8 +641,6 @@
"youtubeTerms": "YouTube 服務條款"
},
"lobby": {
"admit": "準許",
"admitAll": "準許所有人",
"backToKnockModeButton": "請求加入",
"chat": "聊天",
"dialogTitle": "大廳模式",
@@ -652,18 +664,16 @@
"knockButton": "請求加入",
"knockTitle": "有人想要加入會議",
"knockingParticipantList": "請求加入的與會者名單",
"lobbyChatStartedNotification": "{{moderator}}與{{attendee}}開始在大廳中聊天",
"lobbyChatStartedTitle": "{{moderator}}與您開始在大廳中聊天。",
"lobbyChatStartedNotification": "{{moderator}} 與 {{attendee}} 開始在大廳中聊天",
"lobbyChatStartedTitle": "{{moderator}} 與您開始在大廳中聊天。",
"nameField": "輸入您的名字",
"notificationLobbyAccessDenied": "{{originParticipantName}}拒絕了{{targetParticipantName}}的加入請求",
"notificationLobbyAccessGranted": "{{originParticipantName}}同意了{{targetParticipantName}}的加入請求",
"notificationLobbyDisabled": "{{originParticipantName}}已停用大廳模式",
"notificationLobbyEnabled": "{{originParticipantName}}已啟用大廳模式",
"notificationLobbyAccessDenied": "{{originParticipantName}} 拒絕了 {{targetParticipantName}} 的加入請求",
"notificationLobbyAccessGranted": "{{originParticipantName}} 同意了 {{targetParticipantName}} 的加入請求",
"notificationLobbyDisabled": "{{originParticipantName}} 已停用大廳模式",
"notificationLobbyEnabled": "{{originParticipantName}} 已啟用大廳模式",
"notificationTitle": "大廳",
"passwordField": "輸入會議密碼",
"passwordJoinButton": "加入",
"reject": "拒絕",
"rejectAll": "拒絕所有人",
"title": "大廳",
"toggleLabel": "啟用大廳模式"
},
@@ -673,19 +683,19 @@
"on": "開啟",
"unknown": "未知"
},
"dialogTitle": "本地錄製控制",
"dialogTitle": "本機錄製控制",
"duration": "時長",
"durationNA": "不適用",
"encoding": "編碼中",
"label": "本地錄製",
"labelToolTip": "本地錄製已啟用",
"localRecording": "本地錄製中",
"label": "本機錄製",
"labelToolTip": "本機錄製已啟用",
"localRecording": "本機錄製中",
"me": "我",
"messages": {
"engaged": "已啟用本地錄製。",
"engaged": "已啟用本機錄製。",
"finished": "錄製會話 {{token}} 已結束,請將傳送錄製檔案至主持人。",
"finishedModerator": "錄製階段{{token}}已完成,本地錄製追蹤已存檔,請要求各與會者提供其錄製檔案。",
"notModerator": "您不是主持人,無法開始或停止本地錄製。"
"finishedModerator": "錄製階段{{token}} 已完成,本機錄製追蹤已存檔,請要求各與會者提供其錄製檔案。",
"notModerator": "您不是主持人,無法開始或停止本機錄製。"
},
"moderator": "主持人",
"no": "否",
@@ -713,36 +723,37 @@
"audioUnmuteBlockedDescription": "麥克風解除靜音操作由於系統限制而被暫時封鎖。",
"audioUnmuteBlockedTitle": "麥克風解除靜音遭封鎖!",
"chatMessages": "聊天訊息",
"connectedOneMember": "{{name}}加入了會議",
"connectedThreePlusMembers": "{{name}}與其他人加入了會議",
"connectedTwoMembers": "{{first}}與{{second}}加入了會議",
"connectedOneMember": "{{name}} 加入了會議",
"connectedThreePlusMembers": "{{name}} 與其他人加入了會議",
"connectedTwoMembers": "{{first}} 與{{second}} 加入了會議",
"dataChannelClosed": "視訊品質受限",
"dataChannelClosedDescription": "橋接通道已斷開,視訊品質降至最低設定。",
"disabledIframe": "嵌入僅供示範使用,此通話將於 {{timeout}} 分鐘後中斷連線。",
"disabledIframeSecondary": "內嵌 {{domain}} 僅為展示用途,此通話將在 {{timeout}} 分鐘後中斷連線。請使用在正式環境使用 <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi 服務</a>來內嵌!",
"disconnected": "已經中斷連接",
"displayNotifications": "顯示通知給",
"dontRemindMe": "不要再提醒我",
"focus": "會議焦點",
"focusFail": "{{component}}無法使用 - {{ms}}秒後重試",
"focusFail": "{{component}} 無法使用 - {{ms}} 秒後重試",
"gifsMenu": "GIPHY",
"groupTitle": "通知",
"hostAskedUnmute": "主持人希望你發言",
"invitedOneMember": "{{name}}已受邀請",
"invitedThreePlusMembers": "{{name}}與{{count}}位人員已受邀請",
"invitedTwoMembers": "{{first}}與{{second}}已受邀請",
"hostAskedUnmute": "主持人希望您發言",
"invitedOneMember": "{{name}} 已受邀請",
"invitedThreePlusMembers": "{{name}} 與 {{count}} 位人員已受邀請",
"invitedTwoMembers": "{{first}} 與 {{second}} 已受邀請",
"joinMeeting": "加入",
"kickParticipant": "{{kicked}}已被{{kicker}}移除會議",
"leftOneMember": "{{name}}已離開會議",
"leftThreePlusMembers": "{{name}}與其他人已離開會議",
"leftTwoMembers": "{{first}}與{{second}}已離開會議",
"kickParticipant": "{{kicked}} 已被 {{kicker}} 移除會議",
"leftOneMember": "{{name}} 已離開會議",
"leftThreePlusMembers": "{{name}} 與其他人已離開會議",
"leftTwoMembers": "{{first}} 與 {{second}} 已離開會議",
"linkToSalesforce": "連結至 Salesforce",
"linkToSalesforceDescription": "您可以將會議摘要連結至 Salesforce 物件。",
"linkToSalesforceError": "無法將會議連結至 Salesforce",
"linkToSalesforceKey": "連結此會議",
"linkToSalesforceProgress": "正在將會議連結至 Salesforce...",
"linkToSalesforceSuccess": "會議已連結至 Salesforce",
"localRecordingStarted": "{{name}}已啟用本地錄製",
"localRecordingStopped": "{{name}}已停用本地錄製",
"localRecordingStarted": "{{name}} 已啟用本機錄製",
"localRecordingStopped": "{{name}} 已停用本機錄製",
"me": "我",
"moderationInEffectCSDescription": "若要分享您的螢幕,請舉手",
"moderationInEffectCSTitle": "分享螢幕已被主持人停用",
@@ -754,11 +765,11 @@
"moderationRequestFromParticipant": "想要發言",
"moderationStartedTitle": "開始主持",
"moderationStoppedTitle": "停止主持",
"moderationToggleDescription": "由{{participantDisplayName}}",
"moderationToggleDescription": "由 {{participantDisplayName}}",
"moderator": "主持人權限已經取得!",
"muted": "您已經啟動通話,處於靜音。",
"mutedRemotelyDescription": "當您準備好要發言,隨時可以取消靜音。當您結束之後再回復成靜音,保持會議安靜。",
"mutedRemotelyTitle": "您已經被{{participantDisplayName}}設為靜音!",
"mutedRemotelyTitle": "您已經被 {{participantDisplayName}} 設為靜音!",
"mutedTitle": "您目前處於靜音!",
"newDeviceAction": "使用",
"newDeviceAudioTitle": "偵測到新的音效裝置",
@@ -771,11 +782,11 @@
"oldElectronClientDescription3": "!",
"participantWantsToJoin": "希望加入會議",
"participantsWantToJoin": "希望加入會議",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase)已被其他與會者移除",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase)由其他與會者設定",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) 已被其他與會者移除",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) 由其他與會者設定",
"raiseHandAction": "舉手發言",
"raisedHand": "{{name}}想要發言。",
"raisedHands": "{{participantName}}與其他{{raisedHands}}人",
"raisedHands": "{{participantName}} 與其他 {{raisedHands}} 人",
"reactionSounds": "停用音效",
"reactionSoundsForAll": "停用所有音效",
"screenShareNoAudio": "您未在選擇視窗時勾選分享音訊",
@@ -790,19 +801,24 @@
"suboptimalExperienceTitle": "瀏覽器警告",
"unmute": "取消靜音",
"videoMutedRemotelyDescription": "您隨時可以再次啟用。",
"videoMutedRemotelyTitle": "您的視訊已被{{participantDisplayName}}停用",
"videoMutedRemotelyTitle": "您的視訊已被 {{participantDisplayName}} 停用",
"videoUnmuteBlockedDescription": "啟用網路攝影機與分享螢幕由於系統限制而被暫時封鎖。",
"videoUnmuteBlockedTitle": "啟用網路攝影機與分享螢幕遭封鎖!",
"viewLobby": "檢視大廳",
"waitingParticipants": "{{waitingParticipants}}人"
"waitingParticipants": "{{waitingParticipants}} 人",
"whiteboardLimitDescription": "由於即將超出使用者限制,白板將關閉,請儲存您的進度。",
"whiteboardLimitTitle": "白板使用情況"
},
"participantsPane": {
"actions": {
"admit": "準許",
"admitAll": "準許所有人",
"allow": "允許與會者能夠:",
"allowVideo": "允許視訊",
"askUnmute": "要求解除靜音",
"audioModeration": "自我解除靜音",
"blockEveryoneMicCamera": "停用所有人的麥克風和網路攝影機",
"breakoutRooms": "分組討論室",
"invite": "邀請他人",
"moreModerationActions": "更多主持人選項",
"moreModerationControls": "更多主持人操作",
@@ -810,6 +826,7 @@
"mute": "靜音",
"muteAll": "靜音所有人",
"muteEveryoneElse": "靜音其他人",
"reject": "拒絕",
"stopEveryonesVideo": "停用所有人的視訊",
"stopVideo": "停用視訊",
"unblockEveryoneMicCamera": "解除封鎖所有人的麥克風及網路攝影機",
@@ -817,15 +834,15 @@
},
"close": "關閉",
"headings": {
"lobby": "大廳({{count}}人)",
"participantsList": "會議與會者({{count}}人)",
"visitors": "訪客({{count}}人)",
"waitingLobby": "於大廳等候({{count}}人)"
"lobby": "大廳({{count}} 人)",
"participantsList": "會議與會者({{count}} 人)",
"visitors": "訪客({{count}} 人)",
"waitingLobby": "於大廳等候({{count}} 人)"
},
"search": "搜尋與會者",
"title": "與會者"
},
"passwordDigitsOnly": "上限為{{number}}位數",
"passwordDigitsOnly": "上限為 {{number}} 位數",
"passwordSetRemotely": "由其他與會者設定",
"pinParticipant": "{{participantName}} - 釘選",
"pinnedParticipant": "與會者被釘選",
@@ -834,13 +851,13 @@
"skip": "跳過",
"submit": "送出"
},
"by": "由{{ name }}",
"by": "由 {{ name }}",
"create": {
"addOption": "新增選項",
"answerPlaceholder": "選項{{index}}",
"answerPlaceholder": "選項 {{index}}",
"cancel": "取消",
"create": "建立投票",
"pollOption": "選項{{index}}",
"pollOption": "選項 {{index}}",
"pollQuestion": "投票問題",
"questionPlaceholder": "詢問問題",
"removeOption": "移除選項",
@@ -879,7 +896,7 @@
"audioHighQuality": "您的音訊品質極佳。",
"audioLowNoVideo": "您的音訊品質較差,且無視訊功能。",
"goodQuality": "太好了!您的媒體品質良好。",
"noMediaConnectivity": "我們無法為此測試建立媒體連線,通常是防火牆或NAT的問題。",
"noMediaConnectivity": "我們無法為此測試建立媒體連線,通常是防火牆或 NAT 的問題。",
"noVideo": "您的視訊畫質將會很糟糕。",
"undetectable": "如果您仍無法在瀏覽器中進行通話,我們建議您檢查喇叭、麥克風、及網路攝影機的設置,確認是否允許瀏覽器存取麥克風及網路攝影機,並將瀏覽器更新到最新版本。如果以上步驟無法解決問題,請聯絡網頁程式的開發者。",
"veryPoorConnection": "您的通話品質將會非常糟糕。",
@@ -958,8 +975,8 @@
},
"recording": {
"authDropboxText": "上傳至 Dropbox",
"availableSpace": "可用空間:{{spaceLeft}}MB(錄製時間大約{{duration}}分鐘)",
"beta": "BETA",
"availableSpace": "可用空間:{{spaceLeft}} MB(錄製時間大約 {{duration}} 分鐘)",
"beta": "測試版",
"busy": "我們正在釋放錄製資源,請過幾分鐘後再試。",
"busyTitle": "全部錄製目前忙碌",
"copyLink": "複製連結",
@@ -976,15 +993,15 @@
"highlightMomentSuccess": "已精選的時刻",
"highlightMomentSucessDescription": "您的精選時刻將新增至會議摘要。",
"inProgress": "正在錄製或直播",
"limitNotificationDescriptionNative": "由於目前流量過大,您的錄製時間被限制在{{limit}}分鐘。若要無限制的錄製,請試試 <3>{{app}}</3>。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的錄製時間被限制在{{limit}}分鐘。若要無限制的錄製,請試試 <a href={{url}}rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"limitNotificationDescriptionNative": "由於目前流量過大,您的錄製時間被限制在 {{limit}} 分鐘。若要無限制的錄製,請試試 <3>{{app}}</3>。",
"limitNotificationDescriptionWeb": "由於目前流量過大,您的錄製時間被限制在 {{limit}} 分鐘。若要無限制的錄製,請試試 <a href={{url}}rel='noopener noreferrer' target='_blank'>{{app}}</a>。",
"linkGenerated": "我們建立了您的錄製檔案的連結。",
"live": "直播",
"localRecordingNoNotificationWarning": "系統不會主動知會與會者錄製已開啟,主持人需另行通知。",
"localRecordingNoVideo": "沒有錄製的視訊",
"localRecordingStartWarning": "請確保在退出會議之前停用錄製以便保存。",
"localRecordingStartWarningTitle": "停用錄製以保存",
"localRecordingVideoStop": "關閉您的視訊也將停止本地錄製,確定繼續嗎?",
"localRecordingVideoStop": "關閉您的視訊也將停止本機錄製,確定繼續嗎?",
"localRecordingVideoWarning": "錄製視訊必須在開始時啟用",
"localRecordingWarning": "確保選擇目前的分頁以錄製正確的視訊和音訊。錄製目前限制為1GB,約可錄製100分鐘。",
"loggedIn": "以 {{userName}} 登入",
@@ -997,7 +1014,7 @@
"onlyRecordSelf": "僅錄製我的音訊和影片串流",
"pending": "正在準備錄製會議...",
"rec": "錄製中",
"saveLocalRecording": "將錄製檔案保存在本地(BETA)",
"saveLocalRecording": "將錄製檔案保存在本機(測試版)",
"serviceDescription": "您的錄製會由錄製服務儲存",
"serviceDescriptionCloud": "雲端錄製",
"serviceDescriptionCloudInfo": "已錄製的會議將在 24 小時後自動清除。",
@@ -1007,19 +1024,19 @@
"signOut": "登出",
"surfaceError": "請選擇目前分頁",
"title": "錄製中",
"unavailable": "喔哦!{{serviceName}}目前無法使用,我們正在解決此問題,請稍後再試。",
"unavailable": "喔哦!{{serviceName}} 目前無法使用,我們正在解決此問題,請稍後再試。",
"unavailableTitle": "錄製無法使用",
"uploadToCloud": "上傳至雲端"
},
"screenshareDisplayName": "{{name}}的螢幕",
"screenshareDisplayName": "{{name}} 的螢幕",
"sectionList": {
"pullToRefresh": "下拉以重新整理"
},
"security": {
"about": "您可以新增$t(lockRoomPassword)至您的會議,與會者在加入會議前必須先輸入$t(lockRoomPassword)。",
"aboutReadOnly": "主持人可以新增$t(lockRoomPassword)至會議,與會者在加入會議前必須先輸入$t(lockRoomPassword)。",
"insecureRoomNameWarningNative": "房間名稱不安全,任何人都可能會加入您的會議。{{recommendAction}} 了解有關保護您的會議的更多信息。",
"insecureRoomNameWarningWeb": "房間名稱不安全,任何人都可能會加入您的會議。{{recommendAction}} 在此處了解有關保護您的會議的更多信息 <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">這裡</a>。",
"about": "您可以新增 $t(lockRoomPassword) 至您的會議,與會者在加入會議前必須先輸入$t(lockRoomPassword)。",
"aboutReadOnly": "主持人可以新增 $t(lockRoomPassword) 至會議,與會者在加入會議前必須先輸入$t(lockRoomPassword)。",
"insecureRoomNameWarningNative": "房間名稱不安全,任何人都可能會加入您的會議。{{recommendAction}} 了解有關保護您的會議的更多資訊。",
"insecureRoomNameWarningWeb": "房間名稱不安全,任何人都可能會加入您的會議。{{recommendAction}} 在此處了解有關保護您的會議的更多資訊 <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">這裡</a>。",
"title": "安全性選項",
"unsafeRoomActions": {
"meeting": "請考慮使用安全按鈕保護您的會議。",
@@ -1031,10 +1048,10 @@
"audio": "音訊",
"buttonLabel": "設定",
"calendar": {
"about": "{{appName}}行事曆整合功能可安全地存取您行事曆中即將舉行的活動。",
"about": "{{appName}} 行事曆整合功能可安全地存取您行事曆中即將舉行的活動。",
"disconnect": "中斷連接",
"microsoftSignIn": "使用Microsoft帳號登入",
"signedIn": "目前正在存取{{email}}的行事曆事件,點按下方中斷連接可以停用存取行事曆事件。",
"microsoftSignIn": "使用 Microsoft 帳號登入",
"signedIn": "目前正在存取 {{email}} 的行事曆事件,點按下方中斷連接可以停用存取行事曆事件。",
"title": "行事曆"
},
"desktopShareFramerate": "桌面螢幕分享影格率",
@@ -1079,6 +1096,7 @@
"alertOk": "確定",
"alertTitle": "警告",
"alertURLText": "輸入的伺服器網址無效",
"apply": "套用",
"buildInfoSection": "組建資訊",
"conferenceSection": "會議",
"disableCallIntegration": "停用原生通話整合",
@@ -1086,23 +1104,24 @@
"disableCrashReportingWarning": "您確定要停用錯誤回報功能嗎?變更將在重啟應用程式後生效。",
"disableP2P": "停用點對點模式",
"displayName": "顯示名稱",
"displayNamePlaceholderText": "例如:John Doe",
"displayNamePlaceholderText": "例如:王小明",
"email": "電子郵件",
"emailPlaceholderText": "email@example.com",
"gavatarMessage": "如果您的電子郵件地址與 Gravatar 帳號相關聯,我們會使用 Gravatar 上的個人檔案大頭貼。",
"goTo": "前往",
"header": "設定",
"help": "協助",
"links": "連結",
"privacy": "隱私權",
"profileSection": "簡介",
"sdkVersion": "SDK版本",
"sdkVersion": "SDK 版本",
"serverURL": "伺服器網址",
"showAdvanced": "顯示進階設定",
"startCarModeInLowBandwidthMode": "同時啟用行車模式與低頻寬模式",
"startWithAudioMuted": "啟動並靜音",
"startWithVideoMuted": "啟動並關閉影像",
"terms": "條款",
"version": "APP版本"
"version": "應用程式版本"
},
"share": {
"dialInfoText": "\n\n=====\n\n只想要透過手機撥打加入嗎?\n\n撥打{{defaultDialInNumber}}或點此連結來查看此會議的電話撥入號碼\n{{dialInfoPageUrl}}",
@@ -1121,6 +1140,7 @@
"neutral": "中立",
"sad": "悲傷",
"search": "搜尋",
"searchHint": "搜尋與會者",
"seconds": "{{count}} 秒",
"speakerStats": "發言統計",
"speakerTime": "發言時間",
@@ -1146,7 +1166,7 @@
"Settings": "切換設定",
"audioOnly": "切換僅音訊",
"audioRoute": "選擇音訊裝置",
"boo": "喝倒彩",
"boo": "倒喝彩",
"breakoutRoom": "進入/離開分組討論室",
"callQuality": "管理視訊品質",
"carmode": "行車模式",
@@ -1160,7 +1180,7 @@
"document": "切換檔案分享",
"documentClose": "關閉檔案分享",
"documentOpen": "打開檔案分享",
"download": "下載我們的APP",
"download": "下載我們的應用程式",
"embedMeeting": "嵌入會議",
"endConference": "結束會議(所有人)",
"enterFullScreen": "進入全螢幕",
@@ -1183,7 +1203,7 @@
"like": "比讚",
"linkToSalesforce": "連結至 Salesforce",
"lobbyButton": "啟用/停用大廳模式",
"localRecording": "切換本地錄製控制",
"localRecording": "切換本機錄製控制",
"lockRoom": "切換會議密碼",
"lowerHand": "放下手",
"moreActions": "更多動作",
@@ -1199,7 +1219,7 @@
"openChat": "打開聊天",
"participants": "打開與會者窗格",
"pip": "切換子母螢幕模式",
"privateMessage": "發送私人訊息",
"privateMessage": "傳送私人訊息",
"profile": "編輯您的個人檔案",
"raiseHand": "舉手",
"reactions": "反應",
@@ -1237,7 +1257,7 @@
"audioRoute": "選擇音訊裝置",
"audioSettings": "音訊設定",
"authenticate": "驗證",
"boo": "喝倒彩",
"boo": "倒喝彩",
"callQuality": "管理影像品質",
"chat": "開啟/關閉聊天欄",
"clap": "鼓掌",
@@ -1248,7 +1268,7 @@
"disableReactionSounds": "您可以停用此會議的反應音效",
"documentClose": "關閉分享檔案欄",
"documentOpen": "開啟分享檔案欄",
"download": "下載我們的APP",
"download": "下載我們的應用程式",
"e2ee": "端對端加密",
"embedMeeting": "嵌入會議",
"enableNoiseSuppression": "開啟雜訊抑制",
@@ -1273,7 +1293,7 @@
"lobbyButtonEnable": "啟用大廳模式",
"login": "登入",
"logout": "登出",
"lowerYourHand": "放下你的手",
"lowerYourHand": "放下您的手",
"moreActions": "更多動作",
"moreOptions": "更多選項",
"mute": "靜音/解除靜音",
@@ -1294,9 +1314,9 @@
"pip": "進入子母螢幕模式",
"privateMessage": "傳送私人訊息",
"profile": "編輯您的個人資料",
"raiseHand": "舉起/放下你的手",
"raiseHand": "舉起/放下您的手",
"raiseYourHand": "舉手",
"reactionBoo": "傳送喝倒彩反應",
"reactionBoo": "傳送倒喝彩反應",
"reactionClap": "傳送鼓掌反應",
"reactionLaugh": "傳送大笑反應",
"reactionLike": "傳送比讚反應",
@@ -1336,7 +1356,7 @@
"labelToolTip": "此會議正在轉錄",
"off": "轉錄已停用",
"pending": "準備轉錄會議...",
"sourceLanguageDesc": "會議語言目前設定為<b>{{sourceLanguage}}</b><br/>您可以在這裡",
"sourceLanguageDesc": "會議語言目前設定為 <b>{{sourceLanguage}}</b><br/> 您可以在這裡",
"sourceLanguageHere": "修改",
"start": "開始顯示字幕",
"stop": "停用顯示字幕",
@@ -1360,12 +1380,12 @@
"videoSIPGW": {
"busy": "我們正在釋放資源,請過幾分鐘後再試。",
"busyTitle": "會議室服務目前忙碌中",
"errorAlreadyInvited": "{{displayName}}已經受邀",
"errorAlreadyInvited": "{{displayName}} 已經受邀",
"errorInvite": "會議尚未開始,請稍候再試。",
"errorInviteFailed": "我們正在努力解決這個問題,請稍後再試。",
"errorInviteFailedTitle": "邀請{{displayName}}失敗",
"errorInviteFailedTitle": "邀請 {{displayName}} 失敗",
"errorInviteTitle": "會議室邀請錯誤",
"pending": "已向{{displayName}}發送邀請"
"pending": "已向 {{displayName}} 傳送邀請"
},
"videoStatus": {
"adjustFor": "調整為:",
@@ -1415,7 +1435,7 @@
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "當前背景:{{background}}",
"currentBackground": "目前背景:{{background}}",
"selectBackground": "選擇背景"
},
"addBackground": "新增背景",
@@ -1438,8 +1458,8 @@
"slightBlur": "輕微模糊",
"title": "虛擬背景",
"uploadedImage": "已上傳的圖片 {{index}}",
"webAssemblyWarning": "不支援WebAssembly",
"webAssemblyWarningDescription": "WebAssembly已停用或不受此瀏覽器支援"
"webAssemblyWarning": "不支援 WebAssembly",
"webAssemblyWarningDescription": "WebAssembly 已停用或不受此瀏覽器支援"
},
"visitors": {
"chatIndicator": "(訪客)",
@@ -1456,14 +1476,14 @@
"roomname": "輸入會議室名稱"
},
"addMeetingName": "新增會議名稱",
"appDescription": "來吧,和您的整個團隊進行視訊會議。不,邀請所有您認識的人進行視訊會議。{{app}}是一套完全加密、100% 開放源始碼的視訊會議解決方案。無需註冊帳號,無時無刻不分日夜均可免費使用。",
"appDescription": "來吧,和您的整個團隊進行視訊會議。不,邀請所有您認識的人進行視訊會議。{{app}} 是一套完全加密、100% 開放原始碼的視訊會議解決方案。無需註冊帳號,無時無刻不分日夜均可免費使用。",
"audioVideoSwitch": {
"audio": "音訊",
"video": "視訊"
},
"calendar": "行事曆",
"connectCalendarButton": "連接您的行事曆",
"connectCalendarText": "連接您的行事曆來查看在{{app}}中的會議。此外,增加{{provider}}的會議至自己的行事曆,只要點按一下即可啟動。",
"connectCalendarText": "連接您的行事曆來查看在 {{app}} 中的會議。此外,增加 {{provider}} 的會議至自己的行事曆,只要點按一下即可啟動。",
"enterRoomTitle": "啟動新的會議",
"getHelp": "取得協助",
"go": "開始",
@@ -1482,25 +1502,25 @@
"policyLogo": "政策圖示"
},
"meetingsAccessibilityLabel": "會議",
"mobileDownLoadLinkAndroid": "下載 Android 版本的手機應用程式",
"mobileDownLoadLinkFDroid": "前往 F-Droid 下載 Android 版本的手機應用程式",
"mobileDownLoadLinkIos": "下載 iOS 版本的手機應用程式",
"mobileDownLoadLinkAndroid": "下載 Android 版本的應用程式",
"mobileDownLoadLinkFDroid": "前往 F-Droid 下載 Android 版本的應用程式",
"mobileDownLoadLinkIos": "下載 iOS 版本的應用程式",
"moderatedMessage": "或以主持人身份<a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">預先建立會議</a>。",
"privacy": "隱私權",
"recentList": "最近使用",
"recentList": "近期",
"recentListDelete": "刪除",
"recentListEmpty": "目前最近使用是空白的,與您的團隊成員聊天,即會在此處找到最近使用過的會議。",
"recentMeetings": "您的最近會議",
"recentListEmpty": "您的近期列表目前是空白的,與您的團隊成員聊天,即可在此處找到最近參與過的會議。",
"recentMeetings": "您近期的會議",
"reducedUIText": "歡迎使用{{app}}!",
"roomNameAllowedChars": "會議室名稱不應包含以下字元:? & : ' \" % #",
"roomNameAllowedChars": "會議室名稱不應包含以下字元:?、&、:、'、\"、%、#。",
"roomname": "輸入會議室名稱",
"roomnameHint": "請輸入您想加入的會議室名稱或網址,您可以用一個名稱來建立會議室,只要其他人輸入相同的名稱就能加入會議室喔。",
"roomnameHint": "請輸入您想加入的會議室名稱或網址,您可以用一個名稱來建立會議室,只要其他人輸入相同的名稱就能加入會議室。",
"sendFeedback": "傳送回饋",
"settings": "設定",
"startMeeting": "開始會議",
"terms": "條款",
"title": "安全、功能齊全、完全免費的視訊會議",
"upcomingMeetings": "您即將的會議"
"upcomingMeetings": "您即將開始的會議"
},
"whiteboard": {
"accessibilityLabel": {

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