Compare commits

...

132 Commits

Author SHA1 Message Date
Calin-Teodor
fde431e941 chore(rn, versions): bump sdk versions 2024-04-18 11:16:21 +03:00
Calin-Teodor
5d6491b3e1 chore(rn, versions): bump app version 2024-04-17 16:14:25 +03:00
Calin-Teodor
d7549eb42f chore(rn, versions): bump app versions 2024-04-17 12:24:59 +03:00
Calin-Teodor
b4d82fcab8 chore(rn, versions): bump sdk versions 2024-04-17 12:24:59 +03:00
Дамян Минков
347cc32ecc chore(deps) lib-jitsi-meet@latest (#14642) 2024-04-16 19:53:23 -04:00
Calin-Teodor
c0602abbca feat(base/config): whitelist customToolbarButtons 2024-04-16 17:39:20 +03:00
Calin-Teodor
55e9136b91 feat(toolbox/native): fixed icon for CustomOptionButton and styles 2024-04-16 16:21:12 +03:00
damencho
da01ca23db fix(visitors): Fixes promote all. 2024-04-16 06:20:06 -05:00
Hristo Terezov
b470c201b2 fix(conference): use up to date state in useVideoStream. 2024-04-12 16:08:21 -05:00
Mihaela Dumitru
e3ee99754c fix(debug) enable webview debugging (#14623) 2024-04-12 16:32:45 +03:00
Mihaela Dumitru
b3e1865fd8 fix(whiteboard/native) disable Android local storage 2024-04-12 12:28:50 +02:00
Saúl Ibarra Corretgé
a4e3716632 chore(rn,deps) react-native-webrtc@118.0.6
Fixes duplicated audio on iOS.
2024-04-11 23:17:20 +02:00
Hristo Terezov
5ed4b470e7 feat(visitors-config): Enable media on promotion. 2024-04-11 15:48:23 -05:00
damencho
68f030bb7f feat: Adds option to print not-allowed errors we sent back to client. 2024-04-11 10:45:39 -05:00
Hazoom
1c25a370be fix (invite-copy) give user a feedback that copy is done (#14552) 2024-04-11 16:28:34 +03:00
Calinteodor
36671d7c4f feat(toolbox/native): custom overflow menu buttons (#14594)
* feat(toolbox/native): custom buttons for the OverflowMenu
2024-04-10 14:51:10 +03:00
Saúl Ibarra Corretgé
b54cec8d77 chore(deps) lib-jitsi-meet@latest (#14605)
https://github.com/jitsi/lib-jitsi-meet/compare/v1806.0.0+b0356800...v1807.0.0+b59b8cb0
2024-04-08 14:03:09 -04:00
Avram Tudor
097d51ce10 feat: prosody plugin for sending system chat messages (#14603)
* feat: prosody plugin for sending system chat messages

* code review changes

* code review changes

* update module name

* update comment
2024-04-08 18:59:00 +03:00
Saúl Ibarra Corretgé
9b16296581 chore(rn,deps) update react-native-webrtc to 118.0.5 2024-04-08 16:15:01 +02:00
damencho
a76f9d548b feat: Move to use cjson everywhere.
We were using prosody,util.json and cjson at the same time, but the latter is more performant.
Adds some error handling which were missing with the prosody util json one.
2024-04-05 11:26:51 -05:00
damencho
9fc89ba04e feat: Adds module to attach data to be available in jibri metadata.
Attaches the meeting id and the creator of the meeting into the iq sent to jibri. The data will be available in the metadata.json.
2024-04-05 11:26:51 -05:00
Mihaela Dumitru
37024b4f1f fix(whiteboard) compute serverUrl once to limit rerenders (#14600) 2024-04-05 16:35:59 +03:00
Hristo Terezov
b3312b5650 ref(PasswordSection): Functional copmonents. 2024-04-04 16:58:23 -05:00
damencho
721bb4e4ba fix: Clear up knocking state on error.
Fixes a case where participant is not entering lobby when trying the second time after being rejected.
2024-04-04 16:52:04 -05:00
Holofox
263bb7bcd0 fix(lang) updated Russian translation 2024-04-04 22:26:01 +02:00
Saúl Ibarra Corretgé
03b3cd4778 fix(misc) drop unused files from the project 2024-04-04 17:58:08 +02:00
Saúl Ibarra Corretgé
7a1ad18bc5 fix(misc) fix .editorconfig line width 2024-04-04 17:58:08 +02:00
ilaydadastan
38be09fc54 fix(chat): added emoji tooltip and enter key in smiley panel 2024-04-03 11:19:57 -05:00
Hristo Terezov
4e50546773 fix(LargeVideo): use correct track for streaming status.
In the case where we switch from jvb to p2p when we need to switch the p2p and jvb track, they will be with the same source name. In order to add the streaming status listener we need to check if the isP2P flag is different. Without this check we won't have the correct stream status listener for the track. Normally the Thumbnail and ConnectionIndicator components will update the streaming status the same way and this may mask the problem. But if for some reason the update from the Thumbnail and ConnectionIndicator components don't happen this may lead to showing the avatar instead of the video because of the old track inactive streaming status.
2024-04-03 08:26:31 -05:00
Ilayda Dastan
79891419af fix(chat): fixed error message colors (#14574)
* fix(chat): fixed error message colors

* fix(chat): changed error message background color
2024-04-03 08:00:17 -05:00
Mihaela Dumitru
5282274856 fix(whiteboard) backend safe room hash 2024-04-02 11:21:15 -05:00
Saúl Ibarra Corretgé
11c445f993 fix(android) fix server URL parsing
Some devices throw NullPointerException instead of
MalformedURLException.
2024-04-02 16:53:38 +02:00
Calinteodor
3b546ea387 feat(whiteboard/native): ui fixes (#14585)
* feat(mobile/navigation): moved Whiteboard to Conference navigation and fixed screen options
2024-04-02 13:11:36 +03:00
ilaydadastan
82fa1eb870 fix(chat): added translation function 2024-03-29 11:51:27 -05:00
Jaya Allamsetty
d1590db82b fix(config): Enable ssrc-rewriting by default. (#14567) 2024-03-28 23:06:45 -04:00
Calinteodor
5247fbdc0f feat(ios/android/sdk): delegate transcription chunk received event (#14516)
* feat(subtitles): created separate helpers for delegating transcription chunks events 
on web and mobile
2024-03-28 14:10:02 +02:00
damencho
47598222ce fix: Fixes parsing hash params to be passed to tokenAuthUrl.
The URL.hash returns the # sign, and so we always ignore the first parameter.
2024-03-27 12:43:49 -05:00
damencho
79d216d91a feat: Drops unused ext_events.lua. 2024-03-27 12:43:41 -05:00
hkien2310
ec423012b9 fix(lang) update vietnameses translation 2024-03-27 14:21:25 +01:00
dependabot[bot]
ffa704e7df chore(deps-dev): bump express from 4.17.3 to 4.19.2
Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.3...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-27 07:55:14 +01:00
Дамян Минков
2c6f4e27fc feat: Reduces into state region and shard changes from the lib. (#14546)
* feat: Reduces into state region and shard changes from the lib.

* squash: Fixes few comments.

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

https://github.com/jitsi/lib-jitsi-meet/compare/v1802.0.0+49ff6eb4...v1803.0.0+5237dbfe
2024-03-26 18:01:53 -05:00
Jaya Allamsetty
56eecaba2a fix(flags): Don't assume ssrc-rewriting enabled by default. (#14545)
* fix(flags): Don't assume ssrc-rewriting enabled by default.

* chore(deps): update latest@lib-jitsi-meet.
https://github.com/jitsi/lib-jitsi-meet/compare/v1796.0.0+d1333434...v1802.0.0+49ff6eb4
2024-03-26 16:28:07 -04:00
Hazoom
bb49c92cc4 fix(polls/web) check for duplicate poll options (#14541) 2024-03-26 16:38:22 +02:00
Calinteodor
9b798b4514 feat(base/conference): get subject and localSubject from config (#14520)
* feat(base/conference): fixed getting localSubject, subject and parsing url params.
2024-03-26 16:07:11 +02:00
Nitin Kushwaha
9727951a77 fix(polls): fix poll button overflow 2024-03-26 15:36:00 +02:00
Дамян Минков
643fc7e2a2 feat(visitors): Updates docs for promotion. (#14538)
* feat(visitors): Updates docs for promotion.

* squash: Update config.js comment
2024-03-26 07:18:34 -05:00
ilaydadastan
33db2bed34 fix(lang): added new tr translations 2024-03-25 20:50:29 -05:00
Horatiu Muresan
fad58ae362 feat(external-api) Expose meeting session (#14522) 2024-03-25 13:11:59 +02:00
ilaydadastan
2f6d9d4b52 fix(participants-pane): multi words search 2024-03-25 10:26:35 +01:00
Anshu Pathak
c7d5de2c77 lang: Translated main-hi.json (#14532)
* solve issue of 817  added toast notification on copy sharing link

* updated main.json

* Update main.json

added space with colon

* Update InviteByEmailSection.tsx

* fixed linter errors

* updated main.json

* Feat: Translated main-hi.json
2024-03-23 18:42:28 -05:00
Jaya Allamsetty
f525fb1999 fix(video-quality): Correctly pin camera tile.
When screensharing source is the first source to be added with ssrc-rewriting enabled, constraints for the camera tile don't get updated when its pinned. Fixes https://github.com/jitsi/jitsi-meet/issues/14501
2024-03-22 15:37:00 -04:00
damencho
ffbaee065d fix: Fixes showing left participants in the pane under certain conditions.
Fixes #14491.
When a screensharing participant leaves and is unmuted or sharing the tab audio, there is a dominant speaker changed event which stores wrong values in filmstrip state. And because we skip reordering when there is no filmstrip scroll and no screensharers to avoid reordering on every dominant speaker event for small meetings, we fail to evaluate that the screensharere is actually gone and we still show it.
This will not happen if the one sharing is not dominant speaker (muted) or if there are more participants in the meeting (there is a scroll).
2024-03-22 14:11:08 -05:00
damencho
c0f9024874 fix: Updates lobby password. 2024-03-22 10:17:09 -05:00
Mohammed Abdul Razak Wahab
f5ab10cfba fix(polls) fix answer editing bug causing unintended removal 2024-03-21 16:42:17 +01:00
chizhangWang
6db0f89707 fix(feedback) avoid sending dialog with enter press in textarea
Co-authored-by: Chizhang, Wang <chizhang.wang@dataport.de>
2024-03-21 15:59:53 +01:00
Jaya Allamsetty
6649c15232 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1793.0.0+315582f6...v1796.0.0+d1333434
2024-03-20 17:40:18 -04:00
Aaron van Meerten
5d84a4cc90 fix: define local vars in public key handler (#14176) 2024-03-20 03:35:23 -05:00
Anshu Pathak
b79907f7a5 feat(notifications) added toast notification on copy sharing link 2024-03-19 21:42:11 +01:00
Calinteodor
ffc6ae333f feat(premeeting/conference/prejoin): fix hiding meeting subject helper (#14500)
* feat(premeeting/conference/prejoin): fix hiding meeting subject helper
2024-03-19 20:04:39 +02:00
Hristo Terezov
371b9a3e95 fix(kick): JS error when participant pane is open.
There are cases when if you are kicked and the participant pane is
open, the getBreakoutRooms() call will return undefined and since
isBreakoutRoomRenameAllowed is used in useSelector and fails, all
execution will stop leaving us in a broken state.
2024-03-18 17:19:43 -05:00
bgrozev
7fb66c906a Support multiple sip jibri prefixes. (#14497) 2024-03-18 14:55:35 -07:00
Christoph Settgast
b43379a0bc fix(chat) dont emojify matrix ids (#14492) 2024-03-18 16:12:06 +01:00
Mihaela Dumitru
07a15f0121 fix(recordings) disable default auto transcribe (#14495) 2024-03-18 16:55:09 +02:00
Mihaela Dumitru
c7e80b6780 fix(whiteboard) adjust whiteboard ready check to work without config (#14486) 2024-03-18 16:22:37 +02:00
Edgars Voroboks
ec5f2ca1c1 fix(lang) update Latvian translation 2024-03-18 12:31:56 +01:00
José Luís Andrade
fdba9969b4 fix(lang) update Portuguese translation 2024-03-18 12:05:38 +01:00
Hristo Terezov
2734da0c66 fix(PasswordSection): Add button not working. 2024-03-15 12:18:10 -05:00
Jaya Allamsetty
cff14048cd chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1792.0.0+006457fa...v1793.0.0+315582f6
2024-03-15 11:15:55 -04:00
Jaya Allamsetty
a775dd178a Revert "fix(conference): Do not remove muted tracks at join time when ssrc-rewriting is enabled."
This reverts commit bb17337440.
2024-03-14 13:44:24 -04:00
Jaya Allamsetty
d0f3104ed8 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1790.0.0+311766e3...v1792.0.0+006457fa
2024-03-12 20:49:28 -04:00
Jaya Allamsetty
bb17337440 fix(conference): Do not remove muted tracks at join time when ssrc-rewriting is enabled. 2024-03-12 18:52:40 -04:00
Hristo Terezov
26e09acb8a fix(buttonsWithNotify): Duplicates in config
Fixes the issue with adding duplicate elements in buttonsWithNotifyClick and participantMenuButtonsWithNotifyClick with custom buttons.
2024-03-12 12:19:54 -05:00
Saúl Ibarra Corretgé
d358dd8ec6 chore(deps) react-native-webrtc@118.0.3
Fixes spurious exceptions on Android 14.
2024-03-12 12:40:00 +01:00
Saúl Ibarra Corretgé
3d158fb2b4 fix(conference) fix incorrect meeting name in CallKit
Reset subject when setting a new room name.
2024-03-12 12:38:02 +01:00
Saúl Ibarra Corretgé
b7785a9f91 feat(recording) add ability to change recording defaults
If recordings.recordAudioAndVideo is set to false don't record
audio-video by default.
2024-03-11 21:39:23 +01:00
Дамян Минков
86d869a107 fix(visitors): Fixes replacing visitor domain. (#14457)
* fix(visitors): Fixes replacing visitor domain.

Constructing the visitor room jid instead of doing a risky replacement.

The problem is having a room like:
[meet-jit-si-shard]someroomname@conference.meet.jit.si and replacing with 'meet.jit.si', the dots match the -.
2024-03-08 13:08:01 -06:00
Jaya Allamsetty
1c81b93c1d chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1789.0.0+a8f8666b...v1790.0.0+311766e3
2024-03-07 14:53:04 -05:00
Calin-Teodor
052070a6c1 chore(deps, i18next-http-backend): removed caret 2024-03-07 17:57:52 +02:00
Calin-Teodor
c531c0e65c react-native-sdk(chore/deps): reset link deps to 0 2024-03-07 16:49:15 +02:00
Calinteodor
e1055ebf9b react-native-sdk(chore/overrides): update prepare_sdk script to take care of overrides (#14449)
* react-native-sdk(chore/overrides): update prepare_sdk script to take care of overrides
2024-03-07 16:20:34 +02:00
Calin-Teodor
467023f77a react-native-sdk(chore/deps): reset deps to 0 so we can update to latest 2024-03-07 15:56:09 +02:00
Calin-Teodor
1249aa2dcb react-native-sdk(android): readded react native package 2024-03-07 14:52:16 +02:00
Calinteodor
0c45d87d1a react-native-sdk(android): screen share updates (#14440)
* react-native-sdk(android): removed related modules, services to screen-share feature and updated peerDeps
2024-03-06 17:33:08 +02:00
damencho
7140a90201 fix(visitors): Fixes demoting correct participant.
Moderators receive all demote messages so they can show notification if we need to.
2024-03-05 08:22:32 -06:00
Jaya Allamsetty
0a846606fc chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1786.0.0+0129be6c...v1789.0.0+a8f8666b
2024-03-05 09:02:32 -05:00
Avram Tudor
68dc111e3c fix: decouple local recording from needing a valid jwt (#14434) 2024-03-05 12:41:44 +02:00
Saúl Ibarra Corretgé
c81184df69 fix(ios) sync SDK and Lite SDK building commands 2024-03-05 12:09:03 +02:00
damencho
9b0747a0d9 feat(visitors): Demote a visitor for mobile. 2024-03-04 13:18:04 -06:00
damencho
c8cd80a8df feat(visitors): Checks for visitors support per room. 2024-03-04 13:18:04 -06:00
damencho
f1d4332668 feat(visitors): Adds an option to demote participants to visitors. 2024-03-04 13:18:04 -06:00
damencho
55b3256dc4 fix: Changes jwt error dialog to be sticky. 2024-03-04 13:18:04 -06:00
damencho
aa8bb55f3e feat(visitors): Drops not-used messages. 2024-03-04 13:18:04 -06:00
damencho
58b73e21de fix(visitors): Fixes missing import. 2024-03-04 13:18:04 -06:00
damencho
b1c955890a feat(visitors): Admit all function. 2024-03-04 13:18:04 -06:00
damencho
6ab945c2cb fix(visitors): Fixes wrong text in notification on multiple promote requests. 2024-03-04 13:18:04 -06:00
damencho
7291e1ef00 feat(lobby): Approve multiple participants. 2024-03-04 08:13:27 -06:00
Дамян Минков
43e075d48e feat: Rate limits update (#14429)
* feat: Introduces new rate limit setting.

No can have two different values per ip that is used to limit session creation and one that is used when that stanza rate limit is exceeded.

* feat: Introduces unthrottle logic.

* fix: Bumps default iq rate limits.

* feat: Prints how many times a session hits the rates.

* Update resources/prosody-plugins/mod_rate_limit.lua

Co-authored-by: Aaron van Meerten <aaron.van.meerten@8x8.com>

---------

Co-authored-by: Aaron van Meerten <aaron.van.meerten@8x8.com>
2024-03-01 13:23:04 -06:00
Jaya Allamsetty
885e1afdaa chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1784.0.0+639ad566...v1786.0.0+0129be6c
2024-02-29 23:34:47 -05:00
Hristo Terezov
e2ec4842a1 fix(toolbarButtons): filter visitor buttons in redux.
Filters the toolbarButtons in redux depending on the visitor state instead of filtering them every time in mapStateToProps. This will prevent unnecessary rerenders of the toolbar.

Additionally:
 - Moves visitor buttons const from features/config in features/toolbox.
 - Removes dublicate functions isButtonEnabled and isToolbarButtonEnabled.
 - Adds more buttons to the visitor allowed buttons which functionality has been any way accessible trough shortcuts or somewhere else.
 - Enables customButtons to be visible for visitors.
2024-02-29 18:51:47 -06:00
Hristo Terezov
ea075d9bae fix(toolbarButtons): Store all buttons in redux.
The previous version of getToolbarButtons function was actually adding the custom buttons on every call to the config toolbarButtons array, effectively creating dublicates of every custom button. The PR fixes this issue.

Also now we will be running the getToolbarButtons calculation only when needed.
2024-02-29 16:36:52 -06:00
qnafin
68f7448624 Update build.gradle / jsRootDir = file("../")
When newArchEnabled=true. Refers to a non-existent category
2024-02-29 19:58:14 +01:00
damencho
954ef6df4f fix: Drops inspect print. 2024-02-29 12:52:19 -06:00
Calinteodor
6a3c12b316 feat(android): fix screen sharing for android 14 (#14419)
* feat(android): media projection is now done through react native webrtc
2024-02-29 16:34:24 +02:00
Calin-Teodor
5be616a224 chore(deps, rn-webrtc): updated to 118.0.2 2024-02-29 15:56:20 +02:00
Mihaela Dumitru
58d8f3be12 chore(deps) update excalidraw version (#14420) 2024-02-29 15:30:44 +02:00
Saúl Ibarra Corretgé
8ae6ba76cc feat(rn,deps) update react-native-webrtc@118.0.1
Adds UVC camera support to Android.
2024-02-29 12:02:51 +01:00
bgrozev
a06c2e056c feat: Send room_metadata updates to jicofo. (#14417)
Include the room jid in the message.
2024-02-28 15:41:55 -08:00
Saúl Ibarra Corretgé
fa0b06b859 fix(live-streaming) fix handling bogus URLs 2024-02-28 13:58:13 +01:00
Saúl Ibarra Corretgé
4c3512b375 fix(etherpad) fix handling certain URL types 2024-02-28 13:58:13 +01:00
Jaya Allamsetty
92e3a1ff99 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1783.0.0+ff4dd993...v1784.0.0+639ad566
2024-02-27 13:32:43 -05:00
Saúl Ibarra Corretgé
701e3d2b43 fix(recording) restore labels when recording locally 2024-02-27 09:17:24 -06:00
Saúl Ibarra Corretgé
2626a894e2 fix(recording) remove duplicated check 2024-02-27 09:17:24 -06:00
Saúl Ibarra Corretgé
a6f6b3a2d2 fix(subtitles) keep subtitles state when recording 2024-02-27 09:17:24 -06:00
Hristo Terezov
05aa48774a feat(recorder-transcription): Handle correctly in the UI.
Until this commit we didn't make difference between transcriptions from the recording dialog and subtitles. Now subtitles are not considered recording anymore and only the transcriptions started from recording dialog are considered recording.
2024-02-27 09:17:24 -06:00
Calinteodor
e82fc480f0 feat(tracks): disable pip in screen-share based on flag value (#14413)
* feat(tracks): disable pip in screen-share based on flag value
2024-02-27 14:59:55 +02:00
Horatiu Muresan
9f8662c0a1 chore(eslint) Update eslint (#14412) 2024-02-27 12:56:05 +02:00
Jaya Allamsetty
5b860c20b1 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1782.0.0+3ff4b0d1...v1783.0.0+ff4dd993
2024-02-26 10:25:05 -05:00
Saúl Ibarra Corretgé
a4c52b02e7 fix(recording) set transcribing metadata when stopping 2024-02-26 13:30:23 +01:00
Joseph Garrone
73952ee1f7 refactor(styles): Migrate withStyles to tss-react, remove @mui/styles dependency (#14310) 2024-02-26 14:10:07 +02:00
Hristo Terezov
0a9f6c2e4d fix(overflow-menu): disabled buttons styles 2024-02-23 17:53:29 -06:00
Jaya Allamsetty
94f9ccfe1c chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1781.0.0+98bcd4e6...v1782.0.0+3ff4b0d1
2024-02-23 17:08:34 -05:00
Hristo Terezov
ff9f767cfd fix(recording/livestreaming): labels
Display only livestreaming label when the livestreaming and the transcribtions are on.
2024-02-23 15:55:23 -06:00
JJ Asghar
5a5ec9e4d9 fix(Typo in comment) (#14077) 2024-02-23 22:16:21 +01:00
Calin-Teodor
aff671b44a feat(config/flag): enable/disable participants pane 2024-02-23 14:54:37 +02:00
Hristo Terezov
495b925fa0 fix(Livestreaming): label 2024-02-22 18:13:21 -06:00
Hristo Terezov
2f6b11a6ac fix(visitors): gum pending on promotion. 2024-02-22 14:57:51 -06:00
Jaya Allamsetty
2b7052995b feat: Enable ssrc-rewriting by default. (#14395)
* feat: Enable ssrc-rewriting by default.

* chore(deps): Update lib-jitsi-meet.
2024-02-22 15:16:50 -05:00
Calin-Teodor
5c69baefbf feat(dynamic-branding): fix label customisation 2024-02-21 14:51:37 +02:00
dependabot[bot]
8b25265f9e chore(deps): bump ip from 1.1.5 to 1.1.9
Bumps [ip](https://github.com/indutny/node-ip) from 1.1.5 to 1.1.9.
- [Commits](https://github.com/indutny/node-ip/compare/v1.1.5...v1.1.9)

---
updated-dependencies:
- dependency-name: ip
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-21 09:21:37 +01:00
Hristo Terezov
f43020f650 fix(gumPending): Handle ignored muted tracks. 2024-02-20 16:54:05 -06:00
Hristo Terezov
ba95ea3ac8 feat(conference): Add init debug log 2024-02-20 09:42:07 -06:00
Besnik Bleta
7dcd9c21bc fix(lang) update for sq translation (#14387) 2024-02-20 15:23:14 +01:00
332 changed files with 5598 additions and 10151 deletions

View File

@@ -1,6 +0,0 @@
[android]
target = Google Inc.:Google APIs:23
[maven_repositories]
central = https://repo1.maven.org/maven2

View File

@@ -6,7 +6,7 @@ charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
max_line_length = 80
max_line_length = 120
trim_trailing_whitespace = true
[*.md]

3
.gitignore vendored
View File

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

View File

@@ -1,6 +0,0 @@
osx_image: xcode11.1
language: objective-c
script:
- "./ios/travis-ci/build-ipa.sh"
after_script:
- sleep 10

View File

@@ -48,7 +48,6 @@ deploy-appbundle:
$(BUILD_DIR)/external_api.min.js.map \
$(BUILD_DIR)/alwaysontop.min.js \
$(BUILD_DIR)/alwaysontop.min.js.map \
$(OUTPUT_DIR)/analytics-ga.js \
$(BUILD_DIR)/analytics-ga.min.js \
$(BUILD_DIR)/analytics-ga.min.js.map \
$(BUILD_DIR)/face-landmarks-worker.min.js \

View File

@@ -1,163 +0,0 @@
/* global ga */
(function(ctx) {
/**
*
*/
function Analytics(options) {
/* eslint-disable */
if (!options.googleAnalyticsTrackingId) {
console.log(
'Failed to initialize Google Analytics handler, no tracking ID');
return;
}
/**
* Google Analytics
* TODO: Keep this local, there's no need to add it to window.
*/
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', options.googleAnalyticsTrackingId, 'auto');
ga('send', 'pageview');
/* eslint-enable */
}
/**
* Extracts the integer to use for a Google Analytics event's value field
* from a lib-jitsi-meet analytics event.
* @param {Object} event - The lib-jitsi-meet analytics event.
* @returns {Object} - The integer to use for the 'value' of a Google
* Analytics event.
* @private
*/
Analytics.prototype._extractAction = function(event) {
// Page events have a single 'name' field.
if (event.type === 'page') {
return event.name;
}
// All other events have action, actionSubject, and source fields. All
// three fields are required, and the often jitsi-meet and
// lib-jitsi-meet use the same value when separate values are not
// necessary (i.e. event.action == event.actionSubject).
// Here we concatenate these three fields, but avoid adding the same
// value twice, because it would only make the GA event's action harder
// to read.
let action = event.action;
if (event.actionSubject && event.actionSubject !== event.action) {
// Intentionally use string concatenation as analytics needs to
// work on IE but this file does not go through babel. For some
// reason disabling this globally for the file does not have an
// effect.
// eslint-disable-next-line prefer-template
action = event.actionSubject + '.' + action;
}
if (event.source && event.source !== event.action
&& event.source !== event.action) {
// eslint-disable-next-line prefer-template
action = event.source + '.' + action;
}
return action;
};
/**
* Extracts the integer to use for a Google Analytics event's value field
* from a lib-jitsi-meet analytics event.
* @param {Object} event - The lib-jitsi-meet analytics event.
* @returns {Object} - The integer to use for the 'value' of a Google
* Analytics event, or NaN if the lib-jitsi-meet event doesn't contain a
* suitable value.
* @private
*/
Analytics.prototype._extractValue = function(event) {
let value = event && event.attributes && event.attributes.value;
// Try to extract an integer from the "value" attribute.
value = Math.round(parseFloat(value));
return value;
};
/**
* Extracts the string to use for a Google Analytics event's label field
* from a lib-jitsi-meet analytics event.
* @param {Object} event - The lib-jitsi-meet analytics event.
* @returns {string} - The string to use for the 'label' of a Google
* Analytics event.
* @private
*/
Analytics.prototype._extractLabel = function(event) {
let label = '';
// The label field is limited to 500B. We will concatenate all
// attributes of the event, except the user agent because it may be
// lengthy and is probably included from elsewhere.
for (const property in event.attributes) {
if (property !== 'permanent_user_agent'
&& property !== 'permanent_callstats_name'
&& event.attributes.hasOwnProperty(property)) {
// eslint-disable-next-line prefer-template
label += property + '=' + event.attributes[property] + '&';
}
}
if (label.length > 0) {
label = label.slice(0, -1);
}
return label;
};
/**
* This is the entry point of the API. The function sends an event to
* google analytics. The format of the event is described in
* AnalyticsAdapter in lib-jitsi-meet.
* @param {Object} event - the event in the format specified by
* lib-jitsi-meet.
*/
Analytics.prototype.sendEvent = function(event) {
if (!event || !ga) {
return;
}
const ignoredEvents
= [ 'e2e_rtt', 'rtp.stats', 'rtt.by.region', 'available.device',
'stream.switch.delay', 'ice.state.changed', 'ice.duration' ];
// Temporary removing some of the events that are too noisy.
if (ignoredEvents.indexOf(event.action) !== -1) {
return;
}
const gaEvent = {
'eventCategory': 'jitsi-meet',
'eventAction': this._extractAction(event),
'eventLabel': this._extractLabel(event)
};
const value = this._extractValue(event);
if (!isNaN(value)) {
gaEvent.eventValue = value;
}
ga('send', 'event', gaEvent);
};
if (typeof ctx.JitsiMeetJS === 'undefined') {
ctx.JitsiMeetJS = {};
}
if (typeof ctx.JitsiMeetJS.app === 'undefined') {
ctx.JitsiMeetJS.app = {};
}
if (typeof ctx.JitsiMeetJS.app.analyticsHandlers === 'undefined') {
ctx.JitsiMeetJS.app.analyticsHandlers = [];
}
ctx.JitsiMeetJS.app.analyticsHandlers.push(Analytics);
})(window);
/* eslint-enable prefer-template */

View File

@@ -35,7 +35,6 @@ import org.jitsi.meet.sdk.JitsiMeetActivity;
import org.jitsi.meet.sdk.JitsiMeetConferenceOptions;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collection;
import java.util.HashMap;
@@ -227,7 +226,7 @@ public class MainActivity extends JitsiMeetActivity {
private @Nullable URL buildURL(String urlStr) {
try {
return new URL(urlStr);
} catch (MalformedURLException e) {
} catch (Exception e) {
return null;
}
}

View File

@@ -19,9 +19,9 @@ buildscript {
ext {
kotlinVersion = "1.7.0"
buildToolsVersion = "33.0.2"
compileSdkVersion = 33
compileSdkVersion = 34
minSdkVersion = 24
targetSdkVersion = 33
targetSdkVersion = 34
supportLibVersion = "28.0.0"
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.

View File

@@ -26,5 +26,5 @@ android.useAndroidX=true
android.enableJetifier=true
android.bundle.enableUncompressedNativeLibs=false
appVersion=99.0.0
sdkVersion=99.0.0
appVersion=24.2.1
sdkVersion=9.2.1

View File

@@ -12,7 +12,6 @@
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-feature
@@ -51,10 +50,6 @@
android:name="org.jitsi.meet.sdk.JitsiMeetOngoingConferenceService"
android:foregroundServiceType="mediaPlayback" />
<service
android:name="org.jitsi.meet.sdk.JitsiMeetMediaProjectionService"
android:foregroundServiceType="mediaProjection" />
<provider
android:name="com.reactnativecommunity.webview.RNCWebViewFileProvider"
android:authorities="${applicationId}.fileprovider"

View File

@@ -89,7 +89,9 @@ public class BroadcastEvent {
CHAT_MESSAGE_RECEIVED("org.jitsi.meet.CHAT_MESSAGE_RECEIVED"),
CHAT_TOGGLED("org.jitsi.meet.CHAT_TOGGLED"),
VIDEO_MUTED_CHANGED("org.jitsi.meet.VIDEO_MUTED_CHANGED"),
READY_TO_CLOSE("org.jitsi.meet.READY_TO_CLOSE");
READY_TO_CLOSE("org.jitsi.meet.READY_TO_CLOSE"),
TRANSCRIPTION_CHUNK_RECEIVED("org.jitsi.meet.TRANSCRIPTION_CHUNK_RECEIVED"),
CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED("org.jitsi.meet.CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED");
private static final String CONFERENCE_BLURRED_NAME = "CONFERENCE_BLURRED";
private static final String CONFERENCE_FOCUSED_NAME = "CONFERENCE_FOCUSED";
@@ -106,6 +108,8 @@ public class BroadcastEvent {
private static final String CHAT_TOGGLED_NAME = "CHAT_TOGGLED";
private static final String VIDEO_MUTED_CHANGED_NAME = "VIDEO_MUTED_CHANGED";
private static final String READY_TO_CLOSE_NAME = "READY_TO_CLOSE";
private static final String TRANSCRIPTION_CHUNK_RECEIVED_NAME = "TRANSCRIPTION_CHUNK_RECEIVED";
private static final String CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED_NAME = "CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED";
private final String action;
@@ -158,6 +162,10 @@ public class BroadcastEvent {
return VIDEO_MUTED_CHANGED;
case READY_TO_CLOSE_NAME:
return READY_TO_CLOSE;
case TRANSCRIPTION_CHUNK_RECEIVED_NAME:
return TRANSCRIPTION_CHUNK_RECEIVED;
case CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED_NAME:
return CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED;
}
return null;

View File

@@ -255,6 +255,14 @@ public class JitsiMeetActivity extends AppCompatActivity
finish();
}
// protected void onTranscriptionChunkReceived(HashMap<String, Object> extraData) {
// JitsiMeetLogger.i("Transcription chunk received: " + extraData);
// }
// protected void onCustomOverflowMenuButtonPressed(HashMap<String, Object> extraData) {
// JitsiMeetLogger.i("Custom overflow menu button pressed: " + extraData);
// }
// Activity lifecycle methods
//
@@ -338,6 +346,12 @@ public class JitsiMeetActivity extends AppCompatActivity
case READY_TO_CLOSE:
onReadyToClose();
break;
// case TRANSCRIPTION_CHUNK_RECEIVED:
// onTranscriptionChunkReceived(event.getData());
// break;
// case CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED:
// onCustomOverflowMenuButtonPressed(event.getData());
// break;
}
}
}

View File

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

View File

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

View File

@@ -58,8 +58,8 @@ public class JitsiMeetOngoingConferenceService extends Service
public static void launch(Context context, HashMap<String, Object> extraData) {
NotificationUtils.createNotificationChannel((Activity) context);
OngoingNotification.createNotificationChannel((Activity) context);
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);

View File

@@ -1,58 +0,0 @@
/*
* Copyright @ 2019-present 8x8, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jitsi.meet.sdk;
import static org.jitsi.meet.sdk.NotificationUtils.ONGOING_CONFERENCE_CHANNEL_ID;
import android.app.Notification;
import android.content.Context;
import androidx.core.app.NotificationCompat;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
/**
* Helper class for creating the media projection notification which is used with
* {@link JitsiMeetMediaProjectionService}.
*/
class MediaProjectionNotification {
private static final String TAG = MediaProjectionNotification.class.getSimpleName();
static Notification buildMediaProjectionNotification(Context context) {
if (context == null) {
JitsiMeetLogger.d(TAG, " Cannot create notification: no current context");
return null;
}
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ONGOING_CONFERENCE_CHANNEL_ID);
builder
.setCategory(NotificationCompat.CATEGORY_CALL)
.setContentTitle(context.getString(R.string.media_projection_notification_title))
.setContentText(context.getString(R.string.media_projection_notification_text))
.setPriority(NotificationCompat.PRIORITY_LOW)
.setOngoing(false)
.setUsesChronometer(false)
.setAutoCancel(true)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setOnlyAlertOnce(true)
.setSmallIcon(context.getResources().getIdentifier("ic_notification", "drawable", context.getPackageName()));
return builder.build();
}
}

View File

@@ -1,50 +0,0 @@
package org.jitsi.meet.sdk;
import android.app.Activity;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Build;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import java.util.ArrayList;
import java.util.List;
class NotificationUtils {
static final String ONGOING_CONFERENCE_CHANNEL_ID = "JitsiOngoingConferenceChannel";
public static List<String> allIds = new ArrayList<String>() {{ add(ONGOING_CONFERENCE_CHANNEL_ID); }};
private static final String TAG = NotificationUtils.class.getSimpleName();
static void createNotificationChannel(Activity context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
return;
}
if (context == null) {
JitsiMeetLogger.w(TAG + " Cannot create notification channel: no current context");
return;
}
NotificationManager notificationManager
= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel
= notificationManager.getNotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID);
if (channel != null) {
// The channel was already created, no need to do it again.
return;
}
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID, context.getString(R.string.ongoing_notification_channel_name), NotificationManager.IMPORTANCE_DEFAULT);
channel.enableLights(false);
channel.enableVibration(false);
channel.setShowBadge(false);
notificationManager.createNotificationChannel(channel);
}
}

View File

@@ -16,8 +16,11 @@
package org.jitsi.meet.sdk;
import static org.jitsi.meet.sdk.NotificationUtils.ONGOING_CONFERENCE_CHANNEL_ID;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import android.app.Activity;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
@@ -26,7 +29,8 @@ import android.content.Intent;
import androidx.annotation.StringRes;
import androidx.core.app.NotificationCompat;
import org.jitsi.meet.sdk.log.JitsiMeetLogger;
import android.os.Build;
/**
* Helper class for creating the ongoing notification which is used with
@@ -38,6 +42,37 @@ class OngoingNotification {
private static long startingTime = 0;
static final String ONGOING_CONFERENCE_CHANNEL_ID = "JitsiOngoingConferenceChannel";
static void createNotificationChannel(Activity context) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
return;
}
if (context == null) {
JitsiMeetLogger.w(TAG + " Cannot create notification channel: no current context");
return;
}
NotificationManager notificationManager
= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel
= notificationManager.getNotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID);
if (channel != null) {
// The channel was already created, no need to do it again.
return;
}
channel = new NotificationChannel(ONGOING_CONFERENCE_CHANNEL_ID, context.getString(R.string.ongoing_notification_channel_name), NotificationManager.IMPORTANCE_DEFAULT);
channel.enableLights(false);
channel.enableVibration(false);
channel.setShowBadge(false);
notificationManager.createNotificationChannel(channel);
}
static Notification buildOngoingConferenceNotification(Boolean isMuted, Context context) {
if (context == null) {

View File

@@ -37,6 +37,7 @@ import com.oney.WebRTCModule.webrtcutils.H264AndSoftwareVideoEncoderFactory;
import org.devio.rn.splashscreen.SplashScreenModule;
import org.webrtc.EglBase;
import org.webrtc.Logging;
import java.lang.reflect.Constructor;
import java.util.ArrayList;
@@ -67,7 +68,6 @@ class ReactInstanceManagerHolder {
new DropboxModule(reactContext),
new ExternalAPIModule(reactContext),
new JavaScriptSandboxModule(reactContext),
new JitsiMeetMediaProjectionModule(reactContext),
new LocaleDetector(reactContext),
new LogBridgeModule(reactContext),
new SplashScreenModule(reactContext),
@@ -241,6 +241,8 @@ class ReactInstanceManagerHolder {
options.videoDecoderFactory = new H264AndSoftwareVideoDecoderFactory(eglContext);
options.videoEncoderFactory = new H264AndSoftwareVideoEncoderFactory(eglContext);
options.enableMediaProjectionService = true;
// options.loggingSeverity = Logging.Severity.LS_INFO;
Log.d(TAG, "initializing RN with Activity");

View File

@@ -91,7 +91,7 @@ import {
setVideoMuted,
setVideoUnmutePermissions
} from './react/features/base/media/actions';
import { MEDIA_TYPE } from './react/features/base/media/constants';
import { MEDIA_TYPE, VIDEO_TYPE } from './react/features/base/media/constants';
import {
getStartWithAudioMuted,
getStartWithVideoMuted,
@@ -165,7 +165,6 @@ import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/Au
import { createRnnoiseProcessor } from './react/features/stream-effects/rnnoise';
import { handleToggleVideoMuted } from './react/features/toolbox/actions.any';
import { muteLocal } from './react/features/video-menu/actions.any';
import { iAmVisitor } from './react/features/visitors/functions';
import UIEvents from './service/UI/UIEvents';
const logger = Logger.getLogger(__filename);
@@ -405,7 +404,13 @@ function disconnect() {
* @returns {void}
*/
function setGUMPendingStateOnFailedTracks(tracks) {
const tracksTypes = tracks.map(track => track.getType());
const tracksTypes = tracks.map(track => {
if (track.getVideoType() === VIDEO_TYPE.DESKTOP) {
return MEDIA_TYPE.SCREENSHARE;
}
return track.getType();
});
const nonPendingTracks = [ MEDIA_TYPE.AUDIO, MEDIA_TYPE.VIDEO ].filter(type => !tracksTypes.includes(type));
APP.store.dispatch(gumPending(nonPendingTracks, IGUMPendingState.NONE));
@@ -679,6 +684,8 @@ export default {
startWithVideoMuted: getStartWithVideoMuted(state) || isUserInteractionRequiredForUnmute(state)
};
logger.debug(`Executed conference.init with roomName: ${roomName}`);
this.roomName = roomName;
try {
@@ -697,10 +704,6 @@ export default {
const handleInitialTracks = (options, tracks) => {
let localTracks = tracks;
// No local tracks are added when user joins as a visitor.
if (iAmVisitor(state)) {
return [];
}
if (options.startWithAudioMuted || room?.isStartAudioMuted()) {
// Always add the track on Safari because of a known issue where audio playout doesn't happen
// if the user joins audio and video muted, i.e., if there is no local media capture.
@@ -1253,7 +1256,24 @@ export default {
room = APP.connection.initJitsiConference(APP.conference.roomName, this._getConferenceOptions());
// Filter out the tracks that are muted (except on Safari).
const tracks = browser.isWebKitBased() ? localTracks : localTracks.filter(track => !track.isMuted());
let tracks = localTracks;
if (!browser.isWebKitBased()) {
const mutedTrackTypes = [];
tracks = localTracks.filter(track => {
if (!track.isMuted()) {
return true;
}
if (track.getVideoType() !== VIDEO_TYPE.DESKTOP) {
mutedTrackTypes.push(track.getType());
}
return false;
});
APP.store.dispatch(gumPending(mutedTrackTypes, IGUMPendingState.NONE));
}
this._setLocalAudioVideoStreams(tracks);
this._room = room; // FIXME do not use this
@@ -1317,12 +1337,11 @@ export default {
* @returns {Promise}
*/
useVideoStream(newTrack) {
const state = APP.store.getState();
logger.debug(`useVideoStream: ${newTrack}`);
return new Promise((resolve, reject) => {
_replaceLocalVideoTrackQueue.enqueue(onFinish => {
const state = APP.store.getState();
const oldTrack = getLocalJitsiVideoTrack(state);
logger.debug(`useVideoStream: Replacing ${oldTrack} with ${newTrack}`);

View File

@@ -59,6 +59,10 @@ var config = {
// https://github.com/jitsi/jitsi-meet/issues/7376
// focusUserJid: 'focus@auth.jitsi-meet.example.com',
// Option to send conference requests to jicofo over http (requires nginx rule for it)
// conferenceRequestUrl:
// 'https://<!--# echo var="http_host" default="jitsi-meet.example.com" -->/' + subdir + 'conference-request/v1',
// Options related to the bridge (colibri) data channel
bridgeChannel: {
// If the backend advertises multiple colibri websockets, this options allows
@@ -329,6 +333,8 @@ var config = {
// configuration for all things recording related. Existing settings will be migrated here in the future.
// recordings: {
// // IF true (default) recording audio and video is selected by default in the recording dialog.
// // recordAudioAndVideo: true,
// // If true, shows a notification at the start of the meeting with a call to action button
// // to start recording (for users who can do so).
// // suggestRecording: true,
@@ -650,7 +656,7 @@ var config = {
// // Whether to disable welcome page. In case it's disabled a random room
// // will be joined when no room is specified.
// disabled: false,
// // If set,landing page will redirect to this URL.
// // If set, landing page will redirect to this URL.
// customUrl: ''
// },
@@ -1300,6 +1306,8 @@ var config = {
// remoteVideoMenu: {
// // Whether the remote video context menu to be rendered or not.
// disabled: true,
// // If set to true the 'Switch to visitor' button will be disabled.
// disableDemote: 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.
@@ -1388,6 +1396,8 @@ var config = {
// Options related to the participants pane.
// participantsPane: {
// // Enables feature
// enabled: true,
// // Hides the moderator settings tab.
// hideModeratorSettingsTab: false,
// // Hides the more actions button.

View File

@@ -102,7 +102,7 @@
}
.usermessage {
color: red;
color: #ffffff;
padding: 0;
}
}

View File

@@ -150,6 +150,15 @@ server {
# alias /usr/share/jitsi-meet/load-test/libs/$1;
#}
location ~ ^/conference-request/v1(\/.*)?$ {
proxy_pass http://127.0.0.1:8888/conference-request/v1$1;
add_header "Cache-Control" "no-cache, no-store";
add_header 'Access-Control-Allow-Origin' '*';
}
location ~ ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ {
rewrite ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ /conference-request/v1$2;
}
location ~ ^/([^/?&:'"]+)$ {
set $roomname "$1";
try_files $uri @root_path;

0
eslint
View File

View File

@@ -453,7 +453,7 @@ PODS:
- react-native-video/Video (6.0.0-alpha.11):
- PromisesSwift
- React-Core
- react-native-webrtc (118.0.0):
- react-native-webrtc (118.0.6):
- JitsiWebRTC (~> 118.0.0)
- React-Core
- react-native-webview (13.5.1):
@@ -881,7 +881,7 @@ SPEC CHECKSUMS:
react-native-slider: 1cdd6ba29675df21f30544253bf7351d3c2d68c4
react-native-splash-screen: 4312f786b13a81b5169ef346d76d33bc0c6dc457
react-native-video: 472b7c366eaaaa0207e546d9a50410df89790bcf
react-native-webrtc: c8d9ad3c152105b2720ca2851d04b49659551992
react-native-webrtc: 4a9428c3ced472d3b08e1fbc4bfdc082692f2d5d
react-native-webview: 8baa0f5c6d336d6ba488e942bcadea5bf51f050a
React-NativeModulesApple: 4225ac31a26696c02c54b471052b3e85e74a9a0c
React-perflogger: cb433f318c6667060fc1f62e26eb58d6eb30a627

View File

@@ -17,7 +17,7 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>99.0.0</string>
<string>24.2.1</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>99.0.0</string>
<string>24.2.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>

View File

@@ -88,6 +88,10 @@
[self _onJitsiMeetViewDelegateEvent:@"CONFERENCE_WILL_JOIN" withData:data];
}
// - (void)customOverflowMenuButtonPressed:(NSDictionary *)data {
// [self _onJitsiMeetViewDelegateEvent:@"CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED" withData:data];
// }
#if 0
- (void)enterPictureInPicture:(NSDictionary *)data {
[self _onJitsiMeetViewDelegateEvent:@"ENTER_PICTURE_IN_PICTURE" withData:data];
@@ -98,6 +102,10 @@
[self _onJitsiMeetViewDelegateEvent:@"READY_TO_CLOSE" withData:data];
}
// - (void)transcriptionChunkReceived:(NSDictionary *)data {
// [self _onJitsiMeetViewDelegateEvent:@"TRANSCRIPTION_CHUNK_RECEIVED" withData:data];
// }
- (void)participantJoined:(NSDictionary *)data {
NSLog(@"%@%@", @"Participant joined: ", data[@"participantId"]);
}
@@ -130,6 +138,7 @@
NSLog(@"%@%@", @"Video muted changed: ", data[@"muted"]);
}
#pragma mark - Helpers
- (void)terminate {

View File

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

View File

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

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>compileBitcode</key>
<false/>
<key>method</key>
<string>development</string>
<key>signingStyle</key>
<string>automatic</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>YOUR_TEAM_ID</string>
<key>thinning</key>
<string>&lt;none&gt;</string>
</dict>
</plist>

View File

@@ -1,103 +0,0 @@
#!/bin/bash
set -e
# Mandatory arguments with no default values provided:
# PR_REPO_SLUG - the Github name of the repo to be merged into the origin/master
# PR_BRANCH - the branch to be merged, if set to "master" no merge will happen
# IPA_DEPLOY_LOCATION - the location understandable by the "scp" command
# executed at the end of the script to deploy the output .ipa file
# LIB_JITSI_MEET_PKG (optional) - the npm package for lib-jitsi-meet which will
# be put in place of the current version in the package.json file.
#
# Other than that the script requires the following env variables to be set:
#
# DEPLOY_SSH_CERT_URL - the SSH private key used by the 'scp' command to deploy
# the .ipa. It is expected to be encrypted with the $ENCRYPTION_PASSWORD.
# ENCRYPTION_PASSWORD - the password used to decrypt certificate/key files used
# in the script.
# IOS_TEAM_ID - the team ID inserted into build-ipa-.plist.template file in
# place of "YOUR_TEAM_ID".
function echoAndExit1() {
echo $1
exit 1
}
if [ -z $PR_REPO_SLUG ]; then
echoAndExit1 "No PR_REPO_SLUG defined"
fi
if [ -z $PR_BRANCH ]; then
echoAndExit1 "No PR_BRANCH defined"
fi
if [ -z $IPA_DEPLOY_LOCATION ]; then
echoAndExit1 "No IPA_DEPLOY_LOCATION defined"
fi
echo "PR_REPO_SLUG=${PR_REPO_SLUG} PR_BRANCH=${PR_BRANCH}"
# do the merge and git log
if [ $PR_BRANCH != "master" ]; then
echo "Will merge ${PR_REPO_SLUG}/${PR_BRANCH} into master"
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin master
git checkout master
git pull https://github.com/${PR_REPO_SLUG}.git $PR_BRANCH --no-edit
fi
# Link this lib-jitsi-meet checkout in jitsi-meet through the package.json
if [ ! -z ${LIB_JITSI_MEET_PKG} ];
then
echo "Adjusting lib-jitsi-meet package in package.json to ${LIB_JITSI_MEET_PKG}"
# escape for the sed
LIB_JITSI_MEET_PKG=$(echo $LIB_JITSI_MEET_PKG | sed -e 's/\\/\\\\/g; s/\//\\\//g; s/&/\\\&/g')
sed -i.bak -e "s/\"lib-jitsi-meet.*/\"lib-jitsi-meet\"\: \"${LIB_JITSI_MEET_PKG}\",/g" package.json
echo "Package.json lib-jitsi-meet line:"
grep lib-jitsi-meet package.json
else
echo "LIB_JITSI_MEET_PKG var not set - will not modify the package.json"
fi
git log -20 --graph --pretty=format':%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset'
# certificates
CERT_DIR="ios/ci/certs"
mkdir -p $CERT_DIR
curl -L -o ${CERT_DIR}/id_rsa.enc ${DEPLOY_SSH_CERT_URL}
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/id_rsa.enc -d -a -out ${CERT_DIR}/id_rsa
chmod 0600 ${CERT_DIR}/id_rsa
ssh-add ${CERT_DIR}/id_rsa
npm install
# Ever since the Apple Watch app has been added the bitcode for WebRTC needs to be downloaded in order to build successfully
./node_modules/react-native-webrtc/tools/downloadBitcode.sh
cd ios
pod install --repo-update --no-ansi
cd ..
mkdir -p /tmp/jitsi-meet/
xcodebuild archive -quiet -workspace ios/jitsi-meet.xcworkspace -scheme jitsi-meet -configuration Release -archivePath /tmp/jitsi-meet/jitsi-meet.xcarchive
sed -e "s/YOUR_TEAM_ID/${IOS_TEAM_ID}/g" ios/ci/build-ipa.plist.template > ios/ci/build-ipa.plist
IPA_EXPORT_DIR=/tmp/jitsi-meet/jitsi-meet-ipa
xcodebuild -quiet -exportArchive -archivePath /tmp/jitsi-meet/jitsi-meet.xcarchive -exportPath $IPA_EXPORT_DIR -exportOptionsPlist ios/ci/build-ipa.plist
echo "Will try deploy the .ipa to: ${IPA_DEPLOY_LOCATION}"
if [ ! -z ${SCP_PROXY_HOST} ];
then
scp -o ProxyCommand="ssh -t -A -l %r ${SCP_PROXY_HOST} -o \"StrictHostKeyChecking no\" -o \"BatchMode yes\" -W %h:%p" -o StrictHostKeyChecking=no -o LogLevel=DEBUG "${IPA_EXPORT_DIR}/jitsi-meet.ipa" "${IPA_DEPLOY_LOCATION}"
else
scp -o StrictHostKeyChecking=no -o LogLevel=DEBUG "${IPA_EXPORT_DIR}/jitsi-meet.ipa" "${IPA_DEPLOY_LOCATION}"
fi
rm -r /tmp/jitsi-meet/
rm -r $CERT_DIR

View File

@@ -1,100 +0,0 @@
# The script is based on tutorial written by Antonis Tsakiridis published at:
# https://medium.com/@atsakiridis/continuous-deployment-for-ios-using-travis-ci-55dcea342d9
#
# APPLE_CERT_URL - the URL pointing to Apple certificate (set to
# http://developer.apple.com/certificationauthority/AppleWWDRCA.cer by default)
# DEPLOY_SSH_CERT_URL - the SSH private key used by the 'scp' command to deploy
# the .ipa. It is expected to be encrypted with the $ENCRYPTION_PASSWORD.
# ENCRYPTION_PASSWORD - the password used to decrypt certificate/key files used
# in the script.
# IOS_DEV_CERT_KEY_URL - URL pointing to provisioning profile certificate key
# file (development-key.p12.enc from the tutorial) encrypted with the
# $ENCRYPTION_PASSWORD.
# IOS_DEV_CERT_URL - URL pointing to provisioning profile certificate file
# (development-cert.cer.enc from the tutorial) encrypted with the
# $ENCRYPTION_PASSWORD.
# IOS_DEV_PROV_PROFILE_URL - URL pointing to provisioning profile file
# (profile-development-olympus.mobileprovision.enc from the tutorial) encrypted
# IOS_DEV_WATCH_PROV_PROFILE_URL - URL pointing to watch app provisioning profile file(encrypted).
# with the $ENCRYPTION_PASSWORD.
# IOS_SIGNING_CERT_PASSWORD - the password to the provisioning profile
# certificate key (used to open development-key.p12 from the tutorial).
function echoAndExit1() {
echo $1
exit 1
}
CERT_DIR=$1
if [ -z $CERT_DIR ]; then
echoAndExit1 "First argument must be certificates directory"
fi
if [ -z $APPLE_CERT_URL ]; then
APPLE_CERT_URL="http://developer.apple.com/certificationauthority/AppleWWDRCA.cer"
fi
if [ -z $DEPLOY_SSH_CERT_URL ]; then
echoAndExit1 "DEPLOY_SSH_CERT_URL env var is not defined"
fi
if [ -z $ENCRYPTION_PASSWORD ]; then
echoAndExit1 "ENCRYPTION_PASSWORD env var is not defined"
fi
if [ -z $IOS_DEV_CERT_KEY_URL ]; then
echoAndExit1 "IOS_DEV_CERT_KEY_URL env var is not defined"
fi
if [ -z $IOS_DEV_CERT_URL ]; then
echoAndExit1 "IOS_DEV_CERT_URL env var is not defined"
fi
if [ -z $IOS_DEV_PROV_PROFILE_URL ]; then
echoAndExit1 "IOS_DEV_PROV_PROFILE_URL env var is not defined"
fi
if [ -z $IOS_DEV_WATCH_PROV_PROFILE_URL ]; then
echoAndExit1 "IOS_DEV_WATCH_PROV_PROFILE_URL env var is not defined"
fi
if [ -z $IOS_SIGNING_CERT_PASSWORD ]; then
echoAndExit1 "IOS_SIGNING_CERT_PASSWORD env var is not defined"
fi
# certificates
curl -L -o ${CERT_DIR}/AppleWWDRCA.cer 'http://developer.apple.com/certificationauthority/AppleWWDRCA.cer'
curl -L -o ${CERT_DIR}/dev-cert.cer.enc ${IOS_DEV_CERT_URL}
curl -L -o ${CERT_DIR}/dev-key.p12.enc ${IOS_DEV_CERT_KEY_URL}
curl -L -o ${CERT_DIR}/dev-profile.mobileprovision.enc ${IOS_DEV_PROV_PROFILE_URL}
curl -L -o ${CERT_DIR}/dev-watch-profile.mobileprovision.enc ${IOS_DEV_WATCH_PROV_PROFILE_URL}
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-cert.cer.enc -d -a -out ${CERT_DIR}/dev-cert.cer
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-key.p12.enc -d -a -out ${CERT_DIR}/dev-key.p12
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-profile.mobileprovision.enc -d -a -out ${CERT_DIR}/dev-profile.mobileprovision
openssl aes-256-cbc -k "$ENCRYPTION_PASSWORD" -in ${CERT_DIR}/dev-watch-profile.mobileprovision.enc -d -a -out ${CERT_DIR}/dev-watch-profile.mobileprovision
security create-keychain -p $ENCRYPTION_PASSWORD ios-build.keychain
security default-keychain -s ios-build.keychain
security unlock-keychain -p $ENCRYPTION_PASSWORD ios-build.keychain
security set-keychain-settings -t 3600 -l ~/Library/Keychains/ios-build.keychain
echo "importing Apple cert"
security import ${CERT_DIR}/AppleWWDRCA.cer -k ios-build.keychain -A
echo "importing dev-cert.cer"
security import ${CERT_DIR}/dev-cert.cer -k ios-build.keychain -A
echo "importing dev-key.p12"
security import ${CERT_DIR}/dev-key.p12 -k ios-build.keychain -P $IOS_SIGNING_CERT_PASSWORD -A
echo "will set-key-partition-list"
# Fix for OS X Sierra that hangs in the codesign step
security set-key-partition-list -S apple-tool:,apple: -s -k $ENCRYPTION_PASSWORD ios-build.keychain > /dev/null
echo "done set-key-partition-list"
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp "${CERT_DIR}/dev-profile.mobileprovision" ~/Library/MobileDevice/Provisioning\ Profiles/
cp "${CERT_DIR}/dev-watch-profile.mobileprovision" ~/Library/MobileDevice/Provisioning\ Profiles/

View File

@@ -629,7 +629,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "export NODE_BINARY=node\nexport NODE_ARGS=\"--max_old_space_size=4096\"\n../../node_modules/react-native/scripts/react-native-xcode.sh\n";
shellScript = "WITH_ENVIRONMENT=\"../../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
};
DE9A016B289A9A9A00E41CBB /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;

View File

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

View File

@@ -26,7 +26,7 @@
@property (nonatomic, nullable, weak) id<JitsiMeetViewDelegate> delegate;
/**
* Joins the conference specified by the given options. The gievn options will
* Joins the conference specified by the given options. The given options will
* be merged with the defaultConferenceOptions (if set) in JitsiMeet. If there
* is an already active conference it will be automatically left prior to
* joining the new one.

View File

@@ -116,4 +116,18 @@
*/
- (void)readyToClose:(NSDictionary *)data;
/**
* Called when the transcription chunk was received.
*
* The `data` dictionary contains a `messageID`, `language`, `participant` key.
*/
- (void)transcriptionChunkReceived:(NSDictionary *)data;
/**
* Called when the custom overflow menu button is pressed.
*
* The `data` dictionary contains a `id`, `text` key.
*/
- (void)customOverflowMenuButtonPressed:(NSDictionary *)data;
@end

View File

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

View File

@@ -432,6 +432,11 @@
},
"passwordDigitsOnly": "",
"passwordSetRemotely": "",
"polls": {
"errors": {
"notUniqueOption": "Opsies moet uniek wees"
}
},
"poweredby": "aangedryf deur",
"presenceStatus": {
"busy": "Besig",

View File

@@ -765,6 +765,9 @@
"removeOption": "إزالة خيار",
"send": "أرسل"
},
"errors": {
"notUniqueOption": "يجب أن تكون الخيارات فريدة"
},
"notification": {
"description": "افتح علامة تبويب الاقتراع للتصويت",
"title": "تمت إضافة اقتراع جديد إلى هذا المُلتقى"

View File

@@ -478,6 +478,11 @@
},
"passwordDigitsOnly": "Да {{number}} лічбаў",
"passwordSetRemotely": "устаноўлены іншым удзельнікам",
"polls": {
"errors": {
"notUniqueOption": "Варыянты павінны быць унікальнымі"
}
},
"poweredby": "працуе на",
"presenceStatus": {
"busy": "Заняты",

View File

@@ -527,6 +527,11 @@
},
"passwordDigitsOnly": "До {{number}} цифри",
"passwordSetRemotely": "зададена от друг участник",
"polls": {
"errors": {
"notUniqueOption": "Опциите трябва да са уникални"
}
},
"poweredby": "с подкрепата на",
"presenceStatus": {
"busy": "Зает",

View File

@@ -772,6 +772,9 @@
"removeOption": "Elimina l'opció",
"send": "Envia"
},
"errors": {
"notUniqueOption": "Les opcions han de ser úniques"
},
"notification": {
"description": "Obre la pestanya de les enquestes per a votar",
"title": "S'ha afegit una nova enquesta en aquesta reunió"

View File

@@ -747,6 +747,9 @@
"removeOption": "",
"send": ""
},
"errors": {
"notUniqueOption": "Možnosti musí být jedinečné"
},
"notification": {
"description": "",
"title": ""

View File

@@ -464,6 +464,11 @@
},
"passwordDigitsOnly": "Op til {{number}} tal",
"passwordSetRemotely": "Sat af et andet medlem",
"polls": {
"errors": {
"notUniqueOption": "Valgmulighederne skal være unikke"
}
},
"poweredby": "Powered by",
"presenceStatus": {
"busy": "Optaget",

View File

@@ -867,6 +867,9 @@
"removeOption": "Antwort entfernen",
"send": "Erstellen"
},
"errors": {
"notUniqueOption": "Optionen müssen einzigartig sein"
},
"notification": {
"description": "Öffnen Sie das Umfragen-Tab um abzustimmen",
"title": "Dieser Konferenz wurde eine Umfrage hinzugefügt"

View File

@@ -775,6 +775,9 @@
"removeOption": "wótegrono wulašowaś",
"send": "wótpósłaś"
},
"errors": {
"notUniqueOption": "Opcije musy byś jedynsće"
},
"notification": {
"description": "Wótcyńśo kórtu wopšašowanjow, aby zgłosowali",
"title": "Za tu konferencu jo nowe wopšašowanje pśigótowane"

View File

@@ -792,6 +792,9 @@
"removeOption": "Αφαιρέστε την επιλογή",
"send": "Αποστολή"
},
"errors": {
"notUniqueOption": "Οι επιλογές πρέπει να είναι μοναδικές"
},
"notification": {
"description": "Ανοίξτε τη σελίδα ψηφοφοριών για να ψηφίσετε",
"title": "Μια νέα ψηφοφορία προστέθηκε στη σύσκεψη"

View File

@@ -864,6 +864,9 @@
"removeOption": "Forigi opcion",
"send": "Sendu"
},
"errors": {
"notUniqueOption": "Ebloj devas esti unikaj"
},
"notification": {
"description": "Malfermu la enketan langeton por voĉdoni",
"title": "Oni aldonis novan enketon en la kunveno"

View File

@@ -815,6 +815,9 @@
"removeOption": "Eliminar la opción",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "Las opciones deben ser únicas"
},
"notification": {
"description": "Abre la pestaña de encuestas para votar",
"title": "Se ha añadido una nueva encuesta a esta reunión"

View File

@@ -691,6 +691,9 @@
"removeOption": "Eliminar la opción",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "Las opciones deben ser únicas"
},
"notification": {
"description": "Abre la pestaña de encuestas para votar",
"title": "Se ha añadido una nueva encuesta a esta reunión"

View File

@@ -467,6 +467,11 @@
},
"passwordDigitsOnly": "Kuni {{number}} tähemärki",
"passwordSetRemotely": "määratud teise kasutaja poolt",
"polls": {
"errors": {
"notUniqueOption": "Valikud peavad olema ainulaadsed"
}
},
"poweredby": "teieni toodud",
"presenceStatus": {
"busy": "Hõivatud",

View File

@@ -588,6 +588,11 @@
},
"passwordDigitsOnly": "{{number}} digitu arte",
"passwordSetRemotely": "beste parte-hartzaile batek ezarrita",
"polls": {
"errors": {
"notUniqueOption": "Aukerak bakarrak izan behar dira"
}
},
"poweredby": "garatzailea:",
"prejoin": {
"audioAndVideoError": "Errorea audio eta bideoan:",

View File

@@ -823,6 +823,9 @@
"removeOption": "حذف گزینه",
"send": "ارسال"
},
"errors": {
"notUniqueOption": "گزینه ها باید منحصر به فرد باشند"
},
"notification": {
"description": "برای رأی‌دادن، زبانهٔ نظرسنجی‌ها را باز کنید",
"title": "نظرسنجی جدیدی به این جلسه اضافه شد"

View File

@@ -438,6 +438,11 @@
},
"passwordDigitsOnly": "",
"passwordSetRemotely": "",
"polls": {
"errors": {
"notUniqueOption": "Vaihtoehtojen on oltava ainutlaatuisia"
}
},
"poweredby": "tukija:",
"presenceStatus": {
"busy": "Varattu",

View File

@@ -865,6 +865,9 @@
"removeOption": "Supprimer l'option",
"send": "Envoyer"
},
"errors": {
"notUniqueOption": "Les options doivent être uniques"
},
"notification": {
"description": "Ouvrez l'onglet des sondages pour voter",
"title": "Un nouveau sondage a été ajouté à la réunion"

View File

@@ -449,6 +449,11 @@
},
"passwordDigitsOnly": "Jusqu'à {{number}} chiffres",
"passwordSetRemotely": "réglé par un autre membre",
"polls": {
"errors": {
"notUniqueOption": "Les options doivent être uniques"
}
},
"poweredby": "optimisé par",
"presenceStatus": {
"busy": "Occupé",

View File

@@ -454,6 +454,11 @@
},
"passwordDigitsOnly": "Ata {{number}} díxitos",
"passwordSetRemotely": "estabelecida por outro participante",
"polls": {
"errors": {
"notUniqueOption": "As opcións deben ser únicas"
}
},
"poweredby": "fornecido por",
"presenceStatus": {
"busy": "Ocupado",

View File

@@ -477,6 +477,11 @@
},
"passwordDigitsOnly": "עד {{number}} ספרות",
"passwordSetRemotely": "נקבע על ידי חבר אחר",
"polls": {
"errors": {
"notUniqueOption": "האפשרויות חייבות להיות ייחודיות"
}
},
"poweredby": "מופעל על ידי",
"presenceStatus": {
"busy": "עסוק",

View File

@@ -298,7 +298,7 @@
"screenSharingFailed": "उफ़! कुछ गड़बड़ हो गई, हम स्क्रीन शेयरिंग शुरू करने में सक्षम नहीं थे!",
"screenSharingFailedTitle": "Screen sharing failed!",
"screenSharingPermissionDeniedError": "उफ़! आपकी स्क्रीन शेयरिंग अनुमतियों में कुछ गड़बड़ हो गई है। कृपया पुनः लोड करें और पुनः प्रयास करें।",
"sendPrivateMessage": "You recently received a private message. Did you intend to reply to that privately, or you want to send your message to the group?",
"sendPrivateMessage": "आपने हाल ही में एक निजी संदेश प्राप्त किया है। क्या आप उसका निजी रूप से जवाब देने का इरादा रखते हैं? या आप अपना संदेश समूह को भेजना चाहते हैं?",
"sendPrivateMessageCancel": "समूह को भेजें",
"sendPrivateMessageOk": "निजी तौर पर भेजें",
"sendPrivateMessageTitle": "निजी तौर पर भेजें?",
@@ -552,10 +552,10 @@
"somebody": "Somebody",
"startSilentDescription": "ऑडियो सक्षम करने के लिए मीटिंग को फिर से करें",
"startSilentTitle": "आप बिना ऑडियो आउटपुट के साथ शामिल हुए!",
"suboptimalBrowserWarning": "We are afraid your meeting experience isn't going to be that great here. We are looking for ways to improve this, but until then please try using one of the <a href='{{recommendedBrowserPageLink}}' target='_blank'>fully supported browsers</a>.",
"suboptimalBrowserWarning": "हमें डर है कि आपकी मीटिंग अनुभव यहाँ बहुत अच्छा नहीं होने वाला है। हम इसे सुधारने के तरीके ढूंढ़ रहे हैं, लेकिन उस समय तक कृपया <a href='{{recommendedBrowserPageLink}}' target='_blank'>पूरी तरह से समर्थित ब्राउज़र</a> में से एक का प्रयास करें",
"suboptimalExperienceTitle": "ब्राउज़र चेतावनी",
"unmute": "अनम्यूट",
"videoMutedRemotelyDescription": "You can always turn it on again.",
"videoMutedRemotelyDescription": "आप इसे हमेशा फिर से चालू कर सकते हैं।",
"videoMutedRemotelyTitle": "आपका कैमरा {{participantDisplayName}}द्वारा अक्षम कर दिया गया है!"
},
"participantsPane": {
@@ -565,6 +565,11 @@
},
"passwordDigitsOnly": "Up to {{number}} digits",
"passwordSetRemotely": "दूसरे प्रतिभागी द्वारा निर्धारित",
"polls": {
"errors": {
"notUniqueOption": "विकल्प अद्वितीय होना चाहिए"
}
},
"poweredby": "powered by",
"prejoin": {
"audioAndVideoError": "ऑडियो और वीडियो त्रुटि:",
@@ -649,12 +654,12 @@
"availableSpace": "Available space: {{spaceLeft}} MB (approximately {{duration}} minutes of recording)",
"beta": "BETA",
"busy": "We're working on freeing recording resources. Please try again in a few minutes.",
"busyTitle": "All recorders are currently busy",
"error": "Recording failed. Please try again.",
"expandedOff": "Recording has stopped",
"busyTitle": "सभी रिकॉर्डर अभी व्यस्त हैं",
"error": "रिकॉर्डिंग विफल हुई। कृपया पुन: प्रयास करें।",
"expandedOff": "रिकॉर्डिंग बंद हो गई है",
"expandedOn": "The meeting is currently being recorded.",
"expandedPending": "Recording is being started...",
"failedToStart": "Recording failed to start",
"expandedPending": "रिकॉर्डिंग शुरू की जा रही है...",
"failedToStart": "रिकॉर्डिंग शुरू करने में विफलता हुई।",
"fileSharingdescription": "Share recording with meeting participants",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
@@ -672,16 +677,16 @@
"signIn": "Sign in",
"signOut": "Sign out",
"title": "रिकॉर्डिंग",
"unavailable": "Oops! The {{serviceName}} is currently unavailable. We're working on resolving the issue. Please try again later.",
"unavailableTitle": "Recording unavailable"
"unavailable": "ओह! {{serviceName}} वर्तमान में अनुपलब्ध है। हम समस्या को हल करने पर काम कर रहे हैं। कृपया बाद में पुनः प्रयास करें।",
"unavailableTitle": "रिकॉर्डिंग उपलब्ध नहीं है"
},
"sectionList": {
"pullToRefresh": "Pull to refresh"
},
"security": {
"about": "You can add a $t(lockRoomPassword) to your meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"about": "आप अपनी मीटिंग में $t(lockRoomPassword) जोड़ सकते हैं। सहभागियों को मीटिंग में शामिल होने से पहले $t(lockRoomPassword) प्रदान करना होगा।",
"aboutReadOnly": "Moderator participants can add a $t(lockRoomPassword) to the meeting. Participants will need to provide the $t(lockRoomPassword) before they are allowed to join the meeting.",
"insecureRoomNameWarning": "The room name is unsafe. Unwanted participants may join your conference. Consider securing your meeting using the security button.",
"insecureRoomNameWarning": "कमरे का नाम असुरक्षित है। अनचाहे सहभागियों की कॉन्फ्रेंस में शामिल हो सकते हैं। सुरक्षा बटन का उपयोग करके अपनी मीटिंग को सुरक्षित बनाने का विचार करें। ",
"securityOptions": "Security options"
},
"settings": {
@@ -881,26 +886,26 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"chromeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"edgeGrantPermissions": "Select <b><i>Yes</i></b> when your browser asks for permissions.",
"electronGrantPermissions": "Trying to access your camera and microphone",
"firefoxGrantPermissions": "Select <b><i>Share Selected Device</i></b> when your browser asks for permissions.",
"iexplorerGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions.",
"nwjsGrantPermissions": "Please grant permissions to use your camera and microphone",
"operaGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"react-nativeGrantPermissions": "Select <b><i>Allow</i></b> when your browser asks for permissions.",
"safariGrantPermissions": "Select <b><i>OK</i></b> when your browser asks for permissions."
"androidGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>अनुमति दें</i></b> चुनें।",
"chromeGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>अनुमति दें</i></b> चुनें।",
"edgeGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>हां</i></b> चुनें।",
"electronGrantPermissions": "आपका कैमरा और माइक्रोफोन तक पहुंच करने की कोशिश की जा रही है",
"firefoxGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>चयनित उपकरण साझा करें</i></b> चुनें।",
"iexplorerGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>ठीक है</i></b> चुनें।",
"nwjsGrantPermissions": "कृपया अपने कैमरा और माइक्रोफोन का उपयोग करने के लिए अनुमतियाँ प्रदान करें",
"operaGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>अनुमति दें</i></b> चुनें।",
"react-nativeGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>अनुमति दें</i></b> चुनें।",
"safariGrantPermissions": "जब आपका ब्राउज़र स्वीकृति मांगता है, तो <b><i>ठीक है</i></b> चुनें।"
},
"videoSIPGW": {
"busy": "We're working on freeing resources. Please try again in a few minutes.",
"busyTitle": "The Room service is currently busy",
"errorAlreadyInvited": "{{displayName}} already invited",
"errorInvite": "Conference not established yet. Please try again later.",
"errorInviteFailed": "We're working on resolving the issue. Please try again later.",
"errorInviteFailedTitle": "Inviting {{displayName}} failed",
"errorInviteTitle": "Error inviting room",
"pending": "{{displayName}} has been invited"
"busy": "हम संसाधनों को मुक्त करने पर काम कर रहे हैं। कृपया कुछ मिनटों बाद पुन: प्रयास करें।",
"busyTitle": "रूम सेवा वर्तमान में व्यस्त है",
"errorAlreadyInvited": "{{displayName}} पहले से ही आमंत्रित हैं",
"errorInvite": "कॉन्फ़्रेंस अब तक स्थापित नहीं हुई है। कृपया बाद में पुनः प्रयास करें।",
"errorInviteFailed": "हम समस्या को हल करने पर काम कर रहे हैं। कृपया बाद में पुनः प्रयास करें।",
"errorInviteFailedTitle": "{{displayName}} को आमंत्रित करने में विफलता",
"errorInviteTitle": "रूम आमंत्रण में त्रुटि",
"pending": "{{displayName}} को आमंत्रित किया गया है"
},
"videoStatus": {
"audioOnly": "AUD",
@@ -923,10 +928,10 @@
"domute": "म्यूट",
"domuteOthers": "सभी को म्यूट करें",
"domuteVideo": "कैमरा अक्षम करें",
"domuteVideoOfOthers": "Disable camera of everyone else",
"domuteVideoOfOthers": "अन्य सभी के लिए कैमरा बंद करें",
"flip": "Flip",
"grantModerator": "Grant Moderator",
"kick": "Kick out",
"kick": "निकालें",
"moderator": "Moderator",
"mute": "प्रतिभागी मौन है",
"muted": "म्यूटेड",
@@ -945,8 +950,8 @@
},
"welcomepage": {
"accessibilityLabel": {
"join": "Tap to join",
"roomname": "Enter room name"
"join": "शामिल होने के लिए टैप करें",
"roomname": "कमरे का नाम लिखे"
},
"appDescription": "आगे बढ़ो, पूरी टीम के साथ वीडियो चैट करें। वास्तव में, हर किसी को जिसे आप जानते हैं, आमंत्रित करें। { {{app}} एक पूरी तरह से एन्क्रिप्टेड, 100% ओपन सोर्स वीडियो कॉन्फ्रेंसिंग समाधान है जिसका आप मुफ्त में - बिना किसी खाते की आवश्यकता के पूरे दिन, हर दिन, उपयोग कर सकते हैं।",
"audioVideoSwitch": {

View File

@@ -770,6 +770,9 @@
"removeOption": "Ukloni opciju",
"send": "Pošalji"
},
"errors": {
"notUniqueOption": "Opcije moraju biti jedinstvene"
},
"notification": {
"description": "Za glasanje otvori karticu ankete",
"title": "Ovom sastanku je dodana nova anketa"

View File

@@ -755,6 +755,9 @@
"removeOption": "wotmołwu wotstronić",
"send": "zestajić"
},
"errors": {
"notUniqueOption": "opcije dyrbja jasne być"
},
"notification": {
"description": "Za wobdźělenje wočińće tab za naprašowanje.",
"title": "Tutej konferency bu naprašowanje přidate."

View File

@@ -623,6 +623,9 @@
"removeOption": "Opció eltávolítása",
"send": "Küldés"
},
"errors": {
"notUniqueOption": "Az opcióknak egyedinek kell lenniük"
},
"notification": {
"description": "Szavazás megnyitása",
"title": "Új szavazás létrehozva"

View File

@@ -427,6 +427,11 @@
},
"passwordDigitsOnly": "",
"passwordSetRemotely": "Սահմանվել է մեկ այլ մասնակցի կողմից",
"polls": {
"errors": {
"notUniqueOption": "Ընտրանքները պետք է լինեն եզակի"
}
},
"poweredby": "Հիմնված է",
"presenceStatus": {
"busy": "",

View File

@@ -865,6 +865,9 @@
"removeOption": "Fjarlægja valkost",
"send": "Senda"
},
"errors": {
"notUniqueOption": "Valkostir hljóta að vera einstök"
},
"notification": {
"description": "Opnaðu könnunarflipann til að greiða atkvæði",
"title": "Nýrri könnun var bætt á þennan fund"

View File

@@ -770,6 +770,9 @@
"removeOption": "Elimina risposta",
"send": "Invia"
},
"errors": {
"notUniqueOption": "Le opzioni devono essere uniche"
},
"notification": {
"description": "Apri la scheda sondaggi per votare",
"title": "Un nuovo sondaggio è stato aggiunto alla riunione"

View File

@@ -715,6 +715,9 @@
"removeOption": "選択肢の削除",
"send": "送信"
},
"errors": {
"notUniqueOption": "オプションは一意でなければなりません"
},
"notification": {
"description": "投票するには投票タブを開いてください",
"title": "新しい投票がこのミーティングに追加されました"

View File

@@ -667,6 +667,9 @@
"removeOption": "Kkes aɣewwaṛ",
"send": "Azen"
},
"errors": {
"notUniqueOption": "tifranin ilaq ad ilin d imaynuten"
},
"notification": {
"description": "Ldi iccer n yisenqad i ufran",
"title": "Asenqed amaynut yettwarna ɣer temlilt-a"

View File

@@ -497,6 +497,11 @@
},
"passwordDigitsOnly": "최대 {{number}} 자리",
"passwordSetRemotely": "다른 참가자가 설정",
"polls": {
"errors": {
"notUniqueOption": "옵션은 고유해야합니다"
}
},
"poweredby": "powered by",
"presenceStatus": {
"busy": "바쁨",

View File

@@ -467,6 +467,11 @@
},
"passwordDigitsOnly": "Daugiausia {{number}} skaičių",
"passwordSetRemotely": "nustatytas kito naudotojo",
"polls": {
"errors": {
"notUniqueOption": "Parinktys turi būti unikalios"
}
},
"poweredby": "pateikiamas",
"presenceStatus": {
"busy": "Užimtas",

View File

@@ -305,6 +305,8 @@
"contactSupport": "Sazinieties ar atbalsta dienestu",
"copied": "Nokopēts",
"copy": "Kopēt",
"demoteParticipantDialog": "Vai tiešām vēlaties pārveidot šo dalībnieku par apmeklētāju?",
"demoteParticipantTitle": "Pārveidot par apmeklētāju",
"dismiss": "Noraidīt",
"displayNameRequired": "Sveiki! Kā jūs sauc?",
"done": "Darīts",
@@ -450,7 +452,7 @@
"stopRecordingWarning": "Tiešām vēlaties beigt ierakstu?",
"stopStreamingWarning": "Tiešām vēlaties beigt tiešraidi?",
"streamKey": "Tiešraides atslēga",
"thankYou": "Paldies, ka izmantojat {{appName}}!",
"thankYou": "Paldies, ka izmantojāt {{appName}}!",
"token": "tokens",
"tokenAuthFailed": "Atvainojiet, jums nav atļauts pievienoties šim zvanam.",
"tokenAuthFailedReason": {
@@ -560,6 +562,7 @@
"noNumbers": "Nav iezvana #.",
"noPassword": "bez paroles",
"noRoom": "Iezvana numuram nav piesaistīta neviena sapulces telpa.",
"noWhiteboard": "Nevarēja ielādēt tāfeli.",
"numbers": "Iezvana numuri",
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Jūs esat sasniedzis sava plāna limitu.",
@@ -567,7 +570,8 @@
"sipAudioOnly": "Tikai SIP audio adrese",
"title": "Kopīgot",
"tooltip": "Kopīgot šīs sapulces saiti un iezvana # informāciju",
"upgradeOptions": "Lūdzu, pārbaudiet jaunināšanas opcijas"
"upgradeOptions": "Lūdzu, ieslēdziet jaunināšanas iespējas",
"whiteboardError": "Kļūda ielādējot tāfeli. Lūdzu, mēģiniet vēlreiz."
},
"inlineDialogFailure": {
"msg": "Neliels misēklis.",
@@ -802,12 +806,16 @@
"startSilentTitle": "Jūs esiet nedzirdams!",
"suboptimalBrowserWarning": "Diemžēl jūsu pārlūks pilnībā neatbalsta šo virtuālo sapulču sistēmu. Pie tā tiek strādāts, bet šobrīd tiek ieteikts izmantot <a href='{{recommendedBrowserPageLink}}' target='_blank'> šos pārlūkus</a>.",
"suboptimalExperienceTitle": "Diemžēl jūsu pārlūks, iespējams, var pienācīgi nestrādāt ar {{appName}}. Pie tā tiek strādāts, bet šobrīd tiek ieteikts izmantot kādu no <a href='{{recommendedBrowserPageLink}} 'target='_blank'>pilnībā atbalstītajiem pārlūkiem</a>.",
"suggestRecordingAction": "Sākt",
"suggestRecordingDescription": "Vai vēlaties sākt ierakstīšanu?",
"suggestRecordingTitle": "Ierakstīt sanāksmi",
"unmute": "Ieslēgt mikrofonu",
"videoMutedRemotelyDescription": "Jūs vienmēr varat to atkal ieslēgt.",
"videoMutedRemotelyTitle": "{{participantDisplayName}} izslēdza jūsu video",
"videoUnmuteBlockedDescription": "Kameras ieslēgšanas un darbvirsmas koplietošanas darbība ir īslaicīgi bloķēta sistēmas ierobežojumu dēļ.",
"videoUnmuteBlockedTitle": "Kameras ieslēgšana un darbvirsmas koplietošana ir bloķēta!",
"viewLobby": "Skatīt vestibilu",
"viewVisitors": "Skatīt apmeklētājus",
"waitingParticipants": "{{waitingParticipants}} personas",
"whiteboardLimitDescription": "Lūdzu, saglabājiet savu progresu, jo drīz tiks sasniegts lietotāju limits un tāfele tiks aizvērta.",
"whiteboardLimitTitle": "Tāfeles lietošana"
@@ -867,6 +875,9 @@
"removeOption": "Noņemt opciju",
"send": "Nosūtīt"
},
"errors": {
"notUniqueOption": "Iespējām jābūt unikālām"
},
"notification": {
"description": "Lai balsotu, atveriet aptauju cilni",
"title": "Šai sapulcei tika pievienota jauna aptauja"
@@ -934,6 +945,7 @@
"or": "vai",
"premeeting": "Pirms sapulces",
"proceedAnyway": "Tik un tā turpināt",
"recordingWarning": "Citi dalībnieki var ierakstīt šo zvanu",
"screenSharingError": "Ekrāna koplietošanas kļūda:",
"showScreen": "Iespējot ekrānu pirms sapulces",
"startWithPhone": "Sākt ar tālruņa audio",
@@ -1391,7 +1403,7 @@
},
"videoStatus": {
"adjustFor": "Pielāgot:",
"audioOnly": "Tikai skaņu",
"audioOnly": "Tikai skaņa",
"audioOnlyExpanded": "Kanāla/trafika taupīšanas režīms. Šajā režīmā pieejami tikai audio un ekrāna kopīgošana",
"bestPerformance": "Labākais sniegums",
"callQuality": "Video kvalitāte",
@@ -1413,6 +1425,7 @@
},
"videothumbnail": {
"connectionInfo": "Informācija par savienojumu",
"demote": "Pārveidot par apmeklētāju",
"domute": "Izlsēgt skaņu",
"domuteOthers": "Izslēgt skaņu visiem pārējiem",
"domuteVideo": "Izslēgt kameru",
@@ -1467,7 +1480,8 @@
"chatIndicator": "(apmeklētājs)",
"labelTooltip": "Apmeklētāju skaits: {{count}}",
"notification": {
"description": "Lai piedalītos, pacel roku",
"demoteDescription": "{{actor}} pārveidoja par apmeklētāju, paceliet roku, lai piedalītos",
"description": "Paceliet roku, lai piedalītos",
"title": "Jūs esat sapulces apmeklētājs"
}
},
@@ -1527,6 +1541,7 @@
"whiteboard": {
"accessibilityLabel": {
"heading": "Tāfele"
}
},
"screenTitle": "Tāfele"
}
}

View File

@@ -545,6 +545,11 @@
},
"passwordDigitsOnly": "{{number}} അക്കങ്ങൾ വരെ",
"passwordSetRemotely": "മറ്റൊരു പങ്കാളി സജ്ജമാക്കിയത്",
"polls": {
"errors": {
"notUniqueOption": "ഓപ്ഷനുകൾ അദ്വിതീയമായിരിക്കണം"
}
},
"poweredby": "powered by",
"prejoin": {
"audioAndVideoError": "ഓഡിയോ, വീഡിയോ പിശക്:",

View File

@@ -802,6 +802,9 @@
"removeOption": "Сонголт хасах",
"send": "Илгээх"
},
"errors": {
"notUniqueOption": "Сонголтууд өвөрмөц байх ёстой"
},
"notification": {
"description": "Саналаа өгөхийн тулд санал асуулгын хавтсыг нээнэ үү",
"title": "Уулзалтанд шинэ санал асуулга нэмэгдлээ"

View File

@@ -482,6 +482,11 @@
},
"passwordDigitsOnly": " पर्यंत {{number}} अंक",
"passwordSetRemotely": "दुसर्‍या सहभागीने सेट केलेले",
"polls": {
"errors": {
"notUniqueOption": "पर्याय अद्वितीय असणे आवश्यक आहे"
}
},
"poweredby": "द्वारा समर्थित",
"prejoin": {
"audioAndVideoError": "ऑडिओ आणि व्हिडिओ त्रुटी:",

View File

@@ -668,6 +668,9 @@
"removeOption": "Verwijder optie",
"send": "Verstuur"
},
"errors": {
"notUniqueOption": "Opties moeten uniek zijn"
},
"notification": {
"description": "Open het peilingen tabblad om te stemmen",
"title": "Een nieuwe peiling is aangemaakt in deze vergadering"

View File

@@ -714,6 +714,9 @@
"removeOption": "Suprimir l'opcion",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "Las opcions devon èsser unicas"
},
"notification": {
"description": "Dobrissètz longlet dels sondatge per votar",
"title": "Un sondatge novèl es estat apondut a la conferéncia"

View File

@@ -803,6 +803,9 @@
"removeOption": "Usuń opcję",
"send": "Wyślij"
},
"errors": {
"notUniqueOption": "Opcje muszą być wyjątkowe"
},
"notification": {
"description": "Otwórz kartę ankiet, aby zagłosować",
"title": "Utworzono nową ankietę do tego spotkania"

View File

@@ -219,7 +219,9 @@
"joinInBrowser": "Entrar pelo navegador de Internet",
"launchMeetingLabel": "Como deseja entrar nesta reunião?",
"launchWebButton": "Iniciar pelo navegador de Internet",
"noDesktopApp": "Não tem a aplicação?",
"noMobileApp": "Não tem a aplicação?",
"or": "OU",
"termsAndConditions": "Ao continuar, concorda com os nossos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>termos & condições.</a>",
"title": "Iniciando a sua reunião na {{app}}...",
"titleNew": "Iniciando a sua reunião ...",
@@ -303,6 +305,8 @@
"contactSupport": "Contacte o suporte",
"copied": "Copiado",
"copy": "Cópia",
"demoteParticipantDialog": "Tem a certeza de que pretende passar este participante para visitante?",
"demoteParticipantTitle": "Passar a visitante",
"dismiss": "Dispensar",
"displayNameRequired": "Olá! Qual é o seu nome?",
"done": "Feito",
@@ -558,6 +562,7 @@
"noNumbers": "Sem números de telefone.",
"noPassword": "Nenhum",
"noRoom": "Não foi especificado nenhuma sala para ligar.",
"noWhiteboard": "Não foi possível carregar o quadro branco.",
"numbers": "Números para entrar por chamada telefónica",
"password": "$t(lockRoomPasswordUppercase): ",
"reachedLimit": "atingiu o limite do seu plano.",
@@ -565,7 +570,8 @@
"sipAudioOnly": "Endereço SIP só de áudio",
"title": "Partilhar",
"tooltip": "Partilhar link e acesso telefónico para esta reunião",
"upgradeOptions": "Por favor, verifique as opções de atualização em"
"upgradeOptions": "Por favor, verifique as opções de atualização em",
"whiteboardError": "Erro ao carregar o quadro branco. Por favor, tente novamente mais tarde."
},
"inlineDialogFailure": {
"msg": "Tivemos um pequeno problema.",
@@ -615,7 +621,7 @@
"errorAPI": "Ocorreu um erro ao acessar suas transmissões do YouTube. Por favor tente logar novamente.",
"errorLiveStreamNotEnabled": "Transmissão em direto não está ativada em {{email}}. Ative a transmissão em direto ou registre numa conta com transmissão direto ativada.",
"expandedOff": "A transmissão em direto foi encerrada",
"expandedOn": "A reunião está sendo transmitida pelo YouTube.",
"expandedOn": "A reunião está sendo transmitida em direto.",
"expandedPending": "Iniciando a transmissão em direto...",
"failedToStart": "Falha ao iniciar a transmissão em direto",
"getStreamKeyManually": "Não conseguimos buscar nenhuma transmissão em direto. Tente obter sua chave de transmissão em direto no YouTube.",
@@ -800,12 +806,16 @@
"startSilentTitle": "Entrou sem áudio!",
"suboptimalBrowserWarning": "Tememos que sua experiência de reunião não seja tão boa aqui. Estamos procurando maneiras de melhorar isso, mas até então, tente usar um dos <a href='{{recommendedBrowserPageLink}}' target='_blank'>navegadores completamente suportados</a>.",
"suboptimalExperienceTitle": "Alerta do navegador",
"suggestRecordingAction": "Iniciar",
"suggestRecordingDescription": "Gostaria de iniciar uma gravação?",
"suggestRecordingTitle": "Gravar esta reunião",
"unmute": "Ligar microfone",
"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!",
"viewLobby": "Ver sala de espera",
"viewVisitors": "Ver visitantes",
"waitingParticipants": "{{waitingParticipants}} pessoas",
"whiteboardLimitDescription": "Guarde o seu progresso, pois o limite de utilizadores será atingido em breve e o quadro branco será encerrado.",
"whiteboardLimitTitle": "Utilização do quadro branco"
@@ -865,6 +875,9 @@
"removeOption": "Remover opção",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "As opções devem ser únicas"
},
"notification": {
"description": "Abrir o separador das sondagens para votar",
"title": "Uma nova sondagem foi adicionada a esta reunião"
@@ -932,6 +945,7 @@
"or": "ou",
"premeeting": "Pré-reunião",
"proceedAnyway": "Continuar na mesma",
"recordingWarning": "Outros participantes podem estar a gravar esta chamada",
"screenSharingError": "Erro de partilha de ecrã:",
"showScreen": "Ativar o ecrã de pré-reunião",
"startWithPhone": "Iniciar com o áudio do telefone",
@@ -985,7 +999,7 @@
"error": "A gravação falhou. Tente novamente.",
"errorFetchingLink": "Erro ao procurar link da gravação.",
"expandedOff": "Gravação finalizada",
"expandedOn": "A reunião está sendo gravada.",
"expandedOn": "A reunião está sendo gravada",
"expandedPending": "Iniciando gravação...",
"failedToStart": "Falha ao iniciar a gravação",
"fileSharingdescription": "Partilhar o link da gravação com os participantes da reunião",
@@ -998,7 +1012,6 @@
"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>.",
"linkGenerated": "Gerámos um link para a sua gravação.",
"live": "DIRETO",
"localRecordingNoNotificationWarning": "A gravação não será anunciada aos outros participantes. Será necessário avisá-los de que a reunião está gravada.",
"localRecordingNoVideo": "O vídeo não está a ser gravado",
"localRecordingStartWarning": "Por favor, certifique-se de que pára a gravação antes de sair da reunião a fim de a guardar.",
@@ -1015,7 +1028,6 @@
"onBy": "{{name}} iniciou a gravação",
"onlyRecordSelf": "Gravar apenas as minhas transmissões áudio e vídeo",
"pending": "Preparando para gravar a reunião...",
"rec": "REC",
"recordAudioAndVideo": "Gravar áudio e vídeo",
"recordTranscription": "Gravar transcrições",
"saveLocalRecording": "Guardar ficheiro de gravação localmente (Beta)",
@@ -1355,12 +1367,9 @@
},
"transcribing": {
"ccButtonTooltip": "Iniciar/parar legendas",
"error": "Transcrição falhou. Tente novamente.",
"expandedLabel": "Transcrição ativada",
"failedToStart": "Transcrição falhou ao iniciar",
"labelToolTip": "A reunião esta sendo transcrita",
"off": "Transcrição parada",
"pending": "Preparando a transcrição da reunião...",
"sourceLanguageDesc": "Atualmente a língua da reunião está definida para <b>{{sourceLanguage}}</b>. <br/> Pode alterá-la a partir ",
"sourceLanguageHere": "daqui",
"start": "Exibir legendas",
@@ -1416,6 +1425,7 @@
},
"videothumbnail": {
"connectionInfo": "Informações sobre a ligação",
"demote": "Passar a visitante",
"domute": "Sem som",
"domuteOthers": "Silenciar todos os outros",
"domuteVideo": "Desativar a câmara",
@@ -1470,6 +1480,7 @@
"chatIndicator": "(visitante)",
"labelTooltip": "Número de visitantes: {{count}}",
"notification": {
"demoteDescription": "Enviado aqui pelo {{actor}}, levante a mão para participar",
"description": "Para participar levante a sua mão",
"title": "É um visitante na reunião"
}
@@ -1530,6 +1541,7 @@
"whiteboard": {
"accessibilityLabel": {
"heading": "Quadro branco"
}
},
"screenTitle": "Quadro branco"
}
}

View File

@@ -864,6 +864,9 @@
"removeOption": "Remover opção",
"send": "Enviar"
},
"errors": {
"notUniqueOption": "As opções devem ser exclusivas"
},
"notification": {
"description": "Abra a aba das votações para votar",
"title": "Uma nova votação foi iniciada nesta conferência"

View File

@@ -471,6 +471,11 @@
},
"passwordDigitsOnly": "Până la {{number}} cifre",
"passwordSetRemotely": "Setată de un alt membru",
"polls": {
"errors": {
"notUniqueOption": "Opțiunile trebuie să fie unice"
}
},
"poweredby": "cu sprijinul",
"presenceStatus": {
"busy": "Ocupat",

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Ссылка на встречу: {{url}}"
},
"add": "Пригласить",
"addContacts": "Пригласите других людей",
"contacts": "контакты",
@@ -30,6 +33,7 @@
},
"audioDevices": {
"bluetooth": "Bluetooth",
"car": "Автомобильная аудиосистема",
"headphones": "Наушники",
"none": "Не обнаружены звуковые устройства",
"phone": "Телефон",
@@ -38,6 +42,18 @@
"audioOnly": {
"audioOnly": "Только звук"
},
"bandwidthSettings": {
"assumedBandwidthBps": "например, 10000000 для 10 Мбит/с",
"assumedBandwidthBpsWarning": "Более высокие значения могут вызвать проблемы сети.",
"customValue": "пользовательское значение",
"customValueEffect": "для установки фактического значения в битах в секунду",
"leaveEmpty": "оставить пустым",
"leaveEmptyEffect": "для разрешения проведения оценок",
"possibleValues": "Возможные значения",
"setAssumedBandwidthBps": "Предполагаемая пропускная способность (бит/с)",
"title": "Настройки пропускной способности",
"zeroEffect": "для отключения видео"
},
"breakoutRooms": {
"actions": {
"add": "Добавить сессионный зал",
@@ -47,6 +63,8 @@
"leaveBreakoutRoom": "Покинуть сессионный зал",
"more": "Больше",
"remove": "Удалить",
"rename": "Переименовать",
"renameBreakoutRoom": "Переименовать сессионный зал",
"sendToBreakoutRoom": "Отправить участника к:"
},
"breakoutList": "Сессионные залы",
@@ -55,7 +73,7 @@
"hideParticipantList": "Скрыть список участников",
"mainRoom": "Главная комната",
"notifications": {
"joined": "Вход в сессионный зал \"{{name}}\"",
"joined": "Вход в сессионный зал «{{name}}»",
"joinedMainRoom": "Вход в главную комнату",
"joinedTitle": "Сессионные залы"
},
@@ -151,6 +169,7 @@
"bridgeCount": "Количество серверов: ",
"codecs": "Кодеки (A/V): ",
"connectedTo": "Подключен к:",
"e2eeVerified": "E2EE подтверждено:",
"framerate": "Частота кадров:",
"less": "Краткая информация",
"localaddress": "Локальный адрес:",
@@ -159,6 +178,7 @@
"localport_plural": "Локальные порты:",
"maxEnabledResolution": "Максимальное разрешение",
"more": "Подробная информация",
"no": "нет",
"packetloss": "Потери пакетов:",
"participant_id": "id участника:",
"quality": {
@@ -177,7 +197,8 @@
"status": "Связь:",
"transport": "Транспорт:",
"transport_plural": "Транспорты:",
"video_ssrc": "Видео SSRC:"
"video_ssrc": "Видео SSRC:",
"yes": "да"
},
"dateUtils": {
"earlier": "Ранее",
@@ -187,6 +208,7 @@
"deepLinking": {
"appNotInstalled": "Чтобы присоединиться к этой встрече на телефоне, нужно мобильное приложение {{app}}.",
"description": "Ничего не случилось? Мы попытались запустить вашу встречу в настольном приложении {{app}}. Повторите попытку или запустите ее в веб-приложении {{app}}.",
"descriptionNew": "Ничего не случилось? Мы попытались запустить вашу встречу в настольном приложении {{app}}. <br /><br /> Вы можете повторить попытку или запустить ее в веб-приложении.",
"descriptionWithoutWeb": "Ничего не произошло? Мы попытались запустить вашу конференцию в настольном приложении {{app}}",
"downloadApp": "Скачать приложение",
"downloadMobileApp": "Скачать из App Store",
@@ -197,8 +219,12 @@
"joinInBrowser": "Присоединиться в браузере",
"launchMeetingLabel": "Как вы хотите присоединиться к этой встрече?",
"launchWebButton": "Запустить в браузере",
"noDesktopApp": "У вас нет приложения?",
"noMobileApp": "У вас нет приложения?",
"or": "ИЛИ",
"termsAndConditions": "Продолжая, вы соглашаетесь с нашими <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>правилами и условиями.</a>",
"title": "Запуск вашей встречи в {{app}}...",
"titleNew": "Запуск вашей встречи ...",
"tryAgainButton": "Повторите в настольном приложении",
"unsupportedBrowser": "Вы используете браузер, который мы не поддерживаем."
},
@@ -211,11 +237,20 @@
"microphonePermission": "Нет разрешения на доступ к микрофону"
},
"deviceSelection": {
"hid": {
"callControl": "Управление вызовами",
"connectedDevices": "Подключенные устройства:",
"deleteDevice": "Удалить устройство",
"pairDevice": "Сопряжение устройства"
},
"noPermission": "Нет доступа",
"previewUnavailable": "Предпросмотр недоступен",
"selectADevice": "Выбор устройства",
"testAudio": "Протестировать звук"
},
"dialIn": {
"screenTitle": "Сводка о входящем вызове"
},
"dialOut": {
"statusMessage": "сейчас {{status}}"
},
@@ -228,15 +263,22 @@
"Share": "Поделиться",
"Submit": "ОК",
"WaitForHostMsg": "Конференция еще не началась. Если вы организатор, пожалуйста, авторизируйтесь. В противном случае дождитесь организатора.",
"WaitingForHostButton": "Ждать организатора",
"WaitingForHostTitle": "Ждем организатора...",
"Yes": "Да",
"accessibilityLabel": {
"liveStreaming": "Трансляция"
"Cancel": "Отмена (закрыть диалоговое окно)",
"Ok": "OK (сохранить и закрыть диалоговое окно)",
"close": "Закрыть диалоговое окно",
"liveStreaming": "Трансляция",
"sharingTabs": "Опции обмена"
},
"add": "Добавить",
"addMeetingNote": "Добавить записку об этом митиге",
"addOptionalNote": "Добавить записку (необязательно):",
"allow": "Разрешить",
"allowToggleCameraDialog": "Разрешить {{initiatorName}} переключить режим камеры?",
"allowToggleCameraTitle": "Разрешить переключение камеры?",
"alreadySharedVideoMsg": "Другой участник уже поделился ссылкой на видео. Данная конференция позволяет одновременно делиться только одним видео.",
"alreadySharedVideoTitle": "Допускается показ только одного видео",
"applicationWindow": "Окно приложения",
@@ -263,6 +305,8 @@
"contactSupport": "Связь с поддержкой",
"copied": "Скопировано",
"copy": "Копировать",
"demoteParticipantDialog": "Вы уверены, что хотите сделать этого участника гостем?",
"demoteParticipantTitle": "Сделать гостем",
"dismiss": "Отклонить",
"displayNameRequired": "Привет! Как тебя зовут?",
"done": "Готово",
@@ -297,6 +341,7 @@
"lockRoom": "Добавить конференцию $t(lockRoomPasswordUppercase)",
"lockTitle": "Блокировка не удалась",
"login": "Войти",
"loginQuestion": "Уверены, что хотите присоединиться и остановить встречу?",
"logoutQuestion": "Уверены, что хотите выйти и остановить встречу?",
"logoutTitle": "Завершить сеанс",
"maxUsersLimitReached": "Достигнут лимит на максимальное количество участников. Конференция переполнена. Пожалуйста, свяжитесь с организатором конференции или повторите попытку позже!",
@@ -340,8 +385,6 @@
"permissionCameraRequiredError": "Для участия в конференциях с видео требуется разрешение камеры. Пожалуйста, предоставьте его в настройках",
"permissionErrorTitle": "Требуется разрешение",
"permissionMicRequiredError": "Для участия в конференциях со звуком требуется разрешение на использование микрофона. Пожалуйста, предоставьте его в настройках",
"popupError": "Ваш браузер блокирует всплывающие окна этого сайта. Пожалуйста, разрешите всплывающие окна в настройках безопасности браузера и попробуйте снова.",
"popupErrorTitle": "Заблокировано всплывающее окно",
"readMore": "больше",
"recentlyUsedObjects": "Ваши недавно использованные объекты",
"recording": "Запись",
@@ -358,6 +401,8 @@
"removePassword": "Убрать $t(lockRoomPassword)",
"removeSharedVideoMsg": "Уверены, что хотите убрать видео, которым поделились?",
"removeSharedVideoTitle": "Убрать видео",
"renameBreakoutRoomLabel": "Название сессионного зала",
"renameBreakoutRoomTitle": "Переименовать сессионный зал",
"reservationError": "Ошибка системы резервирования",
"reservationErrorMsg": "Код ошибки: {{code}}, сообщение: {{msg}}",
"retry": "Повторить",
@@ -380,6 +425,7 @@
"sessTerminatedReason": "Встреча прервана",
"sessionRestarted": "Вызов перезапущен из-за проблемы с подключением.",
"shareAudio": "Продолжить",
"shareAudioAltText": "чтобы поделиться желаемым контентом, перейдите в раздел «Вкладка браузера», выберите нужный контент, установите флажок «поделиться аудио» и нажмите на кнопку «поделиться»",
"shareAudioTitle": "Как поделиться аудио",
"shareAudioWarningD1": "вам нужно остановить совместное использование экрана, прежде чем делиться своим аудио.",
"shareAudioWarningD2": "вам нужно перезапустить совместное использование экрана и установить флажок «поделиться аудио».",
@@ -409,16 +455,42 @@
"thankYou": "Спасибо, что используете {{appName}}!",
"token": "токен",
"tokenAuthFailed": "Извините, вам не разрешено присоединиться к этому сеансу связи.",
"tokenAuthFailedReason": {
"audInvalid": "Недопустимое значение `aud`. Должно быть `jitsi`.",
"contextNotFound": "Объект `context` отсутствует в объекте `payload`.",
"expInvalid": "Недопустимое значение `exp`.",
"featureInvalid": "Недопустимая функция: {{feature}}, скорее всего, еще не реализована.",
"featureValueInvalid": "Недопустимое значение для функции: {{feature}}.",
"featuresNotFound": "Объект `features` отсутствует в объекте `payload`.",
"headerNotFound": "Отсутствует заголовок.",
"issInvalid": "Недопустимое значение `iss`. Должно быть `chat`.",
"kidMismatch": "Идентификатор ключа (kid) не совпадает с `sub`.",
"kidNotFound": "Отсутствует идентификатор ключа (kid).",
"nbfFuture": "Значение `nbf` указывает на будущее.",
"nbfInvalid": "Недопустимое значение `nbf`.",
"payloadNotFound": "Отсутствует `payload`.",
"tokenExpired": "Срок действия токена истек."
},
"tokenAuthFailedTitle": "Ошибка аутентификации",
"tokenAuthFailedWithReasons": "Извините, вы не можете присоединиться к этому звонку. Возможные причины: {{reason}}",
"tokenAuthUnsupported": "URL-адрес токена не поддерживается.",
"transcribing": "Расшифровка",
"unlockRoom": "Убрать $t(lockRoomPassword)",
"user": "Пользователь",
"userIdentifier": "Идентификатор пользователя",
"userPassword": "пароль пользователя",
"userPassword": "Пароль пользователя",
"verifyParticipantConfirm": "Они совпадают",
"verifyParticipantDismiss": "Они не совпадают",
"verifyParticipantQuestion": "ЭКСПЕРИМЕНТАЛЬНО: Спросите участника {{participantName}}, видит ли он то же самое содержание, в том же порядке.",
"verifyParticipantTitle": "Проверка пользователя",
"videoLink": "Ссылка на видео",
"viewUpgradeOptions": "Посмотреть варианты обновления",
"viewUpgradeOptionsContent": "Чтобы получить неограниченный доступ к премиум-функциям, таким как запись, транскрипция, RTMP Streaming и т. д., вам необходимо обновить свой план.",
"viewUpgradeOptionsTitle": "Вы обнаружили премиальную функцию!",
"whiteboardLimitContent": "Извините, достигнут лимит одновременных пользователей интерактивной доски.",
"whiteboardLimitReference": "Для получения дополнительной информации, пожалуйста, посетите",
"whiteboardLimitReferenceUrl": "наш сайт",
"whiteboardLimitTitle": "Использование интерактивной доски ограничено",
"yourEntireScreen": "Весь экран"
},
"documentSharing": {
@@ -431,6 +503,9 @@
"title": "Встроить эту встречу"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Ваш выбор: {{rating}}"
},
"average": "Средне",
"bad": "Плохо",
"detailsLabel": "Расскажите подробнее.",
@@ -440,6 +515,11 @@
"veryBad": "Очень плохо",
"veryGood": "Очень хорошо"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Миниатюры видео"
}
},
"giphy": {
"noResults": "Результатов поиска не найдено :(",
"search": "Поиск GIPHY"
@@ -482,11 +562,16 @@
"noNumbers": "Нет номеров для набора.",
"noPassword": "нет",
"noRoom": "Для набора номера не было указано ни одной комнаты.",
"noWhiteboard": "Не удалось загрузить интерактивную доску.",
"numbers": "Номера для набора",
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Вы достигли лимита вашего плана.",
"sip": "SIP адрес",
"sipAudioOnly": "Адрес только для аудио SIP",
"title": "Поделиться",
"tooltip": "Поделитесь ссылкой и номером для подключения к этой конференции"
"tooltip": "Поделитесь ссылкой и номером для подключения к этой конференции",
"upgradeOptions": "Пожалуйста, проверьте варианты обновления на",
"whiteboardError": "Ошибка загрузки интерактивной доски. Пожалуйста, попробуйте позже."
},
"inlineDialogFailure": {
"msg": "Небольшая заминка.",
@@ -588,13 +673,13 @@
"knockingParticipantList": "Список ожидающих участников",
"lobbyChatStartedNotification": "{{moderator}} начал лобби чат с {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} начал лобби чат с вами.",
"lobbyClosed": "Зал ожидания закрыт.",
"nameField": "Введите ваше имя",
"notificationLobbyAccessDenied": "{{originParticipantName}} запретил присоединиться {{targetParticipantName}}",
"notificationLobbyAccessGranted": "{{originParticipantName}} разрешил присоединиться {{targetParticipantName}} ",
"notificationLobbyDisabled": "Лобби отключено пользователем {{originParticipantName}}",
"notificationLobbyEnabled": "Лобби включено пользователем {{originParticipantName}}",
"notificationTitle": "Лобби",
"passwordField": "Введите пароль встречи",
"passwordJoinButton": "Присоединиться",
"title": "Лобби",
"toggleLabel": "Включить лобби"
@@ -623,9 +708,12 @@
"no": "Нет",
"participant": "Участник",
"participantStats": "Статистика участников",
"selectTabTitle": "🎥 Пожалуйста, выберите эту вкладку для записи",
"sessionToken": "Токен сессии",
"start": "Начать запись",
"stop": "Остановить запись",
"stopping": "Остановка записи",
"wait": "Пожалуйста, подождите, пока мы сохраняем вашу запись",
"yes": "Да"
},
"lockRoomPassword": "пароль",
@@ -645,8 +733,13 @@
"connectedOneMember": "{{name}} присоединился к конференции",
"connectedThreePlusMembers": "{{name}} и {{count}} других пользователей присоединились к конференции",
"connectedTwoMembers": "{{first}} и {{second}} присоединились к конференции",
"dataChannelClosed": "Качество видео ухудшилось",
"dataChannelClosedDescription": "Канал связи был отключен, поэтому качество видео ограничено минимально возможным.",
"disabledIframe": "Встраивание предназначено только для демонстрационных целей, поэтому этот вызов будет отключен через {{timeout}} минут.",
"disabledIframeSecondary": "Встраивание {{domain}} предназначено только для демонстрационных целей, поэтому этот вызов будет отключен через {{timeout}} минут. Пожалуйста, используйте <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi как сервис</a> для встраивания в продакшн!",
"disconnected": "соединение разорвано",
"displayNotifications": "Отображение уведомлений для",
"dontRemindMe": "Не напоминать мне",
"focus": "Фокус встречи",
"focusFail": "{{component}} недоступен, повторите через {{ms}} с",
"gifsMenu": "GIPHY",
@@ -690,7 +783,6 @@
"newDeviceCameraTitle": "Обнаружена новая камера",
"noiseSuppressionDesktopAudioDescription": "Шумоподавление не может быть включено при совместном использовании звука рабочего стола, пожалуйста, отключите его и повторите попытку.",
"noiseSuppressionFailedTitle": "Не удалось запустить шумоподавление",
"noiseSuppressionNoTrackDescription": "Пожалуйста, сначала включите звук микрофона.",
"noiseSuppressionStereoDescription": "Шумоподавление стереозвука в настоящее время не поддерживается.",
"oldElectronClientDescription1": "Похоже, вы используете старую версию клиента {{app}}, которая имеет известные уязвимости в системе безопасности. Убедитесь, что вы обновили до нашей ",
"oldElectronClientDescription2": "последней версии",
@@ -706,19 +798,27 @@
"reactionSoundsForAll": "Отключить звуки для всех",
"screenShareNoAudio": "Флажок «Поделиться аудио» не был отмечен на экране выбора окна.",
"screenShareNoAudioTitle": "Не удалось поделиться системным звуком!",
"screenSharingAudioOnlyDescription": "Пожалуйста, обратите внимание, что при демонстрации экрана вы влияете на режим «Наилучшая производительность» и увеличиваете пропускную способность.",
"screenSharingAudioOnlyTitle": "Режим «Наилучшая производительность»",
"selfViewTitle": "Вы всегда можете скрыть собственное изображение в настройках.",
"somebody": "Кто-то",
"startSilentDescription": "Перезайдите в конференцию, чтобы включить звук",
"startSilentTitle": "У вас отсутствует звук!",
"suboptimalBrowserWarning": "К сожалению, ваш браузер не полностью поддерживает данную систему вэбконференций. Мы работаем над проблемой, однако, пока рекомендуем вам воспользоваться <a href='{{recommendedBrowserPageLink}}' target='_blank'> следующими браузерами</a>.",
"suboptimalExperienceTitle": "Предупреждение браузера",
"suggestRecordingAction": "Начать",
"suggestRecordingDescription": "Хотите начать запись?",
"suggestRecordingTitle": "Записать эту встречу",
"unmute": "Включить микрофон",
"videoMutedRemotelyDescription": "Вы всегда можете включить его снова.",
"videoMutedRemotelyTitle": "Ваше видео было отключено {{participantDisplayName}}",
"videoUnmuteBlockedDescription": "Включение звука камеры и совместное использование рабочего стола временно заблокированы из-за системных ограничений.",
"videoUnmuteBlockedTitle": "Включение камеры и общий доступ к рабочему столу заблокированы!",
"viewLobby": "Смотреть лобби",
"waitingParticipants": "{{waitingParticipants}} люди"
"viewVisitors": "Просмотр посетителей",
"waitingParticipants": "{{waitingParticipants}} люди",
"whiteboardLimitDescription": "Пожалуйста, сохраните свои изменения, так как скоро будет достигнут лимит пользователей, и интерактивная доска будет закрыта.",
"whiteboardLimitTitle": "Использование интерактивной доски"
},
"participantsPane": {
"actions": {
@@ -729,6 +829,7 @@
"askUnmute": "Попросить разрешение включить микрофон",
"audioModeration": "Разрешить выключить микрофон",
"blockEveryoneMicCamera": "Заблокировать у всех микрофон и камеру",
"breakoutRooms": "Сессионные залы",
"invite": "Пригласить",
"moreModerationActions": "Дополнительные параметры модерации",
"moreModerationControls": "Дополнительные элементы управления модерацией",
@@ -746,14 +847,17 @@
"headings": {
"lobby": "Лобби ({{count}})",
"participantsList": "Список участников ({{count}})",
"visitorRequests": " (запросы {{count}})",
"visitors": "Посетители {{count}}",
"waitingLobby": "Ожидают в лобби ({{count}})"
},
"search": "Поиск участников",
"title": "Участники"
},
"passwordDigitsOnly": "До {{number}} цифр",
"passwordSetRemotely": "установлен другим участником",
"pinnedParticipant": "Участник запинен",
"passwordSetRemotely": "Установлен другим участником",
"pinParticipant": "{{participantName}} - Закрепить",
"pinnedParticipant": "Участник закреплен",
"polls": {
"answer": {
"skip": "Пропустить",
@@ -771,6 +875,9 @@
"removeOption": "Удалить вариант",
"send": "Отправлять"
},
"errors": {
"notUniqueOption": "Варианты должны быть уникальными"
},
"notification": {
"description": "Откройте вкладку опросов, чтобы проголосовать",
"title": "К этой встрече добавлен новый опрос"
@@ -837,9 +944,12 @@
"lookGood": "Кажется ваш микрофон работает правильно",
"or": "или",
"premeeting": "Перед подключением",
"proceedAnyway": "Продолжить в любом случае",
"recordingWarning": "Другие участники могут записывать этот звонок",
"screenSharingError": "Ошибка показа экрана:",
"showScreen": "Включить экран перед подключением",
"startWithPhone": "Начать с телефонной связью",
"unsafeRoomConsent": "Я понимаю риски и хочу присоединиться к встрече",
"videoOnlyError": "Ошибка видео:",
"videoTrackError": "Не удалось создать видео дорожку.",
"viewAllNumbers": "посмотреть всех участников"
@@ -902,21 +1012,31 @@
"limitNotificationDescriptionNative": "Из-за высокой нагрузки ваша запись будет ограничена {{limit}} мин. Для неограниченного количества записей попробуйте <3> {{app}} </3>.",
"limitNotificationDescriptionWeb": "Из-за высокой нагрузки ваша запись будет ограничена {{limit}} мин. Для неограниченного количества записей попробуйте <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Мы создали ссылку на вашу запись.",
"live": "В ЭФИРЕ",
"localRecordingNoNotificationWarning": "Запись не будет объявлена другим участникам. Вам необходимо самостоятельно уведомить их о том, что встреча записывается.",
"localRecordingNoVideo": "Видео не записывается",
"localRecordingStartWarning": "Пожалуйста, убедитесь, что вы остановили запись перед выходом из встречи, чтобы сохранить её.",
"localRecordingStartWarningTitle": "Остановите запись для сохранения",
"localRecordingVideoStop": "Остановка вашего видео также остановит локальную запись. Вы уверены, что хотите продолжить?",
"localRecordingVideoWarning": "Чтобы записать ваше видео, оно должно быть включено при начале записи",
"localRecordingWarning": "Убедитесь, что вы выбрали текущую вкладку для использования правильного видео и аудио. Запись в настоящее время ограничена 1ГБ, что составляет около 100 минут.",
"loggedIn": "Вошел как {{userName}}",
"noMicPermission": "Не удалось создать аудиодорожку микрофона. Пожалуйста, предоставьте разрешение на использование микрофона.",
"noStreams": "Аудио или видеопоток не обнаружен.",
"off": "Запись остановлена",
"offBy": "{{name}} остановил запись",
"on": "Запись началась",
"onBy": "{{name}} включил запись",
"onlyRecordSelf": "Записать только мои аудио и видео потоки",
"pending": "Подготовка записи конференции. . .",
"rec": "ИДЕТ ЗАПИСЬ",
"recordAudioAndVideo": "Запись аудио и видео",
"recordTranscription": "Запись транскрипции",
"saveLocalRecording": "Сохранить файл записи локально (Beta)",
"serviceDescription": "Ваша запись будет сохранена соответствующей службой",
"serviceDescriptionCloud": "Облачная запись",
"serviceDescriptionCloudInfo": "Сохранённые записи автоматически удаляются спуся 24 часа со старта.",
"serviceName": "Служба записи",
"sessionAlreadyActive": "Этот сеанс уже записывается или транслируется в прямом эфире.",
"showAdvancedOptions": "Расширенные настройки",
"signIn": "Вход",
"signOut": "Выход",
"surfaceError": "Пожалуйста, выберите текущую вкладку.",
@@ -925,14 +1045,21 @@
"unavailableTitle": "Запись невозможна",
"uploadToCloud": "Загрузить в облако"
},
"screenshareDisplayName": "Экран {{name}}",
"sectionList": {
"pullToRefresh": "Потяните для обновления"
},
"security": {
"about": "Вы можете добавить к собранию $t(lockRoomPassword). Участникам необходимо будет предоставить $t(lockRoomPassword), прежде чем им будет разрешено присоединиться к собранию.",
"aboutReadOnly": "Участники-модераторы могут добавить к собранию $t(lockRoomPassword). Участникам необходимо будет предоставить $t(lockRoomPassword), прежде чем им будет разрешено присоединиться к собранию.",
"insecureRoomNameWarning": "Имя комнаты небезопасно. Нежелательные участники могут присоединиться к вашей конференции. Подумайте о том, чтобы защитить вашу встречу используя настройки безопасности.",
"title": "Настройки безопасности"
"insecureRoomNameWarningNative": "Название комнаты небезопасно. Нежелательные участники могут присоединиться к вашей встрече. {{recommendAction}} Узнайте больше о защите вашей встречи ",
"insecureRoomNameWarningWeb": "Название комнаты небезопасно. Нежелательные участники могут присоединиться к вашей встрече. {{recommendAction}} Узнайте больше о защите вашей встречи <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">здесь</a>.",
"title": "Настройки безопасности",
"unsafeRoomActions": {
"meeting": "Рассмотрите возможность защиты вашей встречи с использованием кнопки безопасности.",
"prejoin": "Рассмотрите возможность использования более уникального имени встречи.",
"welcome": "Рассмотрите возможность использования более уникального имени встречи или выберите одно из предложений."
}
},
"settings": {
"audio": "Звук",
@@ -953,6 +1080,7 @@
"incomingMessage": "Входящее сообщение",
"language": "Язык",
"loggedIn": "Вошел как {{name}}",
"maxStageParticipants": "Максимальное количество участников, которых можно закрепить на главной сцене (ЭКСПЕРИМЕНТАЛЬНО)",
"microphones": "Микрофоны",
"moderator": "Модератор",
"moderatorOptions": "Настройки модератора",
@@ -985,6 +1113,7 @@
"alertOk": "OK",
"alertTitle": "Внимание",
"alertURLText": "Ошибка адреса сервера",
"apply": "Применить",
"buildInfoSection": "Информация о сборке",
"conferenceSection": "Номера для набора",
"disableCallIntegration": "Отключить встроенную интеграцию вызовов",
@@ -992,12 +1121,17 @@
"disableCrashReportingWarning": "Вы действительно хотите отключить отчеты о сбоях? Настройка будет применена после перезапуска приложения.",
"disableP2P": "Отключить режим Peer-To-Peer",
"displayName": "Отображаемое имя",
"displayNamePlaceholderText": "Например: Иван Иванов",
"email": "Email",
"emailPlaceholderText": "email@example.com",
"gavatarMessage": "Если ваш email связан с аккаунтом Gravatar, мы будем использовать его в качестве изображения вашего профиля.",
"goTo": "Перейти к",
"header": "Настройки",
"help": "Помощь",
"links": "Ссылки",
"privacy": "Конфиденциальность",
"profileSection": "Профиль",
"sdkVersion": "Версия SDK",
"serverURL": "Адрес сервера",
"showAdvanced": "Показать дополнительные настройки",
"startCarModeInLowBandwidthMode": "Включать упрощенный режим на ограниченном канале",
@@ -1042,6 +1176,7 @@
"termsView": {
"title": "Условия"
},
"toggleTopPanelLabel": "Переключить верхнюю панель",
"toolbar": {
"Settings": "Настройки",
"accessibilityLabel": {
@@ -1049,24 +1184,35 @@
"audioOnly": "Вкл/Выкл только звук",
"audioRoute": "Выбрать аудиоустройство",
"boo": "Бу",
"breakoutRoom": "Войти/выйти из сессионного зала",
"breakoutRooms": "Сессионные залы",
"callQuality": "Качество связи",
"carmode": "Упрощенный режим",
"cc": "Вкл/Выкл субтитры",
"chat": "Показать/скрыть окно чата",
"clap": "Хлопок",
"closeChat": "Закрыть чат",
"closeMoreActions": "Закрыть меню дополнительных действий",
"closeParticipantsPane": "Закрыть панель участников",
"collapse": "Крах",
"document": "Закрыть общий документ",
"documentClose": "Закрыть общий документ",
"documentOpen": "Открыть общий документ",
"download": "Скачать приложение",
"embedMeeting": "Встроить встречу",
"endConference": "Завершить встречу для всех",
"enterFullScreen": "Перейти в полноэкранный режим",
"enterTileView": "Включить режим плитки",
"exitFullScreen": "Выйти из полноэкранного режима",
"exitTileView": "Выйти из режима плитки",
"expand": "Расширять",
"feedback": "Оставить отзыв",
"fullScreen": "Полноэкранный/оконный режим",
"giphy": "Показать GIPHY меню",
"grantModerator": "Сделать модератором",
"hangup": "Завершить звонок",
"heading": "Панель инструментов",
"help": "Справка",
"hideWhiteboard": "Скрыть интерактивную доску",
"invite": "Пригласить",
"kick": "Отключить участника",
"laugh": "Смех",
@@ -1076,6 +1222,7 @@
"lobbyButton": "Вкл/Выкл режим лобби",
"localRecording": "Вкл/Выкл кнопки записи",
"lockRoom": "Установить пароль",
"lowerHand": "Опустить руку",
"moreActions": "Показать/скрыть меню доп. настроек",
"moreActionsMenu": "Меню доп. настроек",
"moreOptions": "Меню доп. настроек",
@@ -1084,12 +1231,15 @@
"muteEveryoneElse": "Заглушить всех остальных",
"muteEveryoneElsesVideoStream": "Остановить чужое видео",
"muteEveryonesVideoStream": "Остановить видео для всех",
"muteGUMPending": "Подключение вашего микрофона",
"noiseSuppression": "Шумоподавление",
"openChat": "Открыть чат",
"participants": "Участники",
"pip": "Вкл/Выкл режим Картинка-в-картинке",
"privateMessage": "Отправить личное сообщение",
"profile": "Редактировать профиль",
"raiseHand": "Поднять руку",
"reactions": "Реакции",
"reactionsMenu": "Открыть/закрыть меню реакций",
"recording": "Вкл/Выкл запись",
"remoteMute": "Отключить участнику микрофон",
@@ -1103,15 +1253,20 @@
"sharedvideo": "Вкл/Выкл Youtube - трансляцию",
"shortcuts": "Вкл/Выкл значки",
"show": "Показать крупным планом",
"showWhiteboard": "Показать интерактивную доску",
"silence": "Тишина",
"speakerStats": "Вкл/Выкл статистику",
"stopScreenSharing": "Прекратить демонстрацию экрана",
"stopSharedVideo": "Остановить видео",
"surprised": "Удивлен",
"tileView": "Вкл/Выкл плитку",
"toggleCamera": "Переключить камеру",
"toggleFilmstrip": "Включить диафильм",
"unmute": "Включить микрофон",
"videoblur": "Вкл/Выкл размытие фона",
"videomute": "Вкл/Выкл видео",
"whiteboard": "Показать / Скрыть интерактивную доску"
"videomuteGUMPending": "Подключение вашей камеры",
"videounmute": "Включить камеру"
},
"addPeople": "Добавить людей к вашему сеансу связи",
"audioOnlyOff": "Включить видео (стандартный режим)",
@@ -1124,6 +1279,7 @@
"chat": "Чат",
"clap": "Аплодисменты",
"closeChat": "Закрыть чат",
"closeParticipantsPane": "Закрыть панель участников",
"closeReactionsMenu": "Закрыть меню реакций",
"disableNoiseSuppression": "Выключить шумоподавление",
"disableReactionSounds": "Выключить звуки реакций",
@@ -1160,6 +1316,7 @@
"mute": "Микрофон (вкл./выкл.)",
"muteEveryone": "Выкл. микрофон у всех",
"muteEveryonesVideo": "Выкл. камеру у всех",
"muteGUMPending": "Подключение вашего микрофона",
"noAudioSignalDesc": "Если вы специально не отключали микрофон в системных настройках, подумайте о том, чтобы поменять его.",
"noAudioSignalDescSuggestion": "Если вы специально не отключали микрофон в системных настройках, вы можете попробовать использовать следующее устройство:",
"noAudioSignalDialInDesc": "Вы можете также дозвониться используя:",
@@ -1179,9 +1336,10 @@
"reactionBoo": "Отправить бу реакцию",
"reactionClap": "Отправить реакцию аплодисментов",
"reactionLaugh": "Отправить реакцию смеха",
"reactionLike": "Отправить реакцию \"палец вверх\"",
"reactionLike": "Отправить реакцию «палец вверх»",
"reactionSilence": "Отправить реакцию тишины",
"reactionSurprised": "Отправить удивленную реакцию",
"reactions": "Реакции",
"security": "Настройки безопасности",
"selectBackground": "Выбрать фоновое изображение",
"shareRoom": "Отправить приглашение",
@@ -1201,21 +1359,26 @@
"talkWhileMutedPopup": "Пытаетесь говорить? У вас отключен звук.",
"tileViewToggle": "Вкл/выкл плитку",
"toggleCamera": "Переключить камеру",
"unmute": "Включить микрофон",
"videoSettings": "Настройка видео",
"videomute": "Камера"
"videomute": "Камера",
"videomuteGUMPending": "Подключение вашей камеры",
"videounmute": "Включить камеру"
},
"transcribing": {
"ccButtonTooltip": "Вкл. / Выкл. субтитры",
"error": "Ошибка записи. Пожалуйста, попробуйте позже.",
"expandedLabel": "Транскрипция включена",
"failedToStart": "Неудалось начать расшифровку",
"labelToolTip": "Создается транскрипция конференции.",
"off": "Расшифровка остановлена",
"pending": "Подготовка расшифровки конференции...",
"sourceLanguageDesc": "В настоящее время язык встречи установлен на <b>{{sourceLanguage}}</b>. <br/> Вы можете изменить его ",
"sourceLanguageHere": "здесь",
"start": "Вкл/Выкл показ субтитров",
"stop": "Вкл/Выкл показ субтитров",
"subtitles": "Субтитры",
"subtitlesOff": "Выкл",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Открепить",
"userMedia": {
"androidGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
"chromeGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
@@ -1262,6 +1425,7 @@
},
"videothumbnail": {
"connectionInfo": "Информация о соединении",
"demote": "Переместить к посетителям",
"domute": "Выключить звук",
"domuteOthers": "Выключить звук остальным",
"domuteVideo": "Выключить видео",
@@ -1285,6 +1449,10 @@
"videomute": "Участник выключил камеру"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Текущий фон: {{background}}",
"selectBackground": "Выбрать фон"
},
"addBackground": "Добавить фон",
"apply": "Применять",
"backgroundEffectError": "Не удалось применить фоновый эффект.",
@@ -1308,6 +1476,15 @@
"webAssemblyWarning": "WebAssembly не поддерживается",
"webAssemblyWarningDescription": "WebAssembly отключен или не поддерживается этим браузером"
},
"visitors": {
"chatIndicator": "(посетитель)",
"labelTooltip": "Количество посетителей: {{count}}",
"notification": {
"demoteDescription": "Перемещён сюда пользователем {{actor}}, поднимите руку, чтобы участвовать",
"description": "Чтобы участвовать, поднимите руку",
"title": "Вы посетитель на встрече"
}
},
"volumeSlider": "Ползунок громкости",
"welcomepage": {
"accessibilityLabel": {
@@ -1364,6 +1541,7 @@
"whiteboard": {
"accessibilityLabel": {
"heading": "Интерактивная доска"
}
},
"screenTitle": "Интерактивная доска"
}
}

View File

@@ -772,6 +772,9 @@
"removeOption": "Boga s'optzione",
"send": "Imbia"
},
"errors": {
"notUniqueOption": "Sas optziones depent èssere ùnicas"
},
"notification": {
"description": "Aberi ischeda de sondàgiu pro votare",
"title": "Sondàgiu nou agiuntu a sa riunione"

View File

@@ -547,6 +547,11 @@
},
"passwordDigitsOnly": "až {{number}} číslic",
"passwordSetRemotely": "nastavené iným účastníkom",
"polls": {
"errors": {
"notUniqueOption": "Možnosti musia byť jedinečné"
}
},
"poweredby": "založené na",
"prejoin": {
"audioAndVideoError": "Chyba zvuku a videa:",

View File

@@ -668,6 +668,9 @@
"removeOption": "Odstrani možnost",
"send": "Pošlji"
},
"errors": {
"notUniqueOption": "Možnosti morajo biti edinstvene"
},
"notification": {
"description": "Odpri zavihek z anketami za glasovanje",
"title": "V sestanek je bila dodana nova anketa"

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Lidhje takimi: {{url}}"
},
"add": "Ftoni",
"addContacts": "Ftoni kontaktet tuaja",
"contacts": "kontakte",
@@ -39,6 +42,18 @@
"audioOnly": {
"audioOnly": "Gjerësi e ulët bande"
},
"bandwidthSettings": {
"assumedBandwidthBps": "p.sh. 10000000 për 10 Mbps",
"assumedBandwidthBpsWarning": "Vlera më të mëdha mund të shkaktojnë probleme rrjeti.",
"customValue": "vlerë vetjake",
"customValueEffect": "për të ujdisur vlerën e tanishme bps",
"leaveEmpty": "lëreni të zbrazët",
"leaveEmptyEffect": "për të lejuar kryerje vlerësimesh",
"possibleValues": "Vlera të mundshme",
"setAssumedBandwidthBps": "Gjerësi bande e supozuar (bps)",
"title": "Rregullime gjerësi bande",
"zeroEffect": "për të çaktivizuar videon"
},
"breakoutRooms": {
"actions": {
"add": "Shtoni aneks konsultimesh",
@@ -48,15 +63,22 @@
"leaveBreakoutRoom": "Dilni nga aneks konsultimesh",
"more": "Më tepër",
"remove": "Hiqe",
"rename": "Riemërtojeni",
"renameBreakoutRoom": "Riemërtoni aneks konsultimesh",
"sendToBreakoutRoom": "Dërgoje pjesëmarrësin te:"
},
"breakoutList": "Listë aneksesh",
"buttonLabel": "Dhoma aneks konsultimesh",
"defaultName": "Dhomë aneks konsultimesh #{{index}}",
"hideParticipantList": "Fshihe listën e pjesëmarrësve",
"mainRoom": "Dhoma kryesore",
"notifications": {
"joined": "Po hyhet te dhomë aneks konsultimesh \"{{name}}\"",
"joinedMainRoom": "Po hyhet te dhoma kryesore",
"joinedTitle": "Dhoma Aneks Konsultimesh"
}
},
"showParticipantList": "Shfaq listë pjesëmarrësish",
"title": "Dhoma Aneks Konsultimesh"
},
"calendarSync": {
"addMeetingURL": "Shtoni një lidhje takimi",
@@ -68,9 +90,9 @@
},
"join": "Merrni pjesë",
"joinTooltip": "Merrni pjesë në takim",
"nextMeeting": "takimi pasues",
"nextMeeting": "Takimi pasues",
"noEvents": "Ska veprimtari të ardhshme të vëna në plan.",
"ongoingMeeting": "takim në zhvillim e sipër",
"ongoingMeeting": "Takim në zhvillim e sipër",
"permissionButton": "Hapni rregullimet",
"permissionMessage": "Që të shihni në aplikacion takimet tuaja, janë të domosdoshme lejet mbi Kalendarin.",
"refresh": "Rifresko kalendarin",
@@ -156,6 +178,7 @@
"localport_plural": "Porta vendore:",
"maxEnabledResolution": "maksimum dërgimi",
"more": "Shfaq më tepër",
"no": "jo",
"packetloss": "Humbje paketesh:",
"participant_id": "ID pjesëmarrësi:",
"quality": {
@@ -174,7 +197,8 @@
"status": "Lidhje:",
"transport": "Transport:",
"transport_plural": "Transporte:",
"video_ssrc": "SSRC Videoje:"
"video_ssrc": "Video SSRC:",
"yes": "po"
},
"dateUtils": {
"earlier": "Më herët",
@@ -195,7 +219,9 @@
"joinInBrowser": "Hyni që nga shfletues",
"launchMeetingLabel": "Si doni të hyhet në këtë takim?",
"launchWebButton": "Nise në web",
"noDesktopApp": "Se keni aplikacionin?",
"noMobileApp": "Se keni aplikacionin?",
"or": "OR",
"termsAndConditions": "Duke vazhduar, pajtoheni me <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>terms & conditions.</a> tona",
"title": "Po niset takimi juaj në {{app}}…",
"titleNew": "Po niset takimi juaj…",
@@ -220,7 +246,7 @@
"noPermission": "Su akordua leje",
"previewUnavailable": "Sbëhet dot paraparje",
"selectADevice": "Përzgjidhni një pajisje",
"testAudio": "Luaj një tingull, për provë"
"testAudio": "Testojeni"
},
"dialIn": {
"screenTitle": "Përmbledhje rënieje numrash"
@@ -231,21 +257,28 @@
"dialog": {
"Back": "Mbrapsht",
"Cancel": "Anuloje",
"IamHost": "Jam organizatori",
"IamHost": "Hyni",
"Ok": "OK",
"Remove": "Hiqe",
"Share": "Ndaje",
"Submit": "Parashtroje",
"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…",
"WaitForHostMsg": "Konferenca ska nisur, ngaqë ska mbërritur ende ndonjë moderator. Nëse dëshironi të bëheni një moderator, ju lutemi, bëni hyrjen. Përndryshe, ju lutemi, pritni.",
"WaitingForHostButton": "Prit për moderator",
"WaitingForHostTitle": "Po pritet për një moderator…",
"Yes": "Po",
"accessibilityLabel": {
"liveStreaming": "Transmetim i Drejtpërdrejtë"
"Cancel": "Anuloje (dilni nga dialogu)",
"Ok": "OK (ruajeni dhe dilni nga dialogu)",
"close": "Mbylle dialogun",
"liveStreaming": "Transmetim i Drejtpërdrejtë",
"sharingTabs": "Mundësi ndarjeje me të tjerë"
},
"add": "Shtoni",
"addMeetingNote": "Shtoni një shënim rreth këtij takimi",
"addOptionalNote": "Shtoni një shënim (në daçi):",
"allow": "Lejoje",
"allowToggleCameraDialog": "A e lejoni {{initiatorName}} të ndryshojë anën nga sheh kamera juaj?",
"allowToggleCameraTitle": "Të lejohet ndryshimi i kamerës?",
"alreadySharedVideoMsg": "Një tjetër pjesëmarrës po ndan me të tjerët një video. Kjo konferencë lejon vetëm një ndarje videoje në herë.",
"alreadySharedVideoTitle": "Lejohet vetëm një ndarje videoje me të tjerët në herë",
"applicationWindow": "Dritare aplikacioni",
@@ -306,7 +339,8 @@
"lockRoom": "Shtoni takim $t(lockRoomPasswordUppercase)",
"lockTitle": "Kyçja dështoi",
"login": "Hyrje",
"logoutQuestion": "Jeni i sigurt se doni të dilet dhe të ndalet konferenca?",
"loginQuestion": "Jeni i sigurt se doni të hyhet dhe të braktiset konferenca?",
"logoutQuestion": "Jeni i sigurt se doni të dilet dhe të braktiset konferenca?",
"logoutTitle": "Dalje",
"maxUsersLimitReached": "U mbërrit në kufi numri maksimum pjesëmarrësish. Konferenca është plot. Ju lutemi, lidhuni me të zotin e takimit, ose provoni më vonë!",
"maxUsersLimitReachedTitle": "U mbërrit në kufi numri maksimum pjesëmarrësish",
@@ -334,7 +368,7 @@
"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",
"muteParticipantsVideoBody": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre, por ata munden kurdo ta riaktvizojnë për veten.",
"muteParticipantsVideoBody": "Sdo të jeni në gjendje të riaktivizoni kamerën e tyre, por ata munden kurdo ta riaktivizojnë 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.",
@@ -349,8 +383,6 @@
"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",
"recentlyUsedObjects": "Së fundi përdorët objekte",
"recording": "Regjistrim",
@@ -367,6 +399,8 @@
"removePassword": "Hiqe $t(lockRoomPassword)",
"removeSharedVideoMsg": "Jeni i sigurt se doni të hiqni videon që keni ndarë me të tjerë?",
"removeSharedVideoTitle": "Hiqe videon e ndarë me të tjerë",
"renameBreakoutRoomLabel": "Emër dhome",
"renameBreakoutRoomTitle": "Riemërtoni aneks konsultimesh",
"reservationError": "Gabim sistemi rezervimi",
"reservationErrorMsg": "Kod gabimi: {{code}}, mesazh: {{msg}}",
"retry": "Riprovoni",
@@ -386,8 +420,10 @@
"sendPrivateMessageTitle": "Të dërgohet privatisht?",
"serviceUnavailable": "Shërbim jashtë funksionimi",
"sessTerminated": "Thirrja përfundoi",
"sessTerminatedReason": "Takimi u përfundua",
"sessionRestarted": "Thirrja rinisi për shkak të një problemi lidhjeje.",
"shareAudio": "Vazhdo",
"shareAudio": "Vazhdoni",
"shareAudioAltText": "që të ndani me të tjerë lëndën e dëshiruar, kaloni te \"Skedë Shfletuesi\", përzgjidhni lëndën, aktivizoni shenjën për \"ndani audio me të tjerë\" dhe mandej klikoni butonin \"ndaje me të tjerë\"",
"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ë”.",
@@ -417,7 +453,25 @@
"thankYou": "Faleminderit që përdorni {{appName}}!",
"token": "token",
"tokenAuthFailed": "Na ndjeni, skeni leje të merrni pjesë në këtë thirrje.",
"tokenAuthFailedReason": {
"audInvalid": "Vlerë `aud` e pavlefshme. Duhet të jetë `jitsi`.",
"contextNotFound": "Prej ngarkesës mungon objekti `context`.",
"expInvalid": "Vlerë `exp` e pavlefshme.",
"featureInvalid": "Veçori e pavlefshme: {{feature}}, gjasat janë të mos jetë sendërtuar ende.",
"featureValueInvalid": "Vlerë e pavlefshme për veçorinë: {{feature}}.",
"featuresNotFound": "Prej ngarkesës mungon objekti `features`.",
"headerNotFound": "Mungon krye.",
"issInvalid": "Vlerë `iss` e pavlefshme. Duhet të jetë `chat`.",
"kidMismatch": "ID kyçi (kid) nuk përputhet me sub.",
"kidNotFound": "Mungon ID Kyçi (kid).",
"nbfFuture": "Vlera `nbf` gjendet në të ardhmen.",
"nbfInvalid": "Vlerë `nbf` e pavlefshme.",
"payloadNotFound": "Mungon ngarkesë.",
"tokenExpired": "Token-i ka skaduar."
},
"tokenAuthFailedTitle": "Mirëfilltësimi dështoi",
"tokenAuthFailedWithReasons": "Na ndjeni, nuk keni leje të merrni pjesë në këtë thirrje. Arsye e mundshme: {{reason}}",
"tokenAuthUnsupported": "Nuk mbulohet URL token-i.",
"transcribing": "Transkriptim",
"unlockRoom": "Hiq $t(lockRoomPassword) takimi",
"user": "Përdorues",
@@ -429,8 +483,12 @@
"verifyParticipantTitle": "Verifikim 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.",
"viewUpgradeOptionsContent": "Që të përfitoni përdorim të pakufizuar veçorish me pagesë, të tilla si regjistrimi, transkriptime, RTMP Streaming & etj, duhet të përmirësoni planin tuaj.",
"viewUpgradeOptionsTitle": "Zbuluat një veçori me pagesë!",
"whiteboardLimitContent": "Na ndjeni, është mbërritur te kufiri i tabelave të njëkohshme.",
"whiteboardLimitReference": "Për më tepër hollësi, ju lutemi, vizitoni",
"whiteboardLimitReferenceUrl": "sajtin tonë",
"whiteboardLimitTitle": "Kufizim përdorimi tabele",
"yourEntireScreen": "Krejt ekranin tuaj"
},
"documentSharing": {
@@ -443,6 +501,9 @@
"title": "Trupëzojeni këtë takim"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Zgjedhja juaj: {{rating}}"
},
"average": "Çka",
"bad": "I dobët",
"detailsLabel": "Na thoni më tepër rreth tij.",
@@ -499,13 +560,16 @@
"noNumbers": "Ska numra për përdorim.",
"noPassword": "Asnjë",
"noRoom": "Su dha dhomë për të cilën të formësohet numri.",
"noWhiteboard": "Su ngarkua dot tabela.",
"numbers": "Numra Për Tu Përdorur",
"password": "$t(lockRoomPasswordUppercase): ",
"reachedLimit": "Keni mbërritur në kufijtë e planit tuaj.",
"sip": "Adresë SIP",
"sipAudioOnly": "Adresë SIP vetëm për audio",
"title": "Ndani me të tjerë",
"tooltip": "Ndani me të tjerë lidhje dhe hollësi numrash për këtë takim",
"upgradeOptions": "Ju lutemi, shihni mundësitë e përmirësimit, te"
"upgradeOptions": "Ju lutemi, shihni mundësitë e përmirësimit, te",
"whiteboardError": "Gabim në ngarkimin e tabelës. Ju lutemi, riprovoni më vonë."
},
"inlineDialogFailure": {
"msg": "Ngecëm pak.",
@@ -607,13 +671,13 @@
"knockingParticipantList": "Listë pjesëmarrësish që duan të hyjnë",
"lobbyChatStartedNotification": "{{moderator}} filloi një fjalosje në holl me {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} ka filluar një fjalosje në holl me ju.",
"lobbyClosed": "Dhoma holl u mbyll.",
"nameField": "Jepni emrin tuaj",
"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",
"title": "Holl",
"toggleLabel": "Aktivizoni hollin"
@@ -646,6 +710,8 @@
"sessionToken": "Token Sesioni",
"start": "Nis Regjistrim",
"stop": "Ndale Regjistrimin",
"stopping": "Po ndalet Regjistrimi",
"wait": "Ju lutemi, prisni, teksa ruajmë regjistrimin tuaj",
"yes": "Po"
},
"lockRoomPassword": "fjalëkalim",
@@ -667,8 +733,11 @@
"connectedTwoMembers": "{{first}} dhe {{second}} tjetër hynë në takim",
"dataChannelClosed": "Rënie cilësie videoje",
"dataChannelClosedDescription": "Kanali urë u shkëput, kështu që cilësia e videos është kufizuar te vlera më e ulët.",
"disabledIframe": "Trupëzimi është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash.",
"disabledIframeSecondary": "Trupëzimi i {{domain}} është menduar vetëm për qëllime demonstrimi, ndaj kjo thirrje do të ndërpritet pas {{timeout}} minutash. Ju lutemi, për trupëzime të njëmendta përdorni <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Jitsi as a Service</a>!",
"disconnected": "u shkëput",
"displayNotifications": "Shfaq njoftime për",
"dontRemindMe": "Mos ma kujto",
"focus": "Fokusi te konferenca",
"focusFail": "{{component}} jo i passhëm - riprovoni pas {{ms}} sekondash",
"gifsMenu": "GIPHY",
@@ -677,6 +746,7 @@
"invitedOneMember": "{{name}} u ftua",
"invitedThreePlusMembers": "{{name}} dhe {{count}} të tjerë u ftuan",
"invitedTwoMembers": "{{first}} dhe {{second}} u ftuan",
"joinMeeting": "Hyni",
"kickParticipant": "{{kicked}} u përzu nga {{kicker}}",
"leftOneMember": "{{name}} doli nga takimi",
"leftThreePlusMembers": "{{name}} dhe mjaft të tjerë dolën nga takimi",
@@ -711,7 +781,6 @@
"newDeviceCameraTitle": "U pikas kamerë e re",
"noiseSuppressionDesktopAudioDescription": "Mbytja e zhurmave smund të aktivizohet teksa ndahet me të tjerët audioja e desktopit, ju lutemi, çaktivizojeni dhe riprovoni.",
"noiseSuppressionFailedTitle": "Su arrit të nisej mbytja e zhurmave",
"noiseSuppressionNoTrackDescription": "Ju lutemi, së pari, çheshtoni mikrofonin tuaj.",
"noiseSuppressionStereoDescription": "Aktualisht nuk mbulohet mbytje zhurmash audioje stereo.",
"oldElectronClientDescription1": "Duket se përdorni një version të vjetër të klientit Jitsi Meet, i cili ka cenueshmëri të ditura sigurie. Ju lutemi, siguroni përditësimin me ",
"oldElectronClientDescription2": "montimin tonë më të ri",
@@ -735,13 +804,18 @@
"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",
"suggestRecordingAction": "Niseni",
"suggestRecordingDescription": "Do të donit të nisej një regjistrim?",
"suggestRecordingTitle": "Regjistroje këtë takim",
"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ë"
"waitingParticipants": "{{waitingParticipants}} vetë",
"whiteboardLimitDescription": "Ju lutemi, ruani çkeni bërë, ngaqë së shpejti do të mbërrihet në kufi përdoruesi dhe tabela do të mbyllet.",
"whiteboardLimitTitle": "Përdorim tabele"
},
"participantsPane": {
"actions": {
@@ -752,6 +826,7 @@
"askUnmute": "Kërkoni heqje heshtimi",
"audioModeration": "Heqin heshtim të vetes",
"blockEveryoneMicCamera": "Bllokoni mikrofonin dhe kamerën e gjithkujt",
"breakoutRooms": "Dhoma anekse konsultimesh",
"invite": "Ftoni Dikë",
"moreModerationActions": "Më tepër mundësi moderimi",
"moreModerationControls": "Më tepër kontrolle moderimi",
@@ -769,7 +844,8 @@
"headings": {
"lobby": "Holli ({{count}})",
"participantsList": "Pjesëmarrës në takim ({{count}})",
"visitors": "Vizitorë ({{count}})",
"visitorRequests": " (requests {{count}})",
"visitors": "Vizitorë {{count}}",
"waitingLobby": "Duke pritur në holl ({{count}})"
},
"search": "Kërkoni te pjesëmarrësit",
@@ -796,6 +872,9 @@
"removeOption": "Hiqe mundësinë",
"send": "Dërgoje"
},
"errors": {
"notUniqueOption": "Opsionet duhet të jenë unike"
},
"notification": {
"description": "Që të votoni, hapni skedën e pyetësorëve",
"title": "Te ky takim u shtua një pyetësor i ri"
@@ -859,12 +938,15 @@
"joinWithoutAudio": "Merrni pjesë pa audio",
"keyboardShortcuts": "Aktivizo shkurtore tastiere",
"linkCopied": "Lidhja u kopjua në të papastër",
"lookGood": "Mikrofoni juaj po punon si duhet",
"lookGood": "Gjithçka po punon si duhet",
"or": "ose",
"premeeting": "Para takimit",
"proceedAnyway": "Vazhdo, sido qoftë",
"recordingWarning": "Këtë thirrje pjesëmarrës të tjerë mund ta regjistrojnë",
"screenSharingError": "Gabim ndarjeje ekrani me të tjerë:",
"showScreen": "Aktivizoni skenë para takimit",
"startWithPhone": "Nise me audio telefoni",
"unsafeRoomConsent": "I kuptoj rreziqet, dëshiroj të marr pjesë te takimi",
"videoOnlyError": "Gabim video:",
"videoTrackError": "Su krijua dot pistë video.",
"viewAllNumbers": "shihni krejt numrat"
@@ -885,9 +967,9 @@
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Caktoni emrin tuaj për në ekran",
"setDisplayNameLabel": "Emër",
"setEmailInput": "Jepni email",
"setEmailLabel": "Caktoni email të gravatarit tuaj",
"setEmailLabel": "Jepni email të gravatarit tuaj",
"title": "Profil"
},
"raisedHand": "Do të donte të fliste",
@@ -919,17 +1001,16 @@
"failedToStart": "Su arrit të niset regjistrimi",
"fileSharingdescription": "Ndajeni regjistrimin me pjesëmarrësit në takim",
"highlight": "Nxjerrje në pah",
"highlightMoment": "Nxirni në pah një çast",
"highlightMoment": "Nxirrni në pah një çast",
"highlightMomentDisabled": "Mund të nxirrni në pah çaste kur fillon regjistrimi",
"highlightMomentSuccess": "Çasti u nxorr në pah",
"highlightMomentSuccess": "Çasti u nxor në pah",
"highlightMomentSucessDescription": "Çasti i nxjerrë në pah nga ju do të shtohet te përmbledhja e takimit.",
"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": "DREJTPËRSËDREJTI",
"localRecordingNoNotificationWarning": "Regjistrimi sdo tu njoftohet pjesëmarrësve të tjerë. Do tju duhet ti vini në dijeni se takimi po regjistrohet.",
"localRecordingNoVideo": "Videoja nuk po regjistrohet",
"localRecordingNoVideo": "Videoja spo regjistrohet",
"localRecordingStartWarning": "Ju lutemi, sigurohuni se e ndalni regjistrimin para se dilni nga takimi, që të mund ta ruani.",
"localRecordingStartWarningTitle": "Ndaleni regjistrimin që ta ruani",
"localRecordingVideoStop": "Ndalja e videos tuaj do të ndalë gjithashtu edhe regjistrimin vendor. Jeni i sigurt se doni të vazhdohet?",
@@ -944,13 +1025,15 @@
"onBy": "{{name}} nisi regjistrimin",
"onlyRecordSelf": "Regjistro vetëm rrjedhat e mia audio dhe video",
"pending": "Po përgatitet të regjistrohet takimi…",
"rec": "REC",
"recordAudioAndVideo": "Regjistro audio dhe video",
"recordTranscription": "Regjistro transkriptimin",
"saveLocalRecording": "Ruajeni lokalisht kartelën e regjistrimit (Beta)",
"serviceDescription": "Regjistrimi juaj do të ruhet nga shërbimi i regjistrimit",
"serviceDescriptionCloud": "Regjistrim në re",
"serviceDescriptionCloudInfo": "Takimet e regjistruara spastrohen automatikisht 24h pas kohës së regjistrimit të tyre.",
"serviceName": "Shërbim regjistrimi",
"sessionAlreadyActive": "Ky sesion po regjistrohet ose transmetohet drejtpërsëdrejti tashmë.",
"showAdvancedOptions": "Mundësi të mëtejshme",
"signIn": "Hyni",
"signOut": "Dilni",
"surfaceError": "Ju lutemi, përdorni skedën e tanishme.",
@@ -966,10 +1049,17 @@
"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ë.",
"title": "Mundësi Sigurie"
"insecureRoomNameWarningNative": "Emri i dhomës sështë pa rrezik. Pjesëmarrës të padëshiruar munden të hyjnë në takimin tuaj. {{recommendAction}} Mësoni më tepër rreth sigurimit të takimit tuaj ",
"insecureRoomNameWarningWeb": "Emri i dhomës sështë pa rrezik. Pjesëmarrës të padëshiruar munden të hyjnë në takimin tuaj. {{recommendAction}} Mësoni më tepër rreth sigurimit të takimit tuaj <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">këtu</a>.",
"title": "Mundësi Sigurie",
"unsafeRoomActions": {
"meeting": "Shihni mundësinë e sigurimit të takimit tuaj, duke përdorur butonin e sigurisë.",
"prejoin": "Shihni mundësinë e përdorimit për takimin të një emri më të veçantë.",
"welcome": "Shihni mundësinë e përdorimit për takimin të një emri më të veçantë, ose zgjidhni një nga sugjerimet."
}
},
"settings": {
"audio": "Audio",
"buttonLabel": "Rregullime",
"calendar": {
"about": "Integrimi me kalendar {{appName}} përdoret për të hyrë me sukses te kalendari juaj, që kështu të mund të lexohen veprimtari të ardhshme.",
@@ -990,9 +1080,11 @@
"maxStageParticipants": "Numër maksimum pjesëmarrësish që mund të fiksohen te skena kryesore (EKSPERIMENTALe)",
"microphones": "Mikrofona",
"moderator": "Moderator",
"more": "Më tepër",
"moderatorOptions": "Mundësi moderatori",
"more": "Të përgjitshme",
"name": "Emër",
"noDevice": "Asnjë",
"notifications": "Njoftime",
"participantJoined": "Hyri Pjesëmarrës",
"participantKnocking": "Pjesëmarrës hyri në holl",
"participantLeft": "Doli Pjesëmarrës",
@@ -1003,13 +1095,14 @@
"selectCamera": "Kamerë",
"selectMic": "Mikrofon",
"selfView": "Parje e vetes",
"sounds": "Tinguj",
"shortcuts": "Shkurtore",
"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"
"title": "Rregullime",
"video": "Video"
},
"settingsView": {
"advanced": "Të mëtejshme",
@@ -1017,6 +1110,7 @@
"alertOk": "OK",
"alertTitle": "Kujdes",
"alertURLText": "URL-ja e dhënë për shërbyesin është e pavlefshme",
"apply": "Aplikoji",
"buildInfoSection": "Hollësi Montimi",
"conferenceSection": "Konferencë",
"disableCallIntegration": "Çaktivizo integrim thirrje me sistemin",
@@ -1027,19 +1121,21 @@
"displayNamePlaceholderText": "P.sh.: Zamir Gjoli",
"email": "Email",
"emailPlaceholderText": "email@example.com",
"gavatarMessage": "Nëse emal-i juaj është i përshoqëruar me një llogari Gravatar, do ta përdorim për të shfaqur foton e profilit tuaj.",
"goTo": "Kalo te",
"header": "Rregullime",
"help": "Ndihmë",
"links": "Lidhje",
"privacy": "Privatësi",
"profileSection": "Profil",
"sdkVersion": "Version SDK",
"serverURL": "URL Shërbyesi",
"showAdvanced": "Shfaq rregullime të mëtejshme",
"startCarModeInLowBandwidthMode": "Nën mënyrën “gjerësi e ulët bande” nis mënyrën automjet",
"startWithAudioMuted": "Fillo me audio të mbyllur",
"startWithVideoMuted": "Fillo me video të mbyllur",
"terms": "Terma",
"version": "Version"
"version": "Version aplikacioni"
},
"share": {
"dialInfoText": "\n\n=====\n\nThjesht doni ti bini numrit në telefonin tuaj?\n\n{{defaultDialInNumber}}Klikoni mbi këtë lidhje, që të shihni numra telefoni për këtë takim\n{{dialInfoPageUrl}}",
@@ -1050,7 +1146,7 @@
"angry": "I zemëruar",
"disgusted": "I pështirosur",
"displayEmotions": "Shfaq emocione",
"fearful": "I firkësuar",
"fearful": "I frikësuar",
"happy": "I gëzuar",
"hours": "{{count}}h",
"minutes": "{{count}}m",
@@ -1058,7 +1154,7 @@
"neutral": "Asnjanës",
"sad": "I trishtuar",
"search": "Kërko",
"searchHint": "Kërkoni pjesëmarrësit",
"searchHint": "Kërkoni për pjesëmarrës",
"seconds": "{{count}}s",
"speakerStats": "Statistika Folësi",
"speakerTime": "Kohë Folësi",
@@ -1081,7 +1177,7 @@
"toolbar": {
"Settings": "Rregullime",
"accessibilityLabel": {
"Settings": "Shfaq/Fshih rregullimet",
"Settings": "Hap rregullimet",
"audioOnly": "Hap/Mbyll vetëm audion",
"audioRoute": "Përzgjidhni pajisje zëri",
"boo": "Ya",
@@ -1091,11 +1187,20 @@
"cc": "Shfaq/Fshih titra",
"chat": "Hapni / Mbyllni fjalosje",
"clap": "Duartrokitje",
"closeChat": "Mbylle fjalosjen",
"closeMoreActions": "Mbyll menunë Më Tepër Veprime",
"closeParticipantsPane": "Mbyll kuadratin pjesëmarrës",
"collapse": "Tkurre",
"document": "Shfaq/Fshih dokument të ndarë",
"documentClose": "Mbyll dokument të ndarë",
"documentOpen": "Hap dokument të ndarë",
"download": "Shkarkoni aplikacionet tona",
"embedMeeting": "Trupëzoni takimin",
"endConference": "Përfundoje takimin për të tërë",
"enterFullScreen": "Shiheni sa krejt ekrani",
"enterTileView": "Kaloni nën mënyrën me kuadrate",
"exitFullScreen": "Dil nga mënyra “Sa krejt ekrani”",
"exitTileView": "Dil nga mënyra me kuadrate",
"expand": "Zgjeroje",
"feedback": "Lini përshtypje",
"fullScreen": "Kalo nën/Dil nga mënyra “Sa krejt ekrani”",
@@ -1104,6 +1209,7 @@
"hangup": "Braktiseni takimin",
"heading": "Panel",
"help": "Ndihmë",
"hideWhiteboard": "Fshihe tabelën",
"invite": "Ftoni njerëz",
"kick": "Përzëre pjesëmarrësin",
"laugh": "E qeshur",
@@ -1113,21 +1219,25 @@
"lobbyButton": "Aktivizo/Çaktivizoni mënyrën holl",
"localRecording": "Shfaq/Fshih kontrolle regjistrimi vendor",
"lockRoom": "Aktivizo/Çaktivizo fjalëkalim takimi",
"lowerHand": "Ulni dorën",
"moreActions": "Më tepër veprime",
"moreActionsMenu": "Menu “Më tepër veprime”",
"moreOptions": "Shfaq më tepër mundësi",
"mute": "Heshtoje / Çheshtoje",
"mute": "Heshto mikrofonin",
"muteEveryone": "Heshto gjithkënd",
"muteEveryoneElse": "Heshto gjithkënd tjetër",
"muteEveryoneElsesVideoStream": "Ndal videon e gjithkujt tjetër",
"muteEveryonesVideoStream": "Ndal videon e gjithkujt",
"muteGUMPending": "Po lidhet mikrofoni juaj",
"noiseSuppression": "Mbytje zhurmash",
"participants": "Pjesëmarrës",
"openChat": "Hapni fjalosje",
"participants": "Hapni kuadrat pjesëmarrësish",
"pip": "Aktivizo/Çaktivizo mënyrën “Picture-in-Picture”",
"privateMessage": "Dërgoni mesazh privat",
"profile": "Përpunoni profilin tuaj",
"raiseHand": "Ngrini / Ulni dorën tuaj",
"reactionsMenu": "Hap / Mbyll menu reagimesh",
"raiseHand": "Ngrini dorën",
"reactions": "Reagime",
"reactionsMenu": "Menu reagimesh",
"recording": "Nis/Ndal regjistrimin",
"remoteMute": "Heshto pjesëmarrësin",
"remoteVideoMute": "Çaktivizo kamerën e pjesëmarrësit",
@@ -1135,20 +1245,25 @@
"selectBackground": "Përzgjidhni Sfond",
"selfView": "Shfaq/Fshih pamje të vetes",
"shareRoom": "Ftoni dikë",
"shareYourScreen": "Nisni / Ndalni tregimin e ekranit tuaj",
"shareYourScreen": "Nisni tregimin e ekranit tuaj",
"shareaudio": "Ndani audio me të tjerë",
"sharedvideo": "Aktivizo/Çaktivizo ndarje videoje me të tjerë",
"sharedvideo": "Ndani video me të tjerë",
"shortcuts": "Shfaq/Fshih shkurtore",
"show": "Shfaqe në skenë",
"showWhiteboard": "Shfaq tabelë",
"silence": "Heshtje",
"speakerStats": "Shfaq/Fshih statistika folësi",
"stopScreenSharing": "Ndalni tregimin e ekranit tuaj",
"stopSharedVideo": "Ndalni videon",
"surprised": "I befasuar",
"tileView": "Kalo në/Dil nga mënyra mozaik",
"toggleCamera": "Hap/Mbyll kamerën",
"toggleFilmstrip": "Shfaq/Fshih shirit filmi",
"unmute": "Hiqni heshtim mikrofoni",
"videoblur": "Aktivizo/Çaktivizo turbullim videoje",
"videomute": "Nis / Ndal kamerën",
"whiteboard": "Shfaq / Fshih tabelën"
"videomute": "Ndal kamerën",
"videomuteGUMPending": "Po lidhet kamera juaj",
"videounmute": "Nis kamerën"
},
"addPeople": "Shtoni persona te thirrja juaj",
"audioOnlyOff": "Çaktivizo mënyrën “Sasi e ulët të dhënash trafiku”",
@@ -1161,6 +1276,7 @@
"chat": "Hap / Mbyll fjalosje",
"clap": "Duartrokitje",
"closeChat": "Mbyll fjalosjen",
"closeParticipantsPane": "Mbylle kuadratin e pjesëmarrësve",
"closeReactionsMenu": "Mbyll menu reagimesh",
"disableNoiseSuppression": "Çaktivizo mbytje zhurmash",
"disableReactionSounds": "Mund të çaktivizoni tinguj reagimesh për këtë takim",
@@ -1169,6 +1285,7 @@
"download": "Shkarkoni aplikacione tonat",
"e2ee": "Fshehtëzim Skaj-Më-Skaj",
"embedMeeting": "Trupëzoni takim",
"enableNoiseSuppression": "Aktivizoni mbytje zhurmash",
"endConference": "Përfundoje takimin për të tërë",
"enterFullScreen": "Shiheni sa krejt ekrani",
"enterTileView": "Kalo te pamja me kuadrate",
@@ -1193,9 +1310,10 @@
"lowerYourHand": "Ulni dorën",
"moreActions": "Më tepër veprime",
"moreOptions": "Më tepër veprime",
"mute": "Heshtoje / Hiqi heshtimin",
"mute": "Heshto mikrofonin",
"muteEveryone": "Heshto gjithkënd",
"muteEveryonesVideo": "Çaktivizo videon e gjithkujt",
"muteGUMPending": "Po lidhet mikrofoni juaj",
"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:",
@@ -1210,7 +1328,7 @@
"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",
"raiseHand": "Ngrini dorën",
"raiseYourHand": "Ngrini dorën",
"reactionBoo": "Dërgoni reagim me ya",
"reactionClap": "Dërgoni reagim me duartrokitje",
@@ -1218,6 +1336,7 @@
"reactionLike": "Dërgoni reagim me “thumbs up”",
"reactionSilence": "Dërgoni reagim me heshtje",
"reactionSurprised": "Dërgoni reagim të befasuari",
"reactions": "Reagime",
"security": "Mundësi sigurie",
"selectBackground": "Përzgjidhni sfond",
"shareRoom": "Ftoni dikë",
@@ -1237,17 +1356,17 @@
"talkWhileMutedPopup": "Po provoni të flisni? Jeni i heshtuar.",
"tileViewToggle": "Kalo në/Dil nga mënyra mozaik",
"toggleCamera": "Hapni/Mbyllni kamerën",
"videoSetting": "Rregullime videoje",
"videomute": "Nisni / Ndalni kamerën"
"unmute": "Hiqni heshtimin e mikrofonit",
"videoSettings": "Rregullime videoje",
"videomute": "Ndalni kamerën",
"videomuteGUMPending": "Po lidhet kamera juaj",
"videounmute": "Nisni kamerën"
},
"transcribing": {
"ccButtonTooltip": "Ndali / Nisi titrat",
"error": "Transkriptimi dështoi. Ju lutemi, riprovoni.",
"expandedLabel": "Transkriptimi aktualisht është aktiv",
"failedToStart": "Su arrit të nisej transkriptim",
"labelToolTip": "Takimit po i bëhet transkriptim",
"off": "Transkriptimi u ndal",
"pending": "Po përgatitet të transkriptohet takimi…",
"sourceLanguageDesc": "Aktualisht si gjuhë takimi është caktuar <b>{{sourceLanguage}}</b>. <br/> Mund ta ndryshoni që nga ",
"sourceLanguageHere": "këtu",
"start": "Fillo shfaqje titrash",
@@ -1284,7 +1403,7 @@
"audioOnly": "AUD",
"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",
"callQuality": "Cilësi Videoje (0 për punimin më të mirë, 3 për cilësinë më të lartë)",
"hd": "CL",
"hdTooltip": "Po shihet video në cilësi të lartë",
"highDefinition": "Cilësi e Lartë",
@@ -1326,6 +1445,10 @@
"videomute": "Pjesëmarrësi ka ndalur kamerën"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Sfondi i tanishëm: {{background}}",
"selectBackground": "Përzgjidhni një sfond"
},
"addBackground": "Shtoni sfond",
"apply": "Zbatoje",
"backgroundEffectError": "Su arrit të zbatohej efekt sfondi.",
@@ -1343,13 +1466,20 @@
"none": "Asnjë",
"pleaseWait": "Ju lutemi, pritni…",
"removeBackground": "Hiqe sfondin",
"slightBlur": "Turbullim Paksa",
"slightBlur": "Gjysmë-Turbullim",
"title": "Sfonde virtualë",
"uploadedImage": "Ngarkoi figurën {{index}}",
"webAssemblyWarning": "Nuk mbulohet WebAssembly",
"webAssemblyWarningDescription": "WebAssembly e çaktivizuar ose e pambuluar nga ky shfletues"
},
"visitorsLabel": "Numër vizitorësh: {{count}}",
"visitors": {
"chatIndicator": "(vizitor)",
"labelTooltip": "Numër vizitorësh: {{count}}",
"notification": {
"description": "Që të merrni pjesë, ngrini dorën",
"title": "Jeni vizitor në takim"
}
},
"volumeSlider": "Rrëshqitës volumi",
"welcomepage": {
"accessibilityLabel": {
@@ -1382,6 +1512,7 @@
"microsoftLogo": "Stemë Microsoft-i",
"policyLogo": "Stemë Rregullash"
},
"meetingsAccessibilityLabel": "Takime",
"mobileDownLoadLinkAndroid": "Shkarkoni aplikacionin për celular me Android",
"mobileDownLoadLinkFDroid": "Shkarkoni aplikacionin për celular me F-Droid",
"mobileDownLoadLinkIos": "Shkarkoni aplikacionin për celular me iOS",
@@ -1405,6 +1536,7 @@
"whiteboard": {
"accessibilityLabel": {
"heading": "Tabelë shënimesh"
}
},
"screenTitle": "Tabelë shënimesh"
}
}

View File

@@ -447,6 +447,11 @@
},
"passwordDigitsOnly": "",
"passwordSetRemotely": "",
"polls": {
"errors": {
"notUniqueOption": "Опције морају бити јединствене"
}
},
"poweredby": "",
"prejoin": {
"audioAndVideoError": "Грешка звука и видеа:",

View File

@@ -804,6 +804,9 @@
"removeOption": "Ta bort alternativ",
"send": "Skicka"
},
"errors": {
"notUniqueOption": "Alternativ måste vara unika"
},
"notification": {
"description": "Öppna fliken omröstningar för att rösta",
"title": "En ny omröstning har blivit tillagd till detta möte"

View File

@@ -577,6 +577,11 @@
},
"passwordDigitsOnly": "{{number}} అంకెల వరకు",
"passwordSetRemotely": "మరో సదస్యులు అమర్చారు",
"polls": {
"errors": {
"notUniqueOption": "ఎంపికలు ప్రత్యేకంగా ఉండాలి"
}
},
"poweredby": "శక్తిమంతం",
"prejoin": {
"audioAndVideoError": "Audio and video error:",

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Toplantı linki: {{url}}"
},
"add": "Davet et",
"addContacts": "Kişilerinizi davet edin",
"contacts": "kişiler",
@@ -39,6 +42,18 @@
"audioOnly": {
"audioOnly": "Düşük bant genişliği"
},
"bandwidthSettings": {
"assumedBandwidthBps": "örneğin 10 Mbps için 10000000",
"assumedBandwidthBpsWarning": "Daha yüksek değerler ağ sorunlarına neden olabilir.",
"customValue": "özel değer",
"customValueEffect": "gerçek bps değerini ayarlamak için",
"leaveEmpty": "boş bırak",
"leaveEmptyEffect": "tahminlerin gerçekleşmesine izin vermek için",
"possibleValues": "Olası değerler",
"setAssumedBandwidthBps": "Varsayılan bant genişliği (bps)",
"title": "Bant genişliği ayarları",
"zeroEffect": "videoyu devre dışı bırakmak için"
},
"breakoutRooms": {
"actions": {
"add": "Alt oda ekle",
@@ -48,15 +63,22 @@
"leaveBreakoutRoom": "Alt odadan çık",
"more": "Daha",
"remove": "Sil",
"rename": "Yeniden adlandır",
"renameBreakoutRoom": "Alt odasını yeniden adlandırın",
"sendToBreakoutRoom": "Katılımcıya gönder:"
},
"breakoutList": "Alt listesi",
"buttonLabel": "Alt odalar",
"defaultName": "Alt oda #{{index}}",
"hideParticipantList": "Katılımcı listesini gizle",
"mainRoom": "Ana oda",
"notifications": {
"joined": "\"{{name}}\" alt odasına giriliyor",
"joinedMainRoom": "Ana odaya giriliyor",
"joinedTitle": "Alt Odalar"
}
},
"showParticipantList": "Katılımcı listesini göster",
"title": "Alt Odalar"
},
"calendarSync": {
"addMeetingURL": "Bir toplantı bağlantısı ekle",
@@ -147,6 +169,7 @@
"bridgeCount": "Sunucu sayısı: ",
"codecs": "Kodekler (A/V): ",
"connectedTo": "Bağlandı şuna:",
"e2eeVerified": "E2EE doğrulandı",
"framerate": "Çerçeve hızı:",
"less": "Daha az göster",
"localaddress": "Yerel adres:",
@@ -155,6 +178,7 @@
"localport_plural": "Yerel portlar:",
"maxEnabledResolution": "maksimumu gönder",
"more": "Daha fazla göster",
"no": "hayır",
"packetloss": "Paket kaybı:",
"participant_id": "Katılımcı id:",
"quality": {
@@ -173,7 +197,8 @@
"status": "Bağlantı:",
"transport": "Transport:",
"transport_plural": "Transportlar:",
"video_ssrc": "Video SSRC:"
"video_ssrc": "Video SSRC:",
"yes": "evet"
},
"dateUtils": {
"earlier": "Daha eski",
@@ -183,13 +208,23 @@
"deepLinking": {
"appNotInstalled": "Bu toplantıya katılmak için {{app}} uygulamasına ihtiyacınız var.",
"description": "Hiçbir şey olmadı mı? Toplantınızı {{app}} masaüstü uygulamasında başlatmaya çalıştık. Tekrar deneyin veya {{app}} web uygulamasınıın.",
"descriptionNew": "Hiçbir şey olmadı? Toplantınızı {{app}} masaüstü uygulamasında başlatmayı denedik. <br /><br /> Tekrar deneyebilir veya web üzerinde başlatabilirsiniz.",
"descriptionWithoutWeb": "Hiçbir şey olmadı? Toplantınızı {{app}} masaüstü uygulamasında başlatmayı denedik.",
"downloadApp": "Uygulamayı indir",
"downloadMobileApp": "App Store'dan indirin",
"ifDoNotHaveApp": "Henüz uygulamanız yoksa:",
"ifHaveApp": "Uygulamanız zaten varsa: ",
"joinInApp": "Uygulamayı kullanarak bu toplantıya katıl",
"joinInAppNew": "Uygulamaya katıl",
"joinInBrowser": "Tarayıcıya katıl",
"launchMeetingLabel": "Bu toplantıya nasıl katılmak istersiniz?",
"launchWebButton": "Web'de aç",
"noDesktopApp": "Uygulamanız yok mu?",
"noMobileApp": "Uygulamanız yok mu?",
"or": "VEYA",
"termsAndConditions": "Devam ederek <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>şartlar ve koşullarımızı</a> kabul etmiş olursunuz.",
"title": "Toplantınız {{app}} uygulamasında açılıyor...",
"titleNew": "Toplantınız başlatılıyor...",
"tryAgainButton": "Masaüstünde tekrar deneyin",
"unsupportedBrowser": "Şu an kullandığınız tarayıcıyı desteklemiyoruz."
},
@@ -202,6 +237,12 @@
"microphonePermission": "Mikrofon erişim izni alınamadı"
},
"deviceSelection": {
"hid": {
"callControl": "Çağrı kontrolü",
"connectedDevices": "Bağlı cihazlar:",
"deleteDevice": "Cihazı sil",
"pairDevice": "Cihazı eşleştir"
},
"noPermission": "İzin alınamadı",
"previewUnavailable": "Önizleme mevcut değil",
"selectADevice": "Bir cihaz seç",
@@ -226,12 +267,18 @@
"WaitingForHostTitle": "Toplantı sahibi bekleniyor ...",
"Yes": "Evet",
"accessibilityLabel": {
"liveStreaming": "Canlı akış"
"Cancel": "İptal et (iletişim kutusundan ayrıl)",
"Ok": "Tamam (kaydet ve diyalogdan ayrıl)",
"close": "İletişim kutusunu kapat",
"liveStreaming": "Canlı akış",
"sharingTabs": "Paylaşım seçenekleri"
},
"add": "Ekle",
"addMeetingNote": "",
"addOptionalNote": "",
"allow": "İzin ver",
"allowToggleCameraDialog": "{{initiatorName}}'ın kameraya bakma modunu değiştirmesine izin veriyor musunuz?",
"allowToggleCameraTitle": "Kamerayı değiştirmeye izin verilsin mi?",
"alreadySharedVideoMsg": "Başka bir katılımcı zaten bir video paylaşıyor. Bu konferans aynı anda yalnızca bir paylaşılan videoya izin verir.",
"alreadySharedVideoTitle": "Aynı anda yalnızca bir paylaşılan videoya izin verilir.",
"applicationWindow": "Uygulama penceresi",
@@ -258,6 +305,8 @@
"contactSupport": "Destek ekibine erişin",
"copied": "Kopyalandı",
"copy": "Kopyala",
"demoteParticipantDialog": "Bu katılımcıyı ziyaretçiye taşımak istediğinizden emin misiniz?",
"demoteParticipantTitle": "Ziyaretçiye taşı",
"dismiss": "Son ver",
"displayNameRequired": "Merhaba, görünmesini istediğin ismin nedir?",
"done": "Bitti",
@@ -292,6 +341,7 @@
"lockRoom": "Toplantı parolası ekle",
"lockTitle": "Kilitlenemedi",
"login": "Giriş",
"loginQuestion": "Oturum açıp konferanstan ayrılmak istediğinizden emin misiniz?",
"logoutQuestion": "Oturumu kapatmak ve toplantıyı durdurmak istediğinizden emin misiniz?",
"logoutTitle": "Oturumu kapat",
"maxUsersLimitReached": "Maksimum katılımcı sayısı sınırına ulaşıldı. Toplantı dolu. Lütfen toplantı sahibiyle iletişime geçin veya daha sonra tekrar deneyin!",
@@ -335,8 +385,6 @@
"permissionCameraRequiredError": "Videolu konferanslara katılmak için kamera izni gereklidir. Lütfen ayarlardan izin verin",
"permissionErrorTitle": "İzin gerekli",
"permissionMicRequiredError": "Konferanslara sesli olarak katılmak için lütfen mikrofon izni gereklidir. Lütfen ayarlardan izin verin",
"popupError": "Tarayıcınız bu siteden açılan pencereleri engelliyor. Lütfen tarayıcınızın güvenlik ayarlarından açılır pencereleri etkinleştirin ve tekrar deneyin.",
"popupErrorTitle": "Açılır pencere engellendi",
"readMore": "daha fazla",
"recentlyUsedObjects": "Son zamanlarda kullandığınız objeler",
"recording": "Kaydediliyor",
@@ -353,6 +401,8 @@
"removePassword": "Parolayı kaldır",
"removeSharedVideoMsg": "Paylaşılan videonuzu kaldırmak istediğinizden emin misiniz?",
"removeSharedVideoTitle": "Paylaşılan videoyu kaldır",
"renameBreakoutRoomLabel": "Oda adı",
"renameBreakoutRoomTitle": "Alt odasını yeniden adlandırın",
"reservationError": "Rezervasyon sistemi hatası",
"reservationErrorMsg": "Hata kodu: {{code}}, mesaj: {{msg}}",
"retry": "Yeniden Dene",
@@ -372,8 +422,10 @@
"sendPrivateMessageTitle": "Özel olarak gönderilsin mi?",
"serviceUnavailable": "Hizmet kullanılamıyor",
"sessTerminated": "Arama sonlandırıldı",
"sessTerminatedReason": "Toplantı sonlandırıldı",
"sessionRestarted": "Çağrı köprü tarafından yeniden başlatıldı",
"shareAudio": "Devam",
"shareAudioAltText": "istediğiniz içeriği paylaşmak için \"Tarayıcı Sekmesi\"ne gidin, içeriği seçin, \"sesi paylaş\" onay işaretini etkinleştirin ve ardından \"paylaş\" düğmesini tıklayın",
"shareAudioTitle": "Ses nasıl paylaşılır",
"shareAudioWarningD1": "sesinizi paylaşmadan önce ekran paylaşımını durdurmanız gerekiyor.",
"shareAudioWarningD2": "ekran paylaşımınızı yeniden başlatmanız ve \"sesi paylaş\" seçeneğini işaretlemeniz gerekiyor.",
@@ -403,16 +455,42 @@
"thankYou": "{{appName}} kullandığınız için teşekkürler!",
"token": "token",
"tokenAuthFailed": "Üzgünüz, bu görüşmeye katılmanıza izin verilmiyor.",
"tokenAuthFailedReason": {
"audInvalid": "Geçersiz `aud` değeri. 'jitsi' olmalı.",
"contextNotFound": "Yükte `context` nesnesi eksik.",
"expInvalid": "Geçersiz `exp` değeri.",
"featureInvalid": "Geçersiz özellik: {{feature}}, büyük olasılıkla henüz uygulanmadı.",
"featureValueInvalid": "Özellik için geçersiz değer: {{feature}}.",
"featuresNotFound": "`features` nesnesi yükte eksik.",
"headerNotFound": "Başlık eksik.",
"issInvalid": "Geçersiz `iss` değeri. `chat` olmalıdır.",
"kidMismatch": "Anahtar Kimliği (kid) alt öğeyle eşleşmiyor.",
"kidNotFound": "Eksik Anahtar Kimliği (kid).",
"nbfFuture": "`nbf` değeri gelecektedir.",
"nbfInvalid": "Geçersiz `nbf` değeri.",
"payloadNotFound": "Yük eksik.",
"tokenExpired": "Token'ın süresi doldu."
},
"tokenAuthFailedTitle": "Kimlik doğrulama başarısız",
"tokenAuthFailedWithReasons": "Üzgünüz, bu görüşmeye katılmanıza izin verilmiyor. Olası nedenler: {{reason}}",
"tokenAuthUnsupported": "Token URL'si desteklenmiyor.",
"transcribing": "Deşifre ediliyor",
"unlockRoom": "Toplantı parolasını kaldır",
"user": "Kullanıcı",
"userIdentifier": "Kullanıcı tanımlayıcı",
"userPassword": "Kullancı parolası",
"verifyParticipantConfirm": "Eşleşiyorlar",
"verifyParticipantDismiss": "Eşleşmiyorlar",
"verifyParticipantQuestion": "DENEYSEL: {{participantName}} adlı katılımcıya aynı içeriği aynı sırayla görüp görmediklerini sorun.",
"verifyParticipantTitle": "Kullanıcı doğrulama",
"videoLink": "Video bağlantısı",
"viewUpgradeOptions": "Yükseltme seçeneklerini görüntüle",
"viewUpgradeOptionsContent": "Kayıt, çeviri yazılar, RTMP Akışı ve daha fazlası gibi premium özelliklere sınırsız erişim elde etmek için planınızı yükseltmeniz gerekir.",
"viewUpgradeOptionsTitle": "Premium bir özellik keşfettiniz!",
"whiteboardLimitContent": "Üzgünüz, eşzamanlı beyaz tahta kullanıcılarının sınırına ulaşıldı.",
"whiteboardLimitReference": "Daha fazla bilgi için lütfen şu adresi ziyaret edin",
"whiteboardLimitReferenceUrl": "web sitemiz",
"whiteboardLimitTitle": "Beyaz tahta kullanımı kısıtlandı",
"yourEntireScreen": "Tüm ekranınız"
},
"documentSharing": {
@@ -425,6 +503,9 @@
"title": "Bu toplantıyı yerleştir"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Seçiminiz: {{rating}}"
},
"average": "Orta",
"bad": "Kötü",
"detailsLabel": "Bize daha fazla bilgi verin.",
@@ -434,13 +515,15 @@
"veryBad": "Çok kötü",
"veryGood": "Çok iyi"
},
"filmstrip": {
"accessibilityLabel": {
"heading": "Video küçük resimleri"
}
},
"giphy": {
"noResults": "Sonuç yok :(",
"search": "GIPHY ara"
},
"helpView": {
"title": "Yardım merkezi"
},
"incomingCall": {
"answer": "Cevapla",
"audioCallTitle": "Gelen sesli arama",
@@ -479,13 +562,16 @@
"noNumbers": "Arama numarası yok",
"noPassword": "Yok",
"noRoom": "Aranacak oda belirtilmedi.",
"noWhiteboard": "Beyaz tahta yüklenemedi.",
"numbers": "Arama Numaraları",
"password": "Parola:",
"reachedLimit": "Plan limitlerine ulaştınız.",
"sip": "SIP adresi",
"sipAudioOnly": "Yalnızca SIP ses adresi",
"title": "Paylaş",
"tooltip": "Bu toplantı için bağlantıyı ve arama bilgilerini paylaşın",
"upgradeOptions": "Lütfen yükseltme seçeneklerini kontrol ediniz."
"upgradeOptions": "Lütfen yükseltme seçeneklerini kontrol ediniz.",
"whiteboardError": "Beyaz tahta yüklenirken hata oluştu. Lütfen daha sonra tekrar deneyin."
},
"inlineDialogFailure": {
"msg": "Biraz tökezledik.",
@@ -562,7 +648,6 @@
"youtubeTerms": "YouTube hizmet şartları"
},
"lobby": {
"allow": "İzin ver",
"backToKnockModeButton": "Parola yok, bunun yerine katılmayı isteyin",
"chat": "Sohbet et",
"dialogTitle": "Lobi modu",
@@ -588,13 +673,13 @@
"knockingParticipantList": "Kapıyı çalan katılımcı listesi",
"lobbyChatStartedNotification": "{{moderator}} {{attendee}} adlı kişiyle lobi mesajlaşması başlattı",
"lobbyChatStartedTitle": "{{moderator}} sizinle lobi mesajlaşması başlattı",
"lobbyClosed": "Lobi odası kapatıldı.",
"nameField": "Adınızı giriniz",
"notificationLobbyAccessDenied": "{{targetParticipantName}} adlı katılımcı {{originParticipantName}} tarafından reddedildi",
"notificationLobbyAccessGranted": "{{targetParticipantName}} adlı katılımcı {{originParticipantName}} tarafından kabul edildi",
"notificationLobbyDisabled": "Lobi {{originParticipantName}} tarafından devre dışı bırakıldı",
"notificationLobbyEnabled": "Lobi {{originParticipantName}} tarafından etkinleştirildi",
"notificationTitle": "Lobi",
"passwordField": "Toplantı parolasını giriniz",
"passwordJoinButton": "Katıl",
"title": "Lobi",
"toggleLabel": "Lobiyi etkinleştir"
@@ -627,6 +712,8 @@
"sessionToken": "Oturum Tokeni",
"start": "Kaydı başlat",
"stop": "Kaydı durdur",
"stopping": "Kayıt Durduruluyor",
"wait": "Kaydınız kaydedilirken lütfen bekleyin",
"yes": "Evet"
},
"lockRoomPassword": "parola",
@@ -646,8 +733,13 @@
"connectedOneMember": "{{name}} toplantıya katıldı",
"connectedThreePlusMembers": "{{name}} ve {{count}} kişi daha toplantıya katıldı",
"connectedTwoMembers": "{{first}} ve {{second}} toplantıya katıldı",
"dataChannelClosed": "Video kalitesi bozuldu",
"dataChannelClosedDescription": "Köprü kanalının bağlantısı kesildi ve bu nedenle video kalitesi en düşük ayarla sınırlandı.",
"disabledIframe": "Yerleştirme yalnızca demo amaçlı olduğundan bu çağrının bağlantısı {{timeout}} dakika içinde kesilecek.",
"disabledIframeSecondary": "{{domain}} alanının yerleştirilmesi yalnızca demo amaçlı olduğundan bu çağrının bağlantısı {{timeout}} dakika içinde kesilecektir. Üretim yerleştirme için lütfen <a href='{{jaasDomain}}' rel='noopener noreferrer' target='_blank'>Hizmet olarak Jitsi</a>'yi kullanın!",
"disconnected": "bağlantı kesildi",
"displayNotifications": "Bildirimleri görüntüle",
"dontRemindMe": "Bana hatırlatma",
"focus": "Toplantı odağı",
"focusFail": "{{component}} uygun değil - {{ms}} saniye içinde tekrar deneyin",
"gifsMenu": "GIPHY",
@@ -656,6 +748,7 @@
"invitedOneMember": "{{name}} davet edildi",
"invitedThreePlusMembers": "{{name}} ve {{count}} kişi daha davet edildi",
"invitedTwoMembers": "{{first}} ve {{second}} davet edildi",
"joinMeeting": "Katıl",
"kickParticipant": "{{kicked}} kişisi {{kicker}} tarafından çıkarıldı",
"leftOneMember": "{{name}} toplantıdan ayrıldı",
"leftThreePlusMembers": "{{name}} ve diğerleri toplantıdan ayrıldı",
@@ -690,7 +783,6 @@
"newDeviceCameraTitle": "Yeni kamera algılandı",
"noiseSuppressionDesktopAudioDescription": "Masaüstü sesi paylaşılırken gürültü bastırma etkinleştirilemez, lütfen devre dışı bırakın ve tekrar deneyin.",
"noiseSuppressionFailedTitle": "Gürültü bastırma başlatılamadı",
"noiseSuppressionNoTrackDescription": "Lütfen önce mikrofonunuzun sesini açın.",
"noiseSuppressionStereoDescription": "Stereo ses gürültü bastırma şu anda desteklenmemektedir.",
"oldElectronClientDescription1": "Güvenlik açıkları bilinen Jitsi Meet istemcisinin eski bir sürümünü kullanıyor görünüyorsunuz. Lütfen güncellediğinizden emin olun.",
"oldElectronClientDescription2": "son yapı",
@@ -706,19 +798,27 @@
"reactionSoundsForAll": "Herkes için sesleri devre dışı bırak",
"screenShareNoAudio": " Pencere seçim ekranında sesi paylaş kutusu işaretlenmedi.",
"screenShareNoAudioTitle": "Sistem sesi paylaşılamadı!",
"screenSharingAudioOnlyDescription": "Ekranınızı paylaşarak \"En iyi performans\" modunu etkilediğinizi ve daha fazla bant genişliği kullanacağınızı lütfen unutmayın.",
"screenSharingAudioOnlyTitle": "\"En iyi performans\" modu",
"selfViewTitle": "Kendi kendine görünümü her zaman ayarlardan gizleyebilirsiniz",
"somebody": "Birisi",
"startSilentDescription": "Ses çıkışını açtıktan sonra tekrar bağlanın",
"startSilentTitle": "Ses çıkışı olmadan bağlandınız",
"suboptimalBrowserWarning": "Toplantı deneyiminizin burada çok iyi olmayacağından korkuyoruz. Bunu iyileştirmenin yollarını arıyoruz, ancak o zamana kadar lütfen şunlardan birini deneyin: <a href='{{recommendedBrowserPageLink}}' target='_blank'>desteklenen tarayıcılar</a>.",
"suboptimalExperienceTitle": "Tarayıcı Uyarısı",
"suggestRecordingAction": "Başla",
"suggestRecordingDescription": "Kaydı başlatmak ister misiniz?",
"suggestRecordingTitle": "Bu toplantıyı kaydet",
"unmute": "Sessizden çıkar",
"videoMutedRemotelyDescription": "Her zaman yeniden açabilirsiniz.",
"videoMutedRemotelyTitle": "{{moderator}} tarafından videonuz kapatıldı",
"videoUnmuteBlockedDescription": "Sistem sınırları nedeniyle kamera sesini açma ve masaüstü paylaşım işlemi geçici olarak engellendi.",
"videoUnmuteBlockedTitle": "Kameranın sesini açma ve masaüstü paylaşımı engellendi!",
"viewLobby": "Lobiyi göster",
"waitingParticipants": "{{waitingParticipants}} kişi"
"viewVisitors": "Ziyaretçileri görüntüle",
"waitingParticipants": "{{waitingParticipants}} kişi",
"whiteboardLimitDescription": "Kullanıcı sınırına yakında ulaşılacağından ve beyaz tahta kapanacağından lütfen ilerlemenizi kaydedin.",
"whiteboardLimitTitle": "Beyaz tahta kullanımı"
},
"participantsPane": {
"actions": {
@@ -729,6 +829,7 @@
"askUnmute": "Sesi açmayı iste",
"audioModeration": "Seslerini aç",
"blockEveryoneMicCamera": "Herkesin mikrofonunu ve kamerasını blokla",
"breakoutRooms": "Alt odalar",
"invite": "Birini davet et",
"moreModerationActions": "Daha fazla denetleme seçeneği",
"moreModerationControls": "Daha fazla denetleme kontrolü",
@@ -746,6 +847,8 @@
"headings": {
"lobby": "Lobi ({{count}})",
"participantsList": "Toplantı Katılımcıları ({{count}})",
"visitorRequests": "(requests {{count}})",
"visitors": "Ziyaretçiler {{count}}",
"waitingLobby": "Lobide bekleyen ({{count}})"
},
"search": "Katılımcıları ara",
@@ -753,6 +856,7 @@
},
"passwordDigitsOnly": "{{number}} rakama kadar",
"passwordSetRemotely": "başka katılımcı tarafından ayarlandı",
"pinParticipant": "{{participantName}} - Sabitle",
"pinnedParticipant": "Katılımcı sabitlendi",
"polls": {
"answer": {
@@ -771,6 +875,9 @@
"removeOption": "Seçeneği sil",
"send": "Gönder"
},
"errors": {
"notUniqueOption": "Seçenekler benzersiz olmalı"
},
"notification": {
"description": "Oy vermek için anketler sekmesini açın",
"title": "Anket toplantıya eklendi"
@@ -837,9 +944,12 @@
"lookGood": "Mikrofonunuz düzgün çalışıyor gibi görünüyor",
"or": "veya",
"premeeting": "Toplantı öncesi",
"proceedAnyway": "Yine de devam et",
"recordingWarning": "Diğer katılımcılar bu çağrıyı kaydediyor olabilir",
"screenSharingError": "Ekran paylaşma hatası:",
"showScreen": "Toplantı öncesi ekranını etkinleştir",
"startWithPhone": "Telefon sesiyle başlayın",
"unsafeRoomConsent": "Riskleri anlıyorum, toplantıya katılmak istiyorum",
"videoOnlyError": "Video hatası:",
"videoTrackError": "Video izleme oluşturulamadı.",
"viewAllNumbers": "tüm numaraları görüntüle"
@@ -858,9 +968,6 @@
"rejected": "Reddedildi",
"ringing": "Çalıyor..."
},
"privacyView": {
"title": "Gizlilik"
},
"profile": {
"avatar": "avatar",
"setDisplayNameLabel": "Görünür adınızı ayarlayın",
@@ -905,7 +1012,6 @@
"limitNotificationDescriptionNative": "Yüksek talep nedeniyle kaydınız {{limit}} dakika ile sınırlı olacaktır. Sınırsız kayıt için deneyin <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "Yüksek talep nedeniyle kaydınız {{limit}} dakika ile sınırlı olacaktır. Sınırsız kayıt için deneyin <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Kaydınızla ilgili link oluşturduk.",
"live": "CANLI",
"localRecordingNoNotificationWarning": "Kayıt diğer katılımcılara duyurulmayacaktır. Onlara toplantının kaydedildiğini bildirmeniz gerekecek.",
"localRecordingNoVideo": "Video kaydedilmiyor",
"localRecordingStartWarning": "Lütfen kaydetmek için toplantıdan çıkmadan önce kaydı durdurduğunuzdan emin olun.",
@@ -914,6 +1020,7 @@
"localRecordingVideoWarning": "Videonuzu kaydetmek için kayda başlarken açmış olmanız gerekir",
"localRecordingWarning": "Doğru video ve sesi kullanmak için geçerli sekmeyi seçtiğinizden emin olun. Kayıt şu anda yaklaşık 100 dakika olan 1GB ile sınırlıdır.",
"loggedIn": "{{userName}} olarak giriş yapıldı",
"noMicPermission": "Mikrofon parçası oluşturulamadı. Lütfen mikrofonu kullanma izni verin.",
"noStreams": "Ses veya video akışı algılanmadı",
"off": "Kayıt durdu",
"offBy": "{{name}} isimli kayıt durduruldu",
@@ -921,13 +1028,15 @@
"onBy": "{{name}} isimli kayıt başlatıldı",
"onlyRecordSelf": "Yalnızca ses ve video akışlarımı kaydet",
"pending": "Toplantıyı kaydetmeye hazırlanıyor ...",
"rec": "KAYIT",
"recordAudioAndVideo": "Ses ve video kaydedin",
"recordTranscription": "Transkripsiyonu kaydet",
"saveLocalRecording": "Kayıt dosyasını yerel olarak kaydet (Beta)",
"serviceDescription": "Kaydınız kayıt hizmeti tarafından kaydedilecektir",
"serviceDescriptionCloud": "Bulut kaydı",
"serviceDescriptionCloudInfo": "Kaydedilen toplantılar, kayıt süresinden 24 saat sonra otomatik olarak temizlenir.",
"serviceName": "Kayıt hizmeti",
"sessionAlreadyActive": "Bu oturum zaten kaydediliyor veya canlı yayınlanıyor.",
"showAdvancedOptions": "Gelişmiş seçenekler",
"signIn": "Giriş yap",
"signOut": ıkış yap",
"surfaceError": "Lütfen geçerli sekmeyi seçin",
@@ -943,10 +1052,17 @@
"security": {
"about": "Toplantınıza bir parola ekleyebilirsiniz. Katılımcıların toplantıya katılmasına izin verilmeden önce parolayı girmeleri gerekecektir.",
"aboutReadOnly": "Moderatörler toplantıya toplantıya bir $t(lockRoomPassword) eklenebilir. Katılımcıların toplantıya katılmalarına izin verilmeden önce $t(lockRoomPassword) bilgilerini sağlamaları gerekir..",
"insecureRoomNameWarning": "Toplantı odası güvenli değil. Konferansınıza istenmeyen katılımcılar katılabilir.",
"title": "Güvenlik Seçenekleri"
"insecureRoomNameWarningNative": "Oda adı güvenli değil. İstenmeyen katılımcılar toplantınıza katılabilir. {{recommendAction}} Toplantınızın güvenliğini sağlama hakkında daha fazla bilgi edinin",
"insecureRoomNameWarningWeb": "Oda adı güvenli değil. İstenmeyen katılımcılar toplantınıza katılabilir. {{recommendAction}} Toplantınızın güvenliğini sağlama hakkında daha fazla bilgi edinin <a href = \"{{securityUrl}}\" rel = \"security\" target = \"_blank\">buraya</a>.",
"title": "Güvenlik Seçenekleri",
"unsafeRoomActions": {
"meeting": "Güvenlik düğmesini kullanarak toplantınızın güvenliğini sağlamayı düşünün.",
"prejoin": "Daha benzersiz bir toplantı adı kullanmayı düşünün",
"welcome": "Daha benzersiz bir toplantı adı kullanmayı düşünün veya önerilerden birini seçin."
}
},
"settings": {
"audio": "Ses",
"buttonLabel": "Ayarlar",
"calendar": {
"about": "{{appName}} takvim entegrasyonu, yaklaşan etkinlikleri okuyabilmesi için takviminize güvenli bir şekilde erişmek için kullanılır.",
@@ -967,9 +1083,11 @@
"maxStageParticipants": "Ana ekrana sabitlenecek maksimum katılımcı sayısı",
"microphones": "Mikrofonlar",
"moderator": "Yönetici",
"moderatorOptions": "Moderatör seçenekleri",
"more": "Daha fazla",
"name": "Ad",
"noDevice": "Yok",
"notifications": "Bildirimler",
"participantJoined": "Katılımcı katıldı",
"participantKnocking": "",
"participantLeft": "Katılımcı ayrıldı",
@@ -980,13 +1098,14 @@
"selectCamera": "Kamera",
"selectMic": "Mikrofon",
"selfView": "Kendi görünümüm",
"sounds": "Sesler",
"shortcuts": "Kısayollar",
"speakers": "Hoparlörler",
"startAudioMuted": "Herkes ses kapalı başlasın",
"startReactionsMuted": "Reaksiyon seslerini herkes için kapat",
"startVideoMuted": "Herkes görüntü kapalı başlasın",
"talkWhileMuted": "Sesi kapalıyken konuş",
"title": "Ayarlar"
"title": "Ayarlar",
"video": "Video"
},
"settingsView": {
"advanced": "Gelişmiş",
@@ -994,6 +1113,7 @@
"alertOk": "Tamam",
"alertTitle": "Uyarı",
"alertURLText": "Girilen sunucu bağlantısı geçersiz",
"apply": "Uygula",
"buildInfoSection": "Yapı Bilgisi",
"conferenceSection": "Toplantı",
"disableCallIntegration": "Yerel arama entegrasyonunu devre dışı bırak",
@@ -1003,12 +1123,15 @@
"displayName": "Görünür ad",
"displayNamePlaceholderText": "Ör: John Doe",
"email": "E-posta",
"emailPlaceholderText": "email@example.com",
"gavatarMessage": "E-postanız bir Gravatar hesabıyla ilişkiliyse, bunu profil resminizi görüntülemek için kullanacağız.",
"goTo": "Git",
"header": "Ayarlar",
"help": "Yardım",
"links": "Linkler",
"privacy": "Gizlilik",
"profileSection": "Profil",
"sdkVersion": "SDK sürümü",
"serverURL": "Sunucu Bağlantısı",
"showAdvanced": "Gelişmiş ayarları göster",
"startCarModeInLowBandwidthMode": "Düşük bağlantı modunda araba modunu başlat",
@@ -1061,24 +1184,35 @@
"audioOnly": "Yalnızca sesi aç/kapat",
"audioRoute": "Ses aygıtını seçin",
"boo": "Boo",
"breakoutRoom": "Alt oda",
"breakoutRooms": "Alt odalar",
"callQuality": "Armama kalitesini yönetin",
"carmode": "Araba odu",
"cc": "Altyazıları aç/kapat",
"chat": "Mesajlaşma penceresini aç/kapat",
"clap": "Alkış",
"closeChat": "Sohbeti kapat",
"closeMoreActions": "Diğer işlemler menüsünü kapat",
"closeParticipantsPane": "Katılımcılar bölmesini kapat",
"collapse": "Daralt",
"document": "Paylaşılan dokümanı aç/kapat",
"documentClose": "Paylaşılan belgeyi kapat",
"documentOpen": "Paylaşılan belgeyi aç",
"download": "Uygulamalarımızı indirin",
"embedMeeting": "Toplantıyı yerleştir",
"endConference": "Herkes için toplantıyı sonlandır",
"enterFullScreen": "Tam ekranı görüntüle",
"enterTileView": "Döşeme görünümüne girin",
"exitFullScreen": "Tam ekrandan çık",
"exitTileView": "Döşeme görünümünden çık",
"expand": "Genişlet",
"feedback": "Geri bildirim bırakın",
"fullScreen": "Tam ekranı aç/kapat",
"giphy": "GIPHY menüsünü aç/kapat",
"grantModerator": "Moderatör Hakları Ver",
"hangup": "Aramadan ayrıl",
"heading": "Araç Çubuğu",
"help": "Yardım",
"hideWhiteboard": "Beyaz tahtayı gizle",
"invite": "İnsanları davet et",
"kick": "Katılımcı çıkar",
"laugh": "Gül",
@@ -1088,6 +1222,7 @@
"lobbyButton": "Lobi modunu etkinleştir / devre dışı bırak",
"localRecording": "Kayıt denetimlerini aç/kapat",
"lockRoom": "Toplantı parolasını aç/kapat",
"lowerHand": "Elini indir",
"moreActions": "Diğer işlemler menüsünü aç/kapat",
"moreActionsMenu": "Diğer işlemler menüsü",
"moreOptions": "Daha fazla seçenek göster",
@@ -1096,12 +1231,15 @@
"muteEveryoneElse": "Diğer herkesi sessize al",
"muteEveryoneElsesVideoStream": "Diğer herkesin videosunu durdur",
"muteEveryonesVideoStream": "Herkesin videosunu durdur",
"muteGUMPending": "Mikrofonunuz bağlanıyor",
"noiseSuppression": "Gürültü azaltma",
"openChat": "Sohbeti aç",
"participants": "Katılımcılar",
"pip": "Resim içinde Resim modunu aç/kapat",
"privateMessage": "Özel mesaj gönder",
"profile": "Profilinizi düzenleyin",
"raiseHand": "El kaldırmayı aç/kapat",
"reactions": "Tepkiler",
"reactionsMenu": "Reaksiyon menüsünü Aç / Kapa",
"recording": "Kaydetmeyi aç/kapat",
"remoteMute": "Katılımcının sesini kapat",
@@ -1115,15 +1253,20 @@
"sharedvideo": "Video paylaşmayı aç/kapat",
"shortcuts": "Kısayolları aç/kapat",
"show": "Sahnede göster",
"showWhiteboard": "Beyaz tahtayı göster",
"silence": "Sessiz",
"speakerStats": "Konuşmacı istatistiklerini aç/kapat",
"stopScreenSharing": "Ekranınızı paylaşmayı durdur",
"stopSharedVideo": "Videoyu durdur",
"surprised": "Sürpriz",
"tileView": "Döşeme görünümünü aç/kapat",
"toggleCamera": "Kamerayı değiştir",
"toggleFilmstrip": "Film şeridini aç/kapat",
"unmute": "Mikrofonun sesini aç",
"videoblur": "Video bulanıklaştırma aç/kapat",
"videomute": "Sessiz videoyu aç/kapat",
"whiteboard": "Beyaztahtayı Göster / Gizle"
"videomuteGUMPending": "Kameranız bağlanıyor",
"videounmute": "Kamerayı başlat"
},
"addPeople": "Aramanıza kişi ekleyin",
"audioOnlyOff": "Yalnızca ses modunu devre dışı bırak",
@@ -1136,14 +1279,16 @@
"chat": "Mesajlaşmayı aç/kapat",
"clap": "Alkış",
"closeChat": "Mesajlaşmayı kapat",
"closeParticipantsPane": "Katılımcılar bölmesini kapat",
"closeReactionsMenu": "Reaksiyon menüsünü kapat",
"disableNoiseSuppression": "",
"disableNoiseSuppression": "Gürültü azaltmayı devre dışı bırak",
"disableReactionSounds": "Toplantı için reaksiyon seslerini devre dışı bırak",
"documentClose": "Paylaşılan dokümanı kapat",
"documentOpen": "Paylaşılan dokümanı aç",
"download": "Uygulamalarımızı indirin",
"e2ee": "Uçtan uca şifreleme",
"embedMeeting": "Toplantıyı yerleştir",
"enableNoiseSuppression": "Gürültü azaltmayı etkinleştir",
"endConference": "Herkes için toplantıyı sonlandır",
"enterFullScreen": "Tam ekran görüntüle",
"enterTileView": "Döşeme görünümüne geç",
@@ -1171,6 +1316,7 @@
"mute": "Sessiz / Sesli",
"muteEveryone": "Herkesi sessize al",
"muteEveryonesVideo": "Herkesin kamerasını devre dışı bırak",
"muteGUMPending": "Mikrofonunuz bağlanıyor",
"noAudioSignalDesc": "Sistem ayarlarından veya donanımdan sesi kapatmadıysanız, cihazınızı değiştirin.",
"noAudioSignalDescSuggestion": "Sistem ayarlarından veya donanımdan kasıtlı olarak kapatmadıysanız, önerilen aygıta geçmeyi düşünün.",
"noAudioSignalDialInDesc": "",
@@ -1193,6 +1339,7 @@
"reactionLike": "Çok iyi! gönder",
"reactionSilence": "Sessizlik gönder",
"reactionSurprised": "Sürpriz gönder",
"reactions": "Tepkiler",
"security": "Güvenlik seçenekleri",
"selectBackground": "Arkaplan seç",
"shareRoom": "Birini davet et",
@@ -1212,23 +1359,26 @@
"talkWhileMutedPopup": "Bir şey mi dediniz? Mikrofonunuz kapalı.",
"tileViewToggle": "Döşeme görünümünü aç/kapat",
"toggleCamera": "Kamerayı değiştir",
"unmute": "Mikrofonun sesini aç",
"videoSettings": "Video ayarları",
"videomute": "Kamera başlat / durdur"
"videomute": "Kamerayı durdur",
"videomuteGUMPending": "Kameranıza bağlanıyor",
"videounmute": "Kamerayı başlat"
},
"transcribing": {
"ccButtonTooltip": "Altyazılıar başlat / durdur",
"error": "Deşifre etme başarısız oldu. Lütfen tekrar deneyin.",
"expandedLabel": "Deşifre etme açık",
"failedToStart": "Deşifre etme başlatılamadı",
"labelToolTip": "Toplantı deşifre ediliyor",
"off": "Deşifre etme durdu",
"pending": "Toplantıyı deşifre etmeye hazırlanıyor...",
"sourceLanguageDesc": "Şu anda toplantı dili <b>{{sourceLanguage}</b> olarak ayarlıdır. <br/> Bunu şuradan değiştirebilirsiniz",
"sourceLanguageHere": "burada",
"start": "Altyazıları göstermeye başla",
"stop": "Altyazıları göstermeyi durdur",
"subtitles": "Altyazılar",
"subtitlesOff": "Kapat",
"tr": "TR"
},
"unpinParticipant": "{{participantName}} - Sabitlemeyi kaldır",
"userMedia": {
"androidGrantPermissions": "Tarayıcınız izin istediğinde <b><i>İzin Ver</i></b> seçeneğini seçin.",
"chromeGrantPermissions": "Tarayıcınız izin istediğinde <b><i>İzin Ver</i></b> seçeneğini seçin.",
@@ -1267,12 +1417,15 @@
"ldTooltip": "Düşük çözünürlüklü video görüntüleme",
"lowDefinition": "Düşük çözünürlük",
"performanceSettings": "Performans ayarları",
"recording": "Kayıt devam ediyor",
"sd": "SD",
"sdTooltip": "Standart çözünürlüklü video görüntüleme",
"standardDefinition": "Standart çözünürlük"
"standardDefinition": "Standart çözünürlük",
"streaming": "Akış devam ediyor"
},
"videothumbnail": {
"connectionInfo": "Bağlantı Bilgisi",
"demote": "Ziyaretçiye taşı",
"domute": "Sessize al",
"domuteOthers": "Diğer herkesi sessize al",
"domuteVideo": "Kamerayı devre dışı bırak",
@@ -1281,6 +1434,7 @@
"grantModerator": "Moderatör Hakları Ver",
"hideSelfView": "Kendi görüntümü gizle",
"kick": ıkar",
"mirrorVideo": "Videomu yansıt",
"moderator": "Yönetici",
"mute": "Katılımcı sessiz",
"muted": "Sessiz",
@@ -1290,10 +1444,15 @@
"show": "Sahnede göster",
"showSelfView": "Kendi görüntümü göster",
"unpinFromStage": "Sabitlemeyi kaldır",
"verify": "Katılımcıyı doğrula",
"videoMuted": "Kamerayı devre dışı bırakıldı",
"videomute": "Katılımcı kamerayı durdurdu"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Geçerli arka plan: {{background}}",
"selectBackground": "Bir arka plan seçin"
},
"addBackground": "Arkaplan Ekle",
"apply": "Uygula",
"backgroundEffectError": "Arkaplan efekt uygulaması başarısız.",
@@ -1317,6 +1476,15 @@
"webAssemblyWarning": "WebAssembly desteklenmiyor",
"webAssemblyWarningDescription": "WebAssembly devre dışı bırakıldı veya bu tarayıcı tarafından desteklenmiyor"
},
"visitors": {
"chatIndicator": "(ziyaretçi)",
"labelTooltip": "Ziyaretçi sayısı: {{count}}",
"notification": {
"demoteDescription": "Buraya {{actor}} tarafından gönderildi, katılmak için elinizi kaldırın",
"description": "Katılmak için elinizi kaldırın",
"title": "Toplantıda ziyaretçisiniz"
}
},
"volumeSlider": "Ses kaydırıcısı",
"welcomepage": {
"accessibilityLabel": {
@@ -1349,6 +1517,7 @@
"microsoftLogo": "Microsoft logo",
"policyLogo": "Politika logo"
},
"meetingsAccessibilityLabel": "Toplantılar",
"mobileDownLoadLinkAndroid": "Android için mobil uygulamayı indirin",
"mobileDownLoadLinkFDroid": "F-Droid için mobil uygulamayı indirin",
"mobileDownLoadLinkIos": "iOS için mobil uygulamayı indirin",
@@ -1357,6 +1526,7 @@
"recentList": "En son",
"recentListDelete": "Sil",
"recentListEmpty": "En son görüşülenler listeniz şu anda boş. Sohbet edin ve son toplantılarınızı burada görüntüleyin.",
"recentMeetings": "Son toplantılarınız",
"reducedUIText": "Hoşgeldiniz - {{app}}!",
"roomNameAllowedChars": "Toplantı adı şu karakterlerden hiçbirini içermemelidir: ?, &, :, ', \", %, #.",
"roomname": "Oda adı girin",
@@ -1365,6 +1535,13 @@
"settings": "Ayarlar",
"startMeeting": "Toplantı başlat",
"terms": "Kurallar",
"title": "Güvenli, tüm özelliklere erişimli ve tamamen ücretsiz görüntülü arama"
"title": "Güvenli, tüm özelliklere erişimli ve tamamen ücretsiz görüntülü arama",
"upcomingMeetings": "Yaklaşan toplantılarınız"
},
"whiteboard": {
"accessibilityLabel": {
"heading": "Beyaz tahta"
},
"screenTitle": "Beyaz tahta"
}
}

View File

@@ -800,6 +800,9 @@
"removeOption": "Вилучити",
"send": "Надіслати"
},
"errors": {
"notUniqueOption": "Параметри повинні бути унікальними"
},
"notification": {
"description": "Щоб проголосувати, відкрийте вкладку опитувань",
"title": "Додано нове опитування"

File diff suppressed because it is too large Load Diff

View File

@@ -845,6 +845,9 @@
"removeOption": "移除选项",
"send": "发送"
},
"errors": {
"notUniqueOption": "选项必须是唯一的"
},
"notification": {
"description": "打开投票页面进行投票",
"title": "本次会议有一项新的投票"

View File

@@ -863,6 +863,9 @@
"removeOption": "移除選項",
"send": "傳送"
},
"errors": {
"notUniqueOption": "選項必須是唯一的"
},
"notification": {
"description": "開啟投票分頁以參與投票",
"title": "此會議有一項新投票"

View File

@@ -128,6 +128,7 @@
"privateNotice": "Private message to {{recipient}}",
"sendButton": "Send",
"smileysPanel": "Emoji panel",
"systemDisplayName": "System",
"tabs": {
"chat": "Chat",
"polls": "Polls"
@@ -305,6 +306,8 @@
"contactSupport": "Contact support",
"copied": "Copied",
"copy": "Copy",
"demoteParticipantDialog": "Are you sure you want to move this participant to visitor?",
"demoteParticipantTitle": "Move to visitor",
"dismiss": "Dismiss",
"displayNameRequired": "Hi! Whats your name?",
"done": "Done",
@@ -813,6 +816,7 @@
"videoUnmuteBlockedDescription": "Camera unmute and desktop sharing operation have been temporarily blocked because of system limits.",
"videoUnmuteBlockedTitle": "Camera unmute and desktop sharing blocked!",
"viewLobby": "View lobby",
"viewVisitors": "View visitors",
"waitingParticipants": "{{waitingParticipants}} people",
"whiteboardLimitDescription": "Please save your progress, as the user limit will soon be reached and the whiteboard will close.",
"whiteboardLimitTitle": "Whiteboard usage"
@@ -872,6 +876,9 @@
"removeOption": "Remove option",
"send": "Send"
},
"errors": {
"notUniqueOption": "Options must be unique"
},
"notification": {
"description": "Open polls tab to vote",
"title": "A new poll was added to this meeting"
@@ -1419,6 +1426,7 @@
},
"videothumbnail": {
"connectionInfo": "Connection Info",
"demote": "Move to visitor",
"domute": "Mute",
"domuteOthers": "Mute everyone else",
"domuteVideo": "Disable camera",
@@ -1473,6 +1481,7 @@
"chatIndicator": "(visitor)",
"labelTooltip": "Number of visitors: {{count}}",
"notification": {
"demoteDescription": "Sent here by {{actor}}, raise your hand to participate",
"description": "To participate raise your hand",
"title": "You are a visitor in the meeting"
}

View File

@@ -981,6 +981,12 @@ function initCommands() {
callback(isP2pActive(APP.store.getState()));
break;
}
case 'session-id': {
const { conference } = APP.store.getState()['features/base/conference'];
callback(conference?.getMeetingUniqueId() || '');
break;
}
case '_new_electron_screensharing_supported': {
callback(true);
break;

View File

@@ -1229,6 +1229,17 @@ export default class JitsiMeetExternalAPI extends EventEmitter {
return this._numberOfParticipants;
}
/**
* Return the conference`s sessionId.
*
* @returns {Promise} - Resolves with the conference`s sessionId.
*/
getSessionId() {
return this._transport.sendRequest({
name: 'session-id'
});
}
/**
* Returns array of commands supported by executeCommand().
*

View File

@@ -11,6 +11,7 @@ import {
} from '../../react/features/base/conference/actions';
import { isMobileBrowser } from '../../react/features/base/environment/utils';
import { setColorAlpha } from '../../react/features/base/util/helpers';
import { sanitizeUrl } from '../../react/features/base/util/uri';
import { setDocumentUrl } from '../../react/features/etherpad/actions';
import { setFilmstripVisible } from '../../react/features/filmstrip/actions.any';
import {
@@ -135,14 +136,16 @@ UI.unbindEvents = () => {
* @param {string} name etherpad id
*/
UI.initEtherpad = name => {
if (etherpadManager || !config.etherpad_base || !name) {
const etherpadBaseUrl = sanitizeUrl(config.etherpad_base);
if (etherpadManager || !etherpadBaseUrl || !name) {
return;
}
logger.log('Etherpad is enabled');
etherpadManager = new EtherpadManager(eventEmitter);
const url = new URL(name, config.etherpad_base);
const url = new URL(name, etherpadBaseUrl);
APP.store.dispatch(setDocumentUrl(url.toString()));

View File

@@ -264,7 +264,15 @@ export default class LargeVideoManager {
// in order to stop updating track streaming status for the old track and start it for the new track.
// TODO: when this class is converted to a function react component,
// use a custom hook to update a local track streaming status.
if (this.videoTrack?.jitsiTrack?.getSourceName() !== videoTrack?.jitsiTrack?.getSourceName()) {
if (this.videoTrack?.jitsiTrack?.getSourceName() !== videoTrack?.jitsiTrack?.getSourceName()
|| this.videoTrack?.jitsiTrack?.isP2P !== videoTrack?.jitsiTrack?.isP2P) {
// In the case where we switch from jvb to p2p when we need to switch the p2p and jvb track, they will be
// with the same source name. In order to add the streaming status listener we need to check if the isP2P
// flag is different. Without this check we won't have the correct stream status listener for the track.
// Normally the Thumbnail and ConnectionIndicator components will update the streaming status the same way
// and this may mask the problem. But if for some reason the update from the Thumbnail and
// ConnectionIndicator components don't happen this may lead to showing the avatar instead of
// the video because of the old track inactive streaming status.
if (this.videoTrack && !this.videoTrack.local) {
this.videoTrack.jitsiTrack.off(JitsiTrackEvents.TRACK_STREAMING_STATUS_CHANGED,
this.handleTrackStreamingStatusChanged);

1335
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -17,12 +17,13 @@
"readmeFilename": "README.md",
"dependencies": {
"@amplitude/react-native": "2.7.0",
"@braintree/sanitize-url": "7.0.0",
"@emotion/react": "11.10.6",
"@emotion/styled": "11.10.6",
"@giphy/js-fetch-api": "4.7.1",
"@giphy/react-components": "6.8.1",
"@giphy/react-native-sdk": "2.3.0",
"@jitsi/excalidraw": "https://github.com/jitsi/excalidraw/releases/download/v0.0.16/jitsi-excalidraw-0.0.16.tgz",
"@jitsi/excalidraw": "https://github.com/jitsi/excalidraw/releases/download/v0.0.17/jitsi-excalidraw-0.0.17.tgz",
"@jitsi/js-utils": "2.2.1",
"@jitsi/logger": "2.0.2",
"@jitsi/rnnoise-wasm": "0.1.0",
@@ -30,7 +31,6 @@
"@matrix-org/olm": "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.3.tgz",
"@microsoft/microsoft-graph-client": "3.0.1",
"@mui/material": "5.12.1",
"@mui/styles": "5.12.0",
"@react-native-async-storage/async-storage": "1.19.4",
"@react-native-community/clipboard": "1.5.1",
"@react-native-community/netinfo": "11.1.0",
@@ -60,14 +60,14 @@
"i18n-iso-countries": "6.8.0",
"i18next": "17.0.6",
"i18next-browser-languagedetector": "3.0.1",
"i18next-http-backend": "^2.2.1",
"i18next-http-backend": "2.2.1",
"image-capture": "0.4.0",
"jquery": "3.6.1",
"jquery-i18next": "1.2.1",
"js-md5": "0.6.1",
"js-sha512": "0.8.0",
"jwt-decode": "2.2.0",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1777.0.0+3898d7aa/lib-jitsi-meet.tgz",
"lib-jitsi-meet": "https://github.com/jitsi/lib-jitsi-meet/releases/download/v1811.0.0+86e2fb2b/lib-jitsi-meet.tgz",
"lodash": "4.17.21",
"moment": "2.29.4",
"moment-duration-format": "2.2.2",
@@ -106,7 +106,7 @@
"react-native-url-polyfill": "2.0.0",
"react-native-video": "6.0.0-alpha.11",
"react-native-watch-connectivity": "1.1.0",
"react-native-webrtc": "118.0.0",
"react-native-webrtc": "118.0.6",
"react-native-webview": "13.5.1",
"react-native-youtube-iframe": "2.3.0",
"react-redux": "7.2.9",
@@ -118,7 +118,7 @@
"seamless-scroll-polyfill": "2.1.8",
"semver": "7.5.4",
"text-encoding": "0.7.0",
"tss-react": "4.4.4",
"tss-react": "4.9.4",
"util": "0.12.1",
"uuid": "8.3.2",
"wasm-check": "2.0.1",
@@ -132,7 +132,7 @@
"@babel/plugin-proposal-export-default-from": "7.22.5",
"@babel/preset-env": "7.21.5",
"@babel/preset-react": "7.16.0",
"@jitsi/eslint-config": "4.1.5",
"@jitsi/eslint-config": "4.1.10",
"@types/amplitude-js": "8.16.5",
"@types/audioworklet": "0.0.29",
"@types/dom-screen-wake-lock": "1.0.1",
@@ -164,7 +164,7 @@
"css-loader": "6.8.1",
"eslint": "8.40.0",
"eslint-plugin-import": "2.27.5",
"eslint-plugin-jsdoc": "37.0.3",
"eslint-plugin-jsdoc": "46.2.6",
"eslint-plugin-react": "7.32.2",
"eslint-plugin-react-native": "4.0.0",
"eslint-plugin-typescript-sort-keys": "2.3.0",

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