Compare commits

...

108 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé
dbabdf3351 chore(rn,versions) bump app versions 2022-03-29 15:25:27 +02:00
Saúl Ibarra Corretgé
3bcde982ac chore(rn,versions) bump SDK versions 2022-03-29 15:24:08 +02:00
Saúl Ibarra Corretgé
beb301e691 fix(android,back-button) rework back button handling on Android
We used to have a registry which registered a single handlerwith RN.
THis was registered really early in the app.

When React Navigation was introduced we ddidn't realize it interacts
with the back button. In a stack nagigator it will navigate to the
previous screen. This meant our back button handling was broken.

This commit removes our previous registry and uses the RN back button
handler directly in the 2 components that use it: the conference and
bottom sheets.

Since these handlers are registered after navigation, our handlers are
going to run first so we cna implement the behavior we need, namely to
dismiss an open botom sheet or set the conference in PiP mode.
2022-03-29 15:21:40 +02:00
Calin Chitu
d0836ff651 feat(participants/native) - fix joining breakout room 2022-03-29 15:19:45 +02:00
Saúl Ibarra Corretgé
c028511aaf fix(rn,lobby) fix lobby not showing up on subsequent tries
We need to make sure to hide it explicitly so the Redux state is in sync
with reality.
2022-03-29 15:19:44 +02:00
Saúl Ibarra Corretgé
664552bc05 chore(rn,versions) bump SDK versions 2022-03-28 11:22:36 +02:00
Saúl Ibarra Corretgé
ac35eea08e feat(ios) enable Dropbox recording 2022-03-25 17:24:06 +01:00
Saúl Ibarra Corretgé
172683d645 fix(rn,recording) fix recording dialog state not updating 2022-03-25 17:23:30 +01:00
Calinteodor
858e83b09e fix(rn,recording) fix start button not being enabled 2022-03-25 11:53:30 +02:00
Calin Chitu
e2750ee58e feat(participants/native) - updated container styles 2022-03-25 11:51:01 +02:00
Calin Chitu
fe132581d4 fix(mobile/navigation) - fixed bottom color glitch 2022-03-23 19:09:52 +02:00
Saúl Ibarra Corretgé
21083e6777 fix(mobile,navigation) remove end meeting page
It will just flash for a split second and all it does is dispatch
readyToClose, so do it directly instead.
2022-03-22 12:10:38 +01:00
Calin Chitu
a3c60d5943 fix(mobile/navigation/sdk) - simplified check for sdk 2022-03-22 12:10:38 +01:00
Robert Pintilii
28556e030c fix(settings-dialog) Fix crash (#11191)
Fixes crash when the participant becomes moderator while the dialog is open
2022-03-22 13:10:08 +02:00
Shahab
e54685a566 refactor(premeeting): remove redundant styles from prejoin.scss (#11151)
"prejoin-preview-dropdown-btn" and "prejoin-preview-dropdown-icon" styles are already declared using jss in DropdownButton component.
2022-03-22 09:29:31 +02:00
Hristo Terezov
9ffb3eddb0 fix(shared-video): Can't click controls issue
The Dominant speaker name badge was overlaping the shared video
controls  (audio level, play/pause, etc).
2022-03-21 16:00:24 -05:00
Jaya Allamsetty
d064f607ec chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1399.0.0+1a98d919...v1401.0.0+584a8680
2022-03-21 14:57:59 -04:00
Aaron van Meerten
be454137f9 task: mod_muc_password_whitelist prosody module (#11184) 2022-03-21 11:38:21 -05:00
zygisS22
530369613a fix: removed platformColor from styles 2022-03-21 16:03:59 +02:00
Avram Tudor
6b0b575bd4 fix(highlight) fix notifications not disappearing (#11183) 2022-03-21 15:14:26 +02:00
Calin Chitu
aa5dd92846 patch(react-native-dialog)- replaced PlatformColor with hardcoded colors on Android 2022-03-18 16:14:26 +01:00
Gabriel Borlea
85c505a29d add(highlights): mobile flow (#11168)
* add(highlight): mobile initial flow

* fix(hightlight): get meeting fqn on mobile

* fix(dynamic-branding): extract fqn on mobile

* fix(highlights): remove local fqn extraction and grounp dispatches in batch

* fix(dynamic-branding): check if state is defined in extract fqn
2022-03-18 16:16:56 +02:00
Avram Tudor
b8e12e581f fix(recording) fix incorrect condition for recording notification message (#11167) 2022-03-18 13:21:10 +02:00
Avram Tudor
8456a63a23 fix(highlight) display option to start recording (#11146)
Fix incorrect handling of error case when highlighting moments
Allow users to start recording when trying to highlight while recording not started
2022-03-18 10:19:20 +02:00
Mihaela Dumitru
89394e69b6 fix(config): add missing toolbar button config (#11165) 2022-03-17 18:58:25 +02:00
Saúl Ibarra Corretgé
3ae50c1701 fix(css) remove no longer used AUI classes 2022-03-17 17:28:36 +01:00
Calinteodor
5da40a5fb0 fix(mobile/navigations) added LoadConfigOverlay to RootNavigator (#11067)
Converted LoadConfigOverlay to a JitsiScreen component that right now is part of navigation as ConnectingPage, plus I
separated appNative and other actions into web and native.
2022-03-17 16:13:58 +02:00
Saúl Ibarra Corretgé
f04a01ee3a fix(ios,build) use epoch seconds for build number
Avoids conflicts when a build is rejected by Apple since Fastlane cannot
detect it.
2022-03-17 14:03:24 +01:00
Christoph Settgast
9ad57127d4 feat: Use same recommendedBrowsers page for IE and browsers marked in interface_config.js (#10923)
Reason:
- This is easier overridable than then embedded react page
- Consistenty between IE and other unsupported browsers
2022-03-17 14:56:43 +02:00
Robert Pintilii
a131644dfb fix(video-constraints) Fix calculations (#11161)
Only calculate for Large Video on the web (otherwise native breaks)
Take preferred max into calculations
2022-03-17 14:18:49 +02:00
Mihaela Dumitru
649c1b0669 fix(salesforce): send link notes and default to empty string (#11160) 2022-03-17 12:58:12 +02:00
Robert Pintilii
7bcf7bb686 fix(resziable-filmstrip) Update video constraints on filmstrip resize (#11150)
Update video quality of large video as well
2022-03-16 16:57:30 +02:00
Shahab
8e035b03b0 fix(premeeting): fix undefined breakpoint in media query (#11148) 2022-03-16 15:16:01 +02:00
Saúl Ibarra Corretgé
3b05fd70a3 Revert "deps(rn) react-native-webrtc@1.98.0"
This reverts commit 4fa377c12a.
2022-03-16 12:05:06 +01:00
Shahab
64d32a5005 fix(premeeting): call hooks before any conditional block in ConnectionStatus (#11136) 2022-03-16 10:59:24 +02:00
Aaron van Meerten
fbe15aaa47 feature: patch for muc_owner_allow_kick in prosody 0.12 (#11142) 2022-03-15 21:15:14 -05:00
Hristo Terezov
16bcb1b217 feat(filmstrip): Don't reorder in small meetings. 2022-03-15 14:56:46 -05:00
Jaya Allamsetty
d4c314deb3 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1398.0.0+aed1fa44...v1399.0.0+1a98d919
2022-03-15 15:27:25 -04:00
JohannesPertl
e8e9e24f77 fix(config) add missing notify.hostAskedUnmute 2022-03-15 19:16:56 +01:00
Jaya Allamsetty
9f72c318d6 feat(multi-stream-support) Add screenshare as a second video track to the call.
* feat(multi-stream-support) Add screenshare as a second video track to the call.
This feature is behind a sendMultipleVideoStreams config.js flag. sourceNameSignaling flag also needs to enabled. Sending multiple tracks is currently supported only on endpoints running in unified plan mode. However, clients with source-name signaling enabled and running in plan-b can still receive multiple streams .

* squash: check if there is an existing track before adding camera/desktop

* squash: enable multi-stream only on unified plan endpoints.
2022-03-15 13:24:49 -04:00
Jaya Allamsetty
5f1a4f189c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1389.0.0+313e0dd3...v1398.0.0+aed1fa44
2022-03-15 11:18:22 -04:00
Hristo Terezov
cb9511ef2c fix(resizable-filmstrip): grid view paddings. 2022-03-15 07:48:51 -05:00
Hristo Terezov
e7c4a55add feat(tile-view): Optimize grid dimnsions.
Now the algorithm that calculates the
rows/columns/thumbnail-width/thumbnail-height configuration will
go trough all possible configurations and will choose the one
that covers with thumbnails the biggest area of the window.
2022-03-15 07:48:51 -05:00
Gabriel Borlea
3884862996 add(screenshot-capture): local participants id to participants array in metadata (#11134) 2022-03-15 14:42:26 +02:00
gpatel-fr
8f1c693c3e fix(lang) update french translation 2022-03-15 13:35:45 +01:00
Gabriel Borlea
4d2000a7a4 fix(screenshot-capture): send remote participant id instead of jid (#11132)
* fix(screenshot-capture): send remote participant id instead of jid

* fix: lint errors
2022-03-15 14:05:01 +02:00
Shahab
f6a79860f2 refactor(prejoin) use jss instead of sass in DialInDialog (#11122) 2022-03-15 13:30:38 +02:00
Shahab
4ed2d55cae refactor(participnats-pane) move participant-avatar to commmonStyles (#11120) 2022-03-15 13:29:42 +02:00
Shahab
2dad8163bb refactor(premeeting): use jss instead of sass in ConnectionStatus (#11115) 2022-03-15 13:28:16 +02:00
Shahab
985b37195c refactor(prejoin) use jss instead of sass in CallingDialog (#11117) 2022-03-15 13:16:01 +02:00
Ali Alhaidary
052b588b33 fix(lang) update Arabic translation 2022-03-15 12:13:48 +01:00
Shahab
320aeaa4df refactor(speaker-stats) use jss instead of sass in SpeakerStats (#11121) 2022-03-15 13:02:50 +02:00
Shahab
8c9c1a29be refactor(prejoin) use jss instead of sass in DeviceStatus (#11116) 2022-03-15 12:48:05 +02:00
Shahab
c25fb702c2 refactor(avatar) use jss instead of scss (#11037) 2022-03-15 12:27:40 +02:00
Shahab
a6b55b676c chore: remove unused modal ids constants (#11036) 2022-03-15 11:28:25 +02:00
Shahab
0ce6fce58d refactor(keyboard-shortcuts) use jss instead of scss 2022-03-15 09:27:07 +01:00
Avram Tudor
c5fbe14de2 fix(highlight) fix allowing disabled button to execute handler (#11128) 2022-03-14 17:18:54 +02:00
Horatiu Muresan
506f72d43e feat(remote-participant-menu) Enhance remote participant menu:
- option to hide the context menu
- option to hide private chat button
2022-03-14 16:46:19 +02:00
Дамян Минков
3d5f838870 fix: Hides ask to unmute when participant is audio unmuted. 2022-03-14 08:00:29 -05:00
Дамян Минков
e18173adc9 fix: Hides ask to unmute when av mod is disabled. Fixes #11057. 2022-03-14 08:00:29 -05:00
Robert Pintilii
096ba054db fix(filmstrip) Fix resizable filmstrip with shared video (#11124)
Calculate shared video width with the filmstrip width
Make resizable filmstrip mouseup event work with shared video iframe
2022-03-14 13:11:22 +02:00
Avram Tudor
d651ecb166 feat(recording) allow highlighting meeting recording moments (#10981) 2022-03-14 10:31:08 +02:00
Avram Tudor
faac45b5bc feat(toolbar) add flag for autohiding while chat open (#11104) 2022-03-14 10:30:31 +02:00
José Luís Andrade
14ee7e247b fix(lang) update Portuguese translation 2022-03-14 09:29:52 +01:00
Randolf Richardson
8604b1f64d Fix broken link in README.md to the handbook
Fixed the broken link to the handbook for the self-hosting installation guide.
2022-03-11 18:51:59 -06:00
Robert Pintilii
190041fc5a feat(gif) Added GIF support (GIPHY integration) (#11021)
Show GIF menu in reactions menu
Search GIFs using the GIPHY API
Show GIFs as images in chat
Show GIFs on the thumbnail of the participant that sent it
Move GIF focus using up/ down arrows and send with Enter
Added analytics
2022-03-11 15:00:49 +02:00
Ali Alhaidary
b6d55571ba fix(lang) update Arabic translation 2022-03-11 13:15:32 +01:00
Oliver Schneider
ec96acac71 fix(letsencrypt) avoid using hardcoded path
This introduces a variable which holds the path to the detected `certbot`
binary and reuses that to fix the inconsistency which arose from looking for
`certbot` but then later using the hardcoded path `/usr/bin/certbot` in
invocations. This broke snap installations of certbot.

Fixes: https://github.com/jitsi/jitsi-meet/issues/11072

Co-authored-by: Oliver Schneider <oliver@assarbad.net>
2022-03-11 13:14:42 +01:00
Horatiu Muresan
26f21e5eb9 fix(prejoin) Fix layout on reduced height 2022-03-11 11:24:05 +02:00
Robert Pintilii
6820f48fd2 fix(screensharing) Fix screensharing container width (#11089)
Fix width when the filmstrip is resized
2022-03-11 09:21:56 +02:00
Дамян Минков
14cad060cb fix: Updates token verification hooks priority. (#11105)
* fix: Updates token verification hooks priority.

Set it as the highest priorities, if denying access, better do it earlier.

* squash: Updates values.
2022-03-10 14:28:58 -06:00
Avram Tudor
f0f135ac7d fix(dynamic-branding) fix permissions screen not accounting for custom backgrounds (#11097) 2022-03-10 15:31:27 +02:00
Calinteodor
c60a51e671 feat(recording) mobile and web ui updates 2022-03-08 17:08:36 +01:00
Horatiu Muresan
4b95a5d6cb fix(language) Add lang API option
- jwt from API overwrites any jwt sent as queryparam
- `defaultLanguage` from configOverwrite converts to `lang` query param
2022-03-08 16:57:53 +02:00
Saúl Ibarra Corretgé
8b149f9138 chore(rn,versions) bump app versions 2022-03-08 15:36:41 +01:00
Saúl Ibarra Corretgé
4fa377c12a deps(rn) react-native-webrtc@1.98.0 2022-03-08 15:19:53 +01:00
Calin Chitu
371f3ee199 feat(display-name) remove DisplayNameLabel web 2022-03-08 16:15:23 +02:00
Mihaela Dumitru
98256a8d5b feat(salesforce) - link resources to the current session (#10992) 2022-03-08 11:10:30 +02:00
Jaya Allamsetty
9d8ae922a9 fix(conference) Disable audio-only mode when user switches to screenshare.
Make the behavior consistent with enabling camera when the user is audio-only mode. Also fixes an issue where the screenshare preview doesn't appear if it is enabled while the user is in audio-only mode.
2022-03-07 16:31:22 -05:00
Christoph Settgast
981e96fb6a fix(lang) update German translation
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-03-05 12:06:22 +01:00
Hristo Terezov
74384bfa66 fix(video-layout):Screenshares not updated on time 2022-03-04 18:13:36 -06:00
Tudor-Ovidiu Avram
d718d9d8fb feat(face-centering) implement centering of faces in a video
Config options:

faceCoordinatesSharing.enabled
faceCoordinatesSharig.threshold
faceCoordinatesSharing.captureInterval
2022-03-04 18:13:36 -06:00
Robert Pintilii
2863b05f37 fix(dominant-label) Fix dominant speaker stage view label (#11071)
Move label to LargeVideo so that's it's centred in the view instead of the whole screen
Move vertical filmstrip max width calculation to a function and use it to set the large video width
2022-03-04 15:10:57 +02:00
Saúl Ibarra Corretgé
fca9a249dc fix(rn,dialogs,auth) fix not showing authentication dialogs
1) Fix not being able to show multiple dialogs at once in iOS
2) Fix cancelling the login dialog when XMPP auth is enabled without
   guest support
2022-03-04 13:56:56 +01:00
Doganbros
7522de033a feat: Lobby chat (#10847)
* feat(lobby): lobby chat

lobby chat support
knocking participants list updates
knocking participants conditonal checks to show message button
handle lobby chat message events
lobby messages from or to moderators only

Co-authored-by: Fecri Kaan Ulubey <f.kaan93@gmail.com>

* squash: Drop typos.

Co-authored-by: Kusi Musah Hussein <kusimusah@gmail.com>
Co-authored-by: Fecri Kaan Ulubey <f.kaan93@gmail.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>
2022-03-03 11:29:38 -06:00
humanamburu
7a4a234f8e fix(premeeting): Improve pre-meeting responsiveness for screens less than 1000px
Use 720 (HD) width as breakpoint to change screen layout
Reduce join panel size to be able to see video camera pic
2022-03-03 16:35:23 +01:00
Shahab
bc5e9e2258 fix(popper): resolve @atlaskit/popper to an unbuggy version 2022-03-03 16:19:57 +01:00
Gabriel Borlea
a65ab1c029 fix(dynamic-branding): Extract fqn from public meeting 2022-03-03 10:08:08 +02:00
Дамян Минков
5d41da9358 fix: Fixes recording dialog web rendering.
[features/base/app] <APP.componentDidCatch>:  TypeError: Failed to set an indexed property on 'CSSStyleDeclaration': Indexed property setter is not supported.
2022-03-02 13:19:34 -06:00
Pawel Domas
0936a64d3f fix(receiver constraints): source name not found
...when new participant joins.

Repro steps:

1. With p2p disabled and source name signaling enabled.
2. Start a call with 2 tabs.
3. Reload the 2nd tab.
4. The receiver constraints should be updated when the 2nd
   user rejoins. They were not updated, because
   getTrackSourceNameByMediaTypeAndParticipant doesn't have
   the track yet at the time when visibleRemoteParticipants
   are updated. This is fixed by also checking on
   the remote tracks state.
2022-03-02 11:30:38 -05:00
Дамян Минков
c6eccb1a5a Enable polls for breakout rooms by default. 2022-03-02 10:13:10 -06:00
Saúl Ibarra Corretgé
0c042ca720 fix(WaitForOwnerDialog) simplify code
Don't print the room name, which could be long and nondescriptive.
2022-03-02 09:59:55 -06:00
Jaya Allamsetty
feb1b93ce6 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1387.0.0+6ddc054c...v1389.0.0+313e0dd3
2022-03-02 10:37:18 -05:00
Дамян Минков
75d80ad879 fix: Fixes loading web on mobile browser.
Adds missing url prop to DialInSummary and safeguard the URL creation.
2022-03-02 08:53:57 -06:00
Robert Pintilii
8bb5c114f8 fix(filmstrip) Fix resizable filmstrip (#11025)
Re-calculate tile sizes after config loaded
Make local tile always respect the ratio in interface_config
Merge calculate size for vertical view functions into one function
2022-03-02 16:46:20 +02:00
Mihaela Dumitru
936d9b41f1 feat(external-api): expose config for breakout rooms (#11055) 2022-03-02 16:15:18 +02:00
Tudor D. Pop
5d68a53f79 fix(lobby-notifications): Prevent lobby notification to remain on scr… (#11054) 2022-03-01 20:48:05 +01:00
Jaya Allamsetty
7f8c43d477 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1376.0.0+f881b3c7...v1387.0.0+6ddc054c
2022-03-01 12:11:32 -05:00
Jaya Allamsetty
c30038236a fix(screenshare) Add and then mute the camera track after SS stops instead of not adding the track.
This is a follow up for https://github.com/jitsi/lib-jitsi-meet/pull/1944. This is needed to avoid sending a soure-remove followed by a source-add for the same ssrc. This happens when a users mutes camera->starts SS->stops SS->turns on camera on a p2p connection in Unified plan mode. Chrome fails to render the media if the same SSRC is removed and added back to the same m-line.
2022-03-01 10:54:42 -05:00
Calinteodor
577d62ea53 feat(filmstrip/toolbox) mobile ui updates (#11051) 2022-03-01 17:41:45 +02:00
Mihaela Dumitru
c35473d5e4 fix(external-api): dismiss lobby notification after handling the knocking participant (#11049) 2022-03-01 14:17:06 +02:00
hmuresan
c69fdd766c fix(video-devices) Fix video devices not scrollable 2022-03-01 13:22:39 +02:00
Дамян Минков
389d455daa feat: Passing the url to conference mapper (#11013)
* fix: Moves getDialInConferenceID, so we can reuse conf mapper url generation.

* fix: Moves getDialInNumbers, so we can reuse url generation.

* squash: Moves dialInInfo page path to constants.

* feat: Adds the location address as a param to the conf mapper request.

* feat: Adds option conf mapper and numbers urls to contain parameters (?).

* squash: Adds more doc comments.

* squash: Makes sure we strip url params if any, and they do not reach fetch.
2022-02-28 14:03:42 -06:00
Calin Chitu
1ab086247b feat(filmstrip/toolbox) mobile ui undo changes 2022-02-28 17:54:50 +02:00
Shahab
f62dc44f3e feat(screenshare) Allow desktop sharing in audioOnly mode on web.
This is already supported on mobile. The user is allowed to enable their video in audioOnly mode so it doesn't make sense to block screenshare.
2022-02-28 10:45:24 -05:00
Robert Pintilii
06800f88bf fix(thumbnail) Fix pinned participant in the resizable filmstrip (#11042)
Show border on the pinned participant in the vertical filmstrip grid view
2022-02-28 17:03:47 +02:00
Saúl Ibarra Corretgé
c9ea193d04 fix(i18n) fix some country names 2022-02-28 15:29:33 +01:00
Doug
c8895b2d04 feat(ios) Add support to the iOS SDK for the Simulator on M1 2022-02-25 22:20:34 +01:00
350 changed files with 9546 additions and 2421 deletions

View File

@@ -4,6 +4,7 @@ DEPLOY_DIR = libs
LIBJITSIMEET_DIR = node_modules/lib-jitsi-meet
LIBFLAC_DIR = node_modules/libflacjs/dist/min
OLM_DIR = node_modules/@matrix-org/olm
TF_WASM_DIR = node_modules/@tensorflow/tfjs-backend-wasm/dist/
RNNOISE_WASM_DIR = node_modules/rnnoise-wasm/dist
TFLITE_WASM = react/features/stream-effects/virtual-background/vendor/tflite
MEET_MODELS_DIR = react/features/stream-effects/virtual-background/vendor/models
@@ -29,7 +30,7 @@ clean:
rm -fr $(BUILD_DIR)
.NOTPARALLEL:
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-libflac deploy-olm deploy-css deploy-local deploy-facial-expressions
deploy: deploy-init deploy-appbundle deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-libflac deploy-olm deploy-tf-wasm deploy-css deploy-local deploy-facial-expressions
deploy-init:
rm -fr $(DEPLOY_DIR)
@@ -52,6 +53,8 @@ deploy-appbundle:
$(OUTPUT_DIR)/analytics-ga.js \
$(BUILD_DIR)/analytics-ga.min.js \
$(BUILD_DIR)/analytics-ga.min.js.map \
$(BUILD_DIR)/face-centering-worker.min.js \
$(BUILD_DIR)/face-centering-worker.min.js.map \
$(BUILD_DIR)/facial-expressions-worker.min.js \
$(BUILD_DIR)/facial-expressions-worker.min.js.map \
$(DEPLOY_DIR)
@@ -80,6 +83,11 @@ deploy-olm:
$(OLM_DIR)/olm.wasm \
$(DEPLOY_DIR)
deploy-tf-wasm:
cp \
$(TF_WASM_DIR)/*.wasm \
$(DEPLOY_DIR)
deploy-rnnoise-binary:
cp \
$(RNNOISE_WASM_DIR)/rnnoise.wasm \
@@ -109,7 +117,7 @@ deploy-local:
([ ! -x deploy-local.sh ] || ./deploy-local.sh)
.NOTPARALLEL:
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-libflac deploy-olm deploy-facial-expressions
dev: deploy-init deploy-css deploy-rnnoise-binary deploy-tflite deploy-meet-models deploy-lib-jitsi-meet deploy-libflac deploy-olm deploy-tf-wasm deploy-facial-expressions
$(WEBPACK_DEV_SERVER)
source-package:

View File

@@ -45,7 +45,7 @@ developed you can also sign up for our open beta testing here:
## Running your own instance
If you'd like to run your own Jitsi Meet installation head over to the [handbook](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-start) to get started.
If you'd like to run your own Jitsi Meet installation head over to the [handbook](https://jitsi.github.io/handbook/docs/devops-guide/) to get started.
We provide Debian packages and a comprehensive Docker setup to make deployments as simple as possible.
Advanced users also have the possibility of building all the components from source.

View File

@@ -26,5 +26,5 @@ android.useAndroidX=true
android.enableJetifier=true
android.bundle.enableUncompressedNativeLibs=false
appVersion=22.0.0
sdkVersion=5.0.0
appVersion=22.1.1
sdkVersion=5.0.2

View File

@@ -27,6 +27,7 @@ import {
} from './react/features/app/actions';
import { showModeratedNotification } from './react/features/av-moderation/actions';
import { shouldShowModeratedNotification } from './react/features/av-moderation/functions';
import { setAudioOnly } from './react/features/base/audio-only';
import {
AVATAR_URL_COMMAND,
EMAIL_COMMAND,
@@ -51,7 +52,7 @@ import {
sendLocalParticipant,
nonParticipantMessageReceived
} from './react/features/base/conference';
import { getReplaceParticipant } from './react/features/base/config/functions';
import { getReplaceParticipant, getMultipleVideoSupportFeatureFlag } from './react/features/base/config/functions';
import {
checkAndNotifyForNewDevice,
getAvailableDevices,
@@ -105,6 +106,7 @@ import {
updateSettings
} from './react/features/base/settings';
import {
addLocalTrack,
createLocalPresenterTrack,
createLocalTracksF,
destroyLocalTracks,
@@ -126,6 +128,7 @@ import {
maybeOpenFeedbackDialog,
submitFeedback
} from './react/features/feedback';
import { maybeSetLobbyChatMessageListener } from './react/features/lobby/actions.any';
import {
isModerationNotificationDisplayed,
showNotification,
@@ -1442,11 +1445,13 @@ export default {
* @returns {Promise}
*/
useVideoStream(newTrack) {
const state = APP.store.getState();
logger.debug(`useVideoStream: ${newTrack}`);
return new Promise((resolve, reject) => {
_replaceLocalVideoTrackQueue.enqueue(onFinish => {
const oldTrack = getLocalJitsiVideoTrack(APP.store.getState());
const oldTrack = getLocalJitsiVideoTrack(state);
logger.debug(`useVideoStream: Replacing ${oldTrack} with ${newTrack}`);
@@ -1457,6 +1462,26 @@ export default {
return;
}
// In the multi-stream mode, add the track to the conference if there is no existing track, replace it
// otherwise.
if (getMultipleVideoSupportFeatureFlag(state)) {
const trackAction = oldTrack
? replaceLocalTrack(oldTrack, newTrack, room)
: addLocalTrack(newTrack);
APP.store.dispatch(trackAction)
.then(() => {
this.setVideoMuteStatus();
})
.then(resolve)
.catch(error => {
logger.error(`useVideoStream failed: ${error}`);
reject(error);
})
.then(onFinish);
return;
}
APP.store.dispatch(
replaceLocalTrack(oldTrack, newTrack, room))
.then(() => {
@@ -1612,32 +1637,29 @@ export default {
APP.store.dispatch(setScreenAudioShareState(false));
if (didHaveVideo && !ignoreDidHaveVideo) {
promise = promise.then(() => createLocalTracksF({ devices: [ 'video' ] }))
.then(([ stream ]) => {
logger.debug(`_turnScreenSharingOff using ${stream} for useVideoStream`);
promise = promise.then(() => createLocalTracksF({ devices: [ 'video' ] }))
.then(([ stream ]) => {
logger.debug(`_turnScreenSharingOff using ${stream} for useVideoStream`);
return this.useVideoStream(stream);
})
.catch(error => {
logger.error('failed to switch back to local video', error);
return this.useVideoStream(stream);
})
.catch(error => {
logger.error('failed to switch back to local video', error);
return this.useVideoStream(null).then(() =>
return this.useVideoStream(null).then(() =>
// Still fail with the original err
Promise.reject(error)
);
});
} else {
promise = promise.then(() => {
logger.debug('_turnScreenSharingOff using null for useVideoStream');
return this.useVideoStream(null);
// Still fail with the original err
Promise.reject(error)
);
});
}
return promise.then(
() => {
// Mute the video if camera video needs to be ignored or if video was muted before switching to screen
// share.
if (ignoreDidHaveVideo || !didHaveVideo) {
APP.store.dispatch(setVideoMuted(true, MEDIA_TYPE.VIDEO));
}
this.videoSwitchInProgress = false;
sendAnalytics(createScreenSharingEvent('stopped',
duration === 0 ? null : duration));
@@ -1661,9 +1683,12 @@ export default {
* toggles between screen sharing and camera video.
* @param {Object} [options] - Screen sharing options that will be passed to
* createLocalTracks.
* @param {boolean} [options.audioOnly] - Whether or not audioOnly is enabled.
* @param {Array<string>} [options.desktopSharingSources] - Array with the
* sources that have to be displayed in the desktop picker window ('screen',
* 'window', etc.).
* @param {Object} [options.desktopStream] - An existing desktop stream to
* use instead of creating a new desktop stream.
* @param {boolean} ignoreDidHaveVideo - if true ignore if video was on when sharing started.
* @return {Promise.<T>}
*/
@@ -1677,9 +1702,8 @@ export default {
}
if (this.isAudioOnly()) {
return Promise.reject('No screensharing in audio only mode');
APP.store.dispatch(setAudioOnly(false));
}
if (toggle) {
try {
await this._switchToScreenSharing(options);
@@ -1941,11 +1965,13 @@ export default {
// api.
if (localAudio) {
this._mixerEffect = new AudioMixerEffect(this._desktopAudioStream);
logger.debug(`_switchToScreenSharing is mixing ${this._desktopAudioStream} and ${localAudio}`
+ ' as a single audio stream');
await localAudio.setEffect(this._mixerEffect);
} else {
// If no local stream is present ( i.e. no input audio devices) we use the screen share audio
// stream as we would use a regular stream.
logger.debug(`_switchToScreenSharing is using ${this._desktopAudioStream} for useAudioStream`);
await this.useAudioStream(this._desktopAudioStream);
}
@@ -2106,6 +2132,10 @@ export default {
if (this.isLocalId(id)) {
logger.info(`My role changed, new role: ${role}`);
if (role === 'moderator') {
APP.store.dispatch(maybeSetLobbyChatMessageListener());
}
APP.store.dispatch(localParticipantRoleChanged(role));
APP.API.notifyUserRoleChanged(id, role);
} else {

View File

@@ -1,3 +1,4 @@
/* eslint-disable no-unused-vars, no-var */
var config = {
@@ -473,6 +474,10 @@ var config = {
// If Lobby is enabled starts knocking automatically.
// autoKnockLobby: false,
// Enable lobby chat.
// enableLobbyChat: true,
// DEPRECATED! Use `breakoutRooms.hideAddRoomButton` instead.
// Hides add breakout room button
// hideAddRoomButton: false,
@@ -511,7 +516,7 @@ var config = {
// Hides the dominant speaker name badge that hovers above the toolbox
// hideDominantSpeakerBadge: false,
// Default language for the user interface.
// Default language for the user interface. Cannot be overwritten.
// defaultLanguage: 'en',
// Disables profile and the edit of all fields from the profile settings (display name and email)
@@ -598,7 +603,9 @@ var config = {
// 'fullscreen',
// 'hangup',
// 'help',
// 'highlight',
// 'invite',
// 'linktosalesforce',
// 'livestreaming',
// 'microphone',
// 'mute-everyone',
@@ -630,7 +637,9 @@ var config = {
// timeout: 4000,
// // Moved from interfaceConfig.TOOLBAR_ALWAYS_VISIBLE
// // Whether toolbar should be always visible or should hide after x miliseconds.
// alwaysVisible: false
// alwaysVisible: false,
// // Indicates whether the toolbar should still autohide when chat is open
// autoHideWhileChatIsOpen: false
// },
// Toolbar buttons which have their click/tap event exposed through the API on
@@ -745,6 +754,17 @@ var config = {
// Enables displaying facial expressions in speaker stats
// enableDisplayFacialExpressions: true,
// faceCoordinatesSharing: {
// // Enables sharing your face cordinates. Used for centering faces within a video.
// enabled: false,
// // Minimum required face movement percentage threshold for sending new face coordinates data.
// threshold: 10,
// // Miliseconds for processing a new image capture in order to detect face coordinates if they exist.
// captureInterval: 100
// },
// Controls the percentage of automatic feedback shown to participants when callstats is enabled.
// The default value is 100%. If set to 0, no automatic feedback will be requested
// feedbackPercentage: 100,
@@ -979,12 +999,25 @@ var config = {
// Options related to the remote participant menu.
// remoteVideoMenu: {
// // Whether the remote video context menu to be rendered or not.
// disabled: true,
// // If set to true the 'Kick out' button will be disabled.
// disableKick: true,
// // If set to true the 'Grant moderator' button will be disabled.
// disableGrantModerator: true
// disableGrantModerator: true,
// // If set to true the 'Send private message' button will be disabled.
// disablePrivateChat: true
// },
// Endpoint that enables support for salesforce integration with in-meeting resource linking
// This is required for:
// listing the most recent records - salesforceUrl/records/recents
// searching records - salesforceUrl/records?text=${text}
// retrieving record details - salesforceUrl/records/${id}?type=${type}
// and linking the meeting - salesforceUrl/sessions/${sessionId}/records/${id}
//
// salesforceUrl: 'https://api.example.com/',
// If set to true all muting operations of remote participants will be disabled.
// disableRemoteMute: true,
@@ -1048,6 +1081,14 @@ var config = {
*/
// dynamicBrandingUrl: '',
// Options related to the breakout rooms feature.
// breakoutRooms: {
// // Hides the add breakout room button. This replaces `hideAddRoomButton`.
// hideAddRoomButton: false,
// // Hides the join breakout room button.
// hideJoinRoomButton: false
// },
// When true the user cannot add more images to be used as virtual background.
// Only the default ones from will be available.
// disableAddingBackgroundImages: false,
@@ -1083,7 +1124,8 @@ var config = {
// 'e2ee',
// 'transcribing',
// 'video-quality',
// 'insecure-room'
// 'insecure-room',
// 'highlight-moment'
// ]
// },
@@ -1223,6 +1265,7 @@ var config = {
// '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.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.moderationInEffectTitle', // shown when user attempts to unmute audio during AV moderation
@@ -1238,6 +1281,7 @@ var config = {
// 'notify.raisedHand', // shown when a partcipant used raise hand,
// 'notify.startSilentTitle', // shown when user joined with no audio
// 'notify.unmute', // shown to moderator when user raises hand during AV moderation
// 'notify.hostAskedUnmute', // shown to participant when host asks them to unmute
// 'prejoin.errorDialOut',
// 'prejoin.errorDialOutDisconnected',
// 'prejoin.errorDialOutFailed',
@@ -1260,12 +1304,34 @@ var config = {
// // Disables user resizable filmstrip. Also, allows configuration of the filmstrip
// // (width, tiles aspect ratios) through the interfaceConfig options.
// disableResizable: false,
// }
// },
// Tile view related config options.
// tileView: {
// // The optimal number of tiles that are going to be shown in tile view. Depending on the screen size it may
// // not be possible to show the exact number of participants specified here.
// numberOfVisibleTiles: 25
// },
// Specifies whether the chat emoticons are disabled or not
// disableChatSmileys: false,
// Settings for the GIPHY integration.
// giphy: {
// // Whether the feature is enabled or not.
// enabled: false,
// // SDK API Key from Giphy.
// sdkKey: '',
// // Display mode can be one of:
// // - tile: show the GIF on the tile of the participant that sent it.
// // - chat: show the GIF as a message in chat
// // - all: all of the above. This is the default option
// displayMode: 'all',
// // How long the GIF should be displayed on the tile (in miliseconds).
// tileTime: 5000
// },
// Allow all above example options to include a trailing comma and
// prevent fear when commenting out the last value.
makeJsonParserHappy: 'even if last key had a trailing comma'

View File

@@ -1,50 +0,0 @@
.avatar {
background-color: #AAA;
border-radius: 50%;
color: rgba(255, 255, 255, 1);
font-weight: 100;
object-fit: cover;
&.avatar-small {
height: 28px !important;
width: 28px !important;
}
&.avatar-xsmall {
height: 16px !important;
width: 16px !important;
}
.jitsi-icon {
transform: translateY(50%);
}
}
.avatar-svg {
height: 100%;
width: 100%;
}
.avatar-badge {
position: relative;
&-available::after {
@include avatarBadge;
background-color: $presence-available;
}
&-away::after {
@include avatarBadge;
background-color: $presence-away;
}
&-busy::after {
@include avatarBadge;
background-color: $presence-busy;
}
&-idle::after {
@include avatarBadge;
background-color: $presence-idle;
}
}

View File

@@ -164,16 +164,6 @@ form {
font-size: 12px;
}
/**
* Dialogs fade
*/
.aui-blanket {
background: #000;
transition: opacity 0.2s, visibility 0.2s;
transition-delay: 0.1s;
visibility: visible;
}
#inviteLinkRef {
-webkit-user-select: text;
user-select: text;

View File

@@ -85,6 +85,10 @@
fill: white;
}
}
&.lobby-chat-recipient {
background-color: $chatLobbyMessageBackgroundColor;
}
}
@@ -455,6 +459,9 @@
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
.display-name {
@@ -494,6 +501,10 @@
justify-content: center;
padding: 5px;
&.lobbychatmessageactions {
border-left-color: $chatLobbyActionsSeparatorColor;
}
.toolbox-icon {
cursor: pointer;
}
@@ -511,6 +522,9 @@
&.privatemessage {
background-color: $chatPrivateMessageBackgroundColor;
}
&.lobbymessage {
background-color: $chatLobbyMessageBackgroundColor;
}
}
}

View File

@@ -1,10 +0,0 @@
.shortcuts-list {
list-style-type: none;
padding: 0;
&__item {
display: flex;
justify-content: space-between;
margin-bottom: em(7, 14);
}
}

View File

@@ -193,16 +193,3 @@
@mixin transparentBg($color, $alpha) {
background-color: rgba(red($color), green($color), blue($color), $alpha);
}
/**
* Avatar status badge mixin
*/
@mixin avatarBadge {
border-radius: 50%;
content: '';
display: block;
height: 35%;
position: absolute;
bottom: 0;
width: 35%;
}

View File

@@ -25,10 +25,6 @@
}
}
.participant-avatar {
margin: 8px 16px 8px 0;
}
@media (max-width: 580px) {
.participants_pane {
height: 100vh;

View File

@@ -7,7 +7,20 @@
border-radius: 3px;
padding: 16px;
&.with-gif {
width: 328px;
.reactions-row .toolbox-button:last-of-type {
top: 3px;
& .toolbox-icon.toggled {
background-color: #000000;
}
}
}
&.overflow {
width: 100%;
.toolbox-icon {
width: 48px;
@@ -27,6 +40,10 @@
.toolbox-button {
margin-right: 0;
}
.toolbox-button:last-of-type {
top: 0;
}
}
}
@@ -56,6 +73,7 @@
.toolbox-button {
margin-right: 8px;
touch-action: manipulation;
position: relative;
}
.toolbox-button:last-of-type {

View File

@@ -7,22 +7,23 @@
flex-direction: column;
.recording-header {
align-items: center;
display: flex;
flex: 0;
flex-direction: row;
justify-content: space-between;
padding-top: 32px;
.recording-title {
display: inline-flex;
align-items: center;
font-size: 16px;
font-size: 14px;
margin-left: 16px;
}
}
.recording-header-line {
border-top: 1px solid #5e6d7a;
padding-top: 32px;
}
.recording-switch-disabled {
@@ -34,10 +35,79 @@
align-items: center;
}
.file-sharing-icon-container {
background-color: #525252;
border-radius: 4px;
height: 40px;
justify-content: center;
width: 56px;
}
.cloud-content-recording-icon-container {
background-color: #FFFFFF;
border-radius: 4px;
height: 40px;
justify-content: center;
width: 40px;
}
.jitsi-recording-header {
margin-bottom: 32px;
}
.jitsi-content-recording-icon-container-with-switch {
background-color: #FFFFFF;
border-radius: 4px;
height: 40px;
width: 56px;
}
.jitsi-content-recording-icon-container-without-switch {
background-color: #FFFFFF;
border-radius: 4px;
height: 40px;
width: 46px;
}
.recording-icon {
width: 32px;
height: 32px;
height: 40px;
object-fit: contain;
width: 40px;
}
.content-recording-icon {
height: 18px;
margin: 10px 0 0 10px;
object-fit: contain;
width: 18px;
}
.recording-file-sharing-icon {
height: 18px;
object-fit: contain;
width: 18px;
}
.recording-info{
background-color: #FFD740;
color: black;
display: inline-flex;
margin: 32px 0;
width: 100%;
}
.recording-info-icon {
align-self: center;
height: 14px;
margin: 0 24px 0 16px;
object-fit: contain;
width: 14px;
}
.recording-info-title {
display: inline-flex;
font-size: 14px;
width: 290px
}
.recording-switch {

View File

@@ -48,6 +48,7 @@ canvas,
progress,
video {
display: inline-block;
transition: object-position 0.5s ease 0s;
vertical-align: baseline;
}
audio:not([controls]) {

View File

@@ -28,10 +28,6 @@ $defaultSemiDarkColor: #ACACAC;
$defaultDarkColor: #2b3d5c;
$defaultWarningColor: rgb(215, 121, 118);
$participantsPaneBgColor: #141414;
$presence-available: rgb(110, 176, 5);
$presence-away: rgb(250, 201, 20);
$presence-busy: rgb(233, 0, 27);
$presence-idle: rgb(172, 172, 172);
/**
* Toolbar
@@ -83,6 +79,8 @@ $modalTextColor: #333;
$chatActionsSeparatorColor: rgb(173, 105, 112);
$chatBackgroundColor: #131519;
$chatInputSeparatorColor: #A4B8D1;
$chatLobbyMessageBackgroundColor: #6A50D3;
$chatLobbyActionsSeparatorColor: #6A50D3;
$chatLocalMessageBackgroundColor: #484A4F;
$chatPrivateMessageBackgroundColor: rgb(153, 69, 77);
$chatRemoteMessageBackgroundColor: #242528;

View File

@@ -1,9 +1,9 @@
.video-preview {
background: none;
display: inline-block;
max-height: 344px;
&-container {
max-height: 344px;
background: $menuBG;
border-radius: 3px;
overflow: auto;

View File

@@ -1,68 +0,0 @@
.select2-container.aui-select2-container {
background-color: transparent !important;
margin-top: 2px;
a.select2-choice {
height: 28px !important;
line-height: 18px !important;
width: 100% !important;
background-color: $selectBg !important;
border-color: $selectBg !important;
color: $selectFontColor !important;
text-shadow: none !important;
font-size: 12px !important;
margin: 0 auto !important;
&:after {
border-top-color: $selectFontColor;
}
}
&.select2-dropdown-open{
a.select2-choice {
background-color: $selectActiveBg !important;
border-color: $selectActiveBg !important;
}
}
}
.select2-drop.aui-select2-drop.aui-style-default {
z-index: $dropdownZ;
background-color: $selectActiveBg;
border-color: $selectActiveBg;
.select2-results{
background-color: $selectActiveBg;
border-color: $selectActiveBg;
&::-webkit-scrollbar {
background-color: transparent;
}
&::-webkit-scrollbar-track {
background-color: transparent;
}
&::-webkit-scrollbar-track-piece {
background-color: transparent;
}
&::-webkit-scrollbar-thumb {
background-color: $selectActiveItemBg;
}
.select2-result{
&.select2-highlighted{
background-color: $selectActiveItemBg;
}
.select2-result-label{
font-size: 12px;
color: $selectFontColor !important;
line-height: 20px;
}
}
}
}
.select2-drop-mask {
z-index: $dropdownMaskZ;
}

View File

@@ -2,7 +2,6 @@
* CSS styles that are specific to the filmstrip that shows the thumbnail tiles.
*/
.tile-view {
.remote-videos {
align-items: center;
box-sizing: border-box;
@@ -74,6 +73,10 @@
display: block;
}
.filmstrip__videos.has-scroll {
padding-left: 7px;
}
.remote-videos {
box-sizing: border-box;
@@ -91,7 +94,6 @@
margin-top: auto;
margin-bottom: auto;
justify-content: center;
position: absolute;
.videocontainer {
border: 0;

View File

@@ -117,6 +117,25 @@
height: calc(100% - calc(#{$newToolbarSizeWithPadding} + #{$scrollHeight}));
}
.filmstrip__videos.vertical-view-grid#remoteVideos {
align-items: 'center';
border: 0px;
padding-right: 7px;
&.has-scroll {
padding-right: 0px;
}
.remote-videos > div {
left: 0px; // fixes an issue on FF - the div is aligned to the right by default for some reason
}
.videocontainer {
border: 0px;
margin: 2px;
}
}
.remote-videos {
display: flex;
overscroll-behavior: contain;
@@ -125,10 +144,6 @@
transition: height .3s ease-in;
}
&.vertical-grid-margin > div {
margin-right: $scrollHeight;
}
& > div {
position: absolute;
transition: opacity 1s;

View File

@@ -24,8 +24,7 @@ $flagsImagePath: "../images/";
/* Flags END */
/* Modules BEGIN */
@import 'aui_reset';
@import 'reset';
@import 'atlaskit_overrides';
@import 'base';
@import 'utils';
@@ -42,7 +41,6 @@ $flagsImagePath: "../images/";
@import 'modals/settings/settings';
@import 'modals/screen-share/share-audio';
@import 'modals/screen-share/share-screen-warning';
@import 'modals/speaker_stats/speaker_stats';
@import 'modals/virtual-background/virtual-background';
@import 'modals/local-recording/local-recording';
@import 'videolayout_default';
@@ -57,7 +55,6 @@ $flagsImagePath: "../images/";
@import 'welcome_page_content';
@import 'welcome_page_settings_toolbar';
@import 'toolbars';
@import 'keyboard-shortcuts';
@import 'redirect_page';
@import 'components/form-control';
@import 'components/link';
@@ -65,7 +62,6 @@ $flagsImagePath: "../images/";
@import 'components/input-control';
@import 'components/input-slider';
@import "connection-info";
@import 'aui-components/dropdown';
@import '404';
@import 'policy';
@import 'popover';
@@ -83,7 +79,6 @@ $flagsImagePath: "../images/";
@import 'navigate_section_list';
@import 'third-party-branding/google';
@import 'third-party-branding/microsoft';
@import 'avatar';
@import 'promotional-footer';
@import 'chrome-extension-banner';
@import 'settings-button';

View File

@@ -1,114 +1,3 @@
.dialog {
box-sizing: border-box;
height: auto;
min-height: 131px;
overflow: visible;
visibility: visible;
width: 400px;
h1, h2, h3, h4, h5, h6 {
color: $auiDialogColor;
}
.aui {
&-dialog2 {
&-header, &-footer {
background-color: $auiDialogBg;
border: none;
}
&-header {
border-bottom: 1px solid $auiBorderColor;
border-radius: 5px 5px 0 0;
box-sizing: border-box;
color: #333;
display: table;
font-weight: normal;
height: em(58, 12);
margin-top: -69px;
padding: 0 20px;
width: 100%;
h2 {
font-size: em(20, 12);
font-weight: $dialogTitleFontWeight;
color: $auiDialogColor;
}
&-main {
display: table-cell;
padding-right: 0;
max-width: 400px;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: middle;
white-space: nowrap;
}
}
&-footer {
border-top: 1px solid $auiBorderColor;
border-radius: 0 0 5px 5px;
box-sizing: border-box;
height: 51px;
overflow: hidden;
padding: 10px 20px;
width: 100%;
&:empty {
height: 5px;
padding: 0;
}
}
&-content {
background-color: $auiDialogBg;
box-sizing: border-box;
color: $auiDialogColor;
font-size: em(14, 12);
overflow: auto;
max-height: 100%;
padding: 20px;
p,span, h3 {
font-weight: $labelFontWeight;
}
&:last-child {
border-bottom-right-radius: 5px;
border-bottom-left-radius: 5px;
}
&:first-child {
border-top-right-radius: 5px;
border-top-left-radius: 5px;
}
}
}
&-hide {
display: none;
}
}
.input-control {
background-color: $auiDialogContentBg;
color: $auiDialogColor;
}
.form-control:not(:last-child) {
border-bottom: 1px solid $auiBorderColor;
}
}
@media all and (max-width: 420px) {
.aui-dialog2-small .aui-dialog2-content {
height: 100%;
}
}
.modal-dialog-form {
margin-top: 5px !important;

View File

@@ -1,30 +0,0 @@
.speaker-stats {
list-style: none;
.row{
display: flex;
align-items: center;
.avatar {
width: 32px;
margin-right: 16px;
}
.name-time {
width: calc(100% - 48px);
display: flex;
justify-content: space-between;
align-items: center;
}
.name-time_expressions-on {
width: calc(47% - 48px);
}
.expressions {
width: calc(53% - 29px);
display: flex;
justify-content: space-between;
.expression {
width: 30px;
text-align: center;
}
}
}
}

View File

@@ -1,71 +0,0 @@
.con-status {
border-radius: 6px;
color: #fff;
font-size: 12px;
letter-spacing: 0.16px;
line-height: 16px;
position: absolute;
width: 100%;
&-header {
background-color: rgba(0, 0, 0, 0.7);
align-items: center;
display: flex;
padding: 14px 16px;
}
&-circle {
border-radius: 50%;
display: inline-block;
padding: 4px;
margin-right: 16px;
}
&--good {
background: #31B76A;
}
&--poor {
background: #E12D2D;
}
&--non-optimal {
background: #E39623;
}
&-arrow {
margin-left: auto;
transition: background-color 0.16s ease-out;
&--up {
transform: rotate(180deg);
}
&>svg {
cursor: pointer;
}
&:hover {
background-color: rgba(1,1,1, 0.1);
}
}
&-text {
text-align: center;
}
&-details {
background-color: rgba(0, 0, 0, 0.7);
border-top: 1px solid #5E6D7A;
padding: 16px;
transition: opacity 0.16s ease-out;
&-visible {
opacity: 1;
}
&-hidden {
opacity: 0;
}
}
}

View File

@@ -1,38 +0,0 @@
.device {
&-status {
align-items: center;
color: #fff;
display: flex;
font-size: 14px;
line-height: 20px;
padding: 6px;
text-align: center;
&-error {
align-items: flex-start;
background-color: #F8AE1A;
border-radius: 6px;
color: #040404;
padding: 12px 16px;
text-align: left;
}
span {
margin-left: 16px;
}
}
&-icon {
background-position: center;
background-repeat: no-repeat;
display: inline-block;
height: 16px;
width: 16px;
&--ok {
svg path {
fill: #189b55;
}
}
}
}

View File

@@ -12,11 +12,29 @@
margin: 8px;
}
.lobby-chat-container {
background-color: $chatBackgroundColor;
width: 100%;
height: 314px;
display: flex;
flex-direction: column;
align-items: stretch;
margin-bottom: 16px;
border-radius: 5px;
.lobby-chat-header {
display: none;
}
}
.joining-message {
color: white;
margin: 24px auto;
text-align: center;
}
.open-chat-button {
display: none;
}
}
}
@@ -40,3 +58,149 @@
}
}
}
#notification-participant-list {
background-color: $newToolbarBackgroundColor;
border: 1px solid rgba(255, 255, 255, .4);
border-radius: 8px;
left: 0;
margin: 20px;
max-height: 600px;
overflow: hidden;
overflow-y: auto;
position: fixed;
top: 30px;
z-index: $toolbarZ + 1;
&:empty {
border: none;
}
&.toolbox-visible {
// Same as toolbox subject position
top: 120px;
}
&.avoid-chat {
left: 315px;
}
.title {
background-color: rgba(0, 0, 0, .2);
font-size: 1.2em;
padding: 15px
}
button {
align-self: stretch;
margin-bottom: 8px 0;
padding: 12px;
transition: .2s transform ease;
&:disabled {
opacity: .5;
}
&:hover {
transform: scale(1.05);
&:disabled {
transform: none;
}
}
&.borderLess {
background-color: transparent;
border-width: 0;
}
&.primary {
background-color: rgb(3, 118, 218);
border-width: 0;
}
}
}
.knocking-participants-container {
list-style-type: none;
padding: 0 15px 15px 15px;
}
.knocking-participant {
align-items: center;
display: flex;
flex-direction: row;
margin: 8px 0;
.details {
display: flex;
flex: 1;
flex-direction: column;
justify-content: space-evenly;
margin: 0 30px 0 10px;
}
button {
align-self: unset;
margin: 0 5px;
}
}
@media (max-width: 300px) {
#knocking-participant-list {
margin: 0;
text-align: center;
width: 100%;
.avatar {
display: none;
}
}
.knocking-participant {
flex-direction: column;
.details {
margin: 0;
}
}
}
@media (max-width: 1000px) {
.lobby-screen-content {
.lobby-chat-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 255;
&.hidden {
display: none;
}
.lobby-chat-header {
display: flex;
flex-direction: row;
padding-top: 20px;
padding-left: 16px;
padding-right: 16px;
.title {
flex: 1;
color: #fff;
font-size: 20px;
font-weight: 600;
line-height: 28px;
letter-spacing: -1.2%;
}
}
}
.open-chat-button {
display: block;
}
}
}

View File

@@ -1,5 +1,3 @@
@import 'connection-status';
@import 'device-status';
@import 'lobby';
@import 'premeeting-screens';
@import 'prejoin';

View File

@@ -116,72 +116,3 @@
margin: 8px 0 16px 0;
}
}
.prejoin-dialog-dialin {
text-align: center;
&-header {
align-items: center;
margin: 16px 0 32px 16px;
display: flex;
}
&-icon {
margin-right: 16px;
}
&-num {
background: #3e474f;
border-radius: 4px;
display: inline-block;
font-size: 15px;
line-height: 24px;
margin: 4px;
padding: 8px;
&-container {
min-height: 48px;
margin: 8px 0;
}
}
&-link {
color: #6FB1EA;
cursor: pointer;
display: inline-block;
font-size: 13px;
line-height: 20px;
margin-bottom: 24px;
}
&-spaced-label {
margin-bottom: 16px;
margin-top: 28px;
}
&-btns {
&> div {
margin-bottom: 16px;
}
}
}
.prejoin-dialog-calling {
padding: 16px;
text-align: center;
&-header {
text-align: right;
}
&-label {
font-size: 15px;
margin: 8px 0 16px 0;
}
&-number {
font-size: 19px;
line-height: 28px;
margin: 16px 0;
}
}

View File

@@ -23,30 +23,6 @@
padding: 8px 0;
}
&-dropdown-btn {
align-items: center;
color: #1C2025;
cursor: pointer;
display: flex;
height: 40px;
font-size: 15px;
line-height: 24px;
padding: 0 16px;
&:hover {
background-color: #DAEBFA;
}
}
&-dropdown-icon {
display: inline-block;
margin-right: 16px;
& > svg {
fill: #1C2025;
}
}
&-dropdown-container {
position: relative;
width: 100%;

View File

@@ -82,7 +82,7 @@
flex-direction: column;
flex-shrink: 0;
height: 100%;
margin: 0 110px;
margin: 0 30px;
padding: 24px 0 16px;
position: relative;
width: $prejoinDefaultContentWidth;
@@ -154,33 +154,20 @@
}
}
@media (max-width: 1000px) {
@media (max-width: 720px) {
flex-direction: column-reverse;
.content {
height: auto;
margin: 0 auto;
}
.con-status {
margin: 24px auto;
position: fixed;
top: 0;
width: $prejoinDefaultContentWidth;
}
}
// mobile phone landscape
@media (max-height: 420px) {
flex-direction: row;
div.content {
padding: 16px 16px 0 16px;
}
.con-status {
display: none;
}
}
@media (max-width: 400px) {
@@ -200,11 +187,6 @@
}
}
.con-status {
margin: 0;
width: 100%;
}
.device-status-error {
border-radius: 0;
margin: 0 -16px;

View File

@@ -46,11 +46,6 @@ $reloadProgressBarBg: #0074E0;
/**
* Dialog colors
**/
$auiDialogColor: #eceef1;
$auiDialogBg: #253858;
$auiDialogContentBg: #344563;
$auiBorderColor: #253858;
$dialogTitleFontWeight: 400;
$dialogErrorText: #344563;
/**

View File

@@ -83,6 +83,7 @@ Component "breakout.jitmeet.example.com" "muc"
"muc_domain_mapper";
--"token_verification";
"muc_rate_limit";
"polls";
}
admins = { "focusUser@auth.jitmeet.example.com" }
muc_room_locking = false

BIN
images/GIPHY_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

BIN
images/GIPHY_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
images/icon-info.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>22.0.0</string>
<string>22.1.1</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>

View File

@@ -37,13 +37,8 @@
[builder setFeatureFlag:@"welcomepage.enabled" withBoolean:YES];
[builder setFeatureFlag:@"resolution" withValue:@(360)];
[builder setFeatureFlag:@"ios.screensharing.enabled" withBoolean:YES];
builder.serverURL = [NSURL URLWithString:@"https://meet.jit.si"];
// Apple rejected our app because they claim requiring a
// Dropbox account for recording is not acceptable.
#if DEBUG
[builder setFeatureFlag:@"ios.recording.enabled" withBoolean:YES];
#endif
builder.serverURL = [NSURL URLWithString:@"https://meet.jit.si"];
}];
[jitsiMeet application:application didFinishLaunchingWithOptions:launchOptions];

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>22.0.0</string>
<string>22.1.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>22.0.0</string>
<string>22.1.1</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UISupportedInterfaceOrientations</key>

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>XPC!</string>
<key>CFBundleShortVersionString</key>
<string>22.0.0</string>
<string>22.1.1</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CLKComplicationPrincipalClass</key>

View File

@@ -71,7 +71,7 @@ platform :ios do
# Inrement the build number by 1
increment_build_number(
build_number: latest_testflight_build_number + 1,
build_number: Time.now.to_i,
xcodeproj: "app/app.xcodeproj"
)

View File

@@ -35,7 +35,6 @@ xcodebuild archive \
-sdk iphonesimulator \
-destination='generic/platform=iOS Simulator' \
-archivePath ios/sdk/out/ios-simulator \
VALID_ARCHS=x86_64 \
ENABLE_BITCODE=NO \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
@@ -46,7 +45,6 @@ xcodebuild archive \
-sdk iphoneos \
-destination='generic/platform=iOS' \
-archivePath ios/sdk/out/ios-device \
VALID_ARCHS=arm64 \
ENABLE_BITCODE=NO \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES

View File

@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>5.0.0</string>
<string>5.0.2</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>

View File

@@ -141,7 +141,6 @@
"Share": "Deel",
"Submit": "Dien in",
"WaitForHostMsg": "",
"WaitForHostMsgWOk": "",
"WaitingForHost": "Wag tans vir die gasheer …",
"Yes": "Ja",
"accessibilityLabel": {

View File

@@ -2,9 +2,9 @@
"addPeople": {
"add": "ادع",
"addContacts": "ادع كل جهات الاتصال لدي",
"contacts": "contacts",
"copyInvite": "انسخ دعوةً للاجتماع",
"copyLink": "انسخ رابط الاجتماع",
"contacts": "جهات اتصال",
"copyInvite": "انسخ دعوةً للمُلتقى",
"copyLink": "انسخ رابط المُلتقى",
"copyStream": "انسخ رابط البث المباشر",
"countryNotSupported": "لا ندعم هذه الوجهة حاليًا.",
"countryReminder": "أتريد الاتصال بمن هو خارج الولايات المتحدة؟ تأكد من الابتداء برمز الدولة أولًا!",
@@ -13,20 +13,20 @@
"failedToAdd": "فشل إضافة مشاركين",
"footerText": "الاتصال لدعوة الغير مُعطَّل.",
"googleEmail": "بريد غوغل",
"inviteMoreHeader": "أنت بمفردك في هذا الاجتماع",
"inviteMoreMailSubject": "ضم {{appName}} للاجتماع",
"inviteMoreHeader": "أنت بمفردك في هذا المُلتقى",
"inviteMoreMailSubject": "ضم {{appName}} للمُلتقى",
"inviteMorePrompt": "ادعُ أشخاصًا آخرين",
"linkCopied": "نُسِخ الرابط",
"noResults": "لم يُعثَر على أي نتيجة بحث متطابقة",
"outlookEmail": "بريد مايكروسوفت",
"phoneNumbers": "أضف ارقام هواتف",
"searching": "يبحث",
"shareInvite": "شارك دعوةً للاجتماع",
"shareLink": "شارك رابط الاجتماع لدعوة الأخرين",
"shareStream": "شارك رابط البث المباشر للاجتماع",
"shareInvite": "شارك دعوةً للمُلتقى",
"shareLink": "شارك رابط المُلتقى لدعوة الأخرين",
"shareStream": "شارك رابط البث المباشر للمُلتقى",
"sipAddresses": "sip عنوان",
"telephone": "رقم الهاتف: {{number}}",
"title": "ادعُ أحدًا لهذا الاجتماع",
"title": "ادعُ أحدًا لهذا المُلتقى",
"yahooEmail": "بريد ياهوو"
},
"audioDevices": {
@@ -40,7 +40,7 @@
"audioOnly": "معدل تبادل البيانات منخفض"
},
"blankPage": {
"meetingEnded": "انتهى الاجتماع."
"meetingEnded": "انتهى المُلتقى."
},
"breakoutRooms": {
"actions": {
@@ -53,7 +53,7 @@
"remove": "إزالة",
"sendToBreakoutRoom": "أرسل المشارك إلى:"
},
"defaultName": "غرفة الاجتماعات الفرعية رقم {{index}}",
"defaultName": "غرفة المُلتقيات الفرعية رقم {{index}}",
"mainRoom": "الغرفة الرئيسية",
"notifications": {
"joined": " الغرفة الجانبيةالانضمام إلى {{index}}",
@@ -62,7 +62,7 @@
}
},
"calendarSync": {
"addMeetingURL": "أضف رابطًا لاجتماع",
"addMeetingURL": "أضف رابطًا لمُلتقى",
"confirmAddLink": "هل تريد إضافة رابط جيستسي لهذا الحدث؟",
"error": {
"appConfiguration": "لم تُضبَط عملية إضافة الرزنامة ضبطًا صحيحًا.",
@@ -70,12 +70,12 @@
"notSignedIn": "حدث خطأ أثناء إجراء عملية الاستيثاق للوصول إلى تفاصيل الأحداث المسجلة في الرزنامة. تحقق رجاءً من إعدادات رزنامتك وجرب التسجيل مرة أخرى."
},
"join": "انضم",
"joinTooltip": "انضم إلى الاجتماع",
"nextMeeting": "الاجتماع التالي",
"joinTooltip": "انضم إلى المُلتقى",
"nextMeeting": "المُلتقى التالي",
"noEvents": "لا يوجد أي أحدات آتية مجدولة.",
"ongoingMeeting": "اجتماع قائم",
"ongoingMeeting": "مُلتقى قائم",
"permissionButton": "افتح الإعدادات",
"permissionMessage": "يطلب إذن الوصول إلى الرزنامة لرؤية مواعيد اجتماعاتك.",
"permissionMessage": "يطلب إذن الوصول إلى الرزنامة لرؤية مواعيد مُلتقياتك.",
"refresh": "حدِّث الرزنامة",
"today": "اليوم"
},
@@ -83,6 +83,7 @@
"enter": "أدخل الغرفة",
"error": "خطأ: لم تُرسَل رسالتك. السبب: {{error}}",
"fieldPlaceHolder": "اكتب رسالتك هنا",
"lobbyChatMessageTo": "رسالة دردشة لوبي إلى {{recipient}}",
"message": "رسالة",
"messageAccessibleTitle": "{{user}} مقولة:",
"messageAccessibleTitleMe": "أنا أقول:",
@@ -93,7 +94,7 @@
"title": "اكتب لقبًا لاعتماده في المحادثة",
"titleWithPolls": "اكتب لقبًا لاعتماده في المحادثة"
},
"noMessagesMessage": "لا يوجد أي رسالة في الاجتماع بعد. ابدأ محادثة هنا.",
"noMessagesMessage": "لا يوجد أي رسالة في المُلتقى بعد. ابدأ محادثة هنا.",
"privateNotice": "أرسل رسالة خاصة إلى {{recipient}}",
"smileysPanel": "واجهة الإيموجي",
"tabs": {
@@ -171,15 +172,15 @@
"yesterday": "البارحة"
},
"deepLinking": {
"appNotInstalled": "تحتاج إلى تطبيق الجوال {{app}} للانضمام إلى إلى هذا الاجتماع على هاتفك.",
"description": "ألم يحدث شيء؟ جربنا عقد اجتماعك على تطبيق الحاسوب {{app}}. جرب مرة أخرى أو اعقد الاجتماع على تطبيق الويب {{app}}.",
"descriptionWithoutWeb": "ألم يحدث شيء؟ جربنا عقد اجتماعك على تطبيق الحاسوب {{app}}.",
"appNotInstalled": "تحتاج إلى تطبيق الجوال {{app}} للانضمام إلى إلى هذا المُلتقى على هاتفك.",
"description": "ألم يحدث شيء؟ جربنا عقد مُلتقىك على تطبيق الحاسوب {{app}}. جرب مرة أخرى أو اعقد المُلتقى على تطبيق الويب {{app}}.",
"descriptionWithoutWeb": "ألم يحدث شيء؟ جربنا عقد مُلتقىك على تطبيق الحاسوب {{app}}.",
"downloadApp": "نزِّل التطبيق",
"ifDoNotHaveApp": "إن لم تملك التطبيق بعد:",
"ifHaveApp": "إن كان لديك التطبيق:",
"joinInApp": "انضم للاجتماع عبر تطبيق الجوال",
"joinInApp": "انضم للمُلتقى عبر تطبيق الجوال",
"launchWebButton": "افتح تطبيق الويب",
"title": "قيد عقد اجتماعك في {{app}}...",
"title": "قيد عقد مُلتقىك في {{app}}...",
"tryAgainButton": "جرب مرة أخرى في تطبيق الحاسوب",
"unsupportedBrowser": "يبدو أنك تستخدم متصفحًا لا ندعمه."
},
@@ -208,14 +209,15 @@
"Remove": "أزل",
"Share": "شارك",
"Submit": "أرسل",
"WaitForHostMsg": "لم يبدأ المؤتمر <b>{{room}}</b> بعد. إن كنت المضيف والراعي، فنرجو تأكيد ذلك عبر الاستيثاق أو انتظر وصول المضيف رجاءً. ",
"WaitForHostMsgWOk": "لم يبدأ المؤتمر <b>{{room}}</b> بعد. إن كنت المضيف والراعي، فاضغط على «تمام» للاستيثاق أو انتظر وصول المضيف رجاءً.",
"WaitForHostMsg": "لم يبدأ المؤتمر بعد. إن كنت المضيف والراعي، فنرجو تأكيد ذلك عبر الاستيثاق أو انتظر وصول المضيف رجاءً. ",
"WaitingForHostTitle": "في انتظار المضيف ...",
"Yes": "نعم",
"accessibilityLabel": {
"liveStreaming": "بث حي مباشر"
},
"add": "أضف",
"addMeetingNote": "أضف ملاحظة حول هذا المُلتقى",
"addOptionalNote": "أضف ملاحظة (اختياري)",
"allow": "اسمح",
"alreadySharedVideoMsg": "يشارك أحد الحضور الفيديو حاليًا، ولا يسمح هذا الإجتماع سوى بمشاركة فيديو واحد في آن واحد",
"alreadySharedVideoTitle": "لا يُسمَح سوى بفيديو مشارك واحد على الأكثر في آن واحد.",
@@ -246,12 +248,12 @@
"dismiss": "تجاهل",
"displayNameRequired": "السلام عليكم! ما اسمك؟",
"done": "اُنجِز",
"e2eeDescription": "<p>عملية التعمية من طرف لطرف <strong>قيد التجريب</strong> حاليًا. زر رجاءً <a href='https://jitsi.org/blog/e2ee/' target='_blank'>هذا المنشور</a> لمزيد من التفاصيل.</p><br/><p>ضع في ذهنك أن تشغيل عملية التعمية من طرف لطرف ستعطل عمل بعض الخدمات التي يقدمها المُخدِّم مثل: التسجيل، والبث الحي، الاشتراك عبر الهاتف. أضف إلى ذلك أن الاجتماع سيعمل مع الأشخاص المنضمين من المتصفح التي تدعم قابلية الدخول إلى البث.</p>",
"e2eeDescription": "<p>عملية التعمية من طرف لطرف <strong>قيد التجريب</strong> حاليًا. زر رجاءً <a href='https://jitsi.org/blog/e2ee/' target='_blank'>هذا المنشور</a> لمزيد من التفاصيل.</p><br/><p>ضع في ذهنك أن تشغيل عملية التعمية من طرف لطرف ستعطل عمل بعض الخدمات التي يقدمها المُخدِّم مثل: التسجيل، والبث الحي، الاشتراك عبر الهاتف. أضف إلى ذلك أن المُلتقى سيعمل مع الأشخاص المنضمين من المتصفح التي تدعم قابلية الدخول إلى البث.</p>",
"e2eeDisabledDueToMaxModeDescription": "لا يمكن تمكين التشفير من طرف إلى طرف بسبب العدد الكبير من المشاركين في المؤتمر.",
"e2eeLabel": "المفتاح",
"e2eeWarning": "تحذير: لا يبدو أن جميع المشاركين في هذا الاجتماع لديهم دعم للتشفير من طرف إلى طرف. إذا قمت بتمكينه فلن يتمكنوا من رؤيتك أو سماعك.",
"e2eeWarning": "تحذير: لا يبدو أن جميع المشاركين في هذا المُلتقى لديهم دعم للتشفير من طرف إلى طرف. إذا قمت بتمكينه فلن يتمكنوا من رؤيتك أو سماعك.",
"e2eeWillDisableDueToMaxModeDescription": "تحذير: سيتم تعطيل التشفير من طرف إلى طرف تلقائيًا إذا انضم المزيد من المشاركين إلى المؤتمر.",
"embedMeeting": "تضمين الاجتماع",
"embedMeeting": "تضمين المُلتقى",
"enterDisplayName": "أدخل اسمك هنا، رجاءً",
"error": "خطأ",
"gracefulShutdown": "خدمتنا متوقفة حاليًا لعمليات الصيانة. جرب مرة أخرى في وقت لاحق.",
@@ -266,13 +268,15 @@
"kickParticipantButton": "اطرد",
"kickParticipantDialog": "أمتأكد من طرد هذا المشارك؟",
"kickParticipantTitle": "أتريد طرد هذا المشارك؟",
"kickTitle": "عذرًا! تم طردك {{participantDisplayName}} من الاجتماع",
"kickTitle": "عذرًا! تم طردك {{participantDisplayName}} من المُلتقى",
"linkMeeting": "ربط المُلتقى",
"linkMeetingTitle": "ربط المُلتقى بـ Salesforce",
"liveStreaming": "البث المباشر الحي",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "غير ممكن أثناء التسجيل",
"liveStreamingDisabledTooltip": "بدء بثٍ حيٍّ مُعطَّل",
"localUserControls": "ضوابط المستخدم المحلي",
"lockMessage": "فشل جعل المؤتمر مغلقًا.",
"lockRoom": "أضف الاجتماع $t(lockRoomPasswordUppercase)",
"lockRoom": "أضف المُلتقى $t(lockRoomPasswordUppercase)",
"lockTitle": "فشلت عملية القفل والإغلاق",
"login": "تسجيل الدخول",
"logoutQuestion": "أمتأكد من رغبتك في الخروج وإيقاف المؤتمر؟",
@@ -311,8 +315,8 @@
"muteParticipantsVideoTitle": "تعطيل الكاميرا لهذا المشارك؟",
"noDropboxToken": "لا يوجد رمز مميز صالح لـ Dropbox",
"password": "كلمه السر",
"passwordLabel": "جعل عضو ما هذا الاجتماع مغلقًا. أدخل رجاءً $t(lockRoomPassword) للإنضمام.",
"passwordNotSupported": "ضبط اجتماع $t(lockRoomPassword) غير مدعوم.",
"passwordLabel": "جعل عضو ما هذا المُلتقى مغلقًا. أدخل رجاءً $t(lockRoomPassword) للإنضمام.",
"passwordNotSupported": "ضبط مُلتقى $t(lockRoomPassword) غير مدعوم.",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) غير مدعوم",
"passwordRequired": "يُطلَب $t(lockRoomPasswordUppercase)",
"permissionCameraRequiredError": "مطلوب إذن الكاميرا للمشاركة في المؤتمرات بالفيديو. يرجى منحه في الإعدادات",
@@ -321,6 +325,7 @@
"popupError": "يمنع متصفحك النوافذ المنبثقة من هذا الموقع. فعِّل رجاءً النوافذ المنبثقة في المتصفح من إعدادات الحماية وحاول مرة أخرى.",
"popupErrorTitle": "النوافذ المنبثقة محجوبة.",
"readMore": "أكثر",
"recentlyUsedObjects": "الأشياء المستخدمة مؤخرًا",
"recording": "قيد التسجيل",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "ليس بالإمكان ما دمت قيد البث المباشر",
"recordingDisabledTooltip": "عملية التسجيل معطلة.",
@@ -343,6 +348,12 @@
"screenSharingFailed": "عجبًا! حصل خطأ ما، فلن نتمكن من مشاركة الشاشة للأسف!",
"screenSharingFailedTitle": "فشلت عملية مشاركة الشاشة!",
"screenSharingPermissionDeniedError": "عجبًا! حصل خطأ ما متعلق بأذونات إضافة مشاركة الشاشة. أعد التحميل وجرِّب مرة أخرى، رجاءً.",
"searchInSalesforce": "ابحث في Salesforce",
"searchResults": "نتائج البحث ({{count}})",
"searchResultsDetailsError": "حدث خطأ ما أثناء استرداد بيانات المالك.",
"searchResultsError": "حدث خطأ ما أثناء استرداد البيانات.",
"searchResultsNotFound": "لم يتم العثور على نتائج عن البحث.",
"searchResultsTryAgain": "حاول استخدام كلمات رئيسية بديلة.",
"sendPrivateMessage": "وصلتك رسالة خاصة للتو، أتنوي الرد عليها ردًا خاصًا أم تريد إرسال رسالتك على المجموعة؟",
"sendPrivateMessageCancel": "أرسل إلى المجموعة",
"sendPrivateMessageOk": "أرسل ردًا خاصًا",
@@ -365,8 +376,9 @@
"shareVideoTitle": "شارك فيديو",
"shareYourScreen": "شارك شاشتك",
"shareYourScreenDisabled": "مشاركة الشاشة مُعطَّلة",
"sharedVideoDialogError": "",
"sharedVideoDialogError": "خطأ: رابط غير صالح",
"sharedVideoLinkPlaceholder": "رابط اليوتيوب او رابط الفيديو المباشر",
"start": "إبدأ",
"startLiveStreaming": "ابدأ بثًا حيًا",
"startRecording": "ابدأ التسجيل",
"startRemoteControlErrorMessage": "حصل خطأٌ أثناء محاولة بدء جلسة تحكم بعيد!",
@@ -380,7 +392,7 @@
"tokenAuthFailed": "عذرًا، لا يسمح لك بالإنضام إلى هذه المكالمة.",
"tokenAuthFailedTitle": "فشلت عملية الاستيثاق",
"transcribing": "يذاع",
"unlockRoom": "إزل الاجتماع $t(lockRoomPassword)",
"unlockRoom": "إزل المُلتقى $t(lockRoomPassword)",
"user": "مستخدم",
"userIdentifier": "معرف المستخدم",
"userPassword": "كلمة مرور المستخدم",
@@ -397,7 +409,7 @@
"labelToolTip": "فعَّل كل المشاركين في هذا الإجتماع عملية التعمية طرف لطرف"
},
"embedMeeting": {
"title": "ضمِّن هذا الاجتماع"
"title": "ضمِّن هذا المُلتقى"
},
"feedback": {
"average": "المتوسط",
@@ -409,6 +421,10 @@
"veryBad": "سيئة للغاية",
"veryGood": "ممتازة"
},
"giphy": {
"noResults": "لم يتم العثور على نتائج :(",
"search": "ابحث في GIPHY"
},
"helpView": {
"header": "مركز المساعدة"
},
@@ -416,7 +432,7 @@
"answer": "أجب",
"audioCallTitle": "مكالمة صوتية واردة",
"decline": "ارفض",
"productLabel": "إجتماع من جيتسي",
"productLabel": "مُلتقى جيتسي",
"videoCallTitle": "مكالمة مرئية واردة"
},
"info": {
@@ -426,25 +442,25 @@
"conferenceURL": "رابط:",
"copyNumber": "إنسخ الرقم",
"country": "البلد",
"dialANumber": "إن أردت الإنضمام إلى الإجتماع، اتصل بأحد الأرقام التالية ثم أدخل رمز المرور",
"dialANumber": "إن أردت الإنضمام إلى المُلتقى، اتصل بأحد الأرقام التالية ثم أدخل رمز المرور",
"dialInConferenceID": "رمز المرور (PIN):",
"dialInNotSupported": "عذرًا، الاتصال غير مدعوم حاليًا.",
"dialInNumber": "اتصل:",
"dialInSummaryError": "خطأ في تحصيل معلومات الاتصال. جرب مرة أخرى لاحقًا.",
"dialInTollFree": "رقم هاتف مجاني",
"genericError": "عفوًا، شيء ما لم يسر على ما يرام.",
"inviteLiveStream": "لمشاهدة البث الحي لهذا الإجتماع، اضط على هذا الرابط: {{url}}",
"inviteLiveStream": "لمشاهدة البث الحي لهذا المُلتقى، اضط على هذا الرابط: {{url}}",
"invitePhone": "للإنضمام من الهاتف، استعمل: {{number}},,{{conferenceID}}#\n",
"invitePhoneAlternatives": "أتبحث عن رقم اتصال مختلف؟\nأنظر أرقام الوصول إلى هذا الإجتماع: {{url}}\n\n\nإن كنت أيضًا تتصل عبر غرفة اتصال (room phone)، انضم دون الاتصال بالصوت: {{silentUrl}}",
"inviteSipEndpoint": "للانضمام باستخدام عنوان SIP ، أدخل هذا: {{sipUri}}",
"inviteTextiOSInviteUrl": "انقر فوق الرابط التالي للانضمام: {{inviteUrl}}.",
"inviteTextiOSJoinSilent": "إذا كنت تقوم بالاتصال من خلال هاتف الغرفة ، فاستخدم هذا الارتباط للانضمام دون الاتصال بالصوت: {{silentUrl}}.",
"inviteTextiOSPersonal": "{{name}} يدعوك إلى اجتماع.",
"inviteTextiOSPersonal": "{{name}} يدعوك إلى مُلتقى.",
"inviteTextiOSPhone": "للانضمام عبر الهاتف ، استخدم هذا الرقم: {{number}},,{{conferenceID}}#. إذا كنت تبحث عن رقم مختلف ، فهذه هي القائمة الكاملة: {{didUrl}}.",
"inviteURLFirstPartGeneral": "دُعيِت للإنضمام إلى اجتماع",
"inviteURLFirstPartPersonal": "دعاك {{name}} لاجتماع.\n",
"inviteURLSecondPart": "\nانضم للاجتماع:\n{{url}}\n",
"label": "تفاصيل الاجتماع",
"inviteURLFirstPartGeneral": "دُعيِت للإنضمام إلى مُلتقى",
"inviteURLFirstPartPersonal": "دعاك {{name}} لمُلتقى.\n",
"inviteURLSecondPart": "\nانضم للمُلتقى:\n{{url}}\n",
"label": "تفاصيل المُلتقى",
"liveStreamURL": "بث حي:",
"moreNumbers": "أرقام إضافية",
"noNumbers": "لا يوجد أرقام اتصال.",
@@ -454,7 +470,7 @@
"password": "$t(lockRoomPasswordUppercase):",
"sip": "SIP عنوان",
"title": "شارك",
"tooltip": "شارك رابط وتفاصيل الاتصال لهذا الاجتماع"
"tooltip": "شارك رابط وتفاصيل الاتصال لهذا المُلتقى"
},
"inlineDialogFailure": {
"msg": "تعثرث معنا بعض الأمور :(",
@@ -475,6 +491,7 @@
"focusLocal": "ركز على الفيديو الخاص بك",
"focusRemote": "ركز على فيديو مشارك آخر",
"fullScreen": "استعمل/اخرج من وضع الشاشة الكاملة",
"giphyMenu": "تبديل قائمة GIPHY",
"keyboardShortcuts": "اختصارات لوحة المفاتيح",
"localRecording": "اظهِر أو اخفِ التحكم بالتسجيل المحلي",
"mute": "اكتم أو ألغ كتم المجهار (المايكروفون) الخاص بك",
@@ -499,7 +516,7 @@
"errorAPI": "حصل خطأ أثناء الوصول إلى البث الخاص بك على يوتيوب. حاول تسجيل الدخول مرَّة أخرى.",
"errorLiveStreamNotEnabled": "البث الحي غير مفعَّل على على {{email}}. فعَّل البث الحي رجاءً، أو سجِّل الدخل إلى حسابٍ مُفعَّل فيه البث الحي",
"expandedOff": "أُوقِف البث الحي",
"expandedOn": "يجري بث الاجتماع على يوتيوب",
"expandedOn": "يجري بث المُلتقى على يوتيوب",
"expandedPending": "تبدأ عملية البث الحي...",
"failedToStart": "فشلت عملية بدء البث الحي",
"getStreamKeyManually": "لم نتمكن من الوصول إلى أي بث حي. جرب جلب مفتاح بث حي خاص بك من يوتيوب.",
@@ -529,33 +546,36 @@
"admitAll": "سمح للجميع بالدخول",
"allow": "اسمح",
"backToKnockModeButton": "لا يوجد كلمة مرور، اطلب الإذن بالدخول بدلًا من ذلك.",
"chat": "دردشة",
"dialogTitle": "ونضع غرفة الانتظار",
"disableDialogContent": "وضع غرفة الانتظار مفعَّل. تسمح هذه الميزة بعدم السماح للغرباء بالانضمام إلى الاجتماع، فهل تريد حقًا تعطيلها؟",
"disableDialogContent": "وضع غرفة الانتظار مفعَّل. تسمح هذه الميزة بعدم السماح للغرباء بالانضمام إلى المُلتقى، فهل تريد حقًا تعطيلها؟",
"disableDialogSubmit": "عطِّل",
"emailField": "أدخل بريدك الإلكتروني",
"enableDialogPasswordField": "حدِّد كلمة مرور (اختياري)",
"enableDialogSubmit": "فعِّل",
"enableDialogText": "يحمي وضع الانتظار غرفة الاجتماع عبر منح رئيس الجلسة إمكانية الموافقة على انضمام المشاركين.",
"enterPasswordButton": "أدخل كلمة المرور لهذا الاجتماع",
"enterPasswordTitle": "أدخل كلمة المرور للدخول للاجتماع",
"errorMissingPassword": "الرجاء إدخال كلمة مرور الاجتماع",
"enableDialogText": "يحمي وضع الانتظار غرفة المُلتقى عبر منح رئيس الجلسة إمكانية الموافقة على انضمام المشاركين.",
"enterPasswordButton": "أدخل كلمة المرور لهذا المُلتقى",
"enterPasswordTitle": "أدخل كلمة المرور للدخول للمُلتقى",
"errorMissingPassword": "الرجاء إدخال كلمة مرور المُلتقى",
"invalidPassword": "كلمة مرور غير صحيحة",
"joinRejectedMessage": "رفض رئيس الجلسة منحك الإذن بالدخول إلى الاجتماع",
"joinTitle": "انضم للاجتماع",
"joinRejectedMessage": "رفض رئيس الجلسة منحك الإذن بالدخول إلى المُلتقى",
"joinTitle": "انضم للمُلتقى",
"joinWithPasswordMessage": "الرجاء الانتظار أثناء محاولة الدخول دون كلمة مرور...",
"joiningMessage": "ستتمكن من الانضمام للاجتماع بعد الموافقة على طلبك",
"joiningMessage": "ستتمكن من الانضمام للمُلتقى بعد الموافقة على طلبك",
"joiningTitle": "يجري طلب إذنٍ للدخول...",
"joiningWithPasswordTitle": "الدخول مع كلمة مرور...",
"knockButton": "اطلب إذن الدخول",
"knockTitle": "يريد أحدٌ الدخول إلى الاجتماع",
"knockTitle": "يريد أحدٌ الدخول إلى المُلتقى",
"knockingParticipantList": "تنبيه قائمة المشاركين",
"lobbyChatStartedNotification": "بدأ {{moderator}} دردشة في الردهة مع {{attendee}}",
"lobbyChatStartedTitle": "بدأ {{moderator}} محادثة في الردهة معك.",
"nameField": "أدخل اسمك",
"notificationLobbyAccessDenied": "رفض {{originParticipantName}} مشاركة {{targetParticipantName}} للاجتماع",
"notificationLobbyAccessGranted": "سمح {{originParticipantName}} بمشاركة {{targetParticipantName}} للاجتماع",
"notificationLobbyAccessDenied": "رفض {{originParticipantName}} مشاركة {{targetParticipantName}} للمُلتقى",
"notificationLobbyAccessGranted": "سمح {{originParticipantName}} بمشاركة {{targetParticipantName}} للمُلتقى",
"notificationLobbyDisabled": "عطَّل {{originParticipantName}} وضع غرفة الانتظار",
"notificationLobbyEnabled": "فعَّل {{originParticipantName}} وضع غرفة الانتظار",
"notificationTitle": "غرفة الانتظار",
"passwordField": "أدخل كلمة الدخول إلى الاجتماع",
"passwordField": "أدخل كلمة الدخول إلى المُلتقى",
"passwordJoinButton": "انضم",
"reject": "رفض",
"rejectAll": "رفض الكل",
@@ -594,7 +614,7 @@
"lockRoomPasswordUppercase": "كلمة المرور",
"lonelyMeetingExperience": {
"button": "ادعُ آخرين",
"youAreAlone": "أنت بمفردك في الاجتماع"
"youAreAlone": "أنت بمفردك في المُلتقى"
},
"me": "أنا",
"notify": {
@@ -604,9 +624,9 @@
"audioUnmuteBlockedDescription": "تم حظر عملية إلغاء كتم صوت الميكروفون مؤقتًا بسبب قيود النظام.",
"audioUnmuteBlockedTitle": "تم حظر إعادة صوت الميكروفون!",
"chatMessages": "رسائل الدردشة",
"connectedOneMember": "انضم {{name}} للاجتماع",
"connectedThreePlusMembers": "انضم {{name}} وعدد {{count}} غيره إلى الاجتماع",
"connectedTwoMembers": "انضم {{first}} و {{second}} إلى الاجتماع",
"connectedOneMember": "انضم {{name}} للمُلتقى",
"connectedThreePlusMembers": "انضم {{name}} وعدد {{count}} غيره إلى المُلتقى",
"connectedTwoMembers": "انضم {{first}} و {{second}} إلى المُلتقى",
"disconnected": "انقطع الاتصال",
"displayNotifications": "عرض الإخطارات لـ",
"focus": "التركيز على المؤتمر",
@@ -617,9 +637,15 @@
"invitedThreePlusMembers": "دُعِي {{name}} وعدد {{count}} آخرين",
"invitedTwoMembers": "دُعِي {{first}} و {{second}}",
"kickParticipant": "طرد {{kicked}} المشارك {{kicker}}",
"leftOneMember": "{{name}} غادر الاجتماع",
"leftThreePlusMembers": "غادر {{name}} والعديد من الأشخاص الآخرين الاجتماع",
"leftTwoMembers": "غادر {{first}} و {{second}} الاجتماع",
"leftOneMember": "{{name}} غادر المُلتقى",
"leftThreePlusMembers": "غادر {{name}} والعديد من الأشخاص الآخرين المُلتقى",
"leftTwoMembers": "غادر {{first}} و {{second}} المُلتقى",
"linkToSalesforce": "ارتباط إلى Salesforce",
"linkToSalesforceDescription": "يمكنك ربط ملخص الاجتماع بكائن Salesforce.",
"linkToSalesforceError": "فشل ربط المُلتقى بـ Salesforce",
"linkToSalesforceKey": "ربط هذا المُلتقى",
"linkToSalesforceProgress": "جارٍ ربط الاجتماع بـ Salesforce ...",
"linkToSalesforceSuccess": "تم ربط الاجتماع بـ Salesforce",
"me": "أنا",
"moderationInEffectCSDescription": "يرجى رفع اليد إذا كنت تريد مشاركة شاشتك.",
"moderationInEffectCSTitle": "تم حظر مشاركة الشاشة من قبل المشرف",
@@ -634,7 +660,7 @@
"moderationToggleDescription": "من {{participantDisplayName}}",
"moderator": "مُنحَت صلاحية رئيس الجلسة!",
"muted": "بدأ المحادثة مكتوب الصوت.",
"mutedRemotelyDescription": "يمكنك إلغاء الكتم متى كنت جاهزًا للتحدث. اكتم الصوت بعد الانتهاء من التحدث لخفض الضجيج أثناء الاجتماع",
"mutedRemotelyDescription": "يمكنك إلغاء الكتم متى كنت جاهزًا للتحدث. اكتم الصوت بعد الانتهاء من التحدث لخفض الضجيج أثناء المُلتقى",
"mutedRemotelyTitle": "كتم {{participantDisplayName}} الصوت لديك!",
"mutedTitle": "مكتوم!",
"newDeviceAction": "استعمل",
@@ -643,8 +669,8 @@
"oldElectronClientDescription1": "يبدو أنَّك تستعمل إصدارًا قديمًا من جيتسي يحوي ثغرة أمنية. تأكد رجاءً من أنَّك حدَّثته إلى ",
"oldElectronClientDescription2": "أحدث إصدار",
"oldElectronClientDescription3": " الآن!",
"participantWantsToJoin": "يريد الانضمام إلى الاجتماع",
"participantsWantToJoin": "يريد الانضمام إلى الاجتماع",
"participantWantsToJoin": "يريد الانضمام إلى المُلتقى",
"participantsWantToJoin": "يريد الانضمام إلى المُلتقى",
"passwordRemovedRemotely": "أزال أحد المشاركين {{participantDisplayName}}",
"passwordSetRemotely": "ضبط أحد المشاركين $t(lockRoomPasswordUppercase)",
"raiseHandAction": "رفع اليد",
@@ -656,9 +682,9 @@
"screenShareNoAudioTitle": "تعذرت مشاركة صوت النظام!",
"selfViewTitle": "يمكنك دائمًا إلغاء إخفاء العرض الذاتي من الإعدادات",
"somebody": "شخص ما",
"startSilentDescription": "أنضم مجدَّدًا للاجتماع لتفعيل الصوت",
"startSilentDescription": "أنضم مجدَّدًا للمُلتقى لتفعيل الصوت",
"startSilentTitle": "انضممت دون مخرج للصوت!",
"suboptimalBrowserWarning": "نخشى أن لا تكون تجربة الاجتماع جيدة. نعمل على تحسين الكثير من الأمور، لكن ننصحك حتى ذلك الحين باستعمال باستعمال أحد <a href='static/recommendedBrowsers.html' target='_blank'>المتصفحات المدعومة</a>.",
"suboptimalBrowserWarning": "نخشى أن لا تكون تجربة المُلتقى جيدة. نعمل على تحسين الكثير من الأمور، لكن ننصحك حتى ذلك الحين باستعمال باستعمال أحد <a href='static/recommendedBrowsers.html' target='_blank'>المتصفحات المدعومة</a>.",
"suboptimalExperienceTitle": "تحذير من المتصفح",
"unmute": "إلغاء الكتم",
"videoMutedRemotelyDescription": "You can always turn it on again.",
@@ -691,7 +717,7 @@
"header": "مشاركون",
"headings": {
"lobby": "الردهة ({{count}})",
"participantsList": "المشاركون في الاجتماع({{count}})",
"participantsList": "المشاركون في المُلتقى({{count}})",
"waitingLobby": "منتظرون في الردهة ({{count}})"
},
"search": "بحث"
@@ -717,11 +743,11 @@
},
"notification": {
"description": "افتح علامة تبويب الاقتراع للتصويت",
"title": "تمت إضافة اقتراع جديد إلى هذا الاجتماع"
"title": "تمت إضافة اقتراع جديد إلى هذا المُلتقى"
},
"results": {
"changeVote": "تغيير التصويت",
"empty": "لا توجد استطلاعات للرأي في الاجتماع حتى الآن. ابدأ الاستطلاع هنا!",
"empty": "لا توجد استطلاعات للرأي في المُلتقى حتى الآن. ابدأ الاستطلاع هنا!",
"hideDetailedResults": "أخفِ التفاصيل",
"showDetailedResults": "اظهر التفاصيل",
"vote": "تصويت"
@@ -757,8 +783,8 @@
"videoLowQuality": "نتوقع أن تكون جودة الفيديو منخفضة من ناحية معدِّل الإطارات والدقة",
"videoTearing": "نتوقع أن تكون دقة الفيديو تعيسة"
},
"copyAndShare": "انسخ رابط الاجتماع وشاركه",
"dialInMeeting": "يجري الاتصال بالاجتماع",
"copyAndShare": "انسخ رابط المُلتقى وشاركه",
"dialInMeeting": "يجري الاتصال بالمُلتقى",
"dialInPin": "يجري الاتصال، أدخل الرمز PIN:",
"dialing": "يجري الاتصال",
"doNotShow": "لا تظهر لي هذه مرة أخرى",
@@ -766,22 +792,22 @@
"errorDialOutDisconnected": "قطع الاتصال لفشل العملية.",
"errorDialOutFailed": "فشلت عملية الاتصال، للأسف.",
"errorDialOutStatus": "خطأ في معرفة حالة الاتصال",
"errorMissingName": "أدخل اسمك للدخول للاجتماع",
"errorMissingName": "أدخل اسمك للدخول للمُلتقى",
"errorNoPermissions": "تحتاج إلى تمكين الوصول إلى الميكروفون والكاميرا",
"errorStatusCode": "فشل الاتصال برمز خطأ: {{status}}",
"errorValidation": "فشل التحقق من الرقم",
"iWantToDialIn": "أريد الاتصال",
"initiated": "بدأ الاتصال",
"joinAudioByPhone": "انضم مع صوت من الجوال",
"joinMeeting": "انضم للاجتماع",
"joinMeeting": "انضم للمُلتقى",
"joinWithoutAudio": "انضم دون صوت",
"keyboardShortcuts": "تفعيل اختصارات لوحة المفاتيح",
"linkCopied": "نُسِخ الرابط",
"lookGood": "يبدو أن المجهار لديك تعيس",
"or": "أو",
"premeeting": "ما قبل الاجتماع",
"premeeting": "ما قبل المُلتقى",
"screenSharingError": "خطأ في مشاركة الشاشة:",
"showScreen": "تفعيل واجهة ما قبل الاجتماع",
"showScreen": "تفعيل واجهة ما قبل المُلتقى",
"startWithPhone": "البدء مع جهاز الصوت من الجوال",
"videoOnlyError": "خطأ في الفيديو:",
"videoTrackError": "لم نتمكن من إنشاء ملف الفيديو",
@@ -813,6 +839,18 @@
},
"raisedHand": "يرد التحدث",
"raisedHandsLabel": "عدد الأيدي المرفوعة",
"record": {
"already": {
"linked": "السجل مرتبط بالفعل بهذه الجلسة."
},
"type": {
"account": "الحساب",
"contact": "جهات الاتصال",
"lead": "البدء",
"opportunity": "الفرصة",
"owner": "المالك"
}
},
"recording": {
"authDropboxText": "رفع إلى Dropbox",
"availableSpace": "المساحة المتاحة: {{spaceLeft}} ميغابايت (ما يقارب {{duration}} دقيقة تسجيل).",
@@ -823,10 +861,14 @@
"error": "فشل التسجيل. حاول مرة أخرى.",
"errorFetchingLink": "خطأ في جلب رابط التسجيل.",
"expandedOff": "أوقٍف التسجيل",
"expandedOn": "يُسجَّل الاجتماع الآن",
"expandedOn": "يُسجَّل المُلتقى الآن",
"expandedPending": "بدء التسجيل...",
"failedToStart": "فشل بدء التسجيل",
"fileSharingdescription": "شارك التسجيل مع المشاركين للاجتماع",
"fileSharingdescription": "شارك التسجيل مع المشاركين للمُلتقى",
"highlightMoment": "لحظة تسليط الضوء",
"highlightMomentDisabled": "يمكنك تمييز اللحظات التي يبدأ فيها التسجيل",
"highlightMomentSuccess": "تم تمييز اللحظة",
"highlightMomentSucessDescription": "ستتم إضافة اللحظة المميزة إلى ملخص المُلتقى.",
"inProgress": "التسجيل أو البث المباشر قيد التقدم",
"limitNotificationDescriptionNative": "نظرًا للضغط الكبير، سيقيَّد التسجيل إلى {{limit}} د، ولكن إن أردت التسجيل لمدة مفتوحة، جرِّب <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "نظرًا للضغط الكبير، سيقيَّد التسجيل إلى {{limit}} د، ولكن إن أردت التسجيل لمدة مفتوحة، جرِّب <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
@@ -837,10 +879,11 @@
"offBy": "أوقَف {{name}} التسجيل",
"on": "تسجيل",
"onBy": "بدأ {{name}} التسجيل",
"pending": "التحضير لتسجيل الاجتماع...",
"pending": "التحضير لتسجيل المُلتقى...",
"rec": "تسجيل",
"serviceDescription": "ستحفظ خدمة التسجيل الفيديو المستجل",
"serviceDescriptionCloud": "تسجيل سحابي",
"serviceDescriptionCloudInfo": "يتم مسح المُلتقيات المسجلة تلقائيًا بعد 24 ساعة من وقت التسجيل.",
"serviceName": "خدمة التسجيل",
"sessionAlreadyActive": "هذه الجلسة قيد التسجيل أو البث المباشر.",
"signIn": "دخول",
@@ -853,10 +896,10 @@
"pullToRefresh": "اسحب للتحديث"
},
"security": {
"about": "يمكنك إضافة $t(lockRoomPassword) إلى الاجتماع. سيتوجب على المشاركين إدخال $t(lockRoomPassword) قبل السماح لهم بالانضمام إلى الاجتماع.",
"aboutReadOnly": "المشاركون بصفة رئيس الجلسة يمكنهم إضافة $t(lockRoomPassword) إلى الاجتماع. سيتوجب على المشاركين إدخال $t(lockRoomPassword) قبل السماح لهم بالانضمام إلى الاجتماع.",
"about": "يمكنك إضافة $t(lockRoomPassword) إلى المُلتقى. سيتوجب على المشاركين إدخال $t(lockRoomPassword) قبل السماح لهم بالانضمام إلى المُلتقى.",
"aboutReadOnly": "المشاركون بصفة رئيس الجلسة يمكنهم إضافة $t(lockRoomPassword) إلى المُلتقى. سيتوجب على المشاركين إدخال $t(lockRoomPassword) قبل السماح لهم بالانضمام إلى المُلتقى.",
"header": "خيارات الأمان",
"insecureRoomNameWarning": "اسم الغرفة غير آمن، فقد ينضم عبره مشاركون غرباء إلى الاجتماع. ننصحك بتأمين الاجتماع عبر وسائل الحماية التي يوفرها زر الحماية."
"insecureRoomNameWarning": "اسم الغرفة غير آمن، فقد ينضم عبره مشاركون غرباء إلى المُلتقى. ننصحك بتأمين المُلتقى عبر وسائل الحماية التي يوفرها زر الحماية."
},
"settings": {
"calendar": {
@@ -883,7 +926,7 @@
"participantJoined": "انضم مشارك",
"participantLeft": "غادر المشارك",
"playSounds": "تشغيل الصوت عند:",
"reactions": "ردود فعل الاجتماع",
"reactions": "ردود فعل المُلتقى",
"sameAsSystem": "مثل النظام ({{label}})",
"selectAudioOutput": "خرج الصوت",
"selectCamera": "الكاميرا",
@@ -920,13 +963,14 @@
"version": "الإصدار"
},
"share": {
"dialInfoText": "\n\n=====\n\nأتريد الاتصال فقط من هاتفك؟\n\n{{defaultDialInNumber}}اضغط على هذا الرابط لرؤية أرقام الهواتف الخاصة بهذا الاجتماع\n{{dialInfoPageUrl}}",
"mainText": "اضغط على الرابط التالي للانضمام إلى الاجتماع:\n{{roomUrl}}"
"dialInfoText": "\n\n=====\n\nأتريد الاتصال فقط من هاتفك؟\n\n{{defaultDialInNumber}}اضغط على هذا الرابط لرؤية أرقام الهواتف الخاصة بهذا المُلتقى\n{{dialInfoPageUrl}}",
"mainText": "اضغط على الرابط التالي للانضمام إلى المُلتقى:\n{{roomUrl}}"
},
"speaker": "المتحدث",
"speakerStats": {
"angry": "غاضب",
"disgusted": "مشمئز",
"displayEmotions": "إظهار المشاعر",
"fearful": "خائف",
"happy": "سعيد",
"hours": "{{count}}س",
@@ -941,7 +985,7 @@
"surprised": "مندهش"
},
"startupoverlay": {
"genericTitle": "يحتاج الاجتماع إلى استخدام الميكروفون والكاميرا.",
"genericTitle": "يحتاج المُلتقى إلى استخدام الميكروفون والكاميرا.",
"policyText": " ",
"title": "يريد {{app}} استعمال المجهار والكاميرا خاصَّتك."
},
@@ -968,10 +1012,11 @@
"collapse": "قلّص",
"document": "اظهِر/اخفِ الملف المشارك",
"download": "نزِّل التطبيق",
"embedMeeting": "ضمِّن الاجتماع",
"embedMeeting": "ضمِّن المُلتقى",
"expand": "وسّع",
"feedback": "أبدِ رأيك",
"fullScreen": "استعمل/اخرج من وضع الشاشة الكاملة",
"giphy": "تبديل قائمة GIPHY",
"grantModerator": "امنح صلاحيات رئيس الجلسة",
"hangup": "أغلق المكالمة",
"help": "مساعدة",
@@ -979,9 +1024,10 @@
"kick": "اطرد مشاركًا",
"laugh": "يضحك",
"like": "رفع الإبهام متمنيا النجاح",
"linkToSalesforce": "ارتباط إلى Salesforce",
"lobbyButton": "فعِّل/عطِّل وضع غرفة الانتظار",
"localRecording": "اظهِر/اخفِ التحكم بالتسجيل المحلي",
"lockRoom": "اظهِر/اخفِ كلمة مرور الاجتماع",
"lockRoom": "اظهِر/اخفِ كلمة مرور المُلتقى",
"moreActions": "اظهِر/اخفِ قائمة المزيد من الإجراءات",
"moreActionsMenu": "قائمة المزيد من الإجراءات",
"moreOptions": "اظهر المزيد من الخيارت",
@@ -1029,17 +1075,18 @@
"clap": "تصفيق",
"closeChat": "أغلق الدردشة",
"closeReactionsMenu": "إغلاق قائمة ردود الفعل",
"disableReactionSounds": "يمكنك تعطيل أصوات ردود الفعل لهذا الاجتماع",
"disableReactionSounds": "يمكنك تعطيل أصوات ردود الفعل لهذا المُلتقى",
"documentClose": "أغلق الملف المشارك",
"documentOpen": "افتح الملف المشارك",
"download": "نزِّل التطبيق",
"e2ee": "تعمية طرف-لطرف",
"embedMeeting": "ضمِّن الاجتماع",
"embedMeeting": "ضمِّن المُلتقى",
"enterFullScreen": "تعمية طرف-لطرف",
"enterTileView": "عرض بشاشة كاملة",
"exitFullScreen": "أدخل عنوان العرض",
"exitTileView": "اخرج من وضع الشاشة الكاملة",
"feedback": "أبدِ رأيك",
"giphy": "تبديل قائمة GIPHY",
"hangup": "غادر",
"help": "مساعدة",
"invite": "ادعُ أحدًا",
@@ -1047,6 +1094,7 @@
"laugh": "يضحك",
"leaveBreakoutRoom": "اترك إلى غرفة الجانبية",
"like": "رفع الإبهام متمنيا النجاح",
"linkToSalesforce": "ارتباط إلى Salesforce",
"lobbyButtonDisable": "عطِّل وضع غرفة الانتظار",
"lobbyButtonEnable": "فعِّل وضع غرفة الانتظار",
"login": "ادخل",
@@ -1104,9 +1152,9 @@
"error": "فشلت عملية الإذاعة. حاول مرة أخرى، رجاءً.",
"expandedLabel": "عملية الإذاعة تعمل",
"failedToStart": "فشلت عملية بدء الإذاعة",
"labelToolTip": "يجري إذاعة الاجتماع",
"labelToolTip": "يجري إذاعة المُلتقى",
"off": "أوقفت الإذاعة",
"pending": "التحضير لإذاعة الاجتماع...",
"pending": "التحضير لإذاعة المُلتقى...",
"start": "بدء إظهار الترجمة",
"stop": "إيقاف عرض الترجمة",
"tr": "يذاع"
@@ -1203,7 +1251,7 @@
"join": "انقر للمشاركة",
"roomname": "أدخل اسم الغرفة"
},
"addMeetingName": "أضف اسم الاجتماع",
"addMeetingName": "أضف اسم المُلتقى",
"appDescription": "انطلق وأجر محادثة مرئية مع كامل الفريق. يمكنك أيضًا أن تدعو من تريد. {{app}} مُعمَّى بالكامل، ومفتوح المصدر بالكامل ويعد حلًا لإجراء المؤتمرات المرئية يمكنك استعماله متى تريد، مجانًا، حتى دون حساب.",
"audioVideoSwitch": {
"audio": "صوت",
@@ -1211,15 +1259,15 @@
},
"calendar": "رزنامة",
"connectCalendarButton": "أوصل رزنامتك",
"connectCalendarText": "أوصل رزنامتك لعرض كل اجتماعاتك في {{app}}. أضف إلى ذلك أنَّه يمكنك إضافة اجتماعات {{provider}} إلى رزنامتك وبدئها بضغطة واحدة.",
"enterRoomTitle": "بدء اجتماع جديد",
"connectCalendarText": "أوصل رزنامتك لعرض كل مُلتقياتك في {{app}}. أضف إلى ذلك أنَّه يمكنك إضافة مُلتقيات {{provider}} إلى رزنامتك وبدئها بضغطة واحدة.",
"enterRoomTitle": "بدء مُلتقى جديد",
"getHelp": "أريد مساعدة",
"go": "ابدأ",
"goSmall": "ابدأ",
"headerSubtitle": "آمــن وبنـوعيـة فـائقـة الجـودة",
"headerTitle": "حِـــوار جيتسي",
"headerTitle": "مُلتقى جيتسي",
"info": "معلومات",
"jitsiOnMobile": "جيتسي على الهاتف المحمول - حمّل تطبيقاتنا وابدأ اجتماعًا من أي مكان",
"jitsiOnMobile": "جيتسي على الهاتف المحمول - حمّل تطبيقاتنا وابدأ مُلتقىًا من أي مكان",
"join": "أنشئ / انضم",
"logo": {
"calendar": "شعار التقويم",
@@ -1232,18 +1280,18 @@
"mobileDownLoadLinkAndroid": "قم بتنزيل تطبيق الهاتف لنظام أندرويد",
"mobileDownLoadLinkFDroid": "قم بتنزيل تطبيق الجوال لـ F-Droid",
"mobileDownLoadLinkIos": "قم بتنزيل تطبيق الهاتف لنظام iOS",
"moderatedMessage": "أو a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">احجز رابط لاجتماع</a> إن كنت رئيس الجلسة الوحيد فقط.",
"moderatedMessage": "أو a href=\"{{url}}\" rel=\"noopener noreferrer\" target=\"_blank\">احجز رابط لمُلتقى</a> إن كنت رئيس الجلسة الوحيد فقط.",
"privacy": "الخصوصية",
"recentList": "الجديد",
"recentListDelete": "حذف",
"recentListEmpty": "قائمتك الأخيرة فارغة حاليًا. ابدأ التحدث مع الفريق وستجد كل اجتماعاتك الأخيرة هنا.",
"recentListEmpty": "قائمتك الأخيرة فارغة حاليًا. ابدأ التحدث مع الفريق وستجد كل مُلتقياتك الأخيرة هنا.",
"reducedUIText": "يا مرحبًا بك في {{app}}!",
"roomNameAllowedChars": "لا يجب أن يحوي اسم الاجتماع على: ?، &، :، '، \"، %، #.",
"roomNameAllowedChars": "لا يجب أن يحوي اسم المُلتقى على: ?، &، :، '، \"، %، #.",
"roomname": "أدخل اسم الغرفة",
"roomnameHint": "أدخل اسم أو رابط الغرفة التي تريد الانضمام إليها. يمكنك إنشاء اسم جديد لترسله إلى من تريد أن تجتمع معهم.",
"sendFeedback": "أبدِ رأيك",
"startMeeting": "إبدأ الحـِوار",
"startMeeting": "إبدأ المُلتقى",
"terms": "الشروط",
"title": "منصة عقد مؤتمرات واجتماعات آمنة وكاملة المزايا ومجانية بالمطلق"
"title": "منصة عقد مؤتمرات ومُلتقيات آمنة وكاملة المزايا ومجانية بالمطلق"
}
}

View File

@@ -160,8 +160,7 @@
"Remove": "Выдаліць",
"Share": "Падзяліцца",
"Submit": "Адправіць",
"WaitForHostMsg": "Канферэнцыя <b>{{room}}</b> яшчэ не пачалася. Калі вы з'яўляецеся гаспадаром, калі ласка, падтвердіце сапраўднасць. У адваротным выпадку, калі ласка, пачакайце з'яўлення гаспадара.",
"WaitForHostMsgWOk": "Канферэнцыя <b>{{room}}</b> яшчэ не пачалася. Калі Вы арганізатар, калі ласка, націсніце Ok для аўтэнтыфікацыі. У адваротным выпадку, дачакайцеся арганізатара.",
"WaitForHostMsg": "Канферэнцыя яшчэ не пачалася. Калі вы з'яўляецеся гаспадаром, калі ласка, падтвердіце сапраўднасць. У адваротным выпадку, калі ласка, пачакайце з'яўлення гаспадара.",
"WaitingForHost": "Чакаем арганізатара …",
"Yes": "Так",
"accessibilityLabel": {

View File

@@ -167,8 +167,7 @@
"Remove": "Премахване",
"Share": "Споделяне",
"Submit": "Изпращане",
"WaitForHostMsg": "Конференцията <b>{{room}}</b> все още не е започнала. Ако сте домакинът, тогава се идентифицирайте. В противен случай изчакайте докато домакинът пристигне.",
"WaitForHostMsgWOk": "Конференцията <b>{{room}}</b> все още не е започнала. Ако сте домакинът, тогава натиснете бутона, за да се идентифицирате. В противен случай изчакайте докато домакинът пристигне.",
"WaitForHostMsg": "Конференцията все още не е започнала. Ако сте домакинът, тогава се идентифицирайте. В противен случай изчакайте докато домакинът пристигне.",
"WaitingForHost": "Чакаме домакина...",
"Yes": "Да",
"accessibilityLabel": {

View File

@@ -208,8 +208,7 @@
"Remove": "Elimina",
"Share": "Comparteix",
"Submit": "Tramet",
"WaitForHostMsg": "La conferència <b>{{room}}</b> encara no ha començat. Si en sou l'amfitrió autentiqueu-vos. Altrament, espereu que arribi l'amfitrió.",
"WaitForHostMsgWOk": "La conferència <b>{{room}}</b> encara no ha començat. Si sou l'amfitrió, aleshores pitgeu «D'acord» per a autenticar-vos. Altrament, espereu que arribi l'amfitrió.",
"WaitForHostMsg": "La conferència encara no ha començat. Si en sou l'amfitrió autentiqueu-vos. Altrament, espereu que arribi l'amfitrió.",
"WaitingForHostTitle": "S'està esperant l'amfitrió...",
"Yes": "Sí",
"accessibilityLabel": {

View File

@@ -196,8 +196,7 @@
"Remove": "Odstranit",
"Share": "Sdílet",
"Submit": "Potvrdit",
"WaitForHostMsg": "Konference <b>{{room}}</b> ještě nezačala. Pokud jste hostitel, přihlaste se. Jinak prosím počkejte, až hostitel dorazí.",
"WaitForHostMsgWOk": "Konference <b>{{room}}</b> ještě nezačala. Pokud jste hostitel, prosím přihlaste se kliknutím na OK. Jinak prosím počkejte, až hostitel dorazí.",
"WaitForHostMsg": "Konference ještě nezačala. Pokud jste hostitel, přihlaste se. Jinak prosím počkejte, až hostitel dorazí.",
"WaitingForHost": "Čeká se na hostitele…",
"Yes": "Ano",
"accessibilityLabel": {

View File

@@ -156,8 +156,7 @@
"Remove": "Fjern",
"Share": "Del",
"Submit": "Gem",
"WaitForHostMsg": "Mødet <b>{{room}}</b> er ikke startet endnu. Hvis du er værten, log venligst ind. Ellers vent på at værten kommer",
"WaitForHostMsgWOk": "Mødet <b>{{room}}</b> er ikke startet endnu. Hvis du er værten, tryk venligst på OK for at logge ind. Ellers vent på at værten kommer.",
"WaitForHostMsg": "Mødet er ikke startet endnu. Hvis du er værten, log venligst ind. Ellers vent på at værten kommer",
"WaitingForHost": "Venter på vært …",
"Yes": "Ja",
"accessibilityLabel": {

View File

@@ -83,6 +83,7 @@
"enter": "Chat-Raum betreten",
"error": "Fehler: Ihre Nachricht wurde nicht versendet. Grund: {{error}}",
"fieldPlaceHolder": "Geben Sie Ihre Nachricht hier ein",
"lobbyChatMessageTo": "Lobby-Nachricht an {{recipient}}",
"message": "Nachricht",
"messageAccessibleTitle": "{{user}} sagt:",
"messageAccessibleTitleMe": "Ich sage:",
@@ -208,8 +209,7 @@
"Remove": "Entfernen",
"Share": "Teilen",
"Submit": "OK",
"WaitForHostMsg": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Falls Sie die Konferenz leiten, authentifizieren Sie sich bitte. Warten Sie andernfalls, bis die Konferenz gestartet wird.",
"WaitForHostMsgWOk": "Die Konferenz <b>{{room}}</b> wurde noch nicht gestartet. Falls Sie die Konferenz leiten, authentifizieren Sie sich bitte. Warten Sie andernfalls, bis die Konferenz gestartet wird.",
"WaitForHostMsg": "Die Konferenz wurde noch nicht gestartet. Falls Sie die Konferenz leiten, authentifizieren Sie sich bitte. Warten Sie andernfalls, bis die Konferenz gestartet wird.",
"WaitingForHostTitle": "Warten auf den Beginn der Konferenz …",
"Yes": "Ja",
"accessibilityLabel": {
@@ -530,6 +530,7 @@
"admitAll": "Alle zulassen",
"allow": "Annehmen",
"backToKnockModeButton": "Kein Passwort, stattdessen Beitritt anfragen",
"chat": "Chat",
"dialogTitle": "Lobbymodus",
"disableDialogContent": "Der Lobbymodus ist derzeit aktiviert. Diese Funktion stellt sicher, dass unerwünschte Personen Ihrer Konferenz nicht beitreten können. Funktion deaktivieren?",
"disableDialogSubmit": "Deaktivieren",
@@ -550,6 +551,8 @@
"knockButton": "Beitritt anfragen",
"knockTitle": "Jemand möchte der Konferenz beitreten",
"knockingParticipantList": "Liste anklopfender Personen",
"lobbyChatStartedNotification": "{{moderator}} hat einen Lobby-Chat mit {{attendee}} gestartet",
"lobbyChatStartedTitle": "{{moderator}} hat einen Lobby-Chat mit Ihnen gestartet.",
"nameField": "Geben Sie Ihren Namen ein",
"notificationLobbyAccessDenied": "{{targetParticipantName}} wurde von {{originParticipantName}} der Zutritt verwehrt",
"notificationLobbyAccessGranted": "{{targetParticipantName}} wurde von {{originParticipantName}} der Zutritt gestattet",

View File

@@ -172,8 +172,7 @@
"Remove": "Αφαίρεση",
"Share": "Μοιραστείτε",
"Submit": "Υποβολή",
"WaitForHostMsg": "Η διάσκεψη <b>{{room}}</b> δεν έχει ακόμη αρχίσει. Αν είστε ο οικοδεσπότης, τότε παρακαλούμε να πιστοποιήσετε τον εαυτό σας. Διαφορετικά, σας παρακαλώ να περιμένετε να συνδεθεί ο οικοδεσπότης.",
"WaitForHostMsgWOk": "Η διάσκεψη <b>{{room}}</b> δεν έχει ακόμη αρχίσει. Αν είστε ο οικοδεσπότης, τότε παρακαλούμε πατήστε ΟΚ για να πιστοποιήσετε τον εαυτό σας. Διαφορετικά, σας παρακαλώ να περιμένετε να συνδεθεί ο οικοδεσπότης.",
"WaitForHostMsg": "Η διάσκεψη δεν έχει ακόμη αρχίσει. Αν είστε ο οικοδεσπότης, τότε παρακαλούμε να πιστοποιήσετε τον εαυτό σας. Διαφορετικά, σας παρακαλώ να περιμένετε να συνδεθεί ο οικοδεσπότης.",
"WaitingForHost": "Αναμονή για τον οικοδεσπότη ...",
"Yes": "Ναι",
"accessibilityLabel": {

View File

@@ -160,8 +160,7 @@
"Remove": "Remove",
"Share": "Share",
"Submit": "Submit",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHost": "Waiting for the host …",
"Yes": "Yes",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Forigi",
"Share": "Kundividi",
"Submit": "Sendi",
"WaitForHostMsg": "La kunveno <b>{{room}}</b> ankoraŭ ne komencis. Se vi estas la gastiganto, bonvolu aŭtentiĝi. Alikaze atendu, ĝis la gastiganto venos.",
"WaitForHostMsgWOk": "La kunveno <b>{{room}}</b> ankoraŭ ne komencis. Se vi estas la gastiganto, bonvolu puŝi “Bone” por aŭtentiĝi. Alikaze atendu, ĝis la gastiganto venos.",
"WaitForHostMsg": "La kunveno ankoraŭ ne komencis. Se vi estas la gastiganto, bonvolu aŭtentiĝi. Alikaze atendu, ĝis la gastiganto venos.",
"WaitingForHost": "Atendo de la gastiga komputilo…",
"Yes": "Jes",
"accessibilityLabel": {

View File

@@ -185,8 +185,7 @@
"Remove": "Eliminar",
"Share": "Compartir",
"Submit": "Enviar",
"WaitForHostMsg": "La conferencia <b>{{room}}</b> aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitForHostMsgWOk": "La conferencia <b>{{room}}</b> aún no ha comenzado. Si eres el anfitrión, presiona Aceptar para autenticar. De lo contrario, espera a que llegue el anfitrión.",
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitingForHostTitle": "Esperando al anfitrión...",
"Yes": "Sí",
"accessibilityLabel": {

View File

@@ -194,8 +194,7 @@
"Remove": "Eliminar",
"Share": "Compartir",
"Submit": "Enviar",
"WaitForHostMsg": "La conferencia <b>{{room}}</b> aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitForHostMsgWOk": "La conferencia <b>{{room}}</b> aún no ha comenzado. Si eres el anfitrión, presiona Aceptar para autenticar. De lo contrario, espera a que llegue el anfitrión.",
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitingForHost": "Esperando al anfitrión…",
"WaitingForHostTitle": "Esperando al anfitrión...",
"Yes": "Sí",

View File

@@ -155,8 +155,7 @@
"Remove": "Eemalda",
"Share": "Jaga",
"Submit": "Esita",
"WaitForHostMsg": "Kõne <b>{{room}}</b> ei ole veel alanud. Autendi ennast, kui oled võõrustaja. Külalisena oota, kuni võõrustaja saabub.",
"WaitForHostMsgWOk": "Kõne <b>{{room}}</b> ei ole veel alanud. Kui oled võõrustaja, vajuta OK, et ennast autentida. Külalisena oota, kuni võõrustaja saabub.",
"WaitForHostMsg": "Kõne ei ole veel alanud. Autendi ennast, kui oled võõrustaja. Külalisena oota, kuni võõrustaja saabub.",
"WaitingForHost": "Võõrustaja ootamine…",
"Yes": "Jah",
"accessibilityLabel": {

View File

@@ -181,8 +181,7 @@
"Remove": "Kendu",
"Share": "Partekatu",
"Submit": "Bidali",
"WaitForHostMsg": "<b>{{room}}</b> konferentzia oraindik ez da hasi. Ostalaria bazara, autentifikatu. Bestela, itxaron ostalaria iritsi arte.",
"WaitForHostMsgWOk": "<b>{{room}}</b> konferentzia oraindik ez da hasi. Ostalaria bazara, sakatu Ados autentifikatu ahal izateko. Bestela, itxaron ostalaria iritsi arte.",
"WaitForHostMsg": "Konferentzia oraindik ez da hasi. Ostalaria bazara, autentifikatu. Bestela, itxaron ostalaria iritsi arte.",
"WaitingForHostTitle": "Antolatzailearen zain...",
"Yes": "Bai",
"accessibilityLabel": {

View File

@@ -208,8 +208,7 @@
"Remove": "حذف کردن",
"Share": "به اشتراک گذاری",
"Submit": "ارسال",
"WaitForHostMsg": "کنفرانس <b>{{room}}</b> هنوز شروع نشده است، اگر میزبان هستید وارد شوید، در غیر اینصورت تا رسیدن میزبان و شروع جلسه منتظر بمانید",
"WaitForHostMsgWOk": "کنفرانس <b>{{room}}</b> هنوز شروع نشده است، اگر میزبان هستید برای احراز هویت تایید را بزنید، در غیر اینصورت تا رسیدن میزبان و شروع جلسه منتظر بمانید",
"WaitForHostMsg": "کنفرانس هنوز شروع نشده است، اگر میزبان هستید وارد شوید، در غیر اینصورت تا رسیدن میزبان و شروع جلسه منتظر بمانید",
"WaitingForHostTitle": "در حال انتظار برای میزبان...",
"Yes": "بله",
"accessibilityLabel": {

View File

@@ -140,8 +140,7 @@
"Remove": "Poista",
"Share": "Jaa",
"Submit": "Lähetä",
"WaitForHostMsg": "Kokous <b>{{room}}</b> ei ole vielä alkanut. Jos olet vetäjä, todenna henkilöllisyytesi. Muussa tapauksessa odota vetäjän saapumista.",
"WaitForHostMsgWOk": "Kokous <b>{{room}}</b> ei ole vielä alkanut. Jos olet vetäjä, todenna henkilöllisyytesi OK-painikkeella. Muussa tapauksessa odota vetäjän saapumista.",
"WaitForHostMsg": "Kokous ei ole vielä alkanut. Jos olet vetäjä, todenna henkilöllisyytesi. Muussa tapauksessa odota vetäjän saapumista.",
"WaitingForHost": "Odotetaan vetäjää…",
"Yes": "Kyllä",
"accessibilityLabel": {

View File

@@ -83,6 +83,7 @@
"enter": "Entrez dans le salon",
"error": "Erreur : votre message n'a pas été envoyé. Raison : {{error}}",
"fieldPlaceHolder": "Tapez votre message ici",
"lobbyChatMessageTo": "Message de salle d'attente à {{recipient}}",
"message": "Message",
"messageAccessibleTitle": "{{user}} dit: ",
"messageAccessibleTitleMe": "Je dis: ",
@@ -208,14 +209,15 @@
"Remove": "Supprimer",
"Share": "Partager",
"Submit": "Soumettre",
"WaitForHostMsg": "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
"WaitForHostMsgWOk": "La conférence <b>{{room}}</b> n'a pas encore commencé. Si vous en êtes l'hôte, veuillez appuyer sur Ok pour vous authentifier. Sinon, veuillez attendre son arrivée.",
"WaitForHostMsg": "La conférence n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
"WaitingForHostTitle": "En attente de l'hôte ...",
"Yes": "Oui",
"accessibilityLabel": {
"liveStreaming": "Diffusion en direct"
},
"add": "Ajouter",
"addMeetingNote": "Ajouter une note à cette conférence",
"addOptionalNote": "Ajouter une note (optionnel):",
"allow": "Autoriser",
"alreadySharedVideoMsg": "Un autre participant est en train de partager sa vidéo. Cette conférence ne permet de partager qu'une seule vidéo à la fois.",
"alreadySharedVideoTitle": "Une seule vidéo partagée est autorisée à la fois",
@@ -267,6 +269,8 @@
"kickParticipantDialog": "Êtes-vous sûr(e) de vouloir expulser ce participant ?",
"kickParticipantTitle": "Expulser ce participant ?",
"kickTitle": "Oups ! vous avez été expulsé(e) par {{participantDisplayName}}",
"linkMeeting": "Relier la conférence",
"linkMeetingTitle": "Relier la conférence à Salesforce",
"liveStreaming": "Direct",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Impossible durant l'enregistrement",
"liveStreamingDisabledTooltip": "La diffusion en direct est désactivée",
@@ -321,6 +325,7 @@
"popupError": "Votre navigateur bloque les fenêtres pop-up. Veuillez autoriser les fenêtres pop-up dans les paramètres de votre navigateur.",
"popupErrorTitle": "Pop-up bloquée",
"readMore": "plus",
"recentlyUsedObjects": "Vos objets récemment utilisés",
"recording": "Enregistrement",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Impossible durant le direct",
"recordingDisabledTooltip": "L'enregistrement est désactivé.",
@@ -343,6 +348,12 @@
"screenSharingFailed": "Houla ! Quelque chose s'est mal passé, nous n'avons pas pu démarrer le partage d'écran !",
"screenSharingFailedTitle": "Echec du partage d'écran !",
"screenSharingPermissionDeniedError": "Houla ! Un problème est survenu avec vos autorisations de partage d'écran. Veuillez réessayer.",
"searchInSalesforce": "Rechercher dans Salesforce",
"searchResults": "Résultats de recherche({{count}})",
"searchResultsDetailsError": "Un problème est survenu en récupérant les données du propriétaire.",
"searchResultsError": "Un problème est survenu en récupérant des données.",
"searchResultsNotFound": "Aucun résultat trouvé.",
"searchResultsTryAgain": "Essayer d'utiliser d'autres mots clé.",
"sendPrivateMessage": "Vous avez récemment reçu un message privé. Aviez-vous l'intention d'y répondre en privé, ou vouliez-vous envoyer votre message au groupe ?",
"sendPrivateMessageCancel": "Envoyer au groupe",
"sendPrivateMessageOk": "Envoyer en privé",
@@ -410,6 +421,10 @@
"veryBad": "Très mauvais",
"veryGood": "Très bon"
},
"giphy": {
"noResults": "Aucun résultat de recherche :(",
"search": "Rechercher dans GIPHY"
},
"helpView": {
"header": "Centre d'aide"
},
@@ -476,6 +491,7 @@
"focusLocal": "Épingler ma vidéo",
"focusRemote": "Épingler la vidéo de quelqu'un d'autre",
"fullScreen": "Activer / Désactiver le mode plein écran",
"giphyMenu": "Activer/désactiver le menu GIPHY",
"keyboardShortcuts": "Raccourcis clavier",
"localRecording": "Afficher / Masquer les commandes de l'enregistrement local",
"mute": "Activer / Couper le microphone",
@@ -530,6 +546,7 @@
"admitAll": "Tout accepter",
"allow": "Autoriser",
"backToKnockModeButton": "Aucun mot de passe, demander à rejoindre plutôt",
"chat": "Chat",
"dialogTitle": "Mode salle d'attente",
"disableDialogContent": "Le mode salle d'attente est actuellement activé. Cette fonctionnalité garantit que les participants indésirables ne peuvent pas rejoindre votre réunion. Souhaitez-vous la désactiver ?",
"disableDialogSubmit": "Désactiver",
@@ -550,6 +567,8 @@
"knockButton": "Demander à rejoindre",
"knockTitle": "Quelqu'un souhaite rejoindre la réunion",
"knockingParticipantList": "Liste des participants en attente",
"lobbyChatStartedNotification": "Un modérateur dialogue en salle d'attente avec {{attendee}}",
"lobbyChatStartedTitle": "Un modérateur dialogue en salle d'attente avec vous.",
"nameField": "Saisissez votre nom",
"notificationLobbyAccessDenied": "{{targetParticipantName}} a été refusé par {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} a été accepté par {{originParticipantName}}",
@@ -621,6 +640,12 @@
"leftOneMember": "{{name}} a quitté la réunion",
"leftThreePlusMembers": "{{name}} et beaucoup d'autres ont quitté la réunion",
"leftTwoMembers": "{{first}} et {{second}} ont quitté la réunion",
"linkToSalesforce": "Lien à Salesforce",
"linkToSalesforceDescription": "Vous pouvez lier le résumé de la conférence à un objet Salesforce.",
"linkToSalesforceError": "Impossible de relier la conférence à Salesforce",
"linkToSalesforceKey": "Relier cette conférence",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce...",
"linkToSalesforceSuccess": "La conférence a été reliée à Salesforce",
"me": "Moi",
"moderationInEffectCSDescription": "Merci de lever la main si vous voulez partager votre écran.",
"moderationInEffectCSTitle": "Le partage d'écran est interdit par le modérateur",
@@ -814,6 +839,18 @@
},
"raisedHand": "Aimerait prendre la parole",
"raisedHandsLabel": "Nombre de mains levées",
"record": {
"already": {
"linked": "L'enregistrement est déjà relié à cette session."
},
"type": {
"account": "Compte",
"contact": "Contact",
"lead": "Piste",
"opportunity": "Opportunité",
"owner": "Propriétaire"
}
},
"recording": {
"authDropboxText": "Téléchargement vers Dropbox",
"availableSpace": "Espace disponible : {{spaceLeft}} Mo (approximativement {{duration}} minutes d'enregistrement)",
@@ -842,6 +879,7 @@
"rec": "REC",
"serviceDescription": "Votre enregistrement sera enregistré par le service dédié",
"serviceDescriptionCloud": "Enregistrement Cloud",
"serviceDescriptionCloudInfo": "Les conférences enregistrées sont automatiquement supprimées 24h après leur heure d'enregistrement.",
"serviceName": "Service d'enregistrement",
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
"signIn": "Se connecter",
@@ -974,6 +1012,7 @@
"expand": "Développer",
"feedback": "Laisser des commentaires",
"fullScreen": "Activer / Désactiver le plein écran",
"giphy": "Activer/désactiver le menu GIPHY",
"grantModerator": "donner des droits de modérateur",
"hangup": "Quitter la conversation",
"help": "Aide",
@@ -981,6 +1020,7 @@
"kick": "Expulser le participant",
"laugh": "Rire",
"like": "Approuver",
"linkToSalesforce": "Lien à Salesforce",
"lobbyButton": "Activer / Désactiver le mode salle d'attente",
"localRecording": "Activer / Désactiver les contrôles d'enregistrement local",
"lockRoom": "Activer / Désactiver le mot de passe de la réunion",
@@ -1042,6 +1082,7 @@
"exitFullScreen": "Quitter le mode plein écran",
"exitTileView": "Quitter le mode mosaïque",
"feedback": "Laisser des commentaires",
"giphy": "Activer/désactiver le menu GIPHY",
"hangup": "Quitter",
"help": "Aide",
"invite": "Inviter des participants",
@@ -1049,6 +1090,7 @@
"laugh": "Rire",
"leaveBreakoutRoom": "Quitter salle annexe",
"like": "Approuver",
"linkToSalesforce": "Lien à Salesforce",
"lobbyButtonDisable": "Désactiver le mode salle d'attente / contrôle des participant(e)s",
"lobbyButtonEnable": "Activer le mode salle d'attente / contrôle des participant(e)s",
"login": "Connexion",

View File

@@ -146,8 +146,7 @@
"Remove": "Supprimer",
"Share": "Oui",
"Submit": "Envoyer",
"WaitForHostMsg": "La conférence <b>{{room}}</b> n'a pas encore démarré. Si vous êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre que l'hôte arrive.",
"WaitForHostMsgWOk": "La conférence <b>{{room}}</b> n'a pas encore démarré. Si vous êtes l'hôte, veuillez appuyer sur OK pour vous authentifier. Sinon, veuillez attendre que l'hôte arrive.",
"WaitForHostMsg": "La conférence n'a pas encore démarré. Si vous êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre que l'hôte arrive.",
"WaitingForHost": "En attente de l'hôte…",
"Yes": "Oui",
"accessibilityLabel": {

View File

@@ -151,8 +151,7 @@
"Remove": "Retirar",
"Share": "Compartir",
"Submit": "Enviar",
"WaitForHostMsg": "A sala <b>{{room}}</b> aínda non comezou. Se vostede é o anfitrión, autentíquese. Se non, agarde a que o anfitrión chegue.",
"WaitForHostMsgWOk": "A sala <b>{{room}}</b> aínda non comezou. Se vostede é o anfitrión, prema en Aceptar para autenticar. Se non, agarde a que o anfitrión chegue.",
"WaitForHostMsg": "A sala aínda non comezou. Se vostede é o anfitrión, autentíquese. Se non, agarde a que o anfitrión chegue.",
"WaitingForHost": "Agardando polo anfitrión…",
"Yes": "Si",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "הסר",
"Share": "שתף",
"Submit": "שלח",
"WaitForHostMsg": "הועידה <b>{{room}}</b> טרם החלה. אם אתה המארח אז בצע אימות. אחרת, אנא המתן שהמארח יגיע.",
"WaitForHostMsgWOk": "הועידה <b>{{room}}</b> טרם החלה. אם אתה המארח אז לחץ אישור לביצוע אימות. אחרת, אנא המתן שהמארח יגיע.",
"WaitForHostMsg": "הועידה טרם החלה. אם אתה המארח אז בצע אימות. אחרת, אנא המתן שהמארח יגיע.",
"WaitingForHost": "ממתין למארח ...",
"Yes": "כן",
"accessibilityLabel": {

View File

@@ -180,8 +180,7 @@
"Remove": "निकालें",
"Share": "Share",
"Submit": "सबमिट करें",
"WaitForHostMsg": "सम्मेलन <b>{{room}}</b> अभी तक शुरू नहीं हुआ है। यदि आप मेजबान हैं तो कृपया प्रमाणित करें। अन्यथा, कृपया मेजबान के आने की प्रतीक्षा करें।",
"WaitForHostMsgWOk": "सम्मेलन <b>{{room}}</b> अभी तक शुरू नहीं हुआ है। यदि आप मेजबान हैं तो कृपया प्रमाणित करने के लिए ओके दबाएं। अन्यथा, कृपया मेजबान के आने की प्रतीक्षा करें।",
"WaitForHostMsg": "सम्मेलन अभी तक शुरू नहीं हुआ है। यदि आप मेजबान हैं तो कृपया प्रमाणित करें। अन्यथा, कृपया मेजबान के आने की प्रतीक्षा करें।",
"WaitingForHostTitle": "होस्ट की प्रतीक्षा कर रहा है ...",
"Yes": "हाँ",
"accessibilityLabel": {

View File

@@ -146,7 +146,6 @@
"Share": "",
"Submit": "Pošalji",
"WaitForHostMsg": "",
"WaitForHostMsgWOk": "",
"WaitingForHost": "",
"Yes": "Da",
"accessibilityLabel": {

View File

@@ -156,8 +156,7 @@
"Remove": "Eltávolítás",
"Share": "Megosztás",
"Submit": "Elküldés",
"WaitForHostMsg": "A <b>{{room}}</b> konferencia még nem kezdődött meg. Ha Ön a házigazda, akkor hitelesítse magát. Ellenkező esetben, kérjük várjon a házigazda érkezésére.",
"WaitForHostMsgWOk": "A <b>{{room}}</b> konferencia még nem kezdődött meg. Ha Ön a házigazda, kérjük az „OK” gombra kattintva hitelesítse magát. Ellenkező esetben, kérjük várjon a házigazda érkezésére.",
"WaitForHostMsg": "A konferencia még nem kezdődött meg. Ha Ön a házigazda, akkor hitelesítse magát. Ellenkező esetben, kérjük várjon a házigazda érkezésére.",
"WaitingForHost": "Várakozás a házigazdára…",
"Yes": "Igen",
"accessibilityLabel": {

View File

@@ -136,7 +136,6 @@
"Share": "Տարածել",
"Submit": "Ներմուծել",
"WaitForHostMsg": "",
"WaitForHostMsgWOk": "",
"WaitingForHost": "Սպասում է հյուրընկալողի …",
"Yes": "Այո",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Remove",
"Share": "Share",
"Submit": "Submit",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHost": "Waiting for the host ...",
"Yes": "Yes",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Fjarlægja",
"Share": "Deila",
"Submit": "Senda inn",
"WaitForHostMsg": "Fjarfundurinn <b>{{room}}</b> er ekki byrjaður. Ef þú ert gestgjafinn skaltu auðkenna þig. Annars ættiðu að bíða eftir að gestgjafinn skrái sig inn.",
"WaitForHostMsgWOk": "Fjarfundurinn <b>{{room}}</b> er ekki byrjaður. Ef þú ert gestgjafinn skaltu ýta á 'Í lagi' til að auðkenna þig. Annars ættiðu að bíða eftir að gestgjafinn skrái sig inn.",
"WaitForHostMsg": "Fjarfundurinn er ekki byrjaður. Ef þú ert gestgjafinn skaltu auðkenna þig. Annars ættiðu að bíða eftir að gestgjafinn skrái sig inn.",
"WaitingForHost": "Bíð eftir að gestgjafanum ...",
"Yes": "Já",
"accessibilityLabel": {

View File

@@ -185,8 +185,7 @@
"Remove": "Rimuovi",
"Share": "Condividi",
"Submit": "Invia",
"WaitForHostMsg": "La riunione <b>{{room}}</b> non è ancora cominciata. Se sei l'organizzatore, per favore autenticati. Altrimenti, aspetta l'arrivo dell'organizzatore.",
"WaitForHostMsgWOk": "La riunione <b>{{room}}</b> non è ancora cominciata. Se sei l'organizzatore, allora premi OK per autenticarti. Altrimenti, aspetta l'arrivo dell'organizzatore.",
"WaitForHostMsg": "La riunione non è ancora cominciata. Se sei l'organizzatore, per favore autenticati. Altrimenti, aspetta l'arrivo dell'organizzatore.",
"WaitingForHost": "In attesa dell'organizzatore...",
"Yes": "Sì",
"accessibilityLabel": {

View File

@@ -208,8 +208,7 @@
"Remove": "除去",
"Share": "共有",
"Submit": "投稿",
"WaitForHostMsg": "ミーティング <b>{{room}}</b> はまだ開始されていません。あなたがホストの場合は、認証を行ってください。それ以外の場合は、ホストの到着をお待ちください。",
"WaitForHostMsgWOk": "ミーティング <b>{{room}}</b> はまだ開始されていません。あなたがホストの場合は、OKを押して認証を行ってください。それ以外の場合は、ホストの到着をお待ちください。",
"WaitForHostMsg": "ミーティング はまだ開始されていません。あなたがホストの場合は、認証を行ってください。それ以外の場合は、ホストの到着をお待ちください。",
"WaitingForHostTitle": "ホストの到着を待っています...",
"Yes": "はい",
"accessibilityLabel": {

View File

@@ -185,8 +185,7 @@
"Remove": "Sfeḍ",
"Share": "Bḍu",
"Submit": "Azen",
"WaitForHostMsg": "Asarag <b>{{room}}</b> mazal ur yebdi ara. Ma yella d kečč·kemm i d asenneftaɣ, ttxil-k·m ilaq usesteb. Ma yella xaṭi, ttxil-k·m rǧu asenneftaɣ ad d-yaweḍ.",
"WaitForHostMsgWOk": "Asarag <b>{{room}}</b> mazal ur yebdi ara. Ma yella d kečč·kemm i d asenneftaɣ, ttxil-k·m sit ɣef Ih i usesteb. Ma yella xaṭi, ttxil-k·m rǧu asenneftaɣ ad d-yaweḍ.",
"WaitForHostMsg": "Asarag mazal ur yebdi ara. Ma yella d kečč·kemm i d asenneftaɣ, ttxil-k·m ilaq usesteb. Ma yella xaṭi, ttxil-k·m rǧu asenneftaɣ ad d-yaweḍ.",
"WaitingForHostTitle": "Aṛaǧu n usenneftaɣ ...",
"Yes": "Ih",
"accessibilityLabel": {

View File

@@ -168,8 +168,7 @@
"Remove": "제거",
"Share": "공유",
"Submit": "제출",
"WaitForHostMsg": "<b>{{room}}</b> 회의가 시작되지 않았습니다. 호스트인 경우 인증하십시오. 그렇지 않으면 호스트가 도착할 때까지 기다리십시오.",
"WaitForHostMsgWOk": "<b>{{room}}</b> 회의가 아직 시작되지 않았습니다. 호스트인 경우 확인을 눌러 인증하십시오. 그렇지 않으면 호스트가 도착할 때까지 기다리십시오.",
"WaitForHostMsg": "회의가 시작되지 않았습니다. 호스트인 경우 인증하십시오. 그렇지 않으면 호스트가 도착할 때까지 기다리십시오.",
"WaitingForHost": "호스트를 기다리는 중입니다…",
"Yes": "예",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Pašalinti",
"Share": "Dalintis",
"Submit": "Pateikti",
"WaitForHostMsg": "Konferencija <b>{{room}}</b> dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
"WaitForHostMsgWOk": "Konferencija <b>{{room}}</b> dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
"WaitForHostMsg": "Konferencija dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
"WaitingForHost": "Laukiama organizatoriaus ...",
"Yes": "Taip",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Noņemt",
"Share": "Kopīgot",
"Submit": "ОК",
"WaitForHostMsg": "Sapulce <b>{{room}}</b> vēl nav sākusies. Ja esat sapulces rīkotājs, lūdzu autorizējaties. Ja nē, sagaidiet rīkotāju.",
"WaitForHostMsgWOk": "Sapulce <b>{{room}}</b> vēl nav sākusies. Ja esat sapulces rīkotājs, lūdzu nospiediet |Ok|, lai autentificētos. Ja nē, sagaidiet rīkotāju.",
"WaitForHostMsg": "Sapulce vēl nav sākusies. Ja esat sapulces rīkotājs, lūdzu autorizējaties. Ja nē, sagaidiet rīkotāju.",
"WaitingForHost": "Gaidām rīkotāju...",
"Yes": "Jā",
"accessibilityLabel": {

View File

@@ -174,8 +174,7 @@
"Remove": "നീക്കംചെയ്യുക",
"Share": "പങ്കിടുക",
"Submit": "സമർപ്പിക്കുക",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHost": "ഹോസ്റ്റിനായി കാത്തിരിക്കുന്നു ...",
"Yes": "അതെ",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Устгах",
"Share": "Хуваалцах",
"Submit": "Илгээх",
"WaitForHostMsg": "<b>{{room}}</b> хурал хараахан эхлээгүй байна. Хэрэв та хост байгаа бол нэвтэрнэ үү. Үгүй бол хост ирэхийг хүлээнэ үү.",
"WaitForHostMsgWOk": "<b>{{room}}</b> хурал хараахан эхлээгүй байна. Хэрэв та хост эзэмшигч бол баталгаажуулахын тулд Ok дээр дарна уу. Үгүй бол хост ирэхийг хүлээнэ үү.",
"WaitForHostMsg": "Xурал хараахан эхлээгүй байна. Хэрэв та хост байгаа бол нэвтэрнэ үү. Үгүй бол хост ирэхийг хүлээнэ үү.",
"WaitingForHost": "Хостыг хүлээж байна ...",
"Yes": "Тийм",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "काढा",
"Share": "सामायिक करा",
"Submit": "प्रस्तुत करणे",
"WaitForHostMsg": "परिषद <b>{{room}}</b>अद्याप सुरू झाले नाही. आपण होस्ट असल्यास कृपया अधिकृत करा. अन्यथा, कृपया होस्ट येण्याची प्रतीक्षा करा.",
"WaitForHostMsgWOk": "परिषद <b>{{room}}</b> अद्याप सुरू झाले नाही. आपण होस्ट असल्यास कृपया प्रमाणीकरणासाठी ओके दाबा. अन्यथा, कृपया होस्ट येण्याची प्रतीक्षा करा.",
"WaitForHostMsg": "परिषद अद्याप सुरू झाले नाही. आपण होस्ट असल्यास कृपया अधिकृत करा. अन्यथा, कृपया होस्ट येण्याची प्रतीक्षा करा.",
"WaitingForHost": " होस्टची प्रतीक्षा करीत आहे ...",
"Yes": "होय",
"accessibilityLabel": {

View File

@@ -135,7 +135,6 @@
"Share": "Del",
"Submit": "Send inn",
"WaitForHostMsg": "",
"WaitForHostMsgWOk": "",
"WaitingForHost": "",
"Yes": "Ja",
"accessibilityLabel": {

View File

@@ -206,8 +206,7 @@
"Remove": "Verwijderen",
"Share": "Delen",
"Submit": "Verzenden",
"WaitForHostMsg": "De vergadering <b>{{room}}</b> is nog niet gestart. Authenticeer uzelf als u de host bent. Anders wacht u tot de host aanwezig is.",
"WaitForHostMsgWOk": "De vergadering <b>{{room}}</b> is nog niet gestart. Als u de host bent, drukt u op 'OK' om uzelf te authenticeren. Anders wacht u tot de host aanwezig is.",
"WaitForHostMsg": "De vergadering is nog niet gestart. Authenticeer uzelf als u de host bent. Anders wacht u tot de host aanwezig is.",
"Yes": "Ja",
"accessibilityLabel": {
"liveStreaming": "Livestream"

View File

@@ -208,8 +208,7 @@
"Remove": "Suprimir",
"Share": "Partejar",
"Submit": "Validar",
"WaitForHostMsg": "La conferéncia <b>{{room}}</b> a pas encara començat. Se sètz lòst volgatz ben vos identificar. Autrament esperatz quarribe lòste.",
"WaitForHostMsgWOk": "La conferéncia <b>{{room}}</b> a pas encara començat. Se sètz lòst volgatz ben clicar Ok per vos identificar. Autrament esperatz quarribe lòste.",
"WaitForHostMsg": "La conferéncia a pas encara començat. Se sètz lòst volgatz ben vos identificar. Autrament esperatz quarribe lòste.",
"WaitingForHostTitle": "En espèra de lòste...",
"Yes": "Òc",
"accessibilityLabel": {

View File

@@ -208,8 +208,7 @@
"Remove": "Usuń",
"Share": "Udostępnij",
"Submit": "Wyślij",
"WaitForHostMsg": "Spotkanie <b>{{room}}</b> jeszcze się nie rozpoczęło. Jeśli jesteś gospodarzem, prosimy o uwierzytelnienie. Jeśli nie, prosimy czekać na przybycie gospodarza.",
"WaitForHostMsgWOk": "Spotkanie <b>{{room}}</b> jeszcze się nie rozoczęło. Jeśli jesteś jej gospodarzem, wybierz Ok, aby się uwierzytelnić. Jeśli nie, prosimy czekać na przybycie gospodarza.",
"WaitForHostMsg": "Spotkanie jeszcze się nie rozpoczęło. Jeśli jesteś gospodarzem, prosimy o uwierzytelnienie. Jeśli nie, prosimy czekać na przybycie gospodarza.",
"WaitingForHostTitle": "Oczekiwanie na gospodarza...",
"Yes": "Tak",
"accessibilityLabel": {

View File

@@ -83,6 +83,7 @@
"enter": "Entrar na sala",
"error": "Erro: a sua mensagem não foi enviada. Motivo: {{error}}",
"fieldPlaceHolder": "Escreva aqui a sua mensagem",
"lobbyChatMessageTo": "Mensagem de chat na sala de espera para {{recipient}}",
"message": "Mensagem",
"messageAccessibleTitle": "{{user}} disse:",
"messageAccessibleTitleMe": "Eu disse:",
@@ -126,7 +127,7 @@
"FETCH_SESSION_ID": "Obtenção da session-id...",
"GET_SESSION_ID_ERROR": "Obter erro de session-id: {{code}}",
"GOT_SESSION_ID": "Obtenção da session-id... Feito",
"LOW_BANDWIDTH": "Vídeo para {{displayName}} foi desligada para poupar largura de banda"
"LOW_BANDWIDTH": "O vídeo para {{displayName}} foi desligado para poupar largura de banda"
},
"connectionindicator": {
"address": "Endereço:",
@@ -208,14 +209,15 @@
"Remove": "Remover",
"Share": "Partilhar",
"Submit": "Submeter",
"WaitForHostMsg": "A conferência <b>{{room}}</b> ainda não começou. Se for o anfitrião, por favor autentique. Caso contrário, por favor aguarde que o anfitrião chegue.",
"WaitForHostMsgWOk": "A conferência <b>{{room}}</b> ainda não começou. Se for o anfitrião, por favor prima Ok para autenticar. Caso contrário, por favor aguarde que o anfitrião chegue.",
"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 ...",
"Yes": "Sim",
"accessibilityLabel": {
"liveStreaming": "Transmissão em direto"
},
"add": "Adicionar",
"addMeetingNote": "Acrescentar uma nota sobre esta reunião",
"addOptionalNote": "Adicionar uma nota (opcional):",
"allow": "Permitir",
"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",
@@ -267,6 +269,8 @@
"kickParticipantDialog": "Tem a certeza que quer expulsar este participante?",
"kickParticipantTitle": "Expulsar este participante?",
"kickTitle": "Ai! {{participantDisplayName}} expulsou-o da reunião",
"linkMeeting": "Link da reunião",
"linkMeetingTitle": "Link da reunião à Força de Vendas",
"liveStreaming": "Transmissão em direto",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Não é possível enquanto a gravação estiver activa",
"liveStreamingDisabledTooltip": "Início de transmissão em direto desactivada",
@@ -321,6 +325,7 @@
"popupError": "O seu navegador está a bloquear janelas pop-up a partir deste site. Por favor, active os pop-ups nas definições de segurança do seu browser e tente novamente.",
"popupErrorTitle": "Pop-up bloqueado",
"readMore": "mais",
"recentlyUsedObjects": "Os seus objetos recentemente utilizados",
"recording": "A gravar",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Não possível enquanto a transmissão em direto estiver activa",
"recordingDisabledTooltip": "Início de gravação desactivada.",
@@ -343,6 +348,12 @@
"screenSharingFailed": "Oops! Algo correu mal, não fomos capazes de começar a partilhar o ecrã!",
"screenSharingFailedTitle": "A partilha de ecrã falhou!",
"screenSharingPermissionDeniedError": "Oops! Alguma coisa correu mal com as vossas permissões de partilha de ecrã. Por favor, volte a carregar e tente novamente.",
"searchInSalesforce": "Pesquisar na Força de Vendas",
"searchResults": "Resultados da pesquisa({{count}})",
"searchResultsDetailsError": "Algo correu mal enquanto se recuperava os dados do proprietário.",
"searchResultsError": "Alguma coisa correu mal durante a recuperação de dados.",
"searchResultsNotFound": "Não foram encontrados resultados de pesquisa.",
"searchResultsTryAgain": "Tente usar palavras-chave alternativas.",
"sendPrivateMessage": "Recebeu recentemente uma mensagem privada. Pretende responder a essa mensagem em privado, ou quer enviar a sua mensagem ao grupo?",
"sendPrivateMessageCancel": "Enviar para o grupo",
"sendPrivateMessageOk": "Enviar em privado",
@@ -365,7 +376,9 @@
"shareVideoTitle": "Partilhar vídeo",
"shareYourScreen": "Partilhe o seu ecrã",
"shareYourScreenDisabled": "Partilha de ecrã desactivada.",
"sharedVideoDialogError": "Erro: URL inválido",
"sharedVideoLinkPlaceholder": "Link do YouTube ou link direto do vídeo",
"start": "Iniciar ",
"startLiveStreaming": "Iniciar a transmissão em direto",
"startRecording": "Iniciar gravação",
"startRemoteControlErrorMessage": "Ocorreu um erro ao tentar iniciar a sessão de controlo remoto!",
@@ -408,6 +421,10 @@
"veryBad": "Muito má",
"veryGood": "Muito boa"
},
"giphy": {
"noResults": "Não foram encontrados resultados :(",
"search": "Procurar GIPHY"
},
"helpView": {
"header": "Centro de ajuda"
},
@@ -474,6 +491,7 @@
"focusLocal": "Focar no seu vídeo",
"focusRemote": "Focar no vídeo de outro participante",
"fullScreen": "Entrar ou sair do ecrã completo",
"giphyMenu": "Alternar o menu GIPHY",
"keyboardShortcuts": "Atalhos de teclado",
"localRecording": "Mostrar ou ocultar controlos de gravação local",
"mute": "Ligar ou desligar o seu microfone",
@@ -528,6 +546,7 @@
"admitAll": "Aceitar todos",
"allow": "Permitir",
"backToKnockModeButton": "Peça para aderir",
"chat": "Chat",
"dialogTitle": "Modo sala de espera",
"disableDialogContent": "O modo sala de espera está actualmente activada. Esta característica assegura que os participantes indesejados não possam juntar-se à sua reunião. Quer desativá-la?",
"disableDialogSubmit": "Desativar",
@@ -548,6 +567,8 @@
"knockButton": "Pedir para participar",
"knockTitle": "Alguém quer juntar-se à reunião",
"knockingParticipantList": "Lista de participantes a expulsar",
"lobbyChatStartedNotification": "{{moderator}} iniciou uma conversa na sala de espera com {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} iniciou uma conversa na sala de espera consigo.",
"nameField": "Introduza o seu nome",
"notificationLobbyAccessDenied": "{{targetParticipantName}} foi recusada a adesão por {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} foi autorizado a aderir por {{originParticipantName}}",
@@ -619,6 +640,12 @@
"leftOneMember": "{{name}} deixou a reunião",
"leftThreePlusMembers": "{{name}} e muitos outros deixaram a reunião",
"leftTwoMembers": "{{first}} e {{second}} deixaram a reunião",
"linkToSalesforce": "Link para a Força de Vendas",
"linkToSalesforceDescription": "Pode ligar o resumo da reunião a um objecto da Força de Vendas.",
"linkToSalesforceError": "Falha na ligação da reunião à Força de Vendas",
"linkToSalesforceKey": "Ligar esta reunião",
"linkToSalesforceProgress": "A ligar a reunião à Força de Vendas...",
"linkToSalesforceSuccess": "A reunião foi ligada à Força de Vendas",
"me": "Eu",
"moderationInEffectCSDescription": "Por favor, levantem a mão se quiserem partilhar o vosso ecrã.",
"moderationInEffectCSTitle": "A partilha de ecrã é bloqueada pelo moderador",
@@ -642,6 +669,8 @@
"oldElectronClientDescription1": "Parece estar a utilizar uma versão antiga do cliente Jitsi Meet que tem vulnerabilidades de segurança conhecidas. Por favor, certifique-se de que actualiza a nossa ",
"oldElectronClientDescription2": "compilação mais recente",
"oldElectronClientDescription3": " agora!",
"participantWantsToJoin": "Deseja juntar-se à reunião",
"participantsWantToJoin": "Desejam juntar-se à reunião",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) removido por outro participante",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) definido por outro participante",
"raiseHandAction": "Levantar a mão",
@@ -649,7 +678,7 @@
"raisedHands": "{{participantName}} e mais {{raisedHands}} pessoas",
"reactionSounds": "Desactivar sons",
"reactionSoundsForAll": "Desativar sons para todos",
"screenShareNoAudio": " A caixa de compartilhar áudio não foi marcada no ecrã de seleção da janela.",
"screenShareNoAudio": "A caixa de compartilhar áudio não foi marcada no ecrã de seleção da janela.",
"screenShareNoAudioTitle": "Não foi possível partilhar o áudio do sistema!",
"selfViewTitle": "Pode sempre reexibir a autovisualização a partir das definições",
"somebody": "Alguém",
@@ -661,7 +690,9 @@
"videoMutedRemotelyDescription": "Pode sempre ligá-la novamente.",
"videoMutedRemotelyTitle": "A sua câmara foi desligada pelo {{participantDisplayName}}.",
"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!"
"videoUnmuteBlockedTitle": "Está bloqueado ligar a câmara e partilhar o ambiente de trabalho!",
"viewLobby": "Ver sala de espera",
"waitingParticipants": "{{waitingParticipants}} pessoas"
},
"participantsPane": {
"actions": {
@@ -808,6 +839,18 @@
},
"raisedHand": "Gostaria de falar",
"raisedHandsLabel": "Número de mãos levantadas",
"record": {
"already": {
"linked": "O registo já está ligado a esta sessão."
},
"type": {
"account": "Conta",
"contact": "Contacto",
"lead": "Líder",
"opportunity": "Oportunidade",
"owner": "Proprietário"
}
},
"recording": {
"authDropboxText": "Enviar para o Dropbox.",
"availableSpace": "Espaço disponível: {{spaceLeft}} MB (aproximadamente {{duration}} minutos de gravação)",
@@ -821,7 +864,7 @@
"expandedOn": "A reunião está sendo gravada.",
"expandedPending": "Iniciando gravação...",
"failedToStart": "Falha ao iniciar a gravação",
"fileSharingdescription": "Compartilhar gravação com participantes da reunião",
"fileSharingdescription": "Partilhar o link da gravação com os participantes da reunião",
"inProgress": "Gravação ou transmissão em direto em curso",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. Para gravações ilimitadas tente <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Devido à grande procura, a sua gravação será limitada a {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
@@ -836,6 +879,7 @@
"rec": "REC",
"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.",
"signIn": "Entrar",
@@ -922,6 +966,7 @@
"speakerStats": {
"angry": "Zangado",
"disgusted": "Desgostoso",
"displayEmotions": "Mostrar emoções",
"fearful": "Temeroso",
"happy": "Feliz",
"hours": "{{count}}h",
@@ -967,6 +1012,7 @@
"expand": "Expandir",
"feedback": "Deixar comentários",
"fullScreen": "Mudar para ecrã completo",
"giphy": "Alternar o menu GIPHY",
"grantModerator": "Conceder direitos de moderador",
"hangup": "Sair da reunião",
"help": "Ajuda",
@@ -974,6 +1020,7 @@
"kick": "Remover participante",
"laugh": "Risos",
"like": "Aprovado",
"linkToSalesforce": "Link para a Força de Vendas",
"lobbyButton": "Ativar/desativar sala de espera",
"localRecording": "Mudar os controlos locais de gravação",
"lockRoom": "Mudar palavra-chave de reunião",
@@ -996,6 +1043,7 @@
"remoteVideoMute": "Desativar a câmara do participante",
"security": "Opções de segurança",
"selectBackground": "Selecionar plano de fundo",
"selfView": "Mudar a autovisualização",
"shareRoom": "Convidar alguém",
"shareYourScreen": "Iniciar / Parar partilha de ecrã",
"shareaudio": "Partilhar áudio",
@@ -1034,6 +1082,7 @@
"exitFullScreen": "Sair de ecrã completo",
"exitTileView": "Sair de quadrícula",
"feedback": "Deixar comentários",
"giphy": "Alternar o menu GIPHY",
"hangup": "Sair da reunião",
"help": "Ajuda",
"invite": "Convidar pessoas",
@@ -1041,6 +1090,7 @@
"laugh": "Risos",
"leaveBreakoutRoom": "Sair da sala",
"like": "Aprovado",
"linkToSalesforce": "Link para a Força de Vendas",
"lobbyButtonDisable": "Desativar sala de espera",
"lobbyButtonEnable": "Ativar sala de espera",
"login": "Iniciar sessão",
@@ -1161,9 +1211,11 @@
"mute": "Participante está sem som",
"muted": "Sem som",
"remoteControl": "Iniciar / Parar controlo remoto",
"screenSharing": "Participante está a partilhar o seu ecrã",
"show": "Mostrar no palco",
"showSelfView": "Mostrar autovisualização",
"videoMuted": "Câmara desativada",
"videomute": "O participante parou a câmara"
"videomute": "Participante parou a câmara"
},
"virtualBackground": {
"addBackground": "Adicionar imagem de fundo",
@@ -1195,7 +1247,7 @@
"join": "Toque para entrar",
"roomname": "Digite o nome da sala"
},
"addMeetingName": "AAdicionar nome da reunião",
"addMeetingName": "Adicionar nome da reunião",
"appDescription": "Vá em frente, converse por vídeo com toda a equipa. Na verdade, convide todos os que conhece. {{app}} é uma solução de videoconferência totalmente criptografada e 100% de código aberto que pode usar todos os dias, a cada dia, gratuitamente — sem necessidade de conta.",
"audioVideoSwitch": {
"audio": "Voz",

View File

@@ -185,8 +185,7 @@
"Remove": "Remover",
"Share": "Compartilhar",
"Submit": "Enviar",
"WaitForHostMsg": "A conferência <b>{{room}}</b> ainda não começou. Se você é o anfitrião, faça a autenticação. Do contrário, aguarde a chegada do anfitrião.",
"WaitForHostMsgWOk": "A conferência <b>{{room}}</b> ainda não começou. Se você é o anfitrião, pressione OK para autenticar. Do contrário, aguarde a chegada do anfitrião.",
"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.",
"WaitingForHostTitle": "Esperando o anfitrião...",
"Yes": "Sim",
"accessibilityLabel": {

View File

@@ -159,8 +159,7 @@
"Remove": "Eliminați",
"Share": "Partajare",
"Submit": "Trimiteți",
"WaitForHostMsg": "Conferința {{room}} nu a început. Daca sunteți moderatorul conferinței, vă rugăm să vă autentificați. Dacă nu, așteptați ca moderatorul să înceapă conferința.",
"WaitForHostMsgWOk": "Conferința {{room}} nu a început. Daca sunteți moderatorul, apăsați butonul OK pentru autentificare. Dacă nu, așteptați ca moderatorul să înceapă conferința.",
"WaitForHostMsg": "Conferința nu a început. Daca sunteți moderatorul conferinței, vă rugăm să vă autentificați. Dacă nu, așteptați ca moderatorul să înceapă conferința.",
"WaitingForHost": "Așteptare moderator conferință ...",
"Yes": "Da",
"accessibilityLabel": {

View File

@@ -185,8 +185,7 @@
"Remove": "Удалить",
"Share": "Поделиться",
"Submit": "ОК",
"WaitForHostMsg": "Конференция <b>{{room}}</b> еще не началась. Если вы организатор, пожалуйста, авторизируйтесь. В противном случае дождитесь организатора.",
"WaitForHostMsgWOk": "Конференция <b>{{room}}</b> еще не началась. Если вы организатор, пожалуйста, нажмите Ok для аутентификации. В противном случае, дождитесь организатора.",
"WaitForHostMsg": "Конференция еще не началась. Если вы организатор, пожалуйста, авторизируйтесь. В противном случае дождитесь организатора.",
"WaitingForHost": "Ждем организатора...",
"Yes": "Да",
"accessibilityLabel": {

View File

@@ -155,8 +155,7 @@
"Remove": "Boga",
"Share": "Cumpartzi",
"Submit": "Imbia",
"WaitForHostMsg": "Sa cunferèntzia <b>{{room}}</b> no est cumintzada. Si ses mere de custa cunferèntzia, autèntica·ti. Si nono, iseta chi arribet.",
"WaitForHostMsgWOk": "Sa cunferèntzia <b>{{room}}</b> no est cumintzada. Si ses mere, incarca AB pro ti autenticare. Si nono, iseta chi arribet.",
"WaitForHostMsg": "Sa cunferèntzia no est cumintzada. Si ses mere de custa cunferèntzia, autèntica·ti. Si nono, iseta chi arribet.",
"WaitingForHost": "Isetende mere...",
"Yes": "Eja",
"accessibilityLabel": {

View File

@@ -174,8 +174,7 @@
"Remove": "Odstrániť",
"Share": "Zdieľať",
"Submit": "OK",
"WaitForHostMsg": "Konferencia <b>{{room}}</b> sa ešte nezačala. Autorizujte sa prosím ak ste hostiteľ. V opačnom prípade čakajte na hostiteľa.",
"WaitForHostMsgWOk": "Konferencia <b>{{room}}</b> sa ešte nezačala. Ak ste hostiteľ autorizujte sa stlačením Ok. V opačnom prípade čakajte na hostiteľa.",
"WaitForHostMsg": "Konferencia sa ešte nezačala. Autorizujte sa prosím ak ste hostiteľ. V opačnom prípade čakajte na hostiteľa.",
"WaitingForHost": "Čakám na hostiteľa ...",
"Yes": "Áno",
"accessibilityLabel": {

View File

@@ -185,8 +185,7 @@
"Remove": "Odstrani",
"Share": "Deli",
"Submit": "Pošlji",
"WaitForHostMsg": "Konferenca v sobi <b>{{room}}</b> se še ni začela. Če ste gostitelj, se prosimo prijavite, sicer pa počakajte na gostitelja srečanja.",
"WaitForHostMsgWOk": "Konferenca v sobi <b>{{room}}</b> se še ni začela. Če ste gostitelj, prisisnite OK in se prijavite, sicer pa počakajte na gostitelja srečanja.",
"WaitForHostMsg": "Konferenca v sobi se še ni začela. Če ste gostitelj, se prosimo prijavite, sicer pa počakajte na gostitelja srečanja.",
"WaitingForHostTitle": "Čakanje gostitelja ...",
"Yes": "Da",
"accessibilityLabel": {

View File

@@ -208,8 +208,7 @@
"Remove": "Hiqe",
"Share": "Ndaje",
"Submit": "Parashtroje",
"WaitForHostMsg": "Konferenca <b>{{room}}</b> ska nisur ende. Nëse jeni organizatori, ju lutemi, bëni mirëfilltësimin. Përndryshe, ju lutemi, pritni që të mbërrijë organizatori.",
"WaitForHostMsgWOk": "Konferenca <b>{{room}}</b> ska nisur ende. Nëse jeni organizatori, ju lutemi, shtypni OK që të bëhet mirëfilltësimi. Përndryshe, ju lutemi, pritni që të mbërrijë organizatori.",
"WaitForHostMsg": "Konferenca ska nisur ende. Nëse jeni organizatori, ju lutemi, bëni mirëfilltësimin. Përndryshe, ju lutemi, pritni që të mbërrijë organizatori.",
"WaitingForHostTitle": "Po pritet për organizatorin…",
"Yes": "Po",
"accessibilityLabel": {

View File

@@ -144,7 +144,6 @@
"Share": "",
"Submit": "Пошаљи",
"WaitForHostMsg": "",
"WaitForHostMsgWOk": "",
"WaitingForHost": "",
"Yes": "Да",
"accessibilityLabel": {

View File

@@ -195,8 +195,7 @@
"Remove": "Ta bort",
"Share": "Dela",
"Submit": "Skicka",
"WaitForHostMsg": "Konferensen <b>{{room}}</b> har inte börjat än. Autentisera konferensen om du är värd. Vänta annars på att värden startar konferensen.",
"WaitForHostMsgWOk": "Konferensen <b>{{room}}</b> har inte börjat än. Om du är värd, autentisera konferensen genom att trycka på Ok. Vänta annars på att värden startar konferensen.",
"WaitForHostMsg": "Konferensen har inte börjat än. Autentisera konferensen om du är värd. Vänta annars på att värden startar konferensen.",
"WaitingForHost": "Väntar på värden ...",
"WaitingForHostTitle": "Väntar på värden ...",
"Yes": "Ja",

View File

@@ -180,8 +180,7 @@
"Remove": "తీసివేయి",
"Share": "పంచుకోండి",
"Submit": "దాఖలుచేయి",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHostTitle": "అతిథేయి కోసం వేచివున్నాం ...",
"Yes": "అవును",
"accessibilityLabel": {

View File

@@ -68,6 +68,7 @@
"enter": "Odaya gir",
"error": "Hata: Mesajınız gönderilmedi. Neden: {{error}}",
"fieldPlaceHolder": "Mesajınızı buraya yazın",
"lobbyChatMessageTo": "{{recipient}} adlı kişiye lobi mesajı",
"message": "Mesaj",
"messageAccessibleTitle": "{{user}} diyor:",
"messageAccessibleTitleMe": "ben diyorum:",
@@ -195,8 +196,7 @@
"Remove": "Kaldır",
"Share": "Paylaş",
"Submit": "Gönder",
"WaitForHostMsg": "<b>{{room}}</b> toplantısı henüz başlamadı. Toplantı sahibi sizseniz, lütfen kimlik doğrulaması yapın. Değilseniz lütfen toplantı sahibinin gelmesini bekleyin.",
"WaitForHostMsgWOk": "<b>{{room}}</b> toplantısı henüz başlamadı. Toplantı sahibi sizseniz, kimlik doğrulaması için Tamam butonuna basın. Değilseniz lütfen toplantı sahibinin gelmesini bekleyin.",
"WaitForHostMsg": "Toplantısı henüz başlamadı. Toplantı sahibi sizseniz, lütfen kimlik doğrulaması yapın. Değilseniz lütfen toplantı sahibinin gelmesini bekleyin.",
"WaitingForHost": "Toplantı sahibi bekleniyor...",
"WaitingForHostTitle": "Toplantı sahibi bekleniyor ...",
"Yes": "Evet",
@@ -527,6 +527,7 @@
"admitAll": "Hepsini kabul et",
"allow": "İzin ver",
"backToKnockModeButton": "Parola yok, bunun yerine katılmayı isteyin",
"chat": "Sohbet et",
"dialogTitle": "Lobi modu",
"disableDialogContent": "Lobi modu şu anda etkin. Bu özellik, istenmeyen katılımcıların toplantınıza katılamamasını sağlar. Devre dışı bırakmak istiyor musunuz?",
"disableDialogSubmit": "Devre Dışı",
@@ -547,6 +548,8 @@
"knockButton": "Katılmak için sor",
"knockTitle": "Birisi toplantıya katılmak istiyor",
"knockingParticipantList": "Kapıyı çalan katılımcı listesi",
"lobbyChatStartedNotification": "{{moderator}} {{attendee}} adlı kişiyle lobi mesajlaşması başlattı",
"lobbyChatStartedTitle": "{{moderator}} sizinle lobi mesajlaşması başlattı",
"nameField": "Adınızı giriniz",
"notificationLobbyAccessDenied": "{{targetParticipantName}} adlı katılımcı {{originParticipantName}} tarafından reddedildi",
"notificationLobbyAccessGranted": "{{targetParticipantName}} adlı katılımcı {{originParticipantName}} tarafından kabul edildi",

View File

@@ -177,8 +177,7 @@
"Remove": "Вилучити",
"Share": "Поділитися",
"Submit": "Гаразд",
"WaitForHostMsg": "Конференція <b>{{room}}</b> ще не почалася. Якщо ви є організатором, будь ласка, авторизуйтеся або дочекайтеся організатора.",
"WaitForHostMsgWOk": "Конференція <b>{{room}}</b> ще не почалася. Якщо ви є організатором, будь ласка, клацніть на кнопку \"Гаразд\" для авторизації або дочекайтеся організатора.",
"WaitForHostMsg": "Конференція ще не почалася. Якщо ви є організатором, будь ласка, авторизуйтеся або дочекайтеся організатора.",
"WaitingForHost": "Чекаємо на організатора...",
"Yes": "Так",
"accessibilityLabel": {

View File

@@ -146,8 +146,7 @@
"Remove": "Xóa",
"Share": "Chia sẻ",
"Submit": "Đăng ký",
"WaitForHostMsg": "Cuộc họp <b>{{room}}</b> chưa được khởi tạo. Nếu bạn là chủ nghị vui lòng xác thực. Nếu không, vui lòng đợi chủ nghị.",
"WaitForHostMsgWOk": "Cuộc họp <b>{{room}}</b> chưa được khởi tạo. Nếu bạn là chủ nghị vui lòng nhấn OK để xác thực. Nếu không, vui lòng đợi chủ nghị.",
"WaitForHostMsg": "Cuộc họp chưa được khởi tạo. Nếu bạn là chủ nghị vui lòng xác thực. Nếu không, vui lòng đợi chủ nghị.",
"WaitingForHost": "Đang đợi chủ nghị …",
"Yes": "Có",
"accessibilityLabel": {

View File

@@ -174,8 +174,7 @@
"Remove": "移除",
"Share": "分享",
"Submit": "提交",
"WaitForHostMsg": "会议<b>{{room}}</b>尚未开始。如果您是主持人,请进行身份验证。否则,请等待主持人的到来。",
"WaitForHostMsgWOk": "会议<b>{{room}}</b>尚未开始。如果您是主持人,请进行身份验证。否则,请等待主持人的到来。",
"WaitForHostMsg": "会议 尚未开始。如果您是主持人,请进行身份验证。否则,请等待主持人的到来。",
"WaitingForHost": "等待主持人。。。",
"Yes": "是",
"accessibilityLabel": {

View File

@@ -207,8 +207,7 @@
"Remove": "移除",
"Share": "分享",
"Submit": "提交",
"WaitForHostMsg": "此會議 <b>{{room}}</b> 尚未啟動。如果您是會議主人,請進行認證;否則,請等待會議主人到達。",
"WaitForHostMsgWOk": "此會議 <b>{{room}}</b> 尚未啟動。如果您是會議主人,請按 [確定] 進行認證;否則,請等待會議主人到達。",
"WaitForHostMsg": "此會議 尚未啟動。如果您是會議主人,請進行認證;否則,請等待會議主人到達。",
"WaitingForHost": "等侯主辦人...",
"Yes": "是的",
"accessibilityLabel": {

View File

@@ -39,9 +39,6 @@
"audioOnly": {
"audioOnly": "Low bandwidth"
},
"blankPage": {
"meetingEnded": "Meeting ended."
},
"breakoutRooms": {
"actions": {
"add": "Add breakout room",
@@ -83,6 +80,7 @@
"enter": "Enter room",
"error": "Error: your message was not sent. Reason: {{error}}",
"fieldPlaceHolder": "Type your message here",
"lobbyChatMessageTo": "Lobby chat message to {{recipient}}",
"message": "Message",
"messageAccessibleTitle": "{{user}} says:",
"messageAccessibleTitleMe": "me says:",
@@ -208,14 +206,15 @@
"Remove": "Remove",
"Share": "Share",
"Submit": "Submit",
"WaitForHostMsg": "The conference <b>{{room}}</b> has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsgWOk": "The conference <b>{{room}}</b> has not yet started. If you are the host then please press Ok to authenticate. Otherwise, please wait for the host to arrive.",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHostTitle": "Waiting for the host ...",
"Yes": "Yes",
"accessibilityLabel": {
"liveStreaming": "Live Stream"
},
"add": "Add",
"addMeetingNote": "Add a note about this meeting",
"addOptionalNote": "Add a note (optional):",
"allow": "Allow",
"alreadySharedVideoMsg": "Another participant is already sharing a video. This conference allows only one shared video at a time.",
"alreadySharedVideoTitle": "Only one shared video is allowed at a time",
@@ -267,6 +266,8 @@
"kickParticipantDialog": "Are you sure you want to kick this participant?",
"kickParticipantTitle": "Kick this participant?",
"kickTitle": "Ouch! {{participantDisplayName}} kicked you out of the meeting",
"linkMeeting": "Link meeting",
"linkMeetingTitle": "Link meeting to Salesforce",
"liveStreaming": "Live Streaming",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Not possible while recording is active",
"liveStreamingDisabledTooltip": "Start live stream disabled.",
@@ -321,6 +322,7 @@
"popupError": "Your browser is blocking pop-up windows from this site. Please enable pop-ups in your browser's security settings and try again.",
"popupErrorTitle": "Pop-up blocked",
"readMore": "more",
"recentlyUsedObjects": "Your recently used objects",
"recording": "Recording",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Not possible while a live stream is active",
"recordingDisabledTooltip": "Start recording disabled.",
@@ -343,6 +345,12 @@
"screenSharingFailed": "Oops! Something went wrong, we werent able to start screen sharing!",
"screenSharingFailedTitle": "Screen sharing failed!",
"screenSharingPermissionDeniedError": "Oops! Something went wrong with your screen sharing permissions. Please reload and try again.",
"searchInSalesforce": "Search in Salesforce",
"searchResults": "Search results({{count}})",
"searchResultsDetailsError": "Something went wrong while retrieving owner data.",
"searchResultsError": "Something went wrong while retrieving data.",
"searchResultsNotFound": "No search results found.",
"searchResultsTryAgain": "Try using alternative keywords.",
"sendPrivateMessage": "You recently received a private message. Did you intend to reply to that privately, or you want to send your message to the group?",
"sendPrivateMessageCancel": "Send to the group",
"sendPrivateMessageOk": "Send privately",
@@ -410,6 +418,10 @@
"veryBad": "Very Bad",
"veryGood": "Very Good"
},
"giphy": {
"noResults": "No results found :(",
"search": "Search GIPHY"
},
"helpView": {
"header": "Help center"
},
@@ -476,6 +488,7 @@
"focusLocal": "Focus on your video",
"focusRemote": "Focus on another person's video",
"fullScreen": "View or exit full screen",
"giphyMenu": "Toggle GIPHY menu",
"keyboardShortcuts": "Keyboard shortcuts",
"localRecording": "Show or hide local recording controls",
"mute": "Mute or unmute your microphone",
@@ -530,6 +543,7 @@
"admitAll": "Admit all",
"allow": "Allow",
"backToKnockModeButton": "Ask to join",
"chat": "Chat",
"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?",
"disableDialogSubmit": "Disable",
@@ -550,6 +564,8 @@
"knockButton": "Ask to Join",
"knockTitle": "Someone wants to join the meeting",
"knockingParticipantList": "Knocking participant list",
"lobbyChatStartedNotification": "{{moderator}} started a lobby chat with {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} has started a lobby chat with you.",
"nameField": "Enter your name",
"notificationLobbyAccessDenied": "{{targetParticipantName}} has been rejected to join by {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} has been allowed to join by {{originParticipantName}}",
@@ -621,6 +637,12 @@
"leftOneMember": "{{name}} left the meeting",
"leftThreePlusMembers": "{{name}} and many others left the meeting",
"leftTwoMembers": "{{first}} and {{second}} left the meeting",
"linkToSalesforce": "Link to Salesforce",
"linkToSalesforceDescription": "You can link the meeting summary to a Salesforce object.",
"linkToSalesforceError": "Failed to link meeting to Salesforce",
"linkToSalesforceKey": "Link this meeting",
"linkToSalesforceProgress": "Linking meeting to Salesforce...",
"linkToSalesforceSuccess": "The meeting was linked to Salesforce",
"me": "Me",
"moderationInEffectCSDescription": "Please raise hand if you want to share your screen.",
"moderationInEffectCSTitle": "Screen sharing is blocked by the moderator",
@@ -814,6 +836,18 @@
},
"raisedHand": "Would like to speak",
"raisedHandsLabel": "Number of raised hands",
"record": {
"already": {
"linked": "Record is already linked to this session."
},
"type": {
"account": "Account",
"contact": "Contact",
"lead": "Lead",
"opportunity": "Opportunity",
"owner": "Owner"
}
},
"recording": {
"authDropboxText": "Upload to Dropbox",
"availableSpace": "Available space: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
@@ -827,7 +861,12 @@
"expandedOn": "The meeting is currently being recorded.",
"expandedPending": "Recording is being started...",
"failedToStart": "Recording failed to start",
"fileSharingdescription": "Share recording with meeting participants",
"fileSharingdescription": "Share the recording link with the meeting participants",
"highlight": "Highlight",
"highlightMoment": "Highlight moment",
"highlightMomentDisabled": "You can highlight moments when the recording starts",
"highlightMomentSuccess": "Moment highlighted",
"highlightMomentSucessDescription": "Your highlighted moment will be added to the meeting summary.",
"inProgress": "Recording or live streaming in progress",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
@@ -842,6 +881,7 @@
"rec": "REC",
"serviceDescription": "Your recording will be saved by the recording service",
"serviceDescriptionCloud": "Cloud recording",
"serviceDescriptionCloudInfo": "Recorded meetings are automatically cleared 24h after their recording time.",
"serviceName": "Recording service",
"sessionAlreadyActive": "This session is already being recorded or live streamed.",
"signIn": "Sign in",
@@ -974,6 +1014,7 @@
"expand": "Expand",
"feedback": "Leave feedback",
"fullScreen": "Toggle full screen",
"giphy": "Toggle GIPHY menu",
"grantModerator": "Grant Moderator Rights",
"hangup": "Leave the meeting",
"help": "Help",
@@ -981,6 +1022,7 @@
"kick": "Kick participant",
"laugh": "Laugh",
"like": "Thumbs Up",
"linkToSalesforce": "Link to Salesforce",
"lobbyButton": "Enable/disable lobby mode",
"localRecording": "Toggle local recording controls",
"lockRoom": "Toggle meeting password",
@@ -1042,6 +1084,7 @@
"exitFullScreen": "Exit full screen",
"exitTileView": "Exit tile view",
"feedback": "Leave feedback",
"giphy": "Toggle GIPHY menu",
"hangup": "Leave the meeting",
"help": "Help",
"invite": "Invite people",
@@ -1049,6 +1092,7 @@
"laugh": "Laugh",
"leaveBreakoutRoom": "Leave breakout room",
"like": "Thumbs Up",
"linkToSalesforce": "Link to Salesforce",
"lobbyButtonDisable": "Disable lobby mode",
"lobbyButtonEnable": "Enable lobby mode",
"login": "Login",

View File

@@ -72,7 +72,7 @@ import {
captureLargeVideoScreenshot,
resizeLargeVideo
} from '../../react/features/large-video/actions.web';
import { toggleLobbyMode, setKnockingParticipantApproval } from '../../react/features/lobby/actions';
import { toggleLobbyMode, answerKnockingParticipant } from '../../react/features/lobby/actions';
import {
close as closeParticipantsPane,
open as openParticipantsPane
@@ -140,7 +140,7 @@ function initCommands() {
APP.store.dispatch(createBreakoutRoom(name));
},
'answer-knocking-participant': (id, approved) => {
APP.store.dispatch(setKnockingParticipantApproval(id, approved));
APP.store.dispatch(answerKnockingParticipant(id, approved));
},
'approve-video': participantId => {
if (!isLocalParticipantModerator(APP.store.getState())) {

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