Compare commits

...

174 Commits

Author SHA1 Message Date
Horatiu Muresan
738437776d fix(background-alpha) Fix setting background opacity 2022-04-04 16:33:50 +03:00
Avram Tudor
43beb627a2 fix(highlights) allow highlighting moments if recording is running (#11301) 2022-04-04 12:08:47 +03:00
Mihaela Dumitru
bd994f2103 fix(salesforce) use salesforce only in the main room (#11286)
* fix(salesforce) use salesforce only in the main room (#11245)

* chore(deps) lib-jitsi-meet@latest (#11284)

https://github.com/jitsi/lib-jitsi-meet/compare/v1408.0.0+7e997fb7...v1409.0.0+88378583

Co-authored-by: Saúl Ibarra Corretgé <saghul@jitsi.org>
2022-04-04 08:24:41 +03:00
Robert Pintilii
6a3755f5d6 fix(thumbnails) Fix recalculate tile dimensions on client resize (#11267)
Recalculate after new dimensions are in the store
Fixes issue where on participant pane toggle the tiles would not recalculate correctly
# Conflicts:
#	react/features/filmstrip/middleware.web.js
2022-03-31 12:16:22 +03:00
Avram Tudor
97f355ec22 fix(highlight) set highlight button visibility based on record button… (#11215)
* fix(highlight) set highlight button visibility based on record button props

* code review

* code review

* code review

* code review
2022-03-31 10:32:18 +03:00
Avram Tudor
79fe929eb7 fix(highlight) implement custom notification for highlight start recording (#11217) 2022-03-31 10:32:07 +03:00
Avram Tudor
ef2a490961 fix(face-centering) fix face centering on browsers with no offscreencanvas support (#11234) 2022-03-31 10:31:19 +03:00
Robert Pintilii
3bbba6f305 fix(context-menu) Don't overwrite hidden prop (#11265)
Fixes issue where the menu would disappear on dominant speaker change
2022-03-31 10:26:29 +03:00
Robert Pintilii
7a573fd580 feat(external-api) Add grantModerator command (#11199) 2022-03-31 10:25:11 +03:00
Jaya Allamsetty
1484e0fd0b Revert "fix(screenshare) Add and then mute the camera track after SS stops instead of not adding the track."
This workaround is not needed anymore since P2P is disabled between plan-b and unified-plan clients.
Fixes https://github.com/jitsi/jitsi-meet/issues/11131

This reverts commit c30038236a.
2022-03-29 11:14:19 -04:00
Saúl Ibarra Corretgé
2909176a73 fix(overlay) fix not showing the correct gUM helper text 2022-03-24 15:13:43 +01:00
Avram Tudor
64d3faa52a fix(highlight) fix notifications not disappearing (#11183) 2022-03-23 16:35:21 +02:00
Avram Tudor
842755674a 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-23 16:35:13 +02:00
Robert Pintilii
c007a6194e fix(chat) Fix iOS web chat (#11193)
Fixes: on iOS web the chat input would move from the bottom when the keyboard was open
2022-03-22 11:08:16 -05:00
Robert Pintilii
71a8d7937c fix(settings-dialog) Fix crash (#11191)
Fixes crash when the participant becomes moderator while the dialog is open
2022-03-22 11:08:16 -05:00
Hristo Terezov
10785cb1c7 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 17:23:01 -05:00
Avram Tudor
5cdee7d989 fix(recording) fix incorrect condition for recording notification message (#11167) 2022-03-21 14:04:33 -05:00
Robert Pintilii
b2d8a6115a fix(video-constraints) Fix calculations (#11161)
Only calculate for Large Video on the web (otherwise native breaks)
Take preferred max into calculations
2022-03-21 14:04:02 -05: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
ulflunqvist
a1337dff38 Update main-sv.json 2022-02-25 11:50:03 -06:00
Izak Glasencnik
ebe16af809 Fix initial volume value if value is 0 2022-02-25 11:08:34 -06:00
Saúl Ibarra Corretgé
d018d19874 fix(ios) fix for building for simulator on M1
Backport of: a1c445a39c
2022-02-25 15:15:40 +01:00
Calin Chitu
be152b12d7 fix(filmstrip/toolbox) mobile ui adjustments 2022-02-25 14:26:56 +02:00
Saúl Ibarra Corretgé
c2a3d29353 fix(facial-recognition) avoid image data conversion
TF 3.0 supports getting an ImageBitmap in fromPixels: https://js.tensorflow.org/api/3.0.0/#browser.fromPixels
2022-02-25 13:00:53 +01:00
Saúl Ibarra Corretgé
1d275e1976 fix(lint) don't check for Flow types on files without the annotation 2022-02-25 11:25:17 +01:00
Jaya Allamsetty
fea59e472a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1375.0.0+a8e3a574...v1376.0.0+f881b3c7
2022-02-24 13:45:34 -05:00
Saúl Ibarra Corretgé
c16c6688b8 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1373.0.0+21337c75...v1375.0.0+a8e3a574
2022-02-24 11:58:26 -05:00
Robert Pintilii
2dda749b1f feat(filmstrip) Make filmstrip user resizable (#10884)
Make conference info and toolbar appear on top of the filmstrip
After a breakpoint, filmstrip pushes over the stage view instead of appearing on top
On user resize make tiles wider; after a breakpoint show grid view in the filmstrip
On filmstrip visibility toggle animate stage view resize
Added config for filmstrip with disableResizableFilmstrip
2022-02-24 14:20:37 +02:00
Robert Pintilii
fde33b72d0 fix(thumbnails, rn) Hide empty indicators container on native (#11019) 2022-02-24 14:17:02 +02:00
Saúl Ibarra Corretgé
011fe40853 fix(rn,filmstrip) fix local participant location
This applies to android only, where we don't separate the local
thumbnail.

In portrait mode the local thumbnail needs to be on the right, aka the
last one. In landscape mode it needs to be on top, aka the first.
2022-02-24 13:13:08 +01:00
Calin Chitu
34d8843a35 fix(mobile-ui) ui fixes 2022-02-23 16:56:41 +02:00
William Liang
05dc018671 feat(multi-stream-support) Replace participant connection status logic with track streaming status (#10934) 2022-02-23 07:30:10 -06:00
Peter Krantz
fa65a54f50 fix(lang) update sv translation 2022-02-23 08:58:39 +01:00
Calin Chitu
20fd671b68 fix(mobile-ui) patch for native dialog container, fixed switch track color 2022-02-23 08:57:51 +01:00
Robert Pintilii
fd9d19a951 fix(thumbnails) Revert local tile ratio (#11009) 2022-02-23 09:07:26 +02:00
Saúl Ibarra Corretgé
f9384fdc87 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1371.0.0+cb3b0db3...v1373.0.0+21337c75
2022-02-22 17:26:23 +01:00
Saúl Ibarra Corretgé
0945d373b6 chore(deps) make sure no SSH URLs get generated in package-lock.json
They create installation problems on systems without an SSH key.

Ref: https://github.com/npm/cli/issues/2610#issuecomment-914610832
2022-02-22 09:24:53 -06:00
Calin Chitu
9651229a17 fix(calendar-sync) fixed pull to refresh on Calendar List mobile 2022-02-22 17:09:38 +02:00
Saúl Ibarra Corretgé
0826ec16c2 fix(rn,display-name) don't show display name for local user
In large view. This aligns the behavior with the web.
2022-02-22 15:57:11 +01:00
Calin Chitu
e0881502d3 fix(toolbox) fixed toolbox safeareaview on mobile 2022-02-22 15:05:20 +02:00
Saúl Ibarra Corretgé
c84e6eecdd feat(rn) drop incoming call handling
This "feature" has been dead (and most likely buggy) for years. The
recommended way is for apps to implement their own incoming call
handling and then call into the JitsiMeetActivity. We did not have those
APIs back then.
2022-02-22 13:54:21 +01:00
Saúl Ibarra Corretgé
e61ccc956f feat(android) make application more akin to a greenfield RN app
Few (but some) RN modules rely on the main Application implementing
ReactApplication.

For Detox to actually work on Android we need the app to be a greenfield
app. Specifically, the main Application must implement ReactApplication.

In order to satisfy this requirement we are introducing a helper
ReactNativeHost implementation which encapsulates our RN integration,
which is what the ReactApplication needs to expose.

While we don't really need this ourselves (except if we end up adopting
Detox) we have known people who fork our app and add dependencies that have
this requirement to it, so this change will help them too.
2022-02-22 13:46:28 +01:00
Saúl Ibarra Corretgé
6aa0e3902a fix(android) initialize the fatal exception handler early 2022-02-22 13:46:28 +01:00
Saúl Ibarra Corretgé
eaba4798db chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1361.0.0+9e98e989...v1371.0.0+cb3b0db3
2022-02-21 22:35:22 -05:00
Saúl Ibarra Corretgé
08f388e17a chore(deps) react-native-webrtc@1.94.2 2022-02-21 15:57:59 +01:00
Saúl Ibarra Corretgé
2c68817f4c fix(ios) make sure arm64 sim is not excluded
Also update native dependencies.
2022-02-21 15:37:58 +01:00
Calin Chitu
e8e62a0213 feat(welcome) updated mobile ui styles 2022-02-21 16:37:37 +02:00
Gabriel Borlea
85581266e4 fix(speaker-stats): labels spearator line fixed and remove footer space 2022-02-21 15:23:00 +01:00
Saúl Ibarra Corretgé
a2155aad7f fix(ios) rework RN build workaround
This is what upstream RN does now.
2022-02-21 11:47:10 +01:00
Дамян Минков
59e51f107e feat: Handles hidden-from-recorder from jwt. (#10973)
* feat: Handles hidden-from-recorder from jwt.

Hides the participant that has this flag in jwt from the recorder. A hidden meeting moderator.
Makes sure follows me works and no tracks are being added.

* squash: Skips showing notification when disabling
local audio and video.

* squash: Fixes comments.

* squash: Updates with ljm changes.
2022-02-17 16:25:31 -06:00
nosmicek
40353cf762 fix: Fixes nil error while processing wrong jwt value. Fixes #10970
Co-authored-by: David Mišurec <david.misurec@icewarp.com>
2022-02-17 12:05:39 -06:00
Jaya Allamsetty
a1d0111c1b chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1359.0.0+55131be9...v1360.0.0+9eb93e0e
2022-02-17 10:33:48 -05:00
Calinteodor
b1be511d67 Mobile UI polish (#10982)
Updated screens with new ui on mobile
2022-02-17 16:51:00 +02:00
Jaya Allamsetty
c4ddaa8b87 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1357.0.0+61265e3b...v1359.0.0+55131be9
2022-02-16 11:31:26 -05:00
Дамян Минков
2d61b564a1 fix: Fixes param in spanish translation. 2022-02-15 10:49:35 -06:00
Robert Pintilii
9062c91d77 fix(context-menu) Add max height (#10965) 2022-02-15 13:23:40 +02:00
Jaya Allamsetty
387af2db20 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1353.0.0+f23372dd...v1357.0.0+61265e3b
2022-02-14 12:25:39 -05:00
Calinteodor
75fd61eed6 chore(deps) update react-native-dialog
Allows us to drop a custom patch, yay!
2022-02-14 17:28:52 +01:00
Robert Pintilii
d655acdc30 fix(breakout-rooms) Hide non-working options inside breakout rooms (#10959)
When the local participant is a moderator and is in a breakout room hide the following:
- advanced moderation
- Ask to Unmute
- Grant Moderator
2022-02-14 16:47:14 +02:00
Robert Pintilii
4340d5b7fc fix(video-quality-label) Open dialog also on audio-only mode (#10957) 2022-02-14 12:43:04 +02:00
Mihaela Dumitru
79877e56f0 fix(breakout-rooms) close room before removing it (#10956) 2022-02-14 12:40:44 +02:00
Robert Pintilii
59065d10f8 feat(thumbnails, rn) Native thumbnails redesign (#10954) 2022-02-14 12:13:18 +02:00
dependabot[bot]
ac8ae50cf0 chore(deps): bump follow-redirects from 1.14.7 to 1.14.8
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-13 08:30:24 +01:00
Calin Chitu
eb720d5ddc feat(navigation) two actions screen header buttons ui updates 2022-02-11 12:06:56 +02:00
Christoph Settgast
6ab46186e2 fix(lang) update German translation
Signed-off-by: Christoph Settgast <csett86@web.de>
2022-02-11 07:00:14 +01:00
Дамян Минков
f9fd60a4ea fix: Fixes reconnecting on pre-join screen in case of max users error. 2022-02-10 13:00:25 -06:00
Дамян Минков
d23cd7f77d fix: Fixes script with correct commit message.
Comparing releases as we may skip few releases.
2022-02-10 13:00:25 -06:00
Дамян Минков
035944b4a4 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1350.0.0+c3ab13d3...v1353.0.0+f23372dd
2022-02-10 13:00:25 -06:00
gpatel-fr
cd7243935f fix(lang) update french translation 2022-02-10 09:49:15 -06:00
Jaya Allamsetty
fd4c1ce9a0 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/releases/tag/v1350.0.0+c3ab13d3
2022-02-09 15:12:26 -05:00
Calin Chitu
e76adb2e1d fix(dialog) fixed translations 2022-02-09 13:27:56 +02:00
Calin Chitu
06bd279f22 feat(dialog) refinaments 2022-02-08 17:38:14 +02:00
Calin Chitu
8a6b6f2942 feat(dialog) start recording/live stream screens, new AlertDialog 2022-02-08 14:41:34 +02:00
dependabot[bot]
f38702bb65 chore(deps): bump simple-get from 3.1.0 to 3.1.1
Bumps [simple-get](https://github.com/feross/simple-get) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/feross/simple-get/releases)
- [Commits](https://github.com/feross/simple-get/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: simple-get
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-08 13:08:52 +01:00
Calin Chitu
625a4cf42f feat(dialog) change description text color 2022-02-08 12:05:14 +02:00
JohnProv
271e2217b2 fix(lang) update Dutch translation 2022-02-08 10:42:26 +01:00
Christoph Settgast
b34a3aee04 fix(load-test) update package-lock.json to npm8
Fixes

npm WARN old lockfile
npm WARN old lockfile The package-lock.json file was created with an old version of npm,
npm WARN old lockfile so supplemental metadata must be fetched from the registry.
npm WARN old lockfile
npm WARN old lockfile This is a one-time fix-up, please be patient...
npm WARN old lockfile
2022-02-08 09:57:00 +01:00
Calin Chitu
744bcc3b66 feat(toolbox) removed unused BetaTag component and styles 2022-02-07 21:28:39 +02:00
Jaya Allamsetty
04794e9fdb chore(deps) lib-jitsi-meet@latest.
fix(ProxyConnection) set signaling layer by @saghul in #1862
fix: Fixes version while building. by @damencho in #1866
feat(multi-stream-support)Add support for multiple local and remote tracks/mediaType. by @jallamsetty1 in #1861
fix: Add private message handler for breakout_rooms by @steve-vsee in #1867
fix(JingleSessionPC) Do not force track removal at pc level on user leave. by @jallamsetty1 in #1869
feat(multi-stream-support) Handle SDP munging for multiple local/remote streams per ep. by @jallamsetty1 in #1868
2022-02-07 11:25:28 -05:00
Saúl Ibarra Corretgé
15cc956ed4 fix(shared-video) use more space on recorders
They don't render the toolbar so there is more space available.

The reason this commit does that is because getToolboxHeight will now
always be 0 for recorders.
2022-02-07 11:04:25 +01:00
Saúl Ibarra Corretgé
aaa26f8c7d fix(toolbox) never show the toolbox for recorders 2022-02-07 11:04:25 +01:00
Gabriel Borlea
8ccd7e92e0 chore: update face-api (#10912)
* chore: update face-api

* fix: remove caret from face-api dependecy and update models
2022-02-07 11:42:48 +02:00
Calinteodor
f282dbb5dc feat(dialog) updated LoginDialog 2022-02-04 16:58:33 +02:00
Mihaela Dumitru
2e8a635373 feat(external-api) add commands to open/close the participants pane 2022-02-04 16:11:08 +02:00
Mihaela Dumitru
01ab415941 feat(external-api) expose breakout rooms actions 2022-02-04 12:51:33 +02:00
Calinteodor
66b4c0cab0 feat(dialog) new native InputDialog 2022-02-04 12:20:47 +02:00
Saúl Ibarra Corretgé
78b117cec6 fix(app) fix member count to filter out hidden participants
When Jibri counts the participants in the meeting other Jibris should
not be accounted for.
2022-02-04 11:18:20 +01:00
Calin Chitu
b5c68c2b6a feat(dialog) removed native CustomDialog 2022-02-04 10:48:39 +02:00
Gabriel Borlea
fa9f4588c2 fix(facial-expressions): set screen size in worker and add constants for worker message types (#10678)
* fix(facial-expressions): set window screen size from worker with the value from main thread

* fix(facial-expressions): refactor worker and add constants for message types
2022-02-04 09:14:52 +02:00
Besnik Bleta
df6eff8804 fix(lang) update sq translation 2022-02-03 20:14:18 +01:00
Mihaela Dumitru
63a4b106ac feat(external-api) notify conference joined with room type flag 2022-02-03 18:12:03 +02:00
Calinteodor
debb63d3d6 feat(dialog) added react-native-dialog dep and updated ConfirmDialog 2022-02-03 17:45:02 +02:00
Tudor D. Pop
b9f3448379 feat(notifications) reset same type notification timeout 2022-02-03 14:17:34 +01:00
Hristo Terezov
2a8d0b6e33 fix(thumbnail): mouse enter is not triggered
Workaround for the issue when the mouse enter event is not triggered in
the use case where the layout changes and the mouse appears onn top of the
thumbnail. Example: Closing the participant pane.
2022-02-02 17:37:08 -06:00
Hristo Terezov
8cb1e1e233 feat(tileView): Display 3 participants in 1 row 2022-02-02 17:37:08 -06:00
Gabriel Borlea
eb70c611c2 feat(speaker-stats) new design for web and mobile 2022-02-01 15:57:30 +01:00
Calin Chitu
40f5f4cd0d feat(welcome) blur room name input onListContainerPress 2022-02-01 16:12:55 +02:00
471 changed files with 27781 additions and 11821 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

@@ -7,6 +7,7 @@
android:extractNativeLibs="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:name=".MainApplication"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/AppTheme">
<meta-data

View File

@@ -0,0 +1,47 @@
/*
* Copyright @ 2022-present 8x8, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet;
import android.app.Application;
import android.util.Log;
import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
import org.jitsi.meet.sdk.JitsiReactNativeHost;
/**
* Application class for Jitsi Meet. The only reason why this exists is for Detox
* to believe our app is a "greenfield" app. SDK users need not use this.
*/
public class MainApplication extends Application implements ReactApplication {
private final ReactNativeHost mReactNativeHost = new JitsiReactNativeHost(this);
@Override
public ReactNativeHost getReactNativeHost() {
return mReactNativeHost;
}
@Override
public void onCreate() {
super.onCreate();
// Initialize RN
Log.d(this.getClass().getCanonicalName(), "app onCreate");
getReactNativeHost().getReactInstanceManager();
}
}

View File

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

View File

@@ -16,13 +16,14 @@
package org.jitsi.meet.sdk;
import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
import androidx.startup.Initializer;
import com.facebook.soloader.SoLoader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class JitsiInitializer implements Initializer<Boolean> {
@@ -30,13 +31,18 @@ public class JitsiInitializer implements Initializer<Boolean> {
@NonNull
@Override
public Boolean create(@NonNull Context context) {
Log.d(this.getClass().getCanonicalName(), "create");
SoLoader.init(context, /* native exopackage */ false);
// Register our uncaught exception handler.
JitsiMeetUncaughtExceptionHandler.register();
return true;
}
@NonNull
@Override
public List<Class<? extends Initializer<?>>> dependencies() {
return new ArrayList<>();
return Collections.emptyList();
}
}

View File

@@ -0,0 +1,41 @@
package org.jitsi.meet.sdk;
import android.app.Application;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import java.util.List;
/**
* This is the minimal implementation of ReactNativeHost that will make things like the
* Detox testing framework believe we are a "greenfield" app.
*
* Generally speaking, apps using the SDK (other than the Jitsi Meet app itself) should not
* need to use this because the
*/
public class JitsiReactNativeHost extends ReactNativeHost {
public JitsiReactNativeHost(Application application) {
super(application);
}
@Override
public boolean getUseDeveloperSupport() {
// Unused since we override `createReactInstanceManager`.
return false;
}
@Override
protected List<ReactPackage> getPackages() {
// Unused since we override `createReactInstanceManager`.
return null;
}
@Override
protected ReactInstanceManager createReactInstanceManager() {
ReactInstanceManagerHolder.initReactInstanceManager(this.getApplication());
return ReactInstanceManagerHolder.getReactInstanceManager();
}
}

View File

@@ -17,6 +17,8 @@
package org.jitsi.meet.sdk;
import android.app.Activity;
import android.app.Application;
import android.util.Log;
import androidx.annotation.Nullable;
@@ -99,6 +101,69 @@ class ReactInstanceManagerHolder {
);
}
static List<ReactPackage> getReactNativePackages() {
List<ReactPackage> packages
= new ArrayList<>(Arrays.asList(
new com.reactnativecommunity.asyncstorage.AsyncStoragePackage(),
new com.ocetnik.timer.BackgroundTimerPackage(),
new com.calendarevents.RNCalendarEventsPackage(),
new com.corbt.keepawake.KCKeepAwakePackage(),
new com.facebook.react.shell.MainReactPackage(),
new com.reactnativecommunity.clipboard.ClipboardPackage(),
new com.reactnativecommunity.netinfo.NetInfoPackage(),
new com.reactnativepagerview.PagerViewPackage(),
new com.oblador.performance.PerformancePackage(),
new com.reactnativecommunity.slider.ReactSliderPackage(),
new com.brentvatne.react.ReactVideoPackage(),
new com.swmansion.reanimated.ReanimatedPackage(),
new org.reactnative.maskedview.RNCMaskedViewPackage(),
new com.reactnativecommunity.webview.RNCWebViewPackage(),
new com.kevinresol.react_native_default_preference.RNDefaultPreferencePackage(),
new com.learnium.RNDeviceInfo.RNDeviceInfo(),
new com.swmansion.gesturehandler.react.RNGestureHandlerPackage(),
new org.linusu.RNGetRandomValuesPackage(),
new com.rnimmersive.RNImmersivePackage(),
new com.swmansion.rnscreens.RNScreensPackage(),
new com.zmxv.RNSound.RNSoundPackage(),
new com.th3rdwave.safeareacontext.SafeAreaContextPackage(),
new com.horcrux.svg.SvgPackage(),
new ReactPackageAdapter() {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return ReactInstanceManagerHolder.createNativeModules(reactContext);
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return ReactInstanceManagerHolder.createViewManagers(reactContext);
}
}));
// AmplitudeReactNativePackage
try {
Class<?> amplitudePackageClass = Class.forName("com.amplitude.reactnative.AmplitudeReactNativePackage");
Constructor constructor = amplitudePackageClass.getConstructor();
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
}
// RNGoogleSignInPackage
try {
Class<?> googlePackageClass = Class.forName("com.reactnativegooglesignin.RNGoogleSigninPackage");
Constructor constructor = googlePackageClass.getConstructor();
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
}
return packages;
}
static JSCExecutorFactory getReactNativeJSFactory() {
// Keep on using JSC, the jury is out on Hermes.
return new JSCExecutorFactory("", "");
}
/**
* Helper function to send an event to JavaScript.
*
@@ -159,6 +224,35 @@ class ReactInstanceManagerHolder {
return reactInstanceManager;
}
/**
* Internal method to initialize the React Native instance manager. We
* create a single instance in order to load the JavaScript bundle a single
* time. All {@code ReactRootView} instances will be tied to the one and
* only {@code ReactInstanceManager}.
*
* This method is only meant to be called when integrating with {@code JitsiReactNativeHost}.
*
* @param app {@code Application} current running Application.
*/
static void initReactInstanceManager(Application app) {
if (reactInstanceManager != null) {
return;
}
Log.d(ReactInstanceManagerHolder.class.getCanonicalName(), "initializing RN with Application");
reactInstanceManager
= ReactInstanceManager.builder()
.setApplication(app)
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index.android")
.setJavaScriptExecutorFactory(getReactNativeJSFactory())
.addPackages(getReactNativePackages())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.BEFORE_CREATE)
.build();
}
/**
* Internal method to initialize the React Native instance manager. We
* create a single instance in order to load the JavaScript bundle a single
@@ -172,63 +266,7 @@ class ReactInstanceManagerHolder {
return;
}
List<ReactPackage> packages
= new ArrayList<>(Arrays.asList(
new com.reactnativecommunity.asyncstorage.AsyncStoragePackage(),
new com.ocetnik.timer.BackgroundTimerPackage(),
new com.calendarevents.RNCalendarEventsPackage(),
new com.corbt.keepawake.KCKeepAwakePackage(),
new com.facebook.react.shell.MainReactPackage(),
new com.reactnativecommunity.clipboard.ClipboardPackage(),
new com.reactnativecommunity.netinfo.NetInfoPackage(),
new com.reactnativepagerview.PagerViewPackage(),
new com.oblador.performance.PerformancePackage(),
new com.reactnativecommunity.slider.ReactSliderPackage(),
new com.brentvatne.react.ReactVideoPackage(),
new com.swmansion.reanimated.ReanimatedPackage(),
new org.reactnative.maskedview.RNCMaskedViewPackage(),
new com.reactnativecommunity.webview.RNCWebViewPackage(),
new com.kevinresol.react_native_default_preference.RNDefaultPreferencePackage(),
new com.learnium.RNDeviceInfo.RNDeviceInfo(),
new com.swmansion.gesturehandler.react.RNGestureHandlerPackage(),
new org.linusu.RNGetRandomValuesPackage(),
new com.rnimmersive.RNImmersivePackage(),
new com.swmansion.rnscreens.RNScreensPackage(),
new com.zmxv.RNSound.RNSoundPackage(),
new com.th3rdwave.safeareacontext.SafeAreaContextPackage(),
new com.horcrux.svg.SvgPackage(),
new ReactPackageAdapter() {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return ReactInstanceManagerHolder.createNativeModules(reactContext);
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return ReactInstanceManagerHolder.createViewManagers(reactContext);
}
}));
// AmplitudeReactNativePackage
try {
Class<?> amplitudePackageClass = Class.forName("com.amplitude.reactnative.AmplitudeReactNativePackage");
Constructor constructor = amplitudePackageClass.getConstructor();
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
}
// RNGoogleSigninPackage
try {
Class<?> googlePackageClass = Class.forName("com.reactnativegooglesignin.RNGoogleSigninPackage");
Constructor constructor = googlePackageClass.getConstructor();
packages.add((ReactPackage)constructor.newInstance());
} catch (Exception e) {
// Ignore any error, the module is not compiled when LIBRE_BUILD is enabled.
}
// Keep on using JSC, the jury is out on Hermes.
JSCExecutorFactory jsFactory
= new JSCExecutorFactory("", "");
Log.d(ReactInstanceManagerHolder.class.getCanonicalName(), "initializing RN with Activity");
reactInstanceManager
= ReactInstanceManager.builder()
@@ -236,13 +274,10 @@ class ReactInstanceManagerHolder {
.setCurrentActivity(activity)
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index.android")
.setJavaScriptExecutorFactory(jsFactory)
.addPackages(packages)
.setJavaScriptExecutorFactory(getReactNativeJSFactory())
.addPackages(getReactNativePackages())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
// Register our uncaught exception handler.
JitsiMeetUncaughtExceptionHandler.register();
}
}

View File

@@ -1,72 +0,0 @@
/*
* Copyright @ 2018-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk.incoming_call;
import androidx.annotation.NonNull;
public class IncomingCallInfo {
/**
* URL for the caller avatar.
*/
private final String callerAvatarURL;
/**
* Caller's name.
*/
private final String callerName;
/**
* Whether this is a regular call or a video call.
*/
private final boolean hasVideo;
public IncomingCallInfo(
@NonNull String callerName,
@NonNull String callerAvatarURL,
boolean hasVideo) {
this.callerName = callerName;
this.callerAvatarURL = callerAvatarURL;
this.hasVideo = hasVideo;
}
/**
* Gets the caller's avatar URL.
*
* @return - The URL as a string.
*/
public String getCallerAvatarURL() {
return callerAvatarURL;
}
/**
* Gets the caller's name.
*
* @return - The caller's name.
*/
public String getCallerName() {
return callerName;
}
/**
* Gets whether the call is a video call or not.
*
* @return - {@code true} if this call has video; {@code false}, otherwise.
*/
public boolean hasVideo() {
return hasVideo;
}
}

View File

@@ -1,73 +0,0 @@
/*
* Copyright @ 2018-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk.incoming_call;
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.NonNull;
import com.facebook.react.bridge.ReadableMap;
import org.jitsi.meet.sdk.BaseReactView;
import org.jitsi.meet.sdk.ListenerUtils;
import java.lang.reflect.Method;
import java.util.Map;
public class IncomingCallView
extends BaseReactView<IncomingCallViewListener> {
/**
* The {@code Method}s of {@code JitsiMeetViewListener} by event name i.e.
* redux action types.
*/
private static final Map<String, Method> LISTENER_METHODS
= ListenerUtils.mapListenerMethods(IncomingCallViewListener.class);
public IncomingCallView(@NonNull Context context) {
super(context);
}
/**
* Handler for {@link ExternalAPIModule} events.
*
* @param name The name of the event.
* @param data The details/specifics of the event to send determined
* by/associated with the specified {@code name}.
*/
@Override
protected void onExternalAPIEvent(String name, ReadableMap data) {
onExternalAPIEvent(LISTENER_METHODS, name, data);
}
/**
* Sets the information for the incoming call this {@code IncomingCallView}
* represents.
*
* @param callInfo - {@link IncomingCallInfo} object representing the caller
* information.
*/
public void setIncomingCallInfo(IncomingCallInfo callInfo) {
Bundle props = new Bundle();
props.putString("callerAvatarURL", callInfo.getCallerAvatarURL());
props.putString("callerName", callInfo.getCallerName());
props.putBoolean("hasVideo", callInfo.hasVideo());
createReactRootView("IncomingCallApp", props);
}
}

View File

@@ -1,41 +0,0 @@
/*
* Copyright @ 2018-present Atlassian Pty Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk.incoming_call;
import java.util.Map;
/**
* Interface for listening to events coming from Jitsi Meet, related to
* {@link IncomingCallView}.
*/
public interface IncomingCallViewListener {
/**
* Called when the user presses the "Answer" button on the
* {@link IncomingCallView}.
*
* @param data - Unused at the moment.
*/
void onIncomingCallAnswered(Map<String, Object> data);
/**
* Called when the user presses the "Decline" button on the
* {@link IncomingCallView}.
*
* @param data - Unused at the moment.
*/
void onIncomingCallDeclined(Map<String, Object> data);
}

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,
@@ -148,6 +151,7 @@ import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/Au
import { createPresenterEffect } from './react/features/stream-effects/presenter';
import { createRnnoiseProcessor } from './react/features/stream-effects/rnnoise';
import { endpointMessageReceived } from './react/features/subtitles';
import { muteLocal } from './react/features/video-menu/actions.any';
import UIEvents from './service/UI/UIEvents';
const logger = Logger.getLogger(__filename);
@@ -373,7 +377,6 @@ class ConferenceConnector {
break;
case JitsiConferenceErrors.CONFERENCE_MAX_USERS:
connection.disconnect();
APP.UI.notifyMaxUsersLimitReached();
break;
@@ -1141,8 +1144,12 @@ export default {
return room.getParticipants();
},
/**
* Used by Jibri to detect when it's alone and the meeting should be terminated.
*/
get membersCount() {
return room.getParticipants().length + 1;
return room.getParticipants()
.filter(p => !p.isHidden() || !(config.iAmRecorder && p.isHiddenFromRecorder())).length + 1;
},
/**
@@ -1438,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}`);
@@ -1453,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(() => {
@@ -1657,9 +1686,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>}
*/
@@ -1673,9 +1705,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);
@@ -1937,11 +1968,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);
}
@@ -2061,6 +2094,10 @@ export default {
APP.store.dispatch(updateRemoteParticipantFeatures(user));
});
room.on(JitsiConferenceEvents.USER_JOINED, (id, user) => {
if (config.iAmRecorder && user.isHiddenFromRecorder()) {
return;
}
// The logic shared between RN and web.
commonUserJoinedHandling(APP.store, room, user);
@@ -2098,6 +2135,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 {
@@ -2110,6 +2151,14 @@ export default {
return;
}
if (config.iAmRecorder) {
const participant = room.getParticipantById(track.getParticipantId());
if (participant.isHiddenFromRecorder()) {
return;
}
}
APP.store.dispatch(trackAdded(track));
});
@@ -2597,13 +2646,24 @@ export default {
* @returns {void}
*/
_onConferenceJoined() {
const { dispatch } = APP.store;
APP.UI.initConference();
if (!config.disableShortcuts) {
APP.keyboardshortcut.init();
}
APP.store.dispatch(conferenceJoined(room));
dispatch(conferenceJoined(room));
const jwt = APP.store.getState()['features/base/jwt'];
if (jwt?.user?.hiddenFromRecorder) {
dispatch(muteLocal(true, MEDIA_TYPE.AUDIO));
dispatch(muteLocal(true, MEDIA_TYPE.VIDEO));
dispatch(setAudioUnmutePermissions(true, true));
dispatch(setVideoUnmutePermissions(true, true));
}
},
/**

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,6 +603,7 @@ var config = {
// 'fullscreen',
// 'hangup',
// 'help',
// 'highlight',
// 'invite',
// 'livestreaming',
// 'microphone',
@@ -630,7 +636,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
@@ -742,6 +750,20 @@ var config = {
// Enables detecting faces of participants and get their expression and send it to other participants
// enableFacialRecognition: true,
// 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,
@@ -976,12 +998,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,
@@ -1045,6 +1080,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,
@@ -1080,7 +1123,8 @@ var config = {
// 'e2ee',
// 'transcribing',
// 'video-quality',
// 'insecure-room'
// 'insecure-room',
// 'highlight-moment'
// ]
// },
@@ -1164,6 +1208,7 @@ var config = {
forceJVB121Ratio
forceTurnRelay
hiddenDomain
hiddenFromRecorderFeatureEnabled
ignoreStartMuted
websocketKeepAlive
websocketKeepAliveUrl
@@ -1219,6 +1264,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
@@ -1234,6 +1280,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',
@@ -1252,9 +1299,38 @@ var config = {
// Prevent the filmstrip from autohiding when screen width is under a certain threshold
// disableFilmstripAutohiding: false,
// filmstrip: {
// // 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

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

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

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

@@ -1,7 +1,7 @@
.subject {
color: #fff;
transition: opacity .6s ease-in-out;
z-index: $zindex3;
z-index: $toolbarZ + 2;
margin-top: 20px;
opacity: 0;

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

@@ -78,6 +78,10 @@
#largeVideoContainer {
overflow: hidden;
text-align: center;
&.transition {
transition: width 1s, height 1s, top 1s;
}
}
#largeVideoContainer {

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

@@ -28,7 +28,7 @@
flex-direction: column-reverse;
height: 100%;
width: 100%;
padding: ($desktopAppDragBarHeight - 5px) 5px calc(env(safe-area-inset-bottom, 0) + 10px);
padding: 0;
/**
* fixed positioning is necessary for remote menus and tooltips to pop
* out of the scrolling filmstrip. AtlasKit dialogs and tooltips use
@@ -40,6 +40,10 @@
right: 0;
z-index: $filmstripVideosZ;
&.no-vertical-padding {
padding: 0;
}
/**
* Hide videos by making them slight to the right.
*/
@@ -58,7 +62,10 @@
&#remoteVideos {
border: $thumbnailsBorder solid transparent;
padding-left: 0;
border-left: 0;
width: 100%;
height: 100%;
justify-content: center;
}
}
@@ -67,11 +74,12 @@
*/
#filmstripLocalVideo {
align-self: initial;
bottom: 5px;
margin-bottom: 5px;
display: flex;
flex-direction: column-reverse;
height: auto;
justify-content: flex-start;
width: 100%;
#filmstripLocalVideoThumbnail {
width: calc(100% - 15px);
@@ -100,15 +108,42 @@
flex-grow: 1;
}
.resizable-filmstrip #remoteVideos .videocontainer {
border-left: 0;
margin: 0;
}
&.reduce-height {
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;
transition: height .3s ease-in;
overscroll-behavior: contain;
&.height-transition {
transition: height .3s ease-in;
}
& > div {
position: absolute;
transition: opacity 1s;

View File

@@ -42,7 +42,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 +56,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';
@@ -83,7 +81,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,80 +0,0 @@
.speaker-stats {
list-style: none;
padding: 0;
width: 100%;
font-weight: 500;
.speaker-stats-item__status-dot {
position: relative;
display: block;
width: 9px;
height: 9px;
border-radius: 50%;
margin: 0 auto;
&.status-active {
background: green;
}
&.status-inactive {
background: gray;
}
}
.status-user-left {
color: $placeHolderColor;
}
.speaker-stats-item__status,
.speaker-stats-item__name,
.speaker-stats-item__time,
.speaker-stats-item__name_expressions_on,
.speaker-stats-item__time_expressions_on,
.speaker-stats-item__expression {
display: inline-block;
margin: 5px 0;
vertical-align: middle;
}
.speaker-stats-item__status {
width: 5%;
}
.speaker-stats-item__name {
width: 40%;
}
.speaker-stats-item__time {
width: 55%;
}
.speaker-stats-item__name_expressions_on {
width: 20%;
}
.speaker-stats-item__time_expressions_on {
width: 25%;
}
.speaker-stats-item__expression {
width: 7%;
text-align: center;
}
@media(max-width: 750px) {
.speaker-stats-item__name_expressions_on {
width: 25%;
}
.speaker-stats-item__time_expressions_on {
width: 30%;
}
.speaker-stats-item__expression {
width: 10%;
}
}
.speaker-stats-item__name,
.speaker-stats-item__time,
.speaker-stats-item__name_expressions_on,
.speaker-stats-item__time_expressions_on,
.speaker-stats-item__expression {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}

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

@@ -7,7 +7,7 @@
position: absolute;
right: 0;
top: 0;
z-index: $toolbarZ + 1;
z-index: $toolbarZ + 2;
.action-btn {
border-radius: 6px;
@@ -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

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

@@ -91,7 +91,7 @@ var interfaceConfig = {
LANG_DETECTION: true, // Allow i18n to detect the system language
LIVE_STREAMING_HELP_LINK: 'https://jitsi.org/live', // Documentation reference for the live streaming feature.
LOCAL_THUMBNAIL_RATIO: 1, // 1:1
LOCAL_THUMBNAIL_RATIO: 16 / 9, // 16:9
/**
* Maximum coefficient of the ratio of the large video to the visible area

View File

@@ -29,8 +29,8 @@ target 'JitsiMeetSDK' do
# Native pod dependencies
#
pod 'CocoaLumberjack', '~>3.5.3'
pod 'ObjectiveDropboxOfficial', '~>6.1.0'
pod 'CocoaLumberjack', '3.7.2'
pod 'ObjectiveDropboxOfficial', '6.2.3'
end
post_install do |installer|
@@ -41,12 +41,8 @@ post_install do |installer|
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '12.0'
end
# https://github.com/facebook/react-native/issues/32351#issuecomment-939157955
case target.name
when 'RCT-Folly'
target.build_configurations.each do |config|
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '9.0'
end
end
end
# https://github.com/facebook/react-native/blob/d7f748a944a9a9324e485ccbe214098e6c8645fc/scripts/react_native_pods.rb#L630
time_header = "#{Pod::Config.instance.installation_root.to_s}/Pods/RCT-Folly/folly/portability/Time.h"
`sed -i -e $'s/ && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_10_0)//' #{time_header}`
end

View File

@@ -9,9 +9,9 @@ PODS:
- AppAuth/Core (1.4.0)
- AppAuth/ExternalUserAgent (1.4.0)
- boost (1.76.0)
- CocoaLumberjack (3.5.3):
- CocoaLumberjack/Core (= 3.5.3)
- CocoaLumberjack/Core (3.5.3)
- CocoaLumberjack (3.7.2):
- CocoaLumberjack/Core (= 3.7.2)
- CocoaLumberjack/Core (3.7.2)
- DoubleConversion (1.1.6)
- FBLazyVector (0.66.4)
- FBReactNativeSpec (0.66.4):
@@ -107,7 +107,7 @@ PODS:
- nanopb/encode (= 1.30906.0)
- nanopb/decode (1.30906.0)
- nanopb/encode (1.30906.0)
- ObjectiveDropboxOfficial (6.1.0)
- ObjectiveDropboxOfficial (6.2.3)
- PromisesObjC (1.2.12)
- RCT-Folly (2021.06.28.00-v2):
- boost
@@ -330,7 +330,7 @@ PODS:
- react-native-video/Video (= 5.2.0)
- react-native-video/Video (5.2.0):
- React-Core
- react-native-webrtc (1.94.1):
- react-native-webrtc (1.94.2):
- React-Core
- react-native-webview (11.15.1):
- React-Core
@@ -435,7 +435,7 @@ PODS:
DEPENDENCIES:
- "amplitude-react-native (from `../node_modules/@amplitude/react-native`)"
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
- CocoaLumberjack (~> 3.5.3)
- CocoaLumberjack (= 3.7.2)
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
@@ -443,7 +443,7 @@ DEPENDENCIES:
- Firebase/Crashlytics (~> 6.33.0)
- Firebase/DynamicLinks (~> 6.33.0)
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
- ObjectiveDropboxOfficial (~> 6.1.0)
- ObjectiveDropboxOfficial (= 6.2.3)
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
- RCTRequired (from `../node_modules/react-native/Libraries/RCTRequired`)
- RCTTypeSafety (from `../node_modules/react-native/Libraries/TypeSafety`)
@@ -639,7 +639,7 @@ SPEC CHECKSUMS:
amplitude-react-native: 0ed8cab759aafaa94961b82122bf56297da607ad
AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7
boost: a7c83b31436843459a1961bfd74b96033dc77234
CocoaLumberjack: 2f44e60eb91c176d471fdba43b9e3eae6a721947
CocoaLumberjack: b7e05132ff94f6ae4dfa9d5bce9141893a21d9da
DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662
FBLazyVector: e5569e42a1c79ca00521846c223173a57aca1fe1
FBReactNativeSpec: fe08c1cd7e2e205718d77ad14b34957cce949b58
@@ -659,7 +659,7 @@ SPEC CHECKSUMS:
GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89
GTMSessionFetcher: 43748f93435c2aa068b1cbe39655aaf600652e91
nanopb: 59317e09cf1f1a0af72f12af412d54edf52603fc
ObjectiveDropboxOfficial: b4765572e334d6fc6214b43a7595510324bbbbaa
ObjectiveDropboxOfficial: fe206ce8c0bc49976c249d472db7fdbc53ebbd53
PromisesObjC: 3113f7f76903778cf4a0586bd1ab89329a0b7b97
RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9
RCTRequired: 4bf86c70714490bca4bf2696148638284622644b
@@ -683,7 +683,7 @@ SPEC CHECKSUMS:
react-native-slider: 6e9b86e76cce4b9e35b3403193a6432ed07e0c81
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: a4c2635d0802f983594b7057e1bce8f442f0ad28
react-native-webrtc: 2f20515f3ebb9dbf1f2aad638cc7573396cf948f
react-native-webrtc: 1856ac061df94b1bd6037f1f3b56d1b8bc2b50e7
react-native-webview: ea4899a1056c782afa96dd082179a66cbebf5504
React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd
React-RCTActionSheet: 7d3041e6761b4f3044a37079ddcb156575fb6d89
@@ -712,6 +712,6 @@ SPEC CHECKSUMS:
RNWatch: 99637948ec9b5c9ec5a41920642594ad5ba07e80
Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280
PODFILE CHECKSUM: 93620e428bb16cc7fb8fd7314c0402e26929b5bf
PODFILE CHECKSUM: 7fafb3480e45473da539aa09d06374868b021f90
COCOAPODS: 1.11.2

View File

@@ -821,6 +821,7 @@
baseConfigurationReference = 756FCE06C08D9B947653C98A /* Pods-JitsiMeet.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
CODE_SIGN_ENTITLEMENTS = app.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
@@ -829,6 +830,7 @@
DEAD_CODE_STRIPPING = NO;
DEVELOPMENT_TEAM = FC967L3QRG;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -851,6 +853,7 @@
baseConfigurationReference = 3E0F4ED943C0B12BE77F6B45 /* Pods-JitsiMeet.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconRelease;
CODE_SIGN_ENTITLEMENTS = app.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
@@ -858,6 +861,7 @@
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = FC967L3QRG;
ENABLE_BITCODE = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -977,7 +981,7 @@
ENABLE_BITCODE = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -1038,7 +1042,7 @@
ENABLE_BITCODE = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;

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.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>NSExtension</key>

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>22.0.0</string>
<string>22.1.0</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.0</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.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>CLKComplicationPrincipalClass</key>

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

@@ -518,7 +518,7 @@
ENABLE_BITCODE = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
@@ -581,7 +581,7 @@
ENABLE_BITCODE = YES;
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 ";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -606,6 +606,7 @@
baseConfigurationReference = 09A78016288AF50ACD28A10D /* Pods-JitsiMeetSDK.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -615,6 +616,7 @@
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
@@ -633,6 +635,7 @@
baseConfigurationReference = 891FE43DAD30BC8976683100 /* Pods-JitsiMeetSDK.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -642,6 +645,7 @@
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_BITCODE = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;

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": {
@@ -365,7 +365,9 @@
"shareVideoTitle": "Video teilen",
"shareYourScreen": "Bildschirmfreigabe ein-/ausschalten",
"shareYourScreenDisabled": "Bildschirmfreigabe deaktiviert.",
"sharedVideoDialogError": "Fehler: Ungültige URL",
"sharedVideoLinkPlaceholder": "YouTube-URL oder direkte Video-URL",
"start": "Starte ",
"startLiveStreaming": "Livestream starten",
"startRecording": "Aufnahme starten",
"startRemoteControlErrorMessage": "Beim Versuch, die Fernsteuerung zu starten, ist ein Fehler aufgetreten!",
@@ -528,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",
@@ -548,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",
@@ -642,6 +647,8 @@
"oldElectronClientDescription1": "Sie scheinen eine alte Version des Jitsi-Meet-Clients zu nutzen. Diese hat bekannte Schwachstellen. Bitte aktualisieren Sie auf unsere ",
"oldElectronClientDescription2": "aktuelle Version",
"oldElectronClientDescription3": "!",
"participantWantsToJoin": "Möchte an der Konferenz teilnehmen",
"participantsWantToJoin": "Möchten an der Konferenz teilnehmen",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) von einer anderen Person entfernt",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) von einer anderen Person gesetzt",
"raiseHandAction": "Melden",
@@ -661,7 +668,9 @@
"videoMutedRemotelyDescription": "Sie können sie jederzeit wieder einschalten.",
"videoMutedRemotelyTitle": "Ihre Kamera wurde von {{participantDisplayName}} ausgeschaltet!",
"videoUnmuteBlockedDescription": "Die Kamera und Bildschirmfreigabe kann aus Überlastungsschutzgründen temporär nicht eingeschaltet werden.",
"videoUnmuteBlockedTitle": "Kamera und Bildschirmfreigabe kann nicht aktiviert werden!"
"videoUnmuteBlockedTitle": "Kamera und Bildschirmfreigabe kann nicht aktiviert werden!",
"viewLobby": "Lobby ansehen",
"waitingParticipants": "{{waitingParticipants}} Personen"
},
"participantsPane": {
"actions": {
@@ -922,6 +931,7 @@
"speakerStats": {
"angry": "Sauer",
"disgusted": "Angeekelt",
"displayEmotions": "Emotionen anzeigen",
"fearful": "Ängstlich",
"happy": "Fröhlich",
"hours": "{{count}} Std. ",
@@ -996,6 +1006,7 @@
"remoteVideoMute": "Kamera von dieser Person ausschalten",
"security": "Sicherheitsoptionen",
"selectBackground": "Hintergrund auswählen",
"selfView": "Eigene Ansicht ein-/ausschalten",
"shareRoom": "Person einladen",
"shareYourScreen": "Bildschirmfreigabe ein-/ausschalten",
"shareaudio": "Audio teilen",
@@ -1163,6 +1174,7 @@
"remoteControl": "Fernsteuerung",
"screenSharing": "Person teilt den Bildschirm",
"show": "Im Vordergrund anzeigen",
"showSelfView": "Eigene Ansicht anzeigen",
"videoMuted": "Kamera ausgeschaltet",
"videomute": "Person hat die Kamera angehalten"
},

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": {
@@ -650,7 +649,7 @@
"waitingLobby": "Esperando en el vestíbulo ({{count}})"
}
},
"passwordDigitsOnly": "Hasta {{number]] cifras",
"passwordDigitsOnly": "Hasta {{number}} cifras",
"passwordSetRemotely": "Definida por otro participante",
"polls": {
"answer": {

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í",
@@ -674,7 +673,7 @@
"waitingLobby": "Esperando en el vestíbulo ({{count}})"
}
},
"passwordDigitsOnly": "Hasta {{number]] cifras",
"passwordDigitsOnly": "Hasta {{number}} cifras",
"passwordSetRemotely": "definida por otro participante",
"polls": {
"answer": {

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é",
@@ -365,7 +376,9 @@
"shareVideoTitle": "Partager une vidéo",
"shareYourScreen": "Partager votre écran",
"shareYourScreenDisabled": "Le partage d'écran est désactivé.",
"sharedVideoDialogError": "Erreur: URL invalide",
"sharedVideoLinkPlaceholder": "lien YouTube ou lien vidéo direct",
"start": "Démarrer ",
"startLiveStreaming": "Démarrer la diffusion en direct",
"startRecording": "Commencer l'enregistrement",
"startRemoteControlErrorMessage": "Une erreur est survenue lors de la tentative de démarrage de la session de contrôle à distance !",
@@ -408,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"
},
@@ -474,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",
@@ -528,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",
@@ -548,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}}",
@@ -619,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",
@@ -812,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)",
@@ -840,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",
@@ -926,6 +966,7 @@
"speakerStats": {
"angry": "En colère",
"disgusted": "Dégoûté",
"displayEmotions": "Afficher réactions",
"fearful": "Effrayé",
"happy": "Content",
"hours": "{{count}}h",
@@ -971,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",
@@ -978,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",
@@ -1000,6 +1043,7 @@
"remoteVideoMute": "Couper la caméra du participant",
"security": "Options de sécurité",
"selectBackground": "Selectionner un arrière-plan",
"selfView": "Afficher votre vidéo",
"shareRoom": "Inviter quelqu'un",
"shareYourScreen": "Activer / Désactiver le partage d'écran",
"shareaudio": "Partager l'audio",
@@ -1038,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",
@@ -1045,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",
@@ -1157,7 +1203,7 @@
"domuteOthers": "Couper le micro de tous les autres",
"domuteVideo": "Couper la caméra",
"domuteVideoOfOthers": "Couper la caméra des autres",
"flip": "Balancer",
"flip": "Miroir",
"grantModerator": "Donner des droits de modérateur",
"hideSelfView": "Cacher l'affichage de votre propre vidéo",
"kick": "Exclure",
@@ -1167,6 +1213,7 @@
"remoteControl": "Démarrer / Arrêter le contrôle à distance",
"screenSharing": "Cette personne partage son écran",
"show": "Afficher en premier plan",
"showSelfView": "Montrer votre propre vidéo",
"videoMuted": "Caméra coupée",
"videomute": "Le participant a arrêté la caméra"
},

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"
@@ -701,6 +700,7 @@
"errorDialOutFailed": "Kon niet bellen. Oproep is mislukt",
"errorDialOutStatus": "Fout bij ophalen belstatus",
"errorMissingName": "Voer alstublieft uw naam in om deel te nemen aan de vergadering",
"errorNoPermissions": "U moet toegang tot uw microfoon en camera inschakelen",
"errorStatusCode": "Fout bij bellen, statuscode: {{status}}",
"errorValidation": "Nummervalidatie mislukt",
"iWantToDialIn": "Ik wil inbellen",

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

@@ -39,6 +39,28 @@
"audioOnly": {
"audioOnly": "Gjerësi e ulët bande"
},
"blankPage": {
"meetingEnded": "Takimi përfundoi."
},
"breakoutRooms": {
"actions": {
"add": "Shtoni aneks konsultimesh",
"autoAssign": "Caktoje automatikisht te anekse konsultimesh",
"close": "Mbylle",
"join": "Hyni",
"leaveBreakoutRoom": "Dilni nga aneks konsultimesh",
"more": "Më tepër",
"remove": "Hiqe",
"sendToBreakoutRoom": "Dërgoje pjesëmarrësin te:"
},
"defaultName": "Dhomë aneks konsultimesh #{{index}}",
"mainRoom": "Dhoma kryesore",
"notifications": {
"joined": "Po hyhet te dhomë aneks konsultimesh \"{{name}}\"",
"joinedMainRoom": "Po hyhet te dhoma kryesore",
"joinedTitle": "Dhoma Aneks Konsultimesh"
}
},
"calendarSync": {
"addMeetingURL": "Shtoni një lidhje takimi",
"confirmAddLink": "Doni të shtohet një lidhje Jitsi te kjo veprimtari?",
@@ -58,7 +80,7 @@
"today": "Sot"
},
"chat": {
"enter": "Hyni në dhomë fjalosjeje",
"enter": "Hyni në fjalosje",
"error": "Gabim: mesazhi juaj su dërgua. Arsye: {{error}}",
"fieldPlaceHolder": "Shtypni këtu mesazhin tuaj",
"message": "Mesazh",
@@ -69,13 +91,17 @@
"nickname": {
"popover": "Zgjidhni një nofkë",
"title": "Që të përdorni fjalosjen, jepni një nofkë",
"titleWithPolls": "Që të përdorni fjalosjen, jepni një nofkë"
"titleWithPolls": "Që të përdorni fjalosjen dhe pyetësorë, jepni një nofkë"
},
"noMessagesMessage": "Ende ska mesazhe te takimi. Filloni një bisedë këtu!",
"noMessagesMessage": "Te takimi ska ende mesazhe. Nisni një bisedë këtu!",
"privateNotice": "Mesazh privat për {{recipient}}",
"smileysPanel": "Panel emoji-sh",
"tabs": {
"chat": "Fjalosje",
"polls": "Pyetësorë"
},
"title": "Fjalosje",
"titleWithPolls": "Fjalosje",
"titleWithPolls": "Fjalosje dhe Pyetësorë",
"you": "ju"
},
"chromeExtensionBanner": {
@@ -154,7 +180,8 @@
"joinInApp": "Merrni pjesë në këtë takim duke përdorur aplikacionin",
"launchWebButton": "Nise në web",
"title": "Po niset takimi juaj në {{app}}…",
"tryAgainButton": "Riprovoni në desktop"
"tryAgainButton": "Riprovoni në desktop",
"unsupportedBrowser": "Duket se përdorni një shfletues që se mbulojmë."
},
"defaultLink": "p.sh., {{url}}",
"defaultNickname": "p.sh., Ndrikulla",
@@ -176,13 +203,12 @@
"dialog": {
"Back": "Mbrapsht",
"Cancel": "Anuloje",
"IamHost": "Jam organizuesi",
"IamHost": "Jam organizatori",
"Ok": "OK",
"Remove": "Hiqe",
"Share": "Ndajeni",
"Share": "Ndaje",
"Submit": "Parashtroje",
"WaitForHostMsg": "Konferenca <b>{{room}}</b> ska nisur ende. Nëse jeni organizatori, atëherë 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, atëherë ju lutemi, shtypni OK, që të kryhet 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": {
@@ -219,15 +245,18 @@
"dismiss": "Hidhe tej",
"displayNameRequired": "Njatjeta! Cili është emri juaj?",
"done": "U bë",
"e2eeDescription": "Fshehtëzimi Skaj-më-Skaj aktualisht është EKSPERIMENTAL. Ju lutemi, mbani parasysh se aktivizimi i fshehtëzimit skaj-më-skaj praktikisht do të çaktivizojë shërbime të ofruara më anë të shërbyesit, të tillë si: regjistrim, transmetim të drejtpërdrejtë dhe pjesëmarrje me telefon. Mbani parasysh gjithashtu se takimi do të funksionojë vetëm për persona që hyjnë në të nga shfletues mbulojnë futje rrjedhash transmetimi.",
"e2eeDescription": "Fshehtëzimi Skaj-më-Skaj aktualisht është EKSPERIMENTAL. Ju lutemi, mbani parasysh se aktivizimi i fshehtëzimit skaj-më-skaj praktikisht do të çaktivizojë shërbime të ofruara më anë të shërbyesit, të tillë si: pjesëmarrje me telefon. Mbani parasysh gjithashtu se takimi do të funksionojë vetëm për persona që hyjnë në të nga shfletues të cilët mbulojnë futje rrjedhash transmetimi.",
"e2eeDisabledDueToMaxModeDescription": "Smund të aktivizohet fshehtëzimi Skaj-më-Skaj, për shkak të numrit të madh të pjesëmarrësve në konferencë.",
"e2eeLabel": "Aktivizo Fshehtëzim Skaj-më-Skaj",
"e2eeWarning": "KUJDES: Jo të gjithë pjesëmarrësit në këtë takim duket kenë mbulim për fshehtëzim Skaj-më-Skaj. Në e aktivizofshi, ata sdo të jenë në gjendje tju shohin apo dëgjojnë.",
"e2eeWarning": "KUJDES: Jo krejt pjesëmarrësit në këtë takim duket se kanë mbulim për fshehtëzim Skaj-më-Skaj. Në e aktivizofshi, ata sdo të jenë në gjendje tju shohin apo dëgjojnë.",
"e2eeWillDisableDueToMaxModeDescription": "KUJDES: Fshehtëzimi Skaj-më-Skaj do të çaktivizohet automatikisht, nëse në konferencë vijnë më tepër pjesëmarrës.",
"embedMeeting": "Trupëzoni takim",
"enterDisplayName": "Ju lutemi, jepni këtu emrin tuaj",
"enterDisplayName": "Jepni këtu emrin tuaj",
"error": "Gabim",
"gracefulShutdown": "Shërbimi ynë është aktualisht i ndërprerë, për punë mirëmbajtjeje. Ju lutemi, riprovoni më vonë.",
"grantModeratorDialog": "Jeni i sigurt se doni ta bëni moderator këtë pjesëmarrës?",
"grantModeratorDialog": "Jeni i sigurt se doni të akordohen të drejta moderatori për {{participantName}}?",
"grantModeratorTitle": "Akordoni të drejta moderatori",
"hideShareAudioHelper": "Mos e shfaq më këtë dialog",
"incorrectPassword": "Emër përdoruesi ose fjalëkalim i pasaktë",
"incorrectRoomLockPassword": "Fjalëkalim i pasaktë",
"internalError": "Hëm! Diç shkoi ters. Ndodhi gabimi vijues: {{error}}",
@@ -240,7 +269,7 @@
"liveStreaming": "Transmetim i Drejtpërdrejtë",
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Jo e mundshme, kur është aktiv regjistrimi",
"liveStreamingDisabledTooltip": "Nisje transmetimesh të drejtpërdrejta e çaktivizuar.",
"localUserControls": "Kontrolle përdoruesi vendor",
"localUserControls": "Kontrolle vendore përdoruesi",
"lockMessage": "Su arrit të kyçej konferenca.",
"lockRoom": "Shtoni takim $t(lockRoomPasswordUppercase)",
"lockTitle": "Kyçja dështoi",
@@ -256,68 +285,90 @@
"micPermissionDeniedError": "Skeni akorduar leje për tu përdorur mikrofoni juaj. Mundeni prapëseprapë të merrni pjesë te konferenca, por të tjerët sdo tju dëgjojnë. Përdorni butonin e kamerës, te shtylla e adresave, për ta ndrequr këtë gjë.",
"micTimeoutError": "Su nis dot burim audio. Ndodhi mbarim kohe!",
"micUnknownError": "Spërdoret dot mikrofoni, për një arsye të panjohur.",
"muteEveryoneDialog": "Jeni i sigurt se doni të heshtohet gjithkush? Sdo të jeni në gjendje tu hiqni heshtimin, por ata mund të heqin heshtimin për vetveten në çfarëdo kohe.",
"muteEveryoneElseDialog": "Pasi të heshtohen, sdo të jeni në gjendje tu hiqni heshtimin, por ata mund të heqin heshtimin për vetveten në çfarëdo kohe.",
"moderationAudioLabel": "Lejoji pjesëmarrësit të heqin heshtimin e vetes",
"moderationVideoLabel": "Lejoji pjesëmarrësit të nisin videon e tyre",
"muteEveryoneDialog": "Pjesëmarrësit mund të heqin kurdo heshtimin e veten.",
"muteEveryoneDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo kërkesë për të folur.",
"muteEveryoneElseDialog": "Po i heshtuat, sdo të jeni në gjendje tu hiqni heshtimin, por ata munden të heqin kurdo heshtimin për veten.",
"muteEveryoneElseTitle": "Të heshtohet gjithkush, hiq {{whom}}?",
"muteEveryoneElsesVideoDialog": "Pasi të çaktivizohet kamera, sdo të jeni në gjendje ta hapni sërish, por ata mund ta hapin në çfarëdo kohe.",
"muteEveryoneElsesVideoTitle": "Të çaktivizohet kamera e gjithkujt, hiq {{whom}}?",
"muteEveryoneSelf": "vetes",
"muteEveryoneStartMuted": "Gjithkush ia fillon i heshtuar, nga tani e tutje",
"muteEveryoneElsesVideoDialog": "Pasi të jetë çaktivizuar kamera, sdo të jeni në gjendje ta riaktivizoni, por ata munden ta riaktivizojnë kurdo.",
"muteEveryoneElsesVideoTitle": "Të ndalet videoja e gjithkujt, hiq {{whom}}?",
"muteEveryoneSelf": "ju",
"muteEveryoneStartMuted": "Tani e tutje, gjithkush fillon i heshtuar",
"muteEveryoneTitle": "Të heshtohet gjithkush?",
"muteEveryonesVideoDialog": "Jeni i sigurt se doniçaktivizohet kamera e gjithkujt? Sdo të jeni në gjendje ta hapni sërish, por ata mund ta hapin në çfarëdo kohe.",
"muteEveryonesVideoDialog": "Pjesëmarrësit mund të aktivizojnë videon e tyre kurdo.",
"muteEveryonesVideoDialogModerationOn": "Pjesëmarrësit mund të dërgojnë kurdo kërkesë për aktivizimin e videos së tyre.",
"muteEveryonesVideoDialogOk": "Çaktivizoje",
"muteEveryonesVideoTitle": "Të çaktivizohet kamera i gjithkujt?",
"muteParticipantBody": "Sdo jeni në gjendje tu hiqni heshtimin, por ata mund ta bëjnë këtë për veten në çfarëdo kohe.",
"muteEveryonesVideoTitle": "Të ndalet videoja e gjithkujt?",
"muteParticipantBody": "Sdo jeni në gjendje të hiqni heshtimin për ta, por ata munden kurdo ta heqin për veten.",
"muteParticipantButton": "Heshtoje",
"muteParticipantDialog": "Jeni i sigurt se doni të heshtohet ky pjesëmarrës? Sdo të jeni në gjenjde tu hiqni heshtimin, por ata mund ta bëjnë këtë për veten në çfarëdo kohe.",
"muteParticipantTitle": "Të heshtohet ky pjesëmarrës?",
"muteParticipantsVideoBody": "Sdo të jeni në gjendje të rihapni kamerën, por ata mund ta bëjnë këtë për veten në çfarëdo kohe.",
"muteParticipantsVideoButton": "Çaktivizo kamerën",
"muteParticipantsVideoBody": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre, por ata munden kurdo ta riaktvizojnë për veten.",
"muteParticipantsVideoBodyModerationOn": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre dhe as ata sdo të munden.",
"muteParticipantsVideoButton": "Ndale videon",
"muteParticipantsVideoDialog": "Jeni i sigurt se doni të çaktivizoni kamerën e këtij pjesëmarrësi? Sdo të jeni në gjendje të riaktivizoni kamerën, por ai mund ta riaktivizojë kurdo.",
"muteParticipantsVideoDialogModerationOn": "Jeni i sigurt se doni të çaktivizoni kamerën e këtij pjesëmarrësi? Sdo të jeni në gjendje ta riaktivizoni dhe as ai sdo të mundet.",
"muteParticipantsVideoTitle": "Të çaktivizohet kamera e këtij pjesëmarrësi?",
"noDropboxToken": "Token Dropbox jo i vlefshëm",
"password": "Fjalëkalim",
"passwordLabel": "Takimi është kyçur nga njëri prej pjesëmarrësve. Që të merrni pjesë, ju lutemi, jepni $t(lockRoomPassword).",
"passwordNotSupported": "Nuk mbulohet caktimi i një $t(lockRoomPassword) takimi.",
"passwordLabel": "Takimi është kyçur nga një pjesëmarrës. Ju lutemi, që të hyni, jepni $t(lockRoomPassword).",
"passwordNotSupported": "Nuk mbulohet ujdisja e një takimi $t(lockRoomPassword).",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) nuk mbulohet",
"passwordRequired": "Lypset $t(lockRoomPasswordUppercase)",
"popupError": "Shfletuesi juaj po bllokon dritare flluska prej këtij sajti. Ju lutemi, aktivizoi flluskat, që nga rregullimet tuaja mbi sigurinë e shfletuesit, dhe riprovoni.",
"popupErrorTitle": "Flluskat bllokohen",
"passwordRequired": "$t(lockRoomPasswordUppercase) i domosdoshëm",
"permissionCameraRequiredError": "Leja mbi kamerën është e domosdoshme për të marrë pjesë në konferenca me video. Ju lutemi, akordojeni që nga Rregullimet",
"permissionErrorTitle": "Leje e domosdoshme",
"permissionMicRequiredError": "Leja mbi mikrofonin është e domosdoshme për të marrë pjesë në konferenca me audio. Ju lutemi, akordojeni që nga Rregullimet",
"popupError": "Shfletuesi juaj i bllokon dritaret flluskë prej këtij sajti. Ju lutemi, aktivizoni flluskat te rregullimet e sigurisë të shfletuesit tuaj dhe riprovoni.",
"popupErrorTitle": "Flluska u bllokua",
"readMore": "më tepër",
"recording": "Regjistrim",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Jo e mundshme teksa është aktiv transmetimi i drejtpërdrejtë",
"recordingDisabledTooltip": "Nisje regjistrimi e çaktivizuar.",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Jo i mundshëm kur ka aktiv një transmetim drejtpërdrejtë",
"recordingDisabledTooltip": "Nisja e regjistrimit është çaktivizuar.",
"rejoinNow": "Rihyni tani",
"remoteControlAllowedMessage": "{{user}} pranoi kërkesën tuaj për kontroll së largëti!",
"remoteControlDeniedMessage": "{{user}} hodhi poshtë kërkesën tuaj për kontroll së largëti!",
"remoteControlErrorMessage": "Ndodhi një gabim teksa provohej të kërkohej leje kontrolli së largëti nga {{user}}!",
"remoteControlRequestMessage": "Do ta lejoni {{user}} të kontrollojë së largëti desktopin tuaj?",
"remoteControlShareScreenWarning": "Kini parasysh se, nëse shtypni Lejoje”, ai do të shohë ekranin tuaj!",
"remoteControlStopMessage": "Sesioni me kontroll së largëti dështoi!",
"remoteControlErrorMessage": "Ndodhi një gabim teksa provohej të kërkoheshin leje kontrolli së largëti nga {{user}}!",
"remoteControlRequestMessage": "A do ta lejoni {{user}} të kontrollojë së largëti desktopin tuaj?",
"remoteControlShareScreenWarning": "Mbani parasysh se nëse shtypni \"Lejoje\", do tu tregoni ekranin tuaj!",
"remoteControlStopMessage": "Sesioni me kontroll së largëti përfundoi!",
"remoteControlTitle": "Kontroll desktopi së largëti",
"remoteUserControls": "Kontrolle përdoruesi të largët për {{username}}",
"remoteUserControls": "Kontrolle përdoruesi së largëti të {{username}}",
"removePassword": "Hiqe $t(lockRoomPassword)",
"removeSharedVideoMsg": "Jeni i sigurt se doni të hiqet videoja që ndatë me të tjerët?",
"removeSharedVideoTitle": "Hiqe videon e ndarë me të tjerët",
"removeSharedVideoMsg": "Jeni i sigurt se doni të hiqni videon keni ndarë me të tjerë?",
"removeSharedVideoTitle": "Hiqe videon e ndarë me të tjerë",
"reservationError": "Gabim sistemi rezervimi",
"reservationErrorMsg": "Kod gabimi: {{code}}, mesazh: {{msg}}",
"retry": "Riprovoni",
"screenSharingAudio": "Ndani audio me të tjerë",
"screenSharingFailed": "Hëm! Diç shkoi ters, sqemë në gjendje të nisnim dhënie ekrani të tjerëve!",
"screenSharingFailedTitle": "Dhënia e ekranit të tjerëve dështoi!",
"screenSharingPermissionDeniedError": "Hëm! Diç shkoi ters me lejet tuaja për dhënie ekrani. Ju lutemi, ringarkojeni dhe riprovoni.",
"sendPrivateMessage": "Tani së fundi morët një mesazh privat. Kishit ndërmend ti përgjigjeni privatisht, apo doni tia dërgoni grupit përgjigjen?",
"screenSharingAudio": "Ndajeni audion me të tjerë",
"screenSharingFailed": "Hëm! Diç shkoi ters, sqemë në gjendje të nisnim tregim ekrani!",
"screenSharingFailedTitle": "Tregimi i ekrani dështoi!",
"screenSharingPermissionDeniedError": "Hëm! Diç shkoi ters me lejet tuaja për tregim ekrani. Ju lutemi, ringarkojeni dhe riprovoni.",
"sendPrivateMessage": "Tani së fundi morët një mesazh privat. Kishit ndërmend ti përgjigjeni privatisht, apo doni tia dërgoni mesazhin grupit?",
"sendPrivateMessageCancel": "Dërgoja grupit",
"sendPrivateMessageOk": "Dërgoje privatisht",
"sendPrivateMessageTitle": "Të dërgohet privatisht?",
"serviceUnavailable": "Shërbim jashtë funksionimi",
"sessTerminated": "Thirrja përfundoi",
"sessionRestarted": "Thirrje e rinisur nga ura",
"shareVideoLinkError": "Ju lutemi, jepni një lidhje të saktë.",
"sessionRestarted": "Thirrja rinisi për shkak të një problemi lidhjeje.",
"shareAudio": "Vazhdo",
"shareAudioTitle": "Si të ndahet audio me të tjerë",
"shareAudioWarningD1": "lypset të ndalni tregim ekrani, para se të ndani audion tuaj me të tjerë.",
"shareAudioWarningD2": "lypset të rinisni tregimin e ekranit tuaj dhe ti vini shenjë mundësisë \"ndani audio me të tjerë\".",
"shareAudioWarningH1": "Nëse doni të ndani vetëm audio me të tjerë:",
"shareAudioWarningTitle": "Lypset të ndalni tregimin e ekranit, para se të ndani audio me të tjerë",
"shareMediaWarningGenericH2": "Nëse doni të tregoni ekranin dhe të ndani audio me të tjerë",
"shareScreenWarningD1": "lypset të ndalni ndarjen e audios me të tjerë, para se të tregoni ekranin tuaj.",
"shareScreenWarningD2": "lypset të ndalni ndarjen e audios me të tjerë, të nisni tregimin e ekranit dhe ti vini shenjë mundësisë \"ndani audio me të tjerë\".",
"shareScreenWarningH1": "Nëse thjesht doni të tregoni ekranin tuaj:",
"shareScreenWarningTitle": "Lypset të ndalni ndarjen e audios me të tjerë, para tregimit të ekranit tuaj",
"shareVideoLinkError": "Ju lutemi, jepni një lidhje të saktë videoje.",
"shareVideoTitle": "Ndani video me të tjerë",
"shareYourScreen": "Tregojuni ekranin tuaj",
"shareYourScreenDisabled": "Tregimi i ekrani është i çaktivizuar.",
"startLiveStreaming": "Nis transmetim të drejtpërdrejtë",
"startRecording": "Nis regjistrim",
"startRemoteControlErrorMessage": "Ndodhi një gatim teksa provohej të nisej sesioni me kontroll së largëti!",
"shareYourScreen": "Tregoni ekranin tuaj",
"shareYourScreenDisabled": "Tregimi i ekranit është i çaktivizuar.",
"sharedVideoDialogError": "Gabim: URL e pavlefshme",
"sharedVideoLinkPlaceholder": "Lidhje YouTube ose lidhje e drejtpërdrejtë për video",
"startLiveStreaming": "Nisni transmetim të drejtpërdrejtë",
"startRecording": "Fillo regjistrim",
"startRemoteControlErrorMessage": "Ndodhi një gabim teksa provohej të nisej sesioni i kontrollit së largëti!",
"stopLiveStreaming": "Ndale transmetimin e drejtpërdrejtë",
"stopRecording": "Ndale regjistrimin",
"stopRecordingWarning": "Jeni i sigurt se doni të ndalet regjistrimi?",
@@ -333,6 +384,9 @@
"userIdentifier": "Identifikues përdoruesi",
"userPassword": "Fjalëkalim përdoruesi",
"videoLink": "Lidhje videoje",
"viewUpgradeOptions": "Shihni mundësi përmirësimi",
"viewUpgradeOptionsContent": "Që të përfitoni përdorim të pakufizuar veçorish me pagesë, të tilla si regjistrimi, transcriptime, RTMP Streaming & etj, duhet të përmirësoni planin tuaj.",
"viewUpgradeOptionsTitle": "Zbuluat një veçori me pagesë!",
"yourEntireScreen": "Krejt ekranin tuaj"
},
"documentSharing": {
@@ -346,13 +400,13 @@
},
"feedback": {
"average": "Çka",
"bad": "E keqe",
"detailsLabel": "Na tregoni më tepër.",
"good": "E mirë",
"rateExperience": "Vlerësoni rastin tuaj",
"star": "Yll",
"veryBad": "Shumë e Keqe",
"veryGood": "Shumë e Mirë"
"bad": "I dobët",
"detailsLabel": "Na thoni më tepër rreth tij.",
"good": "I mirë",
"rateExperience": "Vlerësoni funksionimin e takimit për ju",
"star": "Vlerësojeni Me Yll",
"veryBad": "Shumë i Dobët",
"veryGood": "Shumë i Mirë"
},
"helpView": {
"header": "Qendër ndihme"
@@ -382,17 +436,21 @@
"invitePhone": "Nga ana tjetër, që të merrni pjesë me telefon, prekni këtë: {{number}},,{{conferenceID}}#\n",
"invitePhoneAlternatives": "Po kërkoni për një tjetër numër?\nShihni numra takimi: {{url}}\n\n\nNëse po provohet gjithashtu numër përmes telefoni dhome, merrni pjesë pa lidhje audioje: {{silentUrl}}",
"inviteSipEndpoint": "Për të marrë pjesë duke përdorur adresën SIP, jepni këtë: {{sipUri}}",
"inviteTextiOSInviteUrl": "Që të hyni, klikoni lidhjen vijuese: {{inviteUrl}}.",
"inviteTextiOSJoinSilent": "Nëse po i bini numrit përmes një telefoni dhome, përdorni këtë lidhje për të hyrë pa lidhur audion: {{silentUrl}}.",
"inviteTextiOSPersonal": "{{name}} po ju fton në një takim.",
"inviteTextiOSPhone": "Që të hyni përmes një telefoni, përdorni këtë numër: {{number}},,{{conferenceID}}#. Nëse po kërkoni për tjetër numër, kjo është lista e plotë: {{didUrl}}.",
"inviteURLFirstPartGeneral": "Jeni ftuar të merrni pjesë në një takim.",
"inviteURLFirstPartPersonal": "{{name}} po ju fton në një takim.\n",
"inviteURLSecondPart": "\nMerrni pjesë te takimi:\n{{url}}\n",
"label": "Hollësi numrash",
"label": "Hollësi për ti rënë numrit",
"liveStreamURL": "Transmetim i drejtpërdrejtë:",
"moreNumbers": "Më tepër numra",
"noNumbers": "Ska numra për përdorim.",
"noPassword": "Asnjë",
"noRoom": "Su dha dhomë për të cilën të formësohet numri.",
"numbers": "Numra Për Tu Përdorur",
"password": "$t(lockRoomPasswordUppercase):",
"password": "$t(lockRoomPasswordUppercase): ",
"sip": "Adresë SIP",
"title": "Ndani me të tjerë",
"tooltip": "Ndani me të tjerë lidhje dhe hollësi numrash për këtë takim"
@@ -445,6 +503,7 @@
"failedToStart": "Su arrit të fillohej Transmetim i Drejtpërdrejtë",
"getStreamKeyManually": "Sqemë në gjendje të sillnim ndonjë transmetim të drejtpërdrejtë. Provoni të merrni kyçin tuaj për transmetim të drejtpërdrejtë nga YouTube-i.",
"googlePrivacyPolicy": "Rregulla Privatësie Google",
"inProgress": "Regjistrim ose transmetim i drejtpërdrejtë në punë e sipër",
"invalidStreamKey": "Kyçi për transmetim të drejtpërdrejtë mund të jetë i pasaktë.",
"limitNotificationDescriptionNative": "Transmetimi juaj do të kufizohet në {{limit}} min. Për transmetim të pakufizuar, provoni {{app}}.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, transmetimi juaj do të kufizohet në {{limit}} min. Për transmetim të pakufizuar, provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
@@ -454,6 +513,7 @@
"onBy": "{{name}} nisi transmetimin e drejtpërdrejtë",
"pending": "Po niset Transmetimi i Drejtpërdrejtë…",
"serviceName": "Shërbim Transmetimi i Drejtpërdrejtë",
"sessionAlreadyActive": "Ky sesion po regjistrohet ose transmetohet drejtpërsëdrejti tashmë.",
"signIn": "Hyni me Google",
"signInCTA": "Hyni, ose jepni kyçin tuaj për transmetim të drejtpërdrejtë nga YouTube-i.",
"signOut": "Dilni",
@@ -467,36 +527,38 @@
"admit": "Pranoje",
"admitAll": "Pranoji të tërë",
"allow": "Lejoje",
"backToKnockModeButton": "Pa fjalëkalim, kërkoni pjesëmarrje",
"backToKnockModeButton": "Kërkoji të marrë pjesë",
"dialogTitle": "Mënyra holl",
"disableDialogContent": "Mënyra holl është aktualisht e aktivizuar. Kjo veçori garanton që në takimin tuaj smund të marrin pjesë anëtarë të padëshiruar. Doni të çaktivizohet?",
"disableDialogContent": "Mënyra holl është aktualisht e aktivizuar. Kjo veçori siguron që pjesëmarrës të padëshiruar të mos mund të hyjnë në takimin tuaj. Doni të çaktivizohet?",
"disableDialogSubmit": "Çaktivizoje",
"emailField": "Jepni adresën tuaj email",
"enableDialogPasswordField": "Caktoni fjalëkalim (në daçi)",
"enableDialogSubmit": "Aktivizoje",
"enableDialogText": "Mënyra holl ju lejon të mbroni takimin tuaj duke lejuar të hyjnë persona vetëm pas një miratimi formal nga një moderator.",
"enableDialogText": "Mënyra holl ju lejon të mbroni takimin tuaj duke u lejuar hyrje njerëzve vetëm pas një miratimi formal nga një moderator.",
"enterPasswordButton": "Jepni fjalëkalim takimi",
"enterPasswordTitle": "Që të hyni në takim, jepni fjalëkalimin",
"enterPasswordTitle": "Jepni fjalëkalimin për hyrje në takim",
"errorMissingPassword": "Ju lutemi, jepni fjalëkalimin e takimit",
"invalidPassword": "Fjalëkalim i pavlefshëm",
"joinRejectedMessage": "Kërkesa juaj për pjesëmarrje u hodh poshtë nga një moderator.",
"joinRejectedMessage": "Kërkesa juaj për hyrje u hodh poshtë nga një moderator.",
"joinTitle": "Merrni Pjesë Në Takim",
"joinWithPasswordMessage": "Po provohet hyrja me fjalëkalim, ju lutemi, pritni…",
"joiningMessage": "Do të merrni pjesë në takim sapo dikush të pranojë kërkesën tuaj",
"joiningTitle": "Po kërkohet pjesëmarrje në takim…",
"joinWithPasswordMessage": "Po provohet të hyhet me fjalëkalim, ju lutemi, pritni…",
"joiningMessage": "Do të hyni në takim sapo dikush të pranojë kërkesën tuaj",
"joiningTitle": "Po kërkohet të hyhet në takim…",
"joiningWithPasswordTitle": "Po hyhet me fjalëkalim…",
"knockButton": "Kërko Pjesëmarrje",
"knockTitle": "Dikush dëshiron të marrë pjesë në takim",
"knockingParticipantList": "Listë pjesëmarrësish me trokitje",
"knockButton": "Kërko të Hyhet",
"knockTitle": "Dikush dëshiron të hyjë në takim",
"knockingParticipantList": "Listë pjesëmarrësish që duan të hyjnë",
"nameField": "Jepni emrin tuaj",
"notificationLobbyAccessDenied": "{{targetParticipantName}} sështë pranuar të marrë pjesë, nga {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} është pranuar të marrë pjesë, nga {{originParticipantName}}",
"notificationLobbyAccessDenied": "Hyrja e {{targetParticipantName}} është hedhur poshtë nga {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} është lejuar të hyjë nga {{originParticipantName}}",
"notificationLobbyDisabled": "Holli është çaktivizuar nga {{originParticipantName}}",
"notificationLobbyEnabled": "Holli është aktivizuar nga {{originParticipantName}}",
"notificationTitle": "Holl",
"passwordField": "Jepni fjalëkalim takimi",
"passwordJoinButton": "Hyni",
"reject": "Hidhe poshtë",
"toggleLabel": "Aktivizo hollin"
"rejectAll": "Hidhi poshtë të tërë",
"toggleLabel": "Aktivizoni hollin"
},
"localRecording": {
"clientState": {
@@ -504,7 +566,7 @@
"on": "On",
"unknown": "E panjohur"
},
"dialogTitle": "Kontrolle Vendore Regjistrimesh",
"dialogTitle": "Kontrolle Regjistrimesh Vendore",
"duration": "Kohëzgjatje",
"durationNA": "N/A",
"encoding": "Kodim",
@@ -536,75 +598,134 @@
"me": "unë",
"notify": {
"OldElectronAPPTitle": "Cenueshmëri sigurie!",
"allowAction": "Lejoje",
"allowedUnmute": "Mund të hiqni heshtimin e mikrofonit tuaj, të nisni kamerën tuaj ose të tregoni ekranin tuaj.",
"audioUnmuteBlockedDescription": "Veprimi i heqjes së heshtimit të mikrofonit është bllokuar përkohësisht për shkak kufizimesh të sistemit.",
"audioUnmuteBlockedTitle": "Heqje heshtimi mikrofoni e bllokuar!",
"chatMessages": "Mesazhe fjalosjeje",
"connectedOneMember": "{{name}} nisi takimin",
"connectedThreePlusMembers": "{{name}} dhe {{count}} tjerë hynë në takim",
"connectedThreePlusMembers": "{{name}} dhe mjaft të tjerë tjerë hynë në takim",
"connectedTwoMembers": "{{first}} dhe {{second}} tjetër hynë në takim",
"disconnected": "u shkëput",
"displayNotifications": "Shfaq njoftime për",
"focus": "Fokusi te konferenca",
"focusFail": "{{component}} jo i passhëm - riprovoni pas {{ms}} sekondash",
"grantedTo": "U akorduan të drejta moderatori për {{to}}!",
"groupTitle": "Njoftime",
"hostAskedUnmute": "Organizuesi do të donte që të hiqnit heshtimin",
"invitedOneMember": "U ftua {{name}}",
"invitedThreePlusMembers": "U ftuan {{name}} dhe {{count}} të tjerë",
"invitedTwoMembers": "U ftua {{first}} dhe {{second}} tjetër",
"hostAskedUnmute": "Moderatori do të donte të flisnit",
"invitedOneMember": "{{name}} u ftua",
"invitedThreePlusMembers": "{{name}} dhe {{count}} të tjerë u ftuan",
"invitedTwoMembers": "{{first}} dhe {{second}} u ftuan",
"kickParticipant": "{{kicked}} u përzu nga {{kicker}}",
"leftOneMember": "{{name}} doli nga takimi",
"leftThreePlusMembers": "{{name}} dhe mjaft të tjerë dolën nga takimi",
"leftTwoMembers": "{{first}} dhe {{second}} dolën nga takimi",
"me": "Unë",
"moderationInEffectCSDescription": "Ju lutemi, nëse doni tu jepni të tjerëve videon tuaj, ngrini dorën",
"moderationInEffectCSTitle": "Ndarje lënde me të tjerë është çaktivizuar nga moderatori",
"moderationInEffectDescription": "Ju lutemi, nëse doni të flisni, ngrini dorën",
"moderationInEffectTitle": "Mikrofoni është mbyllur nga moderatori",
"moderationInEffectVideoDescription": "Ju lutemi, nëse doni që videoja juaj të jetë e dukshme, ngrini dorën",
"moderationInEffectVideoTitle": "Vdeoja është mbyllur nga moderatori",
"moderationRequestFromModerator": "Organizuesi do të donte që ju të hiqnit heshtimin",
"moderationInEffectCSDescription": "Ju lutemi, ngrini dorën, nëse doni të tregoni ekranin tuaj.",
"moderationInEffectCSTitle": "Tregimi i ekranit është bllokuar nga moderatori",
"moderationInEffectDescription": "Ju lutemi, ngrini dorën, nëse doni të flisni.",
"moderationInEffectTitle": "Mikrofoni juaj është heshtuar nga moderatori",
"moderationInEffectVideoDescription": "Ju lutemi, ngrini dorën, nëse doni të niset kamera juaj.",
"moderationInEffectVideoTitle": "Kamera juaj është bllokuar nga moderatori",
"moderationRequestFromModerator": "Organizatori do të donte të hiqnit heshtimin",
"moderationRequestFromParticipant": "Dëshiron të flasë",
"moderationStartedTitle": "Filloi moderimi",
"moderationStoppedTitle": "Moderimi u ndal",
"moderationStartedTitle": "Moderimi filloi",
"moderationStoppedTitle": "Moderimi përfundoi",
"moderationToggleDescription": "nga {{participantDisplayName}}",
"moderator": "U akorduan të drejta moderatori!",
"muted": "E keni filluar të heshtuar bisedën.",
"mutedRemotelyDescription": "Mundeni përherë të hiqni heshtimin, kur jeni gati për të folur. Heshtojeni prapë, kur të keni mbaruar, për ti mbajtur larg zhurmat nga takimi.",
"mutedRemotelyTitle": "Jeni heshtuar nga {{participantDisplayName}}!",
"mutedTitle": "Jeni heshtuar!",
"moderator": "Tani jeni moderator",
"muted": "E keni filluar bisedën të heshtur.",
"mutedRemotelyDescription": "Mundeni përherë të hiqni heshtimin, kur jeni gati për të folur. Ribëni heshtimin, kur të mbaroni, për të mbajtur zhurmat jashtë takimit.",
"mutedRemotelyTitle": "Jeni heshtuar nga {{moderator}}",
"mutedTitle": "U heshtuat!",
"newDeviceAction": "Përdore",
"newDeviceAudioTitle": "U pikas pajisje audio e re",
"newDeviceCameraTitle": "U pikas kamerë e re",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili përmban cenueshmëri të ditura sigurie. Ju lutemi, siguroni përditësimin e tij me ",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili ka cenueshmëri sigurie që njihen. Ju lutemi, siguroni përditësimin me ",
"oldElectronClientDescription2": "montimin tonë më të ri",
"oldElectronClientDescription3": " që tani!",
"participantWantsToJoin": "Dëshiron të hyjë në takim",
"participantsWantToJoin": "Dëshirojnë të hyjnë në takim",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) u hoq nga një tjetër pjesëmarrës",
"passwordSetRemotely": "$t(lockRoomPasswordUppercase) u caktua nga një tjetër pjesëmarrës",
"raiseHandAction": "Ngrini dorën",
"raisedHand": "{{name}} do të donte të fliste.",
"screenShareNoAudio": " Kutizës për ndarje zëri me të tjerët si qe vënë shenjë te skena e përzgjedhjes.",
"screenShareNoAudioTitle": "Ndarjes së audios si qe vënë shenjë",
"raisedHand": "Do të donte të fliste.",
"raisedHands": "{{participantName}} dhe {{raisedHands}} persona të tjerë",
"reactionSounds": "Çaktivizo tingujt",
"reactionSoundsForAll": "Çaktivizoji tingujt për të tërë",
"screenShareNoAudio": "Kutizës për ndarje audioje me të tjerë si është vënë shenjë te skena e përzgjedhjes së dritares.",
"screenShareNoAudioTitle": "Su nda dot me të tjerë audioja e sistemit!",
"selfViewTitle": "Mundeni përherë të hiqni fshehjen e pamjes së vetes, që nga rregullimet",
"somebody": "Dikush",
"startSilentDescription": "Që të aktivizohet audioja, rihyni në takim",
"startSilentTitle": "Hytë pa audio!",
"suboptimalBrowserWarning": "Kemi frikë se takimi juaj këtu sdo të jetë dhe aq mirë këtu. Po kërkojmë rrugë për ta përmirësuar, por deri atëherë, ju lutemi, provoni një nga <a href='{{recommendedBrowserPageLink}}' target='_blank'>shfletuesit e mbuluar plotësisht</a>.",
"suboptimalExperienceTitle": "Sinjalizim Për Shfletuesin",
"unmute": "Hiqi heshtimin",
"videoMutedRemotelyDescription": "Mundeni përherë ta riaktivizoni.",
"videoMutedRemotelyTitle": "Kamera juaj është çaktivizuar nga {{participantDisplayName}}!"
"startSilentTitle": "Hytë pa zë në dalje!",
"suboptimalBrowserWarning": "Kemi frikë se funksionimi i takimit për ju sdo të jetë kushedi këtu. Po kërkojmë rrugë për ta përmirësuar këtë punë, por deri atëherë, ju lutemi, provoni të përdorni një nga <a href='{{recommendedBrowserPageLink}}' target='_blank'>shfletuesit e mbuluar plotësisht</a>.",
"suboptimalExperienceTitle": "Sinjalizim Mbi Shfletuesin",
"unmute": "Çheshtoje",
"videoMutedRemotelyDescription": "Mundeni përherë ta rihapni.",
"videoMutedRemotelyTitle": "Videoja juaj u mbyll nga {{moderator}}",
"videoUnmuteBlockedDescription": "Heqja e heshtimit të kamerës dhe veprimi i tregimit të desktopit janë bllokuar përkohësisht për shkak kufizimesh të sistemit.",
"videoUnmuteBlockedTitle": "Heqja e heshtimit të kamerës dhe tregimi i desktopit janë bllokuar!",
"viewLobby": "Shihni hollin",
"waitingParticipants": "{{waitingParticipants}} vetë"
},
"participantsPane": {
"actions": {
"allow": "Lejoji pjesëmarrësit:",
"askUnmute": "Të kërkojnë çheshtim",
"invite": "Të Ftojnë Dikë",
"muteAll": "Të Heshtojnë të tërë",
"startModeration": "Të çheshtojnë veten ose të nisin videon",
"stopEveryonesVideo": "Të ndalin videon e gjithkujt",
"stopVideo": "Të ndalin video"
"allow": "Lejoju pjesëmarrësve të:",
"allowVideo": "Çaktivizoni videon",
"askUnmute": "Kërkoni heqje heshtimi",
"audioModeration": "Hiqni heshtim të vetes",
"blockEveryoneMicCamera": "Bllokoni mikrofonin dhe kamerën e gjithkujt",
"invite": "Ftoni Dikë",
"moreModerationActions": "Më tepër mundësi moderimi",
"moreModerationControls": "Më tepër kontrolle moderimi",
"moreParticipantOptions": "Më tepër mundësi pjesëmarrësi",
"mute": "Heshtoje",
"muteAll": "Heshtoji të tërë",
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"stopEveryonesVideo": "Ndal videon e gjithkujt",
"stopVideo": "Ndale videon",
"unblockEveryoneMicCamera": "Zhblloko mikrofonin dhe kamerën e gjithkujt",
"videoModeration": "Nis videon e vet"
},
"close": "Mbylle",
"header": "Pjesëmarrës",
"headings": {
"lobby": "Holli ({{count}})",
"participantsList": "Pjesëmarrës në takim ({{count}})"
}
"participantsList": "Pjesëmarrës në takim ({{count}})",
"waitingLobby": "Duke pritur në holl ({{count}})"
},
"search": "Kërkoni te pjesëmarrësit"
},
"passwordDigitsOnly": "Deri në {{number}} shifra",
"passwordSetRemotely": "caktuar nga një tjetër pjesëmarrës",
"passwordSetRemotely": "Caktuar nga një tjetër pjesëmarrës",
"polls": {
"answer": {
"skip": "Anashkaloje",
"submit": "Parashtroje"
},
"by": "Nga {{ name }}",
"create": {
"addOption": "Shtoni mundësi",
"answerPlaceholder": "Mundësia {{index}}",
"cancel": "Anuloje",
"create": "Krijoni një pyetësor",
"pollOption": "Mundësi pyetësori {{index}}",
"pollQuestion": "Pyetje Pyetësori",
"questionPlaceholder": "Bëni një pyetje",
"removeOption": "Hiqe mundësinë",
"send": "Dërgoje"
},
"notification": {
"description": "Që të votoni, hapni skedën e pyetësorëve",
"title": "Te ky takim u shtua një pyetësor i ri"
},
"results": {
"changeVote": "Ndryshoni votën",
"empty": "Te takimi ska ende pyetësorë. Nisni një pyetësor këtu!",
"hideDetailedResults": "Fshihi hollësitë",
"showDetailedResults": "Shfaqi hollësitë",
"vote": "Votoni"
}
},
"poweredby": "bazuar në",
"prejoin": {
"audioAndVideoError": "Gabim audio dhe video:",
@@ -645,16 +766,17 @@
"errorDialOutFailed": "Su bë dot thirrja e numrit. Thirrja dështoi",
"errorDialOutStatus": "Gabim në marrje gjendjeje thirrjeje numri",
"errorMissingName": "Që të merrni pjesë te takimi, ju lutemi, jepni emrin tuaj",
"errorNoPermissions": "Lypset të aktivizoni përdorim mikrofoni dhe kamere",
"errorStatusCode": "Gabim në thirrje numri, kod gjendjeje: {{status}}",
"errorValidation": "Vlerësimi i numrit dështoi",
"iWantToDialIn": "Dua ti bie",
"iWantToDialIn": "Dua ti bie numrit",
"initiated": "U nis thirrja",
"joinAudioByPhone": "Merrni pjesë me audio telefoni",
"joinMeeting": "Merrni pjesë në takim",
"joinWithoutAudio": "Merrni pjesë pa audio",
"keyboardShortcuts": "Aktivizo shkurtore Tastiere",
"keyboardShortcuts": "Aktivizo shkurtore tastiere",
"linkCopied": "Lidhja u kopjua në të papastër",
"lookGood": "Duket sikur mikrofoni juaj po punon si duhet",
"lookGood": "Mikrofoni juaj po punon si duhet",
"or": "ose",
"premeeting": "Para takimit",
"screenSharingError": "Gabim ndarjeje ekrani me të tjerë:",
@@ -678,6 +800,9 @@
"rejected": "Hedhur poshtë",
"ringing": "Po i bihet ziles…"
},
"privacyView": {
"header": "Privatësi"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Caktoni emrin tuaj për në ekran",
@@ -686,6 +811,7 @@
"title": "Profil"
},
"raisedHand": "Do të donte të fliste",
"raisedHandsLabel": "Numër duarsh të ngritura",
"recording": {
"authDropboxText": "Ngarkoje në Dropbox",
"availableSpace": "Hapësirë e gatshme: {{spaceLeft}} MB (afërsisht {{duration}} minuta regjistrim)",
@@ -700,10 +826,11 @@
"expandedPending": "Po niset regjistrimi…",
"failedToStart": "Su arrit të niset regjistrimi",
"fileSharingdescription": "Ndajeni regjistrimin me pjesëmarrësit në takim",
"limitNotificationDescriptionNative": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrim të pakufizuar, provoni <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrim të pakufizuar, provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"inProgress": "Regjistrim ose transmetim drejtpërsëdrejti në ecuri e sipër",
"limitNotificationDescriptionNative": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Për shkak kërkesash të shumta, regjistrimi juaj do të kufizohet në {{limit}} min. Për regjistrime të pakufizuara provoni <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kemi prodhuar një lidhje për te regjistrimi juaj.",
"live": "LIVE",
"live": "DREJTPËRSËDREJTI",
"loggedIn": "I futur si {{userName}}",
"off": "Regjistrimi u ndal",
"offBy": "{{name}} ndali regjistrimin",
@@ -714,6 +841,7 @@
"serviceDescription": "Regjistrimi juaj do të ruhet nga shërbimi i regjistrimit",
"serviceDescriptionCloud": "Regjistrim në re",
"serviceName": "Shërbim regjistrimi",
"sessionAlreadyActive": "Ky sesion po regjistrohet ose transmetohet drejtpërsëdrejti tashmë.",
"signIn": "Hyni",
"signOut": "Dilni",
"unavailable": "Hëm! {{serviceName}} sështë i passhëm aktualisht. Po punojmë për të zgjidhur problemin. Ju lutemi, riprovoni më vonë.",
@@ -726,33 +854,46 @@
"security": {
"about": "Takimit tuaj mund ti shtoni një $t(lockRoomPassword). Pjesëmarrësve do tu duhet të japin $t(lockRoomPassword) përpara se të lejohen të marrin pjesë në takim.",
"aboutReadOnly": "Pjesëmarrësit moderatorë mund ti shtojnë takimit një $t(lockRoomPassword). Pjesëmarrësve do tu duhet të japin $t(lockRoomPassword) përpara se të lejohen të marrin pjesë në takim.",
"insecureRoomNameWarning": "Emri i dhomës sështë pa rrezik. Pjesëmarrës të padëshiruar munden të marrin pjesë në konferencën tuaj. Shihni mundësinë e bërjes të sigurt të takimit tuaj, duke përdorur butonin e sigurisë.",
"securityOptions": "Mundësi sigurie"
"header": "Mundësi Sigurie",
"insecureRoomNameWarning": "Emri i dhomës sështë pa rrezik. Pjesëmarrës të padëshiruar munden të marrin pjesë në konferencën tuaj. Shihni mundësinë e bërjes të sigurt të takimit tuaj, duke përdorur butonin e sigurisë."
},
"settings": {
"calendar": {
"about": "Integrimi i me kalendar {{appName}} përdoret për të hyrë me sukses te kalendari juaj, që kështu të mund të lexohen veprimtari të ardhshme.",
"disconnect": "Shkëputu",
"microsoftSignIn": "Hyni me Microsoft",
"signedIn": "Aktualisht duke parë veprimtari kalendari për {{email}}. Klikoni mbi butonin Shkëputu më poshtë që të ndalni parjen e veprimtarive të kalendarit.",
"signedIn": "Aktualisht po shihen veprimtari kalendari për {{email}}. Klikoni mbi butonin Shkëputu më poshtë që të ndalni parjen e veprimtarive të kalendarit.",
"title": "Kalendar"
},
"desktopShareFramerate": "Shpejtësi kuadrosh për tregim desktopi",
"desktopShareHighFpsWarning": "Një shpejtësi më e madhe për tregimin e ekranit mund të ketë ndikim në konsumin e gjerësisë së bandës. Që të hyjnë në fuqi rregullimet e reja, lypset të rinisni tregimin e ekranit.",
"desktopShareWarning": "Që të hyjnë në fuqi rregullimet e reja, duhet të rinisni tregimin e ekranit.",
"devices": "Pajisje",
"followMe": "Më ndjek gjithkush",
"framesPerSecond": "kuadro-për-sekondë",
"incomingMessage": "Mesazh ardhës",
"language": "Gjuhë",
"loggedIn": "Futur si {{name}}",
"loggedIn": "I futur si {{name}}",
"microphones": "Mikrofona",
"moderator": "Moderator",
"more": "Më tepër",
"name": "Emër",
"noDevice": "Asnjë",
"participantJoined": "Hyri Pjesëmarrës",
"participantLeft": "Doli Pjesëmarrës",
"playSounds": "Luaj tingull kur",
"reactions": "Reagime takimi",
"sameAsSystem": "Njësoj me sistemin ({{label}})",
"selectAudioOutput": "Dalje audio",
"selectCamera": "Kamerë",
"selectMic": "Mikrofon",
"selfView": "Parje e vetes",
"sounds": "Tinguj",
"speakers": "Altoparlantë",
"startAudioMuted": "Gjithkush fillon i heshtuar",
"startReactionsMuted": "Heshto tinguj reagimesh për këdo",
"startVideoMuted": "Gjithkush fillon i fshehur",
"talkWhileMuted": "Flisni, teksa jeni i heshtuar",
"title": "Rregullime"
},
"settingsView": {
@@ -783,12 +924,21 @@
},
"speaker": "Folës",
"speakerStats": {
"angry": "I zemëruar",
"disgusted": "I pështirosur",
"displayEmotions": "Shfaq emocione",
"fearful": "I firkësuar",
"happy": "I gëzuar",
"hours": "{{count}}h",
"minutes": "{{count}}m",
"name": "Emër",
"neutral": "Asnjanës",
"sad": "I trishtuar",
"search": "Kërko",
"seconds": "{{count}}s",
"speakerStats": "Statistika Folësi",
"speakerTime": "Kohë Folësi"
"speakerTime": "Kohë Folësi",
"surprised": "I befasuar"
},
"startupoverlay": {
"genericTitle": "Takimi lyp përdorimin e mikrofonit dhe kamerës tuaj.",
@@ -800,15 +950,21 @@
"text": "Që të rilidheni, shtypni butonin <i>Rihyni</i>.",
"title": "Thirrja juaj video u ndërpre, ngaqë kompjuteri u kalua në dremitje."
},
"termsView": {
"header": "Terma"
},
"toolbar": {
"Settings": "Rregullime",
"accessibilityLabel": {
"Settings": "Shfaq/Fshih rregullime",
"Settings": "Shfaq/Fshih rregullimet",
"audioOnly": "Hap/Mbyll vetëm audion",
"audioRoute": "Përzgjidhni pajisje zëri",
"callQuality": "Administroni cilësi video",
"boo": "Ya",
"breakoutRoom": "Hyni/Dilni nga dhomë aneks konsultimesh",
"callQuality": "Administroni cilësi videoje",
"cc": "Shfaq/Fshih titra",
"chat": "Hap / Mbyll fjalosje",
"chat": "Hapni / Mbyllni fjalosje",
"clap": "Duartrokitje",
"collapse": "Tkurre",
"document": "Shfaq/Fshih dokument të ndarë",
"download": "Shkarkoni aplikacionet tona",
@@ -819,36 +975,42 @@
"grantModerator": "Akordoji të Drejta Moderatori",
"hangup": "Braktiseni takimin",
"help": "Ndihmë",
"invite": "Ftoni persona",
"kick": "Përzini pjesëmarrës",
"lobbyButton": "Aktivizo/Çaktivizo mënyrën holl",
"localRecording": "Shfaq/Fshi kontrolle regjistrimi vendor",
"invite": "Ftoni njerëz",
"kick": "Përzëre pjesëmarrësin",
"laugh": "E qeshur",
"like": "Thumbs Up",
"lobbyButton": "Aktivizo/Çaktivizoni mënyrën holl",
"localRecording": "Shfaq/Fshih kontrolle regjistrimi vendor",
"lockRoom": "Aktivizo/Çaktivizo fjalëkalim takimi",
"moreActions": "Më tepër veprime",
"moreActionsMenu": "Menu “Më tepër veprime”",
"moreOptions": "Shfaq më tepër mundësi",
"mute": "Mbyll/Hap zërin",
"mute": "Heshtoje / Çheshtoje",
"muteEveryone": "Heshto gjithkënd",
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"muteEveryoneElsesVideo": "Çaktivizo kamerën e gjithkujt tjetër",
"muteEveryonesVideo": "Çaktivizo kamerën e gjithkujt",
"muteEveryoneElsesVideoStream": "Ndal videon e gjithkujt tjetër",
"muteEveryonesVideoStream": "Ndal videon e gjithkujt",
"participants": "Pjesëmarrës",
"pip": "Kalo/Dil nga mënyra “Picture-in-Picture”",
"privateMessage": "Dërgo mesazh privat",
"pip": "Aktivizo/Çaktivizo mënyrën “Picture-in-Picture”",
"privateMessage": "Dërgoni mesazh privat",
"profile": "Përpunoni profilin tuaj",
"raiseHand": "Ngrini/Ulni dorën",
"recording": "Nis/Ndal regjistrim",
"raiseHand": "Ngrini / Ulni dorën tuaj",
"reactionsMenu": "Hap / Mbyll menu reagimesh",
"recording": "Nis/Ndal regjistrimin",
"remoteMute": "Heshto pjesëmarrësin",
"remoteVideoMute": "Çaktivizo kamerën e pjesëmarrësit",
"security": "Mundësi sigurie",
"selectBackground": "Përzgjidhni Sfond",
"selfView": "Shfaq/Fshih pamje veteje",
"shareRoom": "Ftoni dikë",
"shareYourScreen": "Nisni / Ndalni dhënien e ekranit tuaj",
"shareYourScreen": "Nisni / Ndalni tregimin e ekranit tuaj",
"shareaudio": "Ndani audio me të tjerë",
"sharedvideo": "Shfaq/Fshih skenë për ndarje videoje me të tjerët",
"shortcuts": "Shfaq/Fshih shkurtoret",
"show": "Show on stage",
"speakerStats": "Shfaqni statistika folësi",
"sharedvideo": "Aktivizo/Çaktivizo ndarje videoje me të tjerë",
"shortcuts": "Shfaq/Fshih shkurtore",
"show": "Shfaqe në skenë",
"silence": "Heshtje",
"speakerStats": "Shfaq/Fshih statistika folësi",
"surprised": "I befasuar",
"tileView": "Kalo/Dil nga mënyra mozaik",
"toggleCamera": "Hap/Mbyll kamerën",
"toggleFilmstrip": "Shfaq/Fshih shirit filmi",
@@ -860,10 +1022,14 @@
"audioOnlyOn": "Aktivizo mënyrën “Sasi e ulët të dhënash trafiku”",
"audioRoute": "Përzgjidhni pajisje zëri",
"audioSettings": "Rregullime për audion",
"authenticate": "Bëni mirëfilltësim",
"authenticate": "Bëni mirëfilltësimin",
"boo": "Ya",
"callQuality": "Administroni cilësi video",
"chat": "Hap / Mbyll fjalosje",
"clap": "Duartrokitje",
"closeChat": "Mbyll fjalosjen",
"closeReactionsMenu": "Mbyll menu reagimesh",
"disableReactionSounds": "Mund të çaktivizoni tinguj reagimesh për këtë takim",
"documentClose": "Mbylle dokumentin e ndarë",
"documentOpen": "Hape dokumentin e ndarë",
"download": "Shkarkoni aplikacione tonat",
@@ -877,6 +1043,10 @@
"hangup": "Braktisni takimin",
"help": "Ndihmë",
"invite": "Ftoni persona",
"joinBreakoutRoom": "Hyni në dhomë aneks konsultimesh",
"laugh": "Qeshje",
"leaveBreakoutRoom": "Dilni nga dhomë aneks konsultimesh",
"like": "Thumbs Up",
"lobbyButtonDisable": "Çaktivizo mënyrën holl",
"lobbyButtonEnable": "Aktivizo mënyrën holl",
"login": "Hyrje",
@@ -886,7 +1056,7 @@
"moreOptions": "Më tepër veprime",
"mute": "Heshtoje / Hiqi heshtimin",
"muteEveryone": "Heshto gjithkënd",
"muteEveryonesVideo": "Çaktivizo kamerën e kujtdo",
"muteEveryonesVideo": "Çaktivizo videon e gjithkujt",
"noAudioSignalDesc": "Nëse se keni heshtuar që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e ndërrimit të pajisjes.",
"noAudioSignalDescSuggestion": "Nëse se keni heshtuar që nga rregullimet e sistemit, ose nga hardware-i, shihni mundësinë e kalimit te pajisja e sugjeruar.",
"noAudioSignalDialInDesc": "Mund ti bini numrit edhe duke përdorur:",
@@ -895,32 +1065,42 @@
"noisyAudioInputDesc": "Dëgjohet sikur mikrofoni juaj prodhon zhurmë, ju lutemi, shihni mundësinë e heshtimit të tij, ose të ndërrimit të pajisjes.",
"noisyAudioInputTitle": "Mikrofoni juaj duket të jetë i zhurmshëm!",
"openChat": "Hapni fjalosje",
"openReactionsMenu": "Hap menu reagimesh",
"participants": "Pjesëmarrës",
"pip": "Kalo nën mënyrën “Picture-in-Picture”",
"privateMessage": "Dërgo mesazh privat",
"profile": "Përpunoni profilin tuaj",
"raiseHand": "Ngrini / Ulni dorën",
"raiseYourHand": "Ngrini dorën",
"reactionBoo": "Dërgo reagim me ya",
"reactionClap": "Dërgo reagim me duartrokitje",
"reactionLaugh": "Dërgo reagim me qeshje",
"reactionLike": "Dërgo reagim me “thumbs up”",
"reactionSilence": "Dërgo reagim me heshtje",
"reactionSurprised": "Dërgo reagim të befasuari",
"security": "Mundësi sigurie",
"selectBackground": "Përzgjidhni sfond",
"shareRoom": "Ftoni dikë",
"shareaudio": "Ndani audio me të tjerë",
"sharedvideo": "Ndani video me të tjerë",
"shortcuts": "Shihni shkurtore",
"silence": "Heshtje",
"speakerStats": "Statistika folësi",
"startScreenSharing": "Nise tregimin e ekranit",
"startSubtitles": "Nis titra",
"stopAudioSharing": "Ndal ndarje audioje me të tjerë",
"stopScreenSharing": "Ndale tregimin e ekranit",
"stopSharedVideo": "Ndale videon",
"stopSubtitles": "Ndali titrat",
"surprised": "I befasuar",
"talkWhileMutedPopup": "Po provoni të flisni? Jeni i heshtuar.",
"tileViewToggle": "Kaloni/Dilni nga mënyra mozaik",
"toggleCamera": "Hapni/Mbyllni kamerën",
"videoSettings": "Rregullime për videon",
"videomute": "Nise / Ndale kamerën"
"videoSetting": "Rregullime videoje",
"videomute": "Nisni / Ndalni kamerën"
},
"transcribing": {
"ccButtonTooltip": "Ndal / Nisi titrat",
"ccButtonTooltip": "Ndali / Nisi titrat",
"error": "Transkriptimi dështoi. Ju lutemi, riprovoni.",
"expandedLabel": "Transkriptimi aktualisht është aktiv",
"failedToStart": "Su arrit të nisej transkriptim",
@@ -950,21 +1130,25 @@
"errorInvite": "Konferencë ende pa u nisur. Ju lutemi, riprovoni më vonë.",
"errorInviteFailed": "Po merremi me zgjidhjen e problemit. Ju lutemi, riprovoni më vonë.",
"errorInviteFailedTitle": "Su arrit të ftohej {{displayName}}",
"errorInviteTitle": "Gabim në ftimin e dhomës",
"errorInviteTitle": "Gabim në ftesën e dhomës",
"pending": "{{displayName}} u ftua"
},
"videoStatus": {
"adjustFor": "Rregulloje për:",
"audioOnly": "AUD",
"audioOnlyExpanded": "Gjendeni nën mënyrën “sasi e ulët trafiku”. Nën këtë mënyrë, do të merrni vetëm audio dhe tregim ekrani.",
"audioOnlyExpanded": "Gjendeni nën mënyrën “gjerësi e ulët bande”. Nën këtë mënyrë, do të merrni vetëm audio dhe tregim ekrani.",
"bestPerformance": "Punimi më i mirë",
"callQuality": "Cilësi videoje",
"hd": "CL",
"hdTooltip": "Po shihet video në cilësi të lartë",
"highDefinition": "Cilësi e Lartë",
"highestQuality": "Cilësia më e lartë",
"labelTooiltipNoVideo": "Pa video",
"labelTooltipAudioOnly": "U aktivizua mënyra “sasi e ulët trafiku”",
"labelTooltipAudioOnly": "U aktivizua mënyra “gjerësi e ulët bande”",
"ld": "CU",
"ldTooltip": "Po shihet video në cilësi të ulët",
"lowDefinition": "Cilësi e Ulët",
"lowDefinition": "Cilësi e ulët",
"performanceSettings": "Rregullime funksionimi",
"sd": "CS",
"sdTooltip": "Po shihet video në cilësi standarde",
"standardDefinition": "Cilësi standarde"
@@ -975,38 +1159,43 @@
"domuteOthers": "Heshto gjithkënd tjetër",
"domuteVideo": "Çaktivizoje kamerën",
"domuteVideoOfOthers": "Çaktivizo kamerën e gjithkujt tjetër",
"flip": "Flip",
"grantModerator": "Akordoji Leje Moderatori",
"flip": "Ktheje më anë tjetër",
"grantModerator": "Akordoji të Drejta Moderatori",
"hideSelfView": "Fshihe pamjen e vetes",
"kick": "Përzëre",
"moderator": "Moderator",
"mute": "Pjesëmarrësi është heshtuar",
"muted": "I heshtuar",
"remoteControl": "Nisni / Ndalni kontroll së largëti",
"show": "Show on stage",
"remoteControl": "Nis / Ndal kontroll së largëti",
"screenSharing": "Pjesëmarrësi po tregon ekranin e vet",
"show": "Shfaqe në skenë",
"showSelfView": "Shfaq pamje të vetes",
"videoMuted": "Kamera e çaktivizuar",
"videomute": "Pjesëmarrësi ka ndalur kamerën"
},
"virtualBackground": {
"addBackground": "Shtoni sfond",
"apply": "Zbatoje",
"backgroundEffectError": "Su arrit të zbatohej efekt sfondi.",
"blur": "Turbulloje",
"deleteImage": "Fshije figurën",
"desktopShare": "Dhënie desktopi",
"desktopShareError": "Su krijua dot dhënie desktopi",
"desktopShare": "Tregim desktopi",
"desktopShareError": "Su krijua dot tregim desktopi",
"image1": "Plazh",
"image2": "Mur i bardhë neutral",
"image2": "Mur i bardhë asnjanës",
"image3": "Dhomë e bardhë e zbrazët",
"image4": "Llambadar i zi dyshemeje",
"image4": "Ndriçues i zi dysheme",
"image5": "Mal",
"image6": "Pyll",
"image6": "Pyll ",
"image7": "Ag",
"none": "Asnjë",
"pleaseWait": "Ju lutemi, pritni…",
"removeBackground": "Hiqe sfondin",
"slightBlur": "Turbullim Paksa",
"title": "Sfonde virtualë",
"uploadedImage": "Ngarkoni figurë {{index}}",
"webAssemblyWarning": "WebAssembly nuk mbulohet"
"uploadedImage": "Ngarkoi figurën {{index}}",
"webAssemblyWarning": "Nuk mbulohet WebAssembly",
"webAssemblyWarningDescription": "WebAssembly e çaktivizuar ose e pambuluar nga ky shfletues"
},
"volumeSlider": "Rrëshqitës volumi",
"welcomepage": {
@@ -1029,16 +1218,16 @@
"goSmall": "SHKO",
"headerSubtitle": "Takime me siguri dhe me cilësi të lartë",
"headerTitle": "Jitsi Meet",
"info": "Hollësi për dial-in",
"jitsiOnMobile": "Jitsi në celular Shkarkoni aplikacione tona dhe nisni një takim prej ngado",
"info": "Hollësi për ti rënë numrit",
"jitsiOnMobile": "Jitsi në celular Shkarkoni aplikacionet tona dhe nisni një takim prej ngado",
"join": "KRIJONI / MERRNI PJESË",
"logo": {
"calendar": "Stemë Calendar-i",
"desktopPreviewThumbnail": "Miniaturë paraparjeje desktop",
"googleLogo": "Stemë Google",
"logoDeepLinking": "Stemë Jitsi Meet",
"calendar": "Stemë kalendari",
"desktopPreviewThumbnail": "Miniaturë paraparjeje desktopi",
"googleLogo": "Stemë Google-i",
"logoDeepLinking": "Stemë Jitsi meet",
"microsoftLogo": "Stemë Microsoft-i",
"policyLogo": "Stemë Policy"
"policyLogo": "Stemë Rregullash"
},
"mobileDownLoadLinkAndroid": "Shkarkoni aplikacionin për celular me Android",
"mobileDownLoadLinkFDroid": "Shkarkoni aplikacionin për celular me F-Droid",

View File

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

View File

@@ -23,7 +23,7 @@
"noResults": "Inga sökträffar",
"noValidNumbers": "Ange ett telefonnummer",
"outlookEmail": "Outlook email",
"phoneNumbers": "telefonnummer",
"phoneNumbers": "Telefonnummer",
"searchNumbers": "Lägg till telefonnummer",
"searchPeople": "Sök efter personer",
"searchPeopleAndNumbers": "Sök efter personer eller lägg till deras telefonnummer",
@@ -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",
@@ -234,7 +233,7 @@
"dismiss": "Förkasta",
"displayNameRequired": "Hej, vad heter du?",
"done": "Klar",
"e2eeDescription": "???",
"e2eeDescription": "Stödet för End-to-End kryptering är EXPERIMENTELLT. Notera att om du aktiverar det kommer vissa funktioner som t.ex. telefondeltagande försvinna. Mötet kommer även att begränsas till deltagare med webbläsare som har stöd för insertable streams.",
"e2eeLabel": "Aktivera \"end-to-end\" kryptering",
"e2eeWarning": "Varning, alla deltagare i mötet har ej stöd för \"end-to-end\" kryptering",
"embedMeeting": "Bädda in möte",
@@ -294,7 +293,7 @@
"muteParticipantDialog": "Vill du tysta den här deltagaren? Du kan inte aktivera mikrofonen igen, men deltagaren kan när som helst göra det själv.",
"muteParticipantTitle": "Tysta deltagaren?",
"muteParticipantsVideoBody": "Du kommer inte att kunna aktivera kameran igen. Däremot kan deltagaren kunna aktivera sin egen kamera när som.",
"muteParticipantsVideoButton": "Inkativera kamera",
"muteParticipantsVideoButton": "Inaktivera kamera",
"muteParticipantsVideoDialog": "Är du säker du vill inaktivera denna deltagares kamera. Du kommer inte att kunna aktivera den igen. Däremot kan deltagaren kunna aktivera sin egen kamera när som.",
"muteParticipantsVideoTitle": "Inaktivera denna deltagares kamera?",
"noDropboxToken": "Ingen giltig dropbox tecken",
@@ -303,14 +302,14 @@
"passwordNotSupported": "Att sätta ett $t(lockRoomPassword) för mötesrummet stöds ej.",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) stöds inte",
"passwordRequired": "$t(lockRoomPasswordUppercase) krävs",
"permissionCameraRequiredError": "Tillåtelese krävs för att delta med kamera i denna möte. Var god skaffa detta i \"inställningar\".",
"permissionCameraRequiredError": "Tillåtelse krävs för att delta med kamera i denna möte. Var god skaffa detta i \"inställningar\".",
"permissionErrorTitle": "Tillåtelse krävs",
"permissionMicRequiredError": "Tillåtelese krävs för att delta med mikrofon i denna möte. Var god skaffa detta i \"inställningar\".",
"permissionMicRequiredError": "Tillåtelse krävs för att delta med mikrofon i denna möte. Var god skaffa detta i \"inställningar\".",
"popupError": "Din webbläsare blockerar pop-up-fönster från sajten. Tillåt pop-up-fönster från den här sajten i inställningarna och försök igen.",
"popupErrorTitle": "Pop-up blockerad",
"readMore": "Mer",
"recording": "Inspelning",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Ej möjligt medan live streaming pågår.",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Ej möjligt medan livestreaming pågår.",
"recordingDisabledForGuestTooltip": "Gäster kan inte starta inspelningar.",
"recordingDisabledTooltip": "Starta inspelning har inaktiverats.",
"rejoinNow": "Återanslut nu",
@@ -374,8 +373,8 @@
"transcribing": "Transkriberar",
"unlockRoom": "Ta bort möte $t(lockRoomPassword)",
"user": "Användare",
"userIdentifier": "Användar indentifierare",
"userPassword": "användarlösenord",
"userIdentifier": "Användar-ID",
"userPassword": "Lösenord",
"videoLink": "Videolänk",
"viewUpgradeOptions": "Se uppgraderings alternativ",
"viewUpgradeOptionsContent": "För att få obegränsad tillgång till premiumfunktioner som inspelning, transkriptioner, RTMP -streaming och mer måste du uppgradera din plan.",
@@ -622,7 +621,7 @@
"newDeviceAction": "Använd",
"newDeviceAudioTitle": "Ny ljudenhet hittad",
"newDeviceCameraTitle": "Ny kamera hittad",
"oldElectronClientDescription1": "Den version av Jitis meet som används är gammal och har säkerhetsluckor. Var god uppdatera till den senaste versionen.",
"oldElectronClientDescription1": "Den version av Jitsi meet som används är gammal och har säkerhetsluckor. Var god uppdatera till den senaste versionen.",
"oldElectronClientDescription2": "senast build",
"oldElectronClientDescription3": "nu!",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) togs bort av en annan deltagare",
@@ -813,8 +812,8 @@
"pullToRefresh": "Dra för att uppdatera"
},
"security": {
"about": "Du kan lägga till en $t(lockRoomPassword) till ditt möte. Deltagarna måste ange $t(lockRoomPassword) innan de får gå med i mötet.",
"aboutReadOnly": "Moderatorn kan lägga till en $t(lockRoomPassword) till mötet. Deltagarna måste ange $t(lockRoomPassword) innan de får gå med i mötet.",
"about": "Du kan lägga till ett $t(lockRoomPassword) till ditt möte. Deltagarna måste ange $t(lockRoomPassword) innan de får gå med i mötet.",
"aboutReadOnly": "Moderatorn kan lägga till ett $t(lockRoomPassword) till mötet. Deltagarna måste ange $t(lockRoomPassword) innan de får gå med i mötet.",
"insecureRoomNameWarning": "Rummets namn är osäkert. Oönskade deltagare kan gå med i din konferens. Överväg att säkra ditt möte med hjälp av säkerhetsknappen.",
"securityOptions": "Säkerhetsalternativ"
},
@@ -1156,8 +1155,8 @@
"getHelp": "Få hjälp",
"go": "KÖR",
"goSmall": "BÖRJA",
"headerSubtitle": "Säkra- och högkvalitet möten",
"headerTitle": "Jitisi Meet",
"headerSubtitle": "Säkra möten med hög kvalitet",
"headerTitle": "Jitsi Meet",
"info": "Info",
"jitsiOnMobile": "Jitsi på mobilen - ladda ner våra appar och starta ett möte var som helst",
"join": "Gå med",
@@ -1165,7 +1164,7 @@
"calendar": "Kalender logotyp",
"desktopPreviewThumbnail": "Miniatyrbild av skrivbordsförhandsgranskning",
"googleLogo": "Google logotyp",
"logoDeepLinking": "Jitisi logotyp",
"logoDeepLinking": "Jitsi logotyp",
"microsoftLogo": "Microsoft logotyp",
"policyLogo": "Policy-logotyp"
},

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

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