Compare commits

...

184 Commits

Author SHA1 Message Date
Saúl Ibarra Corretgé
1b5b1d01b1 Update README.md 2025-02-03 15:20:32 +01:00
Johan Bernhardsson
0d109eaf00 fix(lang) update Swedish translation 2025-02-03 14:58:27 +01:00
Calinteodor
75c43fc8f2 feat(toolbox): Fixed background color prop custom buttons (#15529)
* feat(toolbox): fixed backgroundColor prop for custom menu buttons
2025-02-03 13:34:40 +02:00
damencho
532b5858c5 fix: Adds nil check in some util methods. 2025-01-31 17:55:35 -06:00
Дамян Минков
edc2328fd6 chore(deps) lib-jitsi-meet@latest (#15547)
* chore(deps) lib-jitsi-meet@latest

https://github.com/jitsi/lib-jitsi-meet/compare/v1907.0.0+0d3304b7...v1908.0.0+2a5d7fcc

* squash: Adds docs in config.js.
2025-01-31 14:48:58 -06:00
Saúl Ibarra Corretgé
a603a8df06 fix(web) fix properly applying polyfill 2025-01-31 10:19:09 -06:00
Saúl Ibarra Corretgé
703a4d0f34 feat(build) show webpack progress 2025-01-31 06:21:59 -06:00
Saúl Ibarra Corretgé
44c1624c61 fix(web) polyfill Promise.withResolvers
webpack + babel-loader + core-js should've take care of it, but they
somehow don't and I couldn't finesse the webpack config enough.

This is a stop-gap.

Fixes: https://github.com/jitsi/jitsi-meet/issues/15539
2025-01-31 06:21:59 -06:00
damencho
5b5e233734 feat(api): Adds a print about overwritten config via iframeAPI. 2025-01-30 16:54:07 -06:00
Jaya Allamsetty
5607e50b8e fix(config) Remove deprecated codec settings from config.js 2025-01-29 11:51:54 -05:00
damencho
39c942d585 fix(tests): Adds missing audio file. 2025-01-28 17:35:34 -06:00
damencho
1c04f974d8 fix(prosody): Fixes jibri util check to support occupant and jid. 2025-01-28 17:07:53 -06:00
Saúl Ibarra Corretgé
dc5142cb6b chore(deps) npm audit fix 2025-01-28 14:34:14 -06:00
Дамян Минков
d563913499 feat: Reads region from http headers and set it in presence. (#15531)
* feat: Reads region from http headers and set it in presence.

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

https://github.com/jitsi/lib-jitsi-meet/compare/v1906.0.0+dfc23df4...v1907.0.0+0d3304b7
2025-01-28 09:54:47 -06:00
Jaya Allamsetty
4d0642d1a7 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1903.0.0+54592e60...v1906.0.0+dfc23df4
2025-01-27 15:23:21 -05:00
damencho
8d8e83cdfd fix(visitors): Destroy visitors room earlier on main=0.
Sometimes jicofo may leave before the disconnect iq reaches the visitor prosody, that will cause a reload for all visitors instead of a dialog for conference ended.
2025-01-27 09:41:36 -06:00
Saúl Ibarra Corretgé
6d0271338e fix(virtual-backgrounds) fix handling empty file list
The returned object is not an array but array-like. That is, it checks
truthy, while having a length of 0.
2025-01-27 12:14:11 +01:00
damencho
1401eb245e fix(lobby): Fixes wrong password going back to knocking.
Fixes the case when someone enters a wrong password to access the meeting and then clicks back to continue knocking and not showing the knocking state, while still in the Lobby room.
The problem was introduced in 721bb4e, on access denied we are being kicked out of lobby room and then knocking state should be cleared.
2025-01-25 10:43:55 -06:00
damencho
27eec7b19e fix(polls): Fixes send/receive polls and processing answers.
Fixes #15509.
2025-01-24 15:44:06 -06:00
damencho
b0d0b3ac11 fix(tests): Fixes AVModeration test hovering over more menu in thumbnail. 2025-01-24 15:04:09 -06:00
damencho
2c11b1b945 fix(tests): Fix dial-in check for pin, can be 8 digits. 2025-01-24 15:04:09 -06:00
damencho
2c92ea57f0 fix(tests): Simplifies await async. 2025-01-24 15:04:09 -06:00
damencho
09b696e95a fix(pre-join): Remove from dom when lobby is shown. 2025-01-24 15:04:09 -06:00
damencho
d67054a550 feat(tests): Adds lobby test.
feat(dialog): Adds a print when opening and hiding dialogs.
2025-01-24 15:04:09 -06:00
damencho
05374e292b fix(tests): Simplify suite names.
squash: fix lint.
2025-01-24 15:04:09 -06:00
damencho
f038099e61 fix(tests): Fixes breakout room wait for room update. 2025-01-24 15:04:09 -06:00
damencho
da5f2d00d4 fix(tests): Fixes element not interceptable in AV moderation tests. 2025-01-24 15:04:09 -06:00
damencho
c8a7877fdd feat(tests): Adds lastN test. 2025-01-24 15:04:09 -06:00
damencho
d8da660070 feat(tests): Adds kick test. 2025-01-24 15:04:09 -06:00
Saúl Ibarra Corretgé
4e033fff4b fix(virtual-background) fix image upload cancelling
Fixes: https://github.com/jitsi/jitsi-meet/issues/15520
2025-01-24 13:27:13 +01:00
Jaya Allamsetty
4861f95368 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1901.0.0+22daa357...v1903.0.0+54592e60
2025-01-23 16:48:00 -05:00
Saúl Ibarra Corretgé
b3ee8fe127 feat(rn) implement startSilent
Technically, on Android, the audio mode is configured but no audio is
played. Since the configured audio mode matches what we expect from a
calling app (what we support to coexist with) this is enough to not
create audio disruptions.
2025-01-23 14:45:22 +01:00
Calinteodor
95a6001a6f feat(toolbox): use custom buttons inside toolbox (#15506)
*Adding capability to use customToolbbarButtons config option inside Toolbox as well and updating event name by making it more general.
2025-01-23 14:58:22 +02:00
Hristo Terezov
a3622a3698 ref(SS): remove legacy SS for electron. 2025-01-21 21:22:52 -06:00
Saúl Ibarra Corretgé
4cdc193ac3 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1900.0.0+250ff7ed...v1901.0.0+22daa357
2025-01-21 20:22:38 +01:00
Saúl Ibarra Corretgé
5c9b8a5a5f fix(device-selection) hide framerate selection on mobile browsers
Screen-sharing is not supported there.
2025-01-21 14:04:54 +01:00
Wilson Furtado
44bd70179c Added tooltip when roomname is elided in the pre meeting screen (#15508)
* added tooltip when roomname overflows
2025-01-20 11:46:57 +02:00
Дамян Минков
0973081fea fix(share-video): Hide element when not shown on large. (#15507)
* fix(share-video): Hide element when not shown on large.

Fixes two issues:
- disabling mouse for all large video types, including local shared desktop that prevents clicking the link to show content
- as shared-video z-index is on top of everything, it local shared desktop to be seen when the thumbnail is clicked

* squash: Drop the video shared component from the dom when not playing.
2025-01-17 16:28:40 -06:00
Jaya Allamsetty
006c491de4 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1897.0.0+283af7ac...v1900.0.0+250ff7ed
2025-01-17 10:32:03 -05:00
Felipe Amaral
24cfa7b4e1 fix(notifications): Removed info type from docs (#15504)
There is no info type in showNotificantion command.
2025-01-17 09:17:56 -06:00
Calinteodor
b890aa33c3 feat(react-native-sdk/android): force permissions approval in order to launch RNOngoingNotification (#15400)
Re-added visibility control for ongoing conference and media projection notifications on our React Native SDK.
2025-01-17 17:03:30 +02:00
Saúl Ibarra Corretgé
9846228210 feat(android) bump minimum required version to 26 aka Oreo
There is a 1.2% cummulative usage change according to [0] and it allows
us to simplify some code going forward.

[0]: https://apilevels.com/
2025-01-17 13:06:02 +02:00
Hristo Terezov
445eef97b3 fix(interface-config-whitelist): cleanup
Removes the following unused props.
2025-01-16 18:19:44 -06:00
Calin-Teodor
298279a956 feat(toolbox): reactions menu native ui adjustments 2025-01-16 21:34:22 +02:00
Hristo Terezov
5ebf5adfa2 fix(configWhitelist): alphasort 2025-01-16 12:44:51 -06:00
Hristo Terezov
35554533d1 fix(config): Document desktopSharingSources and improve types 2025-01-16 12:44:51 -06:00
Hristo Terezov
fb397db69f fix(logging-config): Improve types 2025-01-16 12:44:51 -06:00
Hristo Terezov
8fc295b385 fix(config): Document googleApiApplicationClientID 2025-01-16 12:44:51 -06:00
Hristo Terezov
ee8b62cf73 fix(config): Document LJM props.
disableAEC
disableAGC
disableAP
disableNS
displayJids
forceTurnRelay
ignoreStartMuted
enableTalkWhileMuted
2025-01-16 12:44:51 -06:00
Hristo Terezov
217b803652 ref(config): Remove legacy multistream backward compat flags 2025-01-16 12:44:51 -06:00
Hristo Terezov
2442a332e7 ref(config): Move config types from reducer to IConfig type
The properties are - visitors and disableRemoteControl.
2025-01-16 12:44:51 -06:00
Hristo Terezov
2e43706a4a fix(config): Remove unused options.
firefox_fake_device
enableAutomaticUrlCopy
fileRecordingsEnabled
disableHPF
2025-01-16 12:44:51 -06:00
Hristo Terezov
e7db943b73 fix(config): Document testing.failICE 2025-01-16 12:44:51 -06:00
Hristo Terezov
c1cbd37d87 fix(config): Move debugAudioLelvels in config.testing 2025-01-16 12:44:51 -06:00
Hristo Terezov
ef56f1d23d fix(config): Remove config.debug.
Instead we use config.testing?.testMode.
2025-01-16 12:44:51 -06:00
Hristo Terezov
2ab002650c fix(conference): Remove unused argument from _createDesktopTrack 2025-01-16 12:44:51 -06:00
Calin-Teodor
867646da1a feat(ios): fixed path from where we take hermes.xcframework 2025-01-16 18:17:00 +02:00
Saúl Ibarra Corretgé
ff78bfb62f fix(ios) fix node path in scripts 2025-01-16 17:11:36 +02:00
Saúl Ibarra Corretgé
1827610fc1 fix(subtitles) fix skipping transcription messages
If we are not requesting any transcription, `language` will be `null` so
take that into consideration when checking if we should stop processing
a transcription message after firing the API event.

Fixes: https://github.com/jitsi/docker-jitsi-meet/issues/1997
2025-01-16 13:21:51 +01:00
Hristo Terezov
0ae8051fb4 fix(config): Allow only enableMediaOnPromote from visitors config to be overriden. 2025-01-15 15:50:48 -06:00
damencho
1b7668bbdc feat(dialog): Adds a print when opening and hiding dialogs. 2025-01-15 10:49:20 -06:00
damencho
4c37e0d761 feat(speakerstats): Shows a tooltip for participants count. 2025-01-15 10:49:20 -06:00
damencho
a6ff652a03 feat(visitors): Start shortening the number above 1000. 2025-01-15 10:49:20 -06:00
damencho
17f34878db feat(visitors): Renames visitors/obeserver to viewers.
Changes only strings visible in the UI.
2025-01-15 10:49:20 -06:00
Saúl Ibarra Corretgé
37856e0fdb fix(external_api) drop legacy constructor arguments
The new format (using an options object) was introduced 7 years ago.
It's about time.
2025-01-14 15:38:11 +01:00
Edgars Voroboks
7c1de52f6a fix(lang): Update Latvian language translation 2025-01-14 06:20:12 -06:00
Jaya Allamsetty
9e3438696b chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1895.0.0+7de7d9aa...v1897.0.0+283af7ac
2025-01-13 12:46:47 -05:00
Andrei Gavrilescu
9c23cc0b70 feat(rnnoise): update rnnoise-wasm version (#15478)
* update rnnoise-wasm version

* update expected worklet size
2025-01-13 14:11:32 +02:00
Hristo Terezov
af8157bc06 fix(configWhitelist): Add p2p.mobileScreenshareCodec 2025-01-10 17:38:12 -06:00
Дамян Минков
c21f84c15a feat(tests): Adds follow-me and invite dialog test. (#15476)
* feat(tests): Adds follow-me test.

* feat(tests): Adds invite dialog test.

* squash: fix lint.
2025-01-10 16:47:25 -06:00
Saúl Ibarra Corretgé
1edf88e744 fix(lint) tame linter 2025-01-10 20:09:11 +01:00
Saúl Ibarra Corretgé
bad75b488e chore(deps) update eslint
Required for compatibility with new TypeScript plugins.
2025-01-10 20:09:11 +01:00
Saúl Ibarra Corretgé
5bb3ba71d0 chore(helpers) drop custom createDeferred() for Promise.withResolvers() 2025-01-10 20:09:11 +01:00
Saúl Ibarra Corretgé
4e0001c9af fix(polls) limit maximum amount of answers 2025-01-10 13:51:30 +01:00
Дамян Минков
ada6150971 feat(tests): Adds dial-in test. (#15470)
* feat(tests): Adds dial-in test.

* feat(tests): Adds fake dial-in test.

* squash: switch to performance.now().
2025-01-10 06:28:53 -06:00
damencho
62d1ee606a feat(tests): Adds desktop sharing test. 2025-01-09 18:29:47 -06:00
simplify123
1e1de6acf0 lang: Update main-zhCN.json (#15426)
main-zhCN.json 
line 413 missing:
"sessTerminatedReason": "会议已经结束",
2025-01-09 15:04:23 -06:00
damencho
e1e0fba4ff fix(readme): Fixes badge icon.
Fixes #15464
2025-01-09 15:04:02 -06:00
Jaya Allamsetty
97be3fa399 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1893.0.0+496b64a7...v1895.0.0+7de7d9aa
2025-01-09 15:22:18 -05:00
damencho
fbdee85c4b fix(readme): Fixes badge icon and f-droid link.
Fixes #15464
Fixes #15465
2025-01-09 12:38:11 -06:00
Bhavik Arora
b71b4c8c45 fix(video-menu): Hide "Mute all" option when all participants are moderators (#15461)
* Fixed exception for visibility state of mute all button

* Updated changes as per review: shifted conditional to the toggle

* chore: fix eslint warnings and errors

---------

Co-authored-by: Bhavik Arora <arorabhavik1001>
2025-01-09 10:21:28 -06:00
Florian
a8d123ede4 fix(lang) fix typo in unsecure room name warning (#15468) 2025-01-09 17:01:23 +01:00
Hristo Terezov
fb8e451e2e feat(customParticipantButton): metrics 2025-01-08 11:11:21 -06:00
damencho
5dd7944bdb fix(connection): Adds default tenant value on error.
Avoids undefined error.
2025-01-08 08:36:35 -06:00
Jaya Allamsetty
48732c6784 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1890.0.0+144b0cab...v1893.0.0+496b64a7
2025-01-07 21:45:03 -06:00
Hristo Terezov
97146ed8a7 fix(configWhitelist): Remove some props. 2025-01-07 15:32:08 -06:00
Дамян Минков
78b17c8d17 feat(tests): Adds self view, display name and end conference tests. (#15432)
* feat(tests): Use shorter display names for screenshots.

* feat(tests): Adds self view tests.

* feat(tests): Adds display name test.

* feat(tests): Adds end conference test.
2025-01-07 14:55:43 -06:00
Saúl Ibarra Corretgé
9732d1be86 fix(polls) improve resilience to bogus data 2025-01-07 16:06:10 +01:00
Hristo Terezov
a836187620 feat(URL-overrides): Add metrics. 2025-01-06 09:35:36 -06:00
Wilson Furtado
a0cad4c595 fix(notification) add tabIndex to close Icon in the notification Item 2025-01-06 10:13:06 +01:00
Wilson Furtado
19b9eac84a fix(input) fix content overlapping when clearable icon is present 2025-01-06 10:12:14 +01:00
Wilson Furtado
068e33fc0f fix(toolbar): Removed unnecessary re render of the reactions component (#15433)
Added usememo to remove unnecessary re render. Fixes #15434.
2024-12-31 10:04:47 -06:00
Wilson Furtado
00c6bee2fd feat(welcome-page): added hover fill to trash icon (#15431)
Fixes #15430.
2024-12-30 16:11:43 -06:00
Wilson Furtado
748ead7e13 feat: Added hover styles and added tabIndex to the meeting list container instead of the meeting item header (#15429)
* added hover styles and added tabIndex to the container instead of the meeting heading

* lint error fix
2024-12-30 14:05:56 -06:00
damencho
174c4418fb fix(prosody): Adds another condition to the filter. 2024-12-26 12:12:53 -06:00
Damien Fetis
64494cab81 lang: Update missing french labels (#15422) 2024-12-23 18:28:35 -06:00
damencho
50d0092e30 fix(shared-video): Remove disable button action from web. 2024-12-23 07:46:25 -06:00
damencho
fdbd7239ff fix(shared-video): Gets from info from the incoming presence.
Ignore using from field send in attributes of the command.
2024-12-23 07:46:25 -06:00
Дамян Минков
a30958ab23 feat(tests): Adds chat panel and codec selection tests. (#15416)
* fix(tests): Another attempt to fix Firefox excludes.

Drawback is that it will be a little bit slow.

* feat(tests): Adds chatPanel tests.

* feat(tests): Adds codec selection tests.
2024-12-20 17:04:07 -06:00
damencho
aca55172e4 fix(config): Fixes wrong file location. 2024-12-20 11:37:48 -06:00
Дамян Минков
c6cce9253c feat(tests): Adds breakout tests. (#15414)
* feat(tests): Introduces BasePageObject.

* fix(tests): Use wdio aria selector where possible.

* fix(tests): Correct test exclusion for Firefox.

* fix(tests): Rearrange code.

* feat(tests): Adds breakout tests.
2024-12-20 06:17:49 -06:00
Saúl Ibarra Corretgé
c23684e11c fix(devices) filter out Zoom audio device
I haven't seen any particular problem with it, but it's of no use
anyway...
2024-12-20 07:58:48 +01:00
luzpaz
30595584a3 chore(typos) fix various typos
Found via `codespell -q 3 -S "*.svg,./lang" -L anser,bu,dialin,goup,miliseconds,nd,vew`
2024-12-20 07:58:31 +01:00
Saúl Ibarra Corretgé
3d30489cc4 chore(deps) update TypeScript 2024-12-19 15:04:16 +01:00
Дамян Минков
7288a6dce4 feat(tests): AVModeration tests. (#15408)
* feat(tests): Adds option to skip suite.

* fix(tests): Rename context to ctx to avoid clashing mocha's one.

* feat(tests): Moves room name generation in hooks.

Move also the proxy connection in the hooks.

* fix(tests): Avatar checks when using a token.

Token has its avatar so we skip the token for avatar tests.

* feat(tests): Renames avatars to drop Test from name.

* feat(tests): Updates dependencies.

* feat(tests): Fix end test log.

* feat(tests): AVModeration tests.
2024-12-19 07:12:14 -06:00
Hristo Terezov
697c41bffa fix(config-whitelist): remove p2p.stunServers 2024-12-18 18:39:22 -06:00
teamogy-team
0361830122 fix(lang) update Czech translation 2024-12-18 12:17:11 +01:00
damencho
6bb984acc8 fix(polls): Returns an error on duplicate poll. 2024-12-17 16:44:12 -06:00
damencho
938d112f6b fix(visitors): Fix a check that can result missing main participants. 2024-12-17 10:59:26 -06:00
Дамян Минков
d8cca36181 fix(shared-video): Removes disable pointer for non moderators. (#15399)
* fix(shared-video): Removes disable pointer for non moderators.

It fixes an issue where people can see ads from YouTube, allowing them to click the Skip Ad button. If you by mistake pause, the next time sync will unpuase it.

* squash: Remove unused.
2024-12-17 06:20:09 -06:00
Jaya Allamsetty
c9add0a9ef ref(tracks) Remove gUM option that is no longer supported 2024-12-16 22:41:54 -05:00
Saúl Ibarra Corretgé
aabc50da60 fix(rnsdk) specify the RN version we support
Our SDK is only really tested with a single RN version, make sure to put
that in peerDependencies.

In addition, drop the peer dependency on @react-native/metro-config
since our project doesn't use it directly.
2024-12-16 17:53:14 +02:00
Calin-Teodor
4aa4382d2b dep(@react-native-clipboard/clipboard): update to 1.14.3 2024-12-16 10:48:32 +02:00
Calin-Teodor
6bf1b46609 chore(react-native): update CocoaPods 2024-12-16 10:47:54 +02:00
shooding
9d7237dc24 fix(transcript) fix matching languages with variants
* fixtranscript results from whisper may have json.language="zh-TW" also requesting transcriptions language could be "zh-CN". Use _getPrimaryLanguageCode func to compare only the main lang code.

* fix: lint issue
2024-12-16 09:02:57 +01:00
Saúl Ibarra Corretgé
3745c19857 feat(overlay) drop permissions overlay
It covers the entire meeting and it's not helpful. A different version
of the same concept might be implemented using less intrusive UX, like a
modal.
2024-12-13 10:55:10 -06:00
damencho
cd6419d826 feat(ga): Adds a syntax check for config.js. 2024-12-13 10:34:39 -06:00
Saúl Ibarra Corretgé
a05e8fd2ef feat(build) use Node 22, the new LTS 2024-12-13 15:55:58 +01:00
Mejans
239e5743dd fix(lang) update Occitan locale (#15389) 2024-12-13 09:35:57 +01:00
Robert Oanta
01a731ab4d feat(prosody): extend jigasi kick endpoint to work for any participant (#15387)
* feat(prosody): extend jigasi kick endpoint to work for any participant

* apply review

* squash: Fix UI when there is no actor of the kick.

---------

Co-authored-by: damencho <damencho@jitsi.org>
2024-12-12 11:03:26 -06:00
Edgars Voroboks
3d56538c69 fix(lang): Update Latvian language translation 2024-12-12 10:52:59 -06:00
Дамян Минков
2dc135b80f feat(tests): Adds avatar test. (#15382)
* feat(tests): Adds join options.

* fix(tests): Fix opening tests by default with tenant.

* fix(tests): Renames a method.

* fix(tests): Moves a method from filmstrip to participants pane.

* fix(tests): Adds ok button to base dialog.

* fix(tests): Adds missing checks for using iframe API.

* feat(tests): Prettify the result html on error.

* fix(tests): Fixes checking when not in room.

* fix(tests): Adds profile button to toolbar.

* fix(tests): Adds avatar test.

* fix(tests): Fix all execute methods and await.

* fix(tests): Fix avatar checks.
2024-12-12 08:29:15 -06:00
simon
4e81d4461b fix(lang) update German translation 2024-12-12 13:52:46 +01:00
Mihaela Dumitru
68b16d7bc8 fix(config) hide ui label for the recording start notification and send event (#15385) 2024-12-12 11:31:38 +02:00
Hristo Terezov
45f6550d30 fix(configWhitelist): Remove hiddenDomain and restrict dropbox options to key only. (#15381) 2024-12-11 13:08:12 -06:00
Calin-Teodor
5c65446ef4 feat(toolbox/native): update CustomOptionButton props 2024-12-11 17:44:01 +02:00
Saúl Ibarra Corretgé
eee58b2945 fix(whiteboard) fix disabling button 2024-12-11 13:30:21 +01:00
Jaya Allamsetty
c7cfb5218d fix(config): Add missing config options 2024-12-10 16:34:53 -05:00
Дамян Минков
b9017176a8 feat(tests): Grid, FF and iframeAPI tests. (#15372)
* fix(tests): Fix include/excludes of tests based on participant count.

* feat(tests): Define context globally.

The context is being created on every new suite in before hook.

* feat(tests): Drop extra char in room name.

* feat(tests): Adds an option to load iframeAPI.

* feat(tests): Adds some ts types.

* fix(tests): Fix iframeAPI helper with events received too early.

* fix(tests): Fix iframeAPI helper detecting own role changed.

* feat(tests): Adds run script to start tests with local dev server.

* feat(tests): Adds participants iframeAPI tests.

* feat(tests): Updates wdio dependencies.

* feat: Adds grid config.

* feat: Simplify iframeAPI.

Drop URL params.

* feat: Adds tenant to iframeAPI.

* feat: Adds firefox target.

Certain tests are disable as not supported on FF. Missing upload file function for iframeAPI helper. Missing option to set audio file as a mic source.

* fix: Fix using tenant from baseUrl.

* feat: Adds audio only tests.

* feat: Adds option to generate tokens for the moderator.

* feat: Adds option to test and webhooks.

* fix: Improve error stack trace on error.

* fix: Address comments.

* fix: Fix test exclusion for FF.

* squash: Revert the strophe change and add a comment.
2024-12-10 11:22:44 -06:00
Hristo Terezov
cad37306d4 feat(dynamic-branding): New options for URLs in config
Adds new options that are cloning URL options from the config.
2024-12-10 09:46:04 -06:00
Saúl Ibarra Corretgé
83192435e7 feat(dynamic-branding) support setting transcription language
It will be used as the default if specified.
2024-12-09 15:51:49 +01:00
Дамян Минков
f85d0e6469 feat(always-on-top): Updates buttons for visitors. (#15369)
* feat(always-on-top): Updates buttons for visitors.

* squash: rename listener.

* squash: Adds visitor to the conference joined event.

* squash: fix comments and lint.

* squash: fix comments.
2024-12-06 12:28:29 -06:00
Calin-Teodor
3834f1e99c feat(base/tracks): removed pip limitation while screensharing 2024-12-06 14:31:20 +02:00
Calin-Teodor
79ece5d4e5 feat(settings/native): fix prejoin settings 2024-12-06 12:50:50 +02:00
damencho
b0ffc2cd69 feat(visitors): Propagate moderator role to visitor nodes.
Features that depend on presence and moderator role will start working for visitors (like follow-me).
2024-12-05 11:50:33 -06:00
Calin-Teodor
5a45ebb877 feat(android): removed jsc related code 2024-12-05 18:11:10 +02:00
Jaya Allamsetty
dcea5332be chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1889.0.0+39c44228...v1890.0.0+144b0cab
2024-12-04 22:45:23 -05:00
Дамян Минков
4e72601bee fix(speakerstats): Filters speaker stats to not include hidden participants.
* fix(speakerstats): Filters speaker stats to not include hidden participants.

* squash: Make recorder prefixes configurable.
2024-12-04 14:49:31 -06:00
damencho
ccd9386184 feat(prosody): Enables connection resumption for jicofo and jvb. 2024-12-04 14:49:01 -06:00
Mihaela Dumitru
05a930e5f5 fix(whiteboard) simplify room hash generation to cover custom region shards (#15345) 2024-12-04 16:39:01 +02:00
damencho
9bc0e7589c fix(visitors): Fixes slowing down after meeting becomes live.
Make sure there are several connects before slowing down the visitor trying to join. This slow down is handling the case where the meeting was live few minutes ago, but ended.
2024-12-03 13:31:37 -06:00
Calinteodor
c0541c8737 feat(android): hermes and react native are synced (#15353)
Version wise, Hermes and React Native are synced.
2024-12-03 15:47:11 +02:00
Calinteodor
c11147b583 feat(toolbox): adapt toolbox and hang up menu visibility to mobile web (#15340)
On mobile web we want to keep both toolbox and hang up menu visible because they depend on each other.
2024-12-03 13:51:38 +02:00
damencho
ef992eaef3 fix(visitors): Fixes go live check.
We need to check whether the live field is defined ignoring its boolean value. When it is false we were ignoring it and still marking the room as live.
2024-12-02 08:29:56 -07:00
Ioannis Fytros
0149b5f6e6 fix(lang) updated el translation 2024-11-28 15:05:34 +01:00
Mihaela Dumitru
4d7c051dd0 feat(config) add option to show recording link (#15336) 2024-11-27 09:32:38 +02:00
Calinteodor
f3324ab165 feat(react-native): enable hermes engine (#15279)
Enabled hermes JS engine and updated SDK release scripts for both Android and iOS.
2024-11-26 14:24:43 +02:00
Hristo Terezov
4d483f7846 fix(config-whitelist): remove props. 2024-11-25 15:27:28 -06:00
Hristo Terezov
478852c474 feat(URL): Add metrics for config overwrites.
Add temporary metrics for interfaceConfig and config url overwrites.
2024-11-25 13:08:37 -06:00
Jaya Allamsetty
deb574a154 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1888.0.0+db24997a...v1889.0.0+39c44228
2024-11-25 12:56:30 -05:00
Hristo Terezov
c2f4dd9dea fix(supportURL): Override true dynamic branding only. 2024-11-22 16:35:42 -06:00
damencho
67c3a50412 feat(external-api): Fix reporting kicker display name.
We cannot look up the name as the meeting is left and data has been cleaned up already.
The value is coming from ljm and the reported actor: JitsiParticipant.
2024-11-22 12:56:43 -06:00
damencho
b303693198 chore(webpack-dev-server): Updates webpack-dev-server to latest. 2024-11-22 12:56:34 -06:00
Hannes
a4a1619dc2 feat(external-api) add function to change virtual backgrounds 2024-11-22 18:05:41 +01:00
Saúl Ibarra Corretgé
c95d1d7f7e feat(ci) improve mobile CI
- Run Android and iOS on macOS (same as our release process)
- Simplify checking for Podfile changes
- Simplify frontend actions
- Add CI for building the native Android and iOS SDK
2024-11-22 12:53:15 +01:00
damencho
97310b5ab5 fix(iframeAPI): Fix role changed event to work not only for local user. 2024-11-21 18:45:39 -06:00
Daniel
e151be48b9 lang: Adds missing Korean translations
* Update main-ko.json (ADD: missing Korean translation)

* MOD: formatting by 'node update-translation.js main-ko.json'
2024-11-21 11:04:36 -06:00
Hristo Terezov
91e1007e5b feat(subtitles): Don't show delayed final
If a non final transcript was displayed and then hidden and then we receive a final transcript we remove the part that has already been shown before. If the final transcript is the same as the non final that was already displayed we don't show the final.
2024-11-21 08:13:19 -06:00
Besnik Bleta
8db769b174 lang: Update for sq translation (#15322)
* Adding sq translation

* Adding sq to languages.json

* Updating sq translation

* Fixing missing commas and updating string changes

* Fixing unclosed quotes

* Updating sq translation

* Updating sq translation

* Typo fixing; removing and adding commas to make the .json file valid

* Another comma missing fix

* Sorting entries aphabetically

* More sorting…

* More entry sorting

* Adding a missing space

* Adding spaces

* Get rid of an extra period

* Update for sq locale

* Update main-sq.json

* Update main-sq.json

* Update main-sq.json

* Update main-sq.json

* Update main-sq.json

* Update for sq translation

* Adding missing separator

* Adding another missing separator

* Adding another separator

* Not tired of adding separators…

* Typo fixing

* Changing place for a string; translating a forgoten string

* Updating sq translation

* Deleting an extra space at the beggining of a string

* Update for sq translation
2024-11-20 07:46:31 -06:00
Saúl Ibarra Corretgé
260e5d11b9 fix(conference) update transcription language with meeting language 2024-11-19 15:21:59 +01:00
Saúl Ibarra Corretgé
b2fbf6d2a3 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1887.0.0+9652999d...v1888.0.0+db24997a
2024-11-19 15:19:23 +01:00
Saúl Ibarra Corretgé
4df9087459 fixup! 2024-11-19 13:59:19 +01:00
Saúl Ibarra Corretgé
e0bf82aad8 fix(lang) refactor user media permission copy
It no longer matches what the browser says, most of the time, and the
browser name wasn't matched properly anyway.
2024-11-19 13:59:19 +01:00
Saúl Ibarra Corretgé
91c48dfe03 feat(config) whitelist enableCalendarIntegration 2024-11-19 13:45:34 +01:00
dependabot[bot]
a86542d650 chore(deps): bump cross-spawn
Bumps  and [cross-spawn](https://github.com/moxystudio/node-cross-spawn). These dependencies needed to be updated together.

Updates `cross-spawn` from 7.0.3 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

Updates `cross-spawn` from 6.0.5 to 7.0.6
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-19 09:52:38 +01:00
Saúl Ibarra Corretgé
9e9eac3e38 fix(lang) update text on extra noise suppression
Be explicit as it being extra and add a BETA label.
2024-11-19 09:20:31 +01:00
Horatiu Muresan
73cba3561e fix(config-whitelist) cleanup (#15314) 2024-11-18 16:15:35 +02:00
Calinteodor
63e69c224d feat(prejoin): fix join meeting from external/calendar link while in another meeting (#15310)
If you are in meeting and you want to join another meeting from an external link, it is not possible.
That is because Prejoin screen didn't get unmounted, isJoining remains true and button is unpressable.
Most probably because react navigation, where the screen only gets focused or blurred.
2024-11-18 16:15:03 +02:00
Дамян Минков
50e9413aad feat(recording): Shows notification when you try to start recording too quick. (#15311)
* feat(recording): Shows notification when you try to start recording too quick.

* squash: separate values ip and room.

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

https://github.com/jitsi/lib-jitsi-meet/compare/v1886.0.0+bc446e99...v1887.0.0+9652999d

* squash: text adjust
2024-11-15 15:08:26 -06:00
Hristo Terezov
037a7c082c feat(IFrameApi): setAudioOnly command & event. 2024-11-15 07:18:10 -06:00
damencho
6af4d182d0 fix(connection): Detects tenant hyphen and length problems and show notification. 2024-11-15 13:40:40 +01:00
damencho
d438292d2c fix(connection): Shows notification instead of reload on conference request failed. 2024-11-15 13:40:40 +01:00
Calinteodor
d45c108051 feat(conference): revert fix for background app state (#15308)
There seems to be an issue related to FlatList component. It was introduced after we updated to a newer version of React Native. Transitioning the app from background to foreground triggers re-renders that affect the visible remote participants, at least in tile view, by sometimes removing them from the list.
2024-11-15 14:39:37 +02:00
Дамян Минков
5cd7b9be38 feat(tests): First test from torture to meet. (#15298)
* feat(tests): First test from torture to meet.

* squash: Fixes logging as per comments.

* squash: Fixes some eslint errors.

* squash: Drop no needed await and async declarations.

* squash: Simplify syntax.

* squash: Disable blur everywhere not only FF.

* squash: Use allSettled.

* squash: Prettify intervals and timeouts.

* squash: Use uuids for torture rooms.

* squash: Introduce helper methods in Participant for toolbar and filmstrip.

* squash: Changes headless resolution to a standard 720p.

* squash: Adds env BASE_URL.

* squash: Fix some eslint errors.

* squash: Fix js error.

* squash: Fix participant logs.

* squash: Move bag to Promise.all.

* squash: More types thing.

* squash: Fix more ts errors.

* squash: Bumps version to include 6d146cd332

* squash: More ts stuff.

* squash: Fixes last ts errors.

* squash: Drop eslint rule.

* squash: Update default configs.

* squash: Drop and docs eslint.
2024-11-15 06:26:35 -06:00
Christoph Settgast
aa1c3c0ad8 lang: update German translation 2024-11-14 16:09:18 -06:00
Jaya Allamsetty
07810f8c2d chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1885.0.0+0ef83147...v1886.0.0+bc446e99
2024-11-14 13:54:05 -05:00
Saúl Ibarra Corretgé
96d41196e6 fix(local-recording) handle repeated values 2024-11-14 15:16:24 +01:00
Saúl Ibarra Corretgé
293a41d4aa fix(ci) use macOS 15 to run iOS tests
We need Xcode 16 and that version is now only available on macOS 15
action runners: https://github.com/actions/runner-images/issues/10703
2024-11-14 15:42:12 +02:00
Sakıp Han Dursun
def9555268 Update main-tr.json 2024-11-13 12:08:13 -06:00
Sam Joe Chalissery
71de1d1e2d feat(reactions): Added heart reaction
* Added heart reaction feature

* Edits to preserve alphabetical sorting

* Changed the position of hide self view checkbox

* undid irrelevant changes made

* Fixed CSS issue + tooltip text
2024-11-13 08:29:50 -06:00
Ashot Hovhannisyan
49cf63213d feat(ns) update Krisp to latest version
* feat(noise-suppression): Add support for BVC model

* feat(noise-suppression): Add support for extended BVC devices list

This commit adds support for extending the list of allowed BVC devices in the noise suppression feature. It introduces a new file, `bvc-allowed-ext.txt`, which can be used to include additional BVC supported devices.

* fix(noise-suppression): reuse the existing audioStream for Krisp initialization

* update krisp configuration

* refactor(krisp): Update Krisp JS SDK version and noise suppression configuration

* refactor(config): update config default values, add the enabled flad in INoiseSuppressionConfig
2024-11-13 08:25:24 +01:00
Hristo Terezov
86d1bd3c78 feat(Video): Handle .play() errors.
- Do not throw the error. This results in unhandled rejection promise.
 - Add proper logging so that we can figure out from which video element the error occured.
2024-11-11 15:31:58 -06:00
sakiphandursun
122f5dffe8 tr language updates 2024-11-09 14:40:39 -06:00
damencho
da35c96afd fix(visitors): Fixes detection of turning of subtitles by visitor. 2024-11-07 11:12:08 -06:00
369 changed files with 25127 additions and 4570 deletions

View File

@@ -34,9 +34,13 @@ jobs:
- name: Check if the git repository is clean
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
- run: npm run lint:ci && npm run tsc:ci
linux-build:
name: Build Frontend (Linux)
runs-on: ubuntu-latest
frontend:
name: Build Frontend
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -49,20 +53,11 @@ jobs:
npm -v
- run: npm install
- run: make
macos-ci:
name: Build Frontend (macOS)
runs-on: macOS-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm install
- run: make
android-build:
- name: Check config.js syntax
run: node config.js
android-rn-bundle-build:
name: Build mobile bundle (Android)
runs-on: ubuntu-latest
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -75,13 +70,9 @@ jobs:
npm -v
- run: npm install
- run: npx react-native bundle --entry-file react/index.native.js --platform android --bundle-output /tmp/android.bundle --reset-cache
ios-build:
ios-rn-bundle-build:
name: Build mobile bundle (iOS)
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-14]
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -107,10 +98,73 @@ jobs:
run: |
pod --version
cd ios
pod install --repo-update
- name: Check if the git repository is clean
run: $(exit $(git status --porcelain --untracked-files=no | head -255 | wc -l)) || (echo "Dirty git tree"; git diff; exit 1)
pod install --repo-update --deployment
- run: npx react-native bundle --entry-file react/index.native.js --platform ios --bundle-output /tmp/ios.bundle --reset-cache
android-sdk-build:
name: Build mobile SDK (Android)
runs-on: ubuntu-latest
container: reactnativecommunity/react-native-android:v13.0
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Check Node / npm versions
run: |
node -v
npm -v
- run: npm install
- run: |
cd android
./gradlew :sdk:clean
./gradlew :sdk:assembleRelease
ios-sdk-build:
name: Build mobile SDK (iOS)
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'npm'
- name: Check Node / npm versions
run: |
node -v
npm -v
- run: npm install
- name: setup Xcode
run: |
uname -a
xcode-select -p
sudo xcode-select -s /Applications/Xcode_16.0.app/Contents/Developer
xcodebuild -version
- name: setup-cocoapods
uses: maxim-lobanov/setup-cocoapods@v1
with:
podfile-path: ios/Podfile.lock
- name: Install Pods
run: |
pod --version
cd ios
pod install --repo-update --deployment
- run: |
xcodebuild clean \
-workspace ios/jitsi-meet.xcworkspace \
-scheme JitsiMeetSDK
xcodebuild archive \
-workspace ios/jitsi-meet.xcworkspace \
-scheme JitsiMeetSDK \
-configuration Release \
-sdk iphoneos \
-destination='generic/platform=iOS' \
-archivePath ios/sdk/out/ios-device \
SKIP_INSTALL=NO \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES
xcodebuild -create-xcframework \
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
-output ios/sdk/out/JitsiMeetSDK.xcframework
- run: ls -lR ios/sdk/out
debian-build:
name: Test Debian packages build
runs-on: ubuntu-latest

8
.gitignore vendored
View File

@@ -101,6 +101,9 @@ tsconfig.json
react-native-sdk/*.tgz
react-native-sdk/android/src
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetReactNativePackage.java
!react-native-sdk/android/src/main/java/org/jitsi/meet/sdk/JitsiMeetOngoingConferenceService.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
@@ -109,3 +112,8 @@ react-native-sdk/node_modules
react-native-sdk/react
react-native-sdk/service
react-native-sdk/sounds
# tests
tests/.env
test-results

2
.nvmrc
View File

@@ -1 +1 @@
20
22

View File

@@ -17,11 +17,11 @@ STYLES_BUNDLE = css/all.bundle.css
STYLES_DESTINATION = css/all.css
STYLES_MAIN = css/main.scss
ifeq ($(OS),Windows_NT)
WEBPACK = .\node_modules\.bin\webpack
WEBPACK_DEV_SERVER = .\node_modules\.bin\webpack serve --mode development
WEBPACK = .\node_modules\.bin\webpack --progress
WEBPACK_DEV_SERVER = .\node_modules\.bin\webpack serve --mode development --progress
else
WEBPACK = ./node_modules/.bin/webpack
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development
WEBPACK = ./node_modules/.bin/webpack --progress
WEBPACK_DEV_SERVER = ./node_modules/.bin/webpack serve --mode development --progress
endif
all: compile deploy

View File

@@ -1,6 +1,6 @@
# <p align="center">Jitsi Meet</p>
Jitsi Meet is a set of Open Source projects which empower users to use and deploy
TEST. Jitsi Meet is a set of Open Source projects which empower users to use and deploy
video conferencing platforms with state-of-the-art video quality and features.
<hr />
@@ -34,7 +34,7 @@ mobile apps:
| Android | Android (F-Droid) | iOS |
|:-:|:-:|:-:|
| [<img src="resources/img/google-play-badge.png" height="50">](https://play.google.com/store/apps/details?id=org.jitsi.meet) | [<img src="resources/img/f-droid-badge.png" height="50">](https://f-droid.org/en/packages/org.jitsi.meet/) | [<img src="resources/img/appstore-badge.png" height="50">](https://itunes.apple.com/us/app/jitsi-meet/id1165103905) |
| [<img src="resources/img/google-play-badge.png" height="50">](https://play.google.com/store/apps/details?id=org.jitsi.meet) | [<img src="resources/img/f-droid-badge.png" height="50">](https://f-droid.org/packages/org.jitsi.meet/) | [<img src="resources/img/appstore-badge.png" height="50">](https://itunes.apple.com/us/app/jitsi-meet/id1165103905) |
If you are feeling adventurous and want to get an early scoop of the features as they are being
developed you can also sign up for our open beta testing here:

View File

@@ -15,12 +15,6 @@ def vcode = (int) (((new Date().getTime() / 1000) - 1546297200) / 10)
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
packagingOptions {
jniLibs {
excludes += ['lib/*/libhermes*.so']
}
}
defaultConfig {
applicationId 'org.jitsi.meet'

View File

@@ -17,15 +17,12 @@ buildscript {
}
ext {
kotlinVersion = "1.9.0"
buildToolsVersion = "33.0.2"
kotlinVersion = "1.9.24"
buildToolsVersion = "34.0.0"
compileSdkVersion = 34
minSdkVersion = 24
minSdkVersion = 26
targetSdkVersion = 34
supportLibVersion = "28.0.0"
// NDK is now entirely compatible with Apple Silicon M1 and M2 Macs as of version 24.0.
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "26.1.10909125"
// The Maven artifact groupId of the third-party react-native modules which
@@ -44,14 +41,12 @@ ext {
googleServicesEnabled = project.file('app/google-services.json').exists() && !libreBuild
//React Native Version
//React Native and Hermes Version
rnVersion = "0.75.4"
}
allprojects {
repositories {
// Android JSC is installed from npm.
maven { url("$rootDir/../node_modules/jsc-android/dist") }
mavenCentral()
google()
maven { url 'https://www.jitpack.io' }

View File

@@ -9,7 +9,6 @@ THE_MVN_REPO=${MVN_REPO:-${1:-$DEFAULT_MVN_REPO}}
MVN_HTTP=0
DEFAULT_SDK_VERSION=$(grep sdkVersion ${THIS_DIR}/../gradle.properties | cut -d"=" -f2)
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
JSC_VERSION="r"$(jq -r '.dependencies."jsc-android"' ${THIS_DIR}/../../node_modules/react-native/package.json | cut -d . -f 1 | cut -c 2-)
if [[ $THE_MVN_REPO == http* ]]; then
MVN_HTTP=1
@@ -23,34 +22,7 @@ export MVN_REPO=$THE_MVN_REPO
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
echo "Using ${MVN_REPO} as the Maven repo"
if [[ $MVN_HTTP == 1 ]]; then
# Push JSC
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
mvn \
deploy:deploy-file \
-Durl=${MVN_REPO} \
-DrepositoryId=${MVN_REPO_ID} \
-Dfile=android-jsc-${JSC_VERSION}.aar \
-Dpackaging=aar \
-DgeneratePom=false \
-DpomFile=android-jsc-${JSC_VERSION}.pom || true
popd
else
# Push JSC, if necessary
if [[ ! -d ${MVN_REPO}/org/webkit/android-jsc/${JSC_VERSION} ]]; then
echo "Pushing JSC ${JSC_VERSION} to the Maven repo"
pushd ${THIS_DIR}/../../node_modules/jsc-android/dist/org/webkit/android-jsc/${JSC_VERSION}
mvn \
deploy:deploy-file \
-Durl=${MVN_REPO} \
-Dfile=android-jsc-${JSC_VERSION}.aar \
-Dpackaging=aar \
-DgeneratePom=false \
-DpomFile=android-jsc-${JSC_VERSION}.pom
popd
fi
if [[ $MVN_HTTP == 0 ]]; then
# Check if an SDK with that same version has already been released
if [[ -d ${MVN_REPO}/org/jitsi/react/jitsi-meet-sdk/${SDK_VERSION} ]]; then
echo "There is already a release with that version in the Maven repo!"

View File

@@ -42,6 +42,7 @@ dependencies {
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
api "com.facebook.react:react-android:$rootProject.ext.rnVersion"
api "com.facebook.react:hermes-android:$rootProject.ext.rnVersion"
//noinspection GradleDynamicVersion
implementation 'org.webkit:android-jsc:+'
@@ -57,7 +58,7 @@ dependencies {
if (!rootProject.ext.libreBuild) {
implementation project(':react-native-amplitude')
implementation project(':react-native-giphy')
implementation(project(":react-native-google-signin")) {
implementation(project(':react-native-google-signin')) {
exclude group: 'com.google.android.gms'
exclude group: 'androidx'
}

View File

@@ -18,7 +18,6 @@ package org.jitsi.meet.sdk;
import android.content.Context;
import android.media.AudioManager;
import android.os.Build;
import android.telecom.CallAudioState;
import androidx.annotation.RequiresApi;
@@ -34,7 +33,6 @@ import org.jitsi.meet.sdk.log.JitsiMeetLogger;
* {@link AudioModeModule.AudioDeviceHandlerInterface} module implementing device handling for
* Android versions >= O when ConnectionService is enabled.
*/
@RequiresApi(Build.VERSION_CODES.O)
class AudioDeviceHandlerConnectionService implements
AudioModeModule.AudioDeviceHandlerInterface,
RNConnectionService.CallAudioStateListener {

View File

@@ -20,7 +20,6 @@ import android.media.AudioAttributes;
import android.media.AudioDeviceInfo;
import android.media.AudioFocusRequest;
import android.media.AudioManager;
import android.os.Build;
import java.util.HashSet;
import java.util.Set;
@@ -227,22 +226,17 @@ class AudioDeviceHandlerGeneric implements
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.setMicrophoneMute(false);
int gotFocus;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
gotFocus = audioManager.requestAudioFocus(new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
.setAudioAttributes(
new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.build()
)
.setAcceptsDelayedFocusGain(true)
.setOnAudioFocusChangeListener(this)
.build()
);
} else {
gotFocus = audioManager.requestAudioFocus(this, AudioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN);
}
int gotFocus = audioManager.requestAudioFocus(new AudioFocusRequest.Builder(AudioManager.AUDIOFOCUS_GAIN)
.setAudioAttributes(
new AudioAttributes.Builder()
.setUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH)
.build()
)
.setAcceptsDelayedFocusGain(true)
.setOnAudioFocusChangeListener(this)
.build()
);
if (gotFocus == AudioManager.AUDIOFOCUS_REQUEST_FAILED) {
JitsiMeetLogger.w(TAG + " Audio focus request failed");

View File

@@ -20,7 +20,6 @@ import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Build;
import com.facebook.react.bridge.Arguments;
import com.facebook.react.bridge.Promise;
@@ -58,7 +57,6 @@ import java.util.concurrent.Executors;
* Before a call has started and after it has ended the
* {@code AudioModeModule.DEFAULT} mode should be used.
*/
@SuppressLint("AnnotateVersionCheck")
@ReactModule(name = AudioModeModule.NAME)
class AudioModeModule extends ReactContextBaseJavaModule {
public static final String NAME = "AudioMode";
@@ -84,11 +82,10 @@ class AudioModeModule extends ReactContextBaseJavaModule {
/**
* Whether or not the ConnectionService is used for selecting audio devices.
*/
private static final boolean supportsConnectionService = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O;
private static boolean useConnectionService_ = supportsConnectionService;
private static boolean useConnectionService_ = true;
static boolean useConnectionService() {
return supportsConnectionService && useConnectionService_;
return useConnectionService_;
}
/**
@@ -139,6 +136,11 @@ class AudioModeModule extends ReactContextBaseJavaModule {
*/
private String userSelectedDevice;
/**
* Whether or not audio is disabled.
*/
private boolean audioDisabled;
/**
* Initializes a new module instance. There shall be a single instance of
* this module throughout the lifetime of the application.
@@ -239,6 +241,12 @@ class AudioModeModule extends ReactContextBaseJavaModule {
audioDeviceHandler.stop();
}
audioDeviceHandler = null;
if (audioDisabled) {
return;
}
if (useConnectionService()) {
audioDeviceHandler = new AudioDeviceHandlerConnectionService(audioManager);
} else {
@@ -281,6 +289,27 @@ class AudioModeModule extends ReactContextBaseJavaModule {
});
}
@ReactMethod
public void setDisabled(final boolean disabled, final Promise promise) {
if (audioDisabled == disabled) {
promise.resolve(null);
return;
}
JitsiMeetLogger.i(TAG + " audio disabled: " + disabled);
audioDisabled = disabled;
setAudioDeviceHandler();
if (disabled) {
mode = -1;
availableDevices.clear();
resetSelectedDevice();
}
promise.resolve(null);
}
/**
* Public method to set the current audio mode.
*
@@ -290,7 +319,12 @@ class AudioModeModule extends ReactContextBaseJavaModule {
*/
@ReactMethod
public void setMode(final int mode, final Promise promise) {
if (mode != DEFAULT && mode != AUDIO_CALL && mode != VIDEO_CALL) {
if (audioDisabled) {
promise.resolve(null);
return;
}
if (mode < DEFAULT || mode > VIDEO_CALL) {
promise.reject("setMode", "Invalid audio mode " + mode);
return;
}

View File

@@ -37,7 +37,6 @@ import java.util.Objects;
*
* @author Pawel Domas
*/
@RequiresApi(api = Build.VERSION_CODES.O)
public class ConnectionService extends android.telecom.ConnectionService {
/**

View File

@@ -271,8 +271,8 @@ public class JitsiMeetActivity extends AppCompatActivity
// JitsiMeetLogger.i("Transcription chunk received: " + extraData);
// }
// protected void onCustomOverflowMenuButtonPressed(HashMap<String, Object> extraData) {
// JitsiMeetLogger.i("Custom overflow menu button pressed: " + extraData);
// protected void onCustomButtonPressed(HashMap<String, Object> extraData) {
// JitsiMeetLogger.i("Custom button pressed: " + extraData);
// }
// Activity lifecycle methods
@@ -361,8 +361,8 @@ public class JitsiMeetActivity extends AppCompatActivity
// case TRANSCRIPTION_CHUNK_RECEIVED:
// onTranscriptionChunkReceived(event.getData());
// break;
// case CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED:
// onCustomOverflowMenuButtonPressed(event.getData());
// case CUSTOM_BUTTON_PRESSED:
// onCustomButtonPressed(event.getData());
// break;
}
}

View File

@@ -42,7 +42,7 @@ public class JitsiMeetActivityDelegate {
/**
* Tells whether or not the permissions request is currently in progress.
*
* @return {@code true} if the permssions are being requested or {@code false} otherwise.
* @return {@code true} if the permissions are being requested or {@code false} otherwise.
*/
static boolean arePermissionsBeingRequested() {
return permissionListener != null;

View File

@@ -83,11 +83,7 @@ public class JitsiMeetOngoingConferenceService extends Service implements Ongoin
ComponentName componentName;
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
componentName = context.startForegroundService(intent);
} else {
componentName = context.startService(intent);
}
componentName = context.startForegroundService(intent);
} catch (RuntimeException e) {
// Avoid crashing due to ForegroundServiceStartNotAllowedException (API level 31).
// See: https://developer.android.com/guide/components/foreground-services#background-start-restrictions

View File

@@ -29,8 +29,6 @@ import android.content.Intent;
import androidx.annotation.StringRes;
import androidx.core.app.NotificationCompat;
import android.os.Build;
/**
* Helper class for creating the ongoing notification which is used with
@@ -45,10 +43,6 @@ class OngoingNotification {
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;

View File

@@ -20,7 +20,6 @@ import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.PictureInPictureParams;
import android.os.Build;
import android.util.Rational;
import com.facebook.react.bridge.Promise;
@@ -53,7 +52,7 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
// Android Go devices don't support PiP. There doesn't seem to be a better way to detect it than
// to use ActivityManager.isLowRamDevice().
// https://stackoverflow.com/questions/58340558/how-to-detect-android-go
isSupported = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O && !am.isLowRamDevice();
isSupported = !am.isLowRamDevice();
}
/**
@@ -82,7 +81,6 @@ class PictureInPictureModule extends ReactContextBaseJavaModule {
* including when the activity is not visible (paused or stopped), if the
* screen is locked or if the user has an activity pinned.
*/
@TargetApi(Build.VERSION_CODES.O)
public void enterPictureInPicture() {
if (!isEnabled) {
return;

View File

@@ -3,7 +3,6 @@ package org.jitsi.meet.sdk;
import android.annotation.SuppressLint;
import android.content.Context;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.telecom.DisconnectCause;
import android.telecom.PhoneAccount;
@@ -32,7 +31,6 @@ import org.jitsi.meet.sdk.log.JitsiMeetLogger;
*
* @author Pawel Domas
*/
@RequiresApi(api = Build.VERSION_CODES.O)
@ReactModule(name = RNConnectionService.NAME)
class RNConnectionService extends ReactContextBaseJavaModule {
@@ -53,7 +51,6 @@ class RNConnectionService extends ReactContextBaseJavaModule {
* @param audioRoute the new audio route to be set. See
* {@link android.telecom.CallAudioState} constants prefixed with "ROUTE_".
*/
@RequiresApi(api = Build.VERSION_CODES.O)
static void setAudioRoute(int audioRoute) {
for (ConnectionService.ConnectionImpl c
: ConnectionService.getConnections()) {

View File

@@ -21,13 +21,13 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
import com.facebook.react.ReactInstanceManager;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContext;
import com.facebook.react.common.LifecycleState;
import com.facebook.react.jscexecutor.JSCExecutorFactory;
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.uimanager.ViewManager;
import com.oney.WebRTCModule.EglUtils;
@@ -156,11 +156,6 @@ class ReactInstanceManagerHolder {
return packages;
}
static JSCExecutorFactory getReactNativeJSFactory() {
// Keep on using JSC, the jury is out on Hermes.
return new JSCExecutorFactory("", "");
}
/**
* Helper function to send an event to JavaScript.
*
@@ -240,7 +235,7 @@ class ReactInstanceManagerHolder {
.setCurrentActivity(activity)
.setBundleAssetName("index.android.bundle")
.setJSMainModulePath("index.android")
.setJavaScriptExecutorFactory(getReactNativeJSFactory())
.setJavaScriptExecutorFactory(new HermesExecutorFactory())
.addPackages(getReactNativePackages())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)

6
app.js
View File

@@ -1,4 +1,8 @@
/* application specific logic */
/* Jitsi Meet app main entrypoint. */
// Polyfill Promise.withReolvers.
// FIXME(saghul) webpack + core-js v3 should polyfill this.
import 'promise.withresolvers/auto';
// Re-export jQuery
// FIXME: Remove this requirement from torture tests.

View File

@@ -155,7 +155,6 @@ import {
NOTIFICATION_TIMEOUT_TYPE
} from './react/features/notifications/constants';
import { isModerationNotificationDisplayed } from './react/features/notifications/functions';
import { mediaPermissionPromptVisibilityChanged } from './react/features/overlay/actions';
import { suspendDetected } from './react/features/power-monitor/actions';
import { initPrejoin, isPrejoinPageVisible } from './react/features/prejoin/functions';
import { disableReceiver, stopReceiver } from './react/features/remote-control/actions';
@@ -435,15 +434,6 @@ export default {
requestedVideo = true;
}
if (!config.disableInitialGUM) {
JitsiMeetJS.mediaDevices.addEventListener(
JitsiMediaDevicesEvents.PERMISSION_PROMPT_IS_SHOWN,
browserName =>
APP.store.dispatch(
mediaPermissionPromptVisibilityChanged(true, browserName))
);
}
let tryCreateLocalTracks = Promise.resolve([]);
// On Electron there is no permission prompt for granting permissions. That's why we don't need to
@@ -452,8 +442,7 @@ export default {
const timeout = browser.isElectron() ? 15000 : 60000;
const audioOptions = {
devices: [ MEDIA_TYPE.AUDIO ],
timeout,
firePermissionPromptIsShownEvent: true
timeout
};
// Spot uses the _desktopSharingSourceDevice config option to use an external video input device label as
@@ -488,8 +477,7 @@ export default {
} else if (requestedAudio || requestedVideo) {
tryCreateLocalTracks = APP.store.dispatch(createInitialAVTracks({
devices: initialDevices,
timeout,
firePermissionPromptIsShownEvent: true
timeout
}, recordTimeMetrics)).then(({ tracks, errors: pErrors }) => {
Object.assign(errors, pErrors);
@@ -497,15 +485,6 @@ export default {
});
}
// Hide the permissions prompt/overlay as soon as the tracks are created. Don't wait for the connection to
// be established, as in some cases like when auth is required, connection won't be established until the user
// inputs their credentials, but the dialog would be overshadowed by the overlay.
tryCreateLocalTracks.then(tracks => {
APP.store.dispatch(mediaPermissionPromptVisibilityChanged(false));
return tracks;
});
return {
tryCreateLocalTracks,
errors
@@ -1033,7 +1012,7 @@ export default {
},
/**
* Will be filled with values only when config.debug is enabled.
* Will be filled with values only when config.testing.testMode is true.
* Its used by torture to check audio levels.
*/
audioLevelsMap: {},
@@ -1420,28 +1399,19 @@ export default {
/**
* Creates desktop (screensharing) {@link JitsiLocalTrack}
*
* @param {Object} [options] - Screen sharing options that will be passed to
* createLocalTracks.
* @param {Object} [options.desktopSharing]
* @param {Object} [options.desktopStream] - An existing desktop stream to
* use instead of creating a new desktop stream.
* @return {Promise.<JitsiLocalTrack>} - A Promise resolved with
* {@link JitsiLocalTrack} for the screensharing or rejected with
* {@link JitsiTrackError}.
*
* @private
*/
_createDesktopTrack(options = {}) {
_createDesktopTrack() {
const didHaveVideo = !this.isLocalVideoMuted();
const getDesktopStreamPromise = options.desktopStream
? Promise.resolve([ options.desktopStream ])
: createLocalTracksF({
desktopSharingSourceDevice: options.desktopSharingSources
? null : config._desktopSharingSourceDevice,
desktopSharingSources: options.desktopSharingSources,
devices: [ 'desktop' ]
});
const getDesktopStreamPromise = createLocalTracksF({
desktopSharingSourceDevice: config._desktopSharingSourceDevice,
devices: [ 'desktop' ]
});
return getDesktopStreamPromise.then(desktopStreams => {
// Stores the "untoggle" handler which remembers whether was
@@ -1618,9 +1588,9 @@ export default {
newLvl = 0;
}
if (config.debug) {
if (config.testing?.testMode) {
this.audioLevelsMap[id] = newLvl;
if (config.debugAudioLevels) {
if (config.testing?.debugAudioLevels) {
logger.log(`AudioLevel:${id}/${newLvl}`);
}
}

181
config.js
View File

@@ -84,6 +84,9 @@ var config = {
// Allows the setting of a custom bandwidth value from the UI.
// assumeBandwidth: true,
// Enables use of getDisplayMedia in electron
// electronUseGetDisplayMedia: false,
// Enables the use of the codec selection API supported by the browsers .
// enableCodecSelectionAPI: false,
@@ -103,6 +106,12 @@ var config = {
// Dump transcripts to a <transcript> element for debugging.
// dumpTranscript: false,
// Log the audio levels.
// debugAudioLevels: true,
// Will replace ice candidates IPs with invalid ones in order to fail ice.
// failICE: true,
},
// Disables moderator indicators.
@@ -209,14 +218,45 @@ var config = {
// installation. Specifically, these files are needed:
// - https://meet.example.com/libs/krisp/krisp.mjs
// - https://meet.example.com/libs/krisp/models/model_8.kw
// - https://meet.example.com/libs/krisp/models/model_16.kw
// - https://meet.example.com/libs/krisp/models/model_32.kw
// NOTE: Krisp JS SDK v1.0.9 was tested.
// - https://meet.example.com/libs/krisp/models/model_nc.kw
// - https://meet.example.com/libs/krisp/models/model_bvc.kw
// - https://meet.example.com/libs/krisp/assets/bvc-allowed.txt
// In case when you have known BVC supported devices and you want to extend allowed devices list
// - https://meet.example.com/libs/krisp/assets/bvc-allowed-ext.txt
// In case when you have known BVC supported devices and you want to extend allowed devices list
// - https://meet.example.com/libs/krisp/models/model_inbound_8.kw
// - https://meet.example.com/libs/krisp/models/model_inbound_16.kw
// In case when you want to use inbound noise suppression models
// NOTE: Krisp JS SDK v2.0.0 was tested.
// noiseSuppression: {
// krisp: {
// enabled: false,
// logProcessStats: false,
// debugLogs: false,
// useBVC: false,
// bufferOverflowMS: 1000,
// inboundModels: {
// modelInbound8: 'model_inbound_8.kef',
// modelInbound16: 'model_inbound_16.kef',
// },
// preloadInboundModels: {
// modelInbound8: 'model_inbound_8.kef',
// modelInbound16: 'model_inbound_16.kef',
// },
// preloadModels: {
// modelBVC: 'model_bvc.kef',
// model8: 'model_8.kef',
// modelNC: 'model_nc_mq.kef',
// },
// models: {
// modelBVC: 'model_bvc.kef',
// model8: 'model_8.kef',
// modelNV: 'model_nc_mq.kef',
// },
// bvc: {
// allowedDevices: 'bvc-allowed.txt',
// allowedDevicesExt: 'bvc-allowed-ext.txt',
// }
// },
// },
@@ -331,9 +371,6 @@ var config = {
// Recording
// DEPRECATED. Use recordingService.enabled instead.
// fileRecordingsEnabled: false,
// Enable the dropbox integration.
// dropbox: {
// appKey: '<APP_KEY>', // Specify your app key here.
@@ -354,6 +391,8 @@ var config = {
// // If true, shows a warning label in the prejoin screen to point out the possibility that
// // the call you're joining might be recorded.
// // showPrejoinWarning: true,
// // If true, the notification for recording start will display a link to download the cloud recording.
// // showRecordingLink: true,
// },
// recordingService: {
@@ -426,7 +465,7 @@ var config = {
// // Translation languages.
// // Available languages can be found in
// // ./src/react/features/transcribing/translation-languages.json.
// // ./lang/translation-languages.json.
// translationLanguages: ['en', 'es', 'fr', 'ro'],
// // Important languages to show on the top of the language list.
@@ -476,12 +515,17 @@ var config = {
// videoQuality: {
//
// // Provides a way to set the codec preference on desktop based endpoints.
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264' ],
// codecPreferenceOrder: [ 'VP9', 'VP8', 'H264', 'AV1' ],
//
// // Provides a way to set the codec for screenshare.
// screenshareCodec: 'AV1',
// mobileScreenshareCodec: 'VP8',
//
// // Enables the adaptive mode in the client that will make runtime adjustments to selected codecs and received
// // videos for a better user experience. This mode will kick in only when CPU overuse is reported in the
// // WebRTC statistics for the outbound video streams.
// enableAdaptiveMode: false,
//
// // Codec specific settings for scalability modes and max bitrates.
// av1: {
// maxBitratesVideo: {
@@ -532,30 +576,6 @@ var config = {
// useKSVC: true
// },
//
// DEPRECATED! Use `codec specific settings` instead.
// // Provides a way to configure the maximum bitrates that will be enforced on the simulcast streams for
// // video tracks. The keys in the object represent the type of the stream (LD, SD or HD) and the values
// // are the max.bitrates to be set on that particular type of stream. The actual send may vary based on
// // the available bandwidth calculated by the browser, but it will be capped by the values specified here.
// // This is currently not implemented on app based clients on mobile.
// maxBitratesVideo: {
// H264: {
// low: 200000,
// standard: 500000,
// high: 1500000,
// },
// VP8 : {
// low: 200000,
// standard: 500000,
// high: 1500000,
// },
// VP9: {
// low: 100000,
// standard: 300000,
// high: 1200000,
// },
// },
//
// // The options can be used to override default thresholds of video thumbnail heights corresponding to
// // the video quality levels used in the application. At the time of this writing the allowed levels are:
// // 'low' - for the low quality level (180p at the time of this writing)
@@ -573,22 +593,6 @@ var config = {
//
// // Provides a way to set the codec preference on mobile devices, both on RN and mobile browser based endpoint
// mobileCodecPreferenceOrder: [ 'VP8', 'VP9', 'H264' ],
//
// // DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
// // Provides a way to prevent a video codec from being negotiated on the JVB connection. The codec specified
// // here will be removed from the list of codecs present in the SDP answer generated by the client. If the
// // same codec is specified for both the disabled and preferred option, the disable settings will prevail.
// // Note that 'VP8' cannot be disabled since it's a mandatory codec, the setting will be ignored in this case.
// disabledCodec: 'H264',
//
// // DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
// // Provides a way to set a preferred video codec for the JVB connection. If 'H264' is specified here,
// // simulcast will be automatically disabled since JVB doesn't support H264 simulcast yet. This will only
// // rearrange the the preference order of the codecs in the SDP answer generated by the browser only if the
// // preferred codec specified here is present. Please ensure that the JVB offers the specified codec for this
// // to take effect.
// preferredCodec: 'VP8',
//
// },
// Notification timeouts
@@ -747,6 +751,9 @@ var config = {
// and microsoftApiApplicationClientID
// enableCalendarIntegration: false,
// The client id for the google APIs used for the calendar integration, youtube livestreaming, etc.
// googleApiApplicationClientID: '<client_id>',
// Configs for prejoin page.
// prejoinConfig: {
// // When 'true', it shows an intermediate page before joining, where the user can configure their devices.
@@ -781,10 +788,6 @@ var config = {
// set or the lobby is not enabled.
// enableInsecureRoomNameWarning: false,
// Whether to automatically copy invitation URL after creating a room.
// Document should be focused for this option to work
// enableAutomaticUrlCopy: false,
// Array with avatar URL prefixes that need to use CORS.
// corsAvatarURLs: [ 'https://www.gravatar.com/avatar/' ],
@@ -869,7 +872,7 @@ var config = {
// Overrides the buttons displayed in the main toolbar. Depending on the screen size the number of displayed
// buttons varies from 2 buttons to 8 buttons. Every array in the mainToolbarButtons array will replace the
// corresponding default buttons configuration matched by the number of buttons specified in the array. Arrays with
// more than 8 buttons or less then 2 buttons will be ignored. When there there isn't an override for a cerain
// more than 8 buttons or less then 2 buttons will be ignored. When there there isn't an override for a certain
// configuration (for example when 3 buttons are displayed) the default jitsi-meet configuration will be used.
// The order of the buttons in the array is preserved.
// mainToolbarButtons: [
@@ -1082,15 +1085,6 @@ var config = {
// { urls: 'stun:jitsi-meet.example.com:3478' },
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' },
],
// DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
// Provides a way to set the video codec preference on the p2p connection. Acceptable
// codec values are 'VP8', 'VP9' and 'H264'.
// preferredCodec: 'H264',
// DEPRECATED! Use `codecPreferenceOrder/mobileCodecPreferenceOrder` instead.
// Provides a way to prevent a video codec from being negotiated on the p2p connection.
// disabledCodec: '',
},
analytics: {
@@ -1582,23 +1576,50 @@ var config = {
// For external entities (e. g. email), the localStorage key holding the token value for directory authentication
// peopleSearchTokenLocation: "mytoken",
// Options related to visitors.
// visitors: {
// // Starts audio/video when the participant is promoted from visitor.
// enableMediaOnPromote: {
// audio: true,
// video: true
// },
// },
// The default type of desktop sharing sources that will be used in the electron app.
// desktopSharingSources: ['screen', 'window'],
// Disables the echo cancelation for local audio tracks.
// disableAEC: true,
// Disables the auto gain control for local audio tracks.
// disableAGC: true,
// Disables the audio processing (echo cancelation, auto gain control and noise suppression) for local audio tracks.
// disableAP: true,
// Disables the anoise suppression for local audio tracks.
// disableNS: true,
// Replaces the display name with the JID of the participants.
// displayJids: true,
// Enables disables talk while muted detection.
// enableTalkWhileMuted: true,
// Sets the peer connection ICE transport policy to "relay".
// forceTurnRelay: true,
// List of undocumented settings used in jitsi-meet
/**
_immediateReloadThreshold
debug
debugAudioLevels
deploymentInfo
dialOutAuthUrl
dialOutCodesUrl
dialOutRegionUrl
disableRemoteControl
displayJids
firefox_fake_device
googleApiApplicationClientID
iAmRecorder
iAmSipGateway
microsoftApiApplicationClientID
requireDisplayName
*/
/**
@@ -1614,14 +1635,7 @@ var config = {
_peerConnStatusRtcMuteTimeout
avgRtpStatsN
desktopSharingSources
disableAEC
disableAGC
disableAP
disableHPF
disableLocalStats
disableNS
enableTalkWhileMuted
forceTurnRelay
hiddenDomain
hiddenFromRecorderFeatureEnabled
ignoreStartMuted
@@ -1698,7 +1712,7 @@ var config = {
// 'notify.participantsWantToJoin', // shown when lobby is enabled and participants request to join meeting
// 'notify.passwordRemovedRemotely', // shown when a password has been removed remotely
// 'notify.passwordSetRemotely', // shown when a password has been set remotely
// 'notify.raisedHand', // shown when a partcipant used raise hand,
// 'notify.raisedHand', // shown when a participant used raise hand,
// 'notify.screenShareNoAudio', // shown when the audio could not be shared for the selected screen
// 'notify.screenSharingAudioOnlyTitle', // shown when the best performance has been affected by screen sharing
// 'notify.selfViewTitle', // show "You can always un-hide the self-view from settings"
@@ -1729,7 +1743,7 @@ var config = {
// disableFilmstripAutohiding: false,
// filmstrip: {
// // Disable the vertical/horizonal filmstrip.
// // Disable the vertical/horizontal filmstrip.
// disabled: false,
// // Disables user resizable filmstrip. Also, allows configuration of the filmstrip
// // (width, tiles aspect ratios) through the interfaceConfig options.
@@ -1788,9 +1802,10 @@ var config = {
// //disableLogCollector: true,
// // Individual loggers are customizable.
// loggers: {
// // The following are too verbose in their logging with the default level.
// 'modules/RTC/TraceablePeerConnection.js': 'info',
// 'modules/xmpp/strophe.util.js': 'log',
// // The following are too verbose in their logging with the default level.
// 'modules/RTC/TraceablePeerConnection.js': 'info',
// 'modules/xmpp/strophe.util.js': 'log',
// },
// },
// Application logo url
@@ -1848,12 +1863,6 @@ var config = {
// hideLoginButton: true,
};
// Temporary backwards compatibility with old mobile clients.
config.flags = config.flags || {};
config.flags.sourceNameSignaling = true;
config.flags.sendMultipleVideoStreams = true;
config.flags.receiveMultipleVideoStreams = true;
// Set the default values for JaaS customers
if (enableJaaS) {
config.dialInNumbersUrl = 'https://conference-mapper.jitsi.net/v1/access/dids';

View File

@@ -19,11 +19,11 @@
flex-direction: column;
.description {
color: #2f3237;
font-size: 14px;
line-height: 18px;
margin-bottom: 16px;
max-width: 436px;
color: #2f3237;
font-size: 14px;
line-height: 18px;
margin-bottom: 16px;
max-width: 436px;
}
}
@@ -127,7 +127,8 @@
cursor: pointer;
}
&.with-click-handler:hover {
&.with-click-handler:hover,
&.with-click-handler:focus {
background-color: #c7ddff;
}
@@ -155,14 +156,22 @@
margin-right: 16px;
position: absolute;
&> svg {
&>svg {
fill: #0074e0;
}
}
.item:hover, .item:focus, .item:focus-within {
.item:hover,
.item:focus,
.item:focus-within {
.delete-meeting {
display: block;
}
.delete-meeting:hover {
&>svg {
fill: #4687ED;
}
}
}
}
}

View File

@@ -1,14 +1,14 @@
@use 'sass:math';
.reactions-menu {
width: 280px;
width: 330px;
background: #242528;
box-shadow: 0px 3px 16px rgba(0, 0, 0, 0.6), 0px 0px 4px 1px rgba(0, 0, 0, 0.25);
border-radius: 6px;
padding: 16px;
&.with-gif {
width: 328px;
width: 380px;
.reactions-row .toolbox-button:last-of-type {
top: 3px;

View File

@@ -175,22 +175,6 @@ case "$1" in
fi
fi
# Fixes multi-stream flags to workaround problem with mobile joining a multi-stream call with multi-stream disabled
FIX_MSG="// Temporary backwards compatibility with old mobile clients."
if ! grep -q "^${FIX_MSG}" $JITSI_MEET_CONFIG; then
echo $FIX_MSG >> $JITSI_MEET_CONFIG
echo "config.flags = config.flags || {};" >> $JITSI_MEET_CONFIG
fi
if ! grep -q "^config.flags.sourceNameSignaling*" $JITSI_MEET_CONFIG; then
echo "config.flags.sourceNameSignaling = true;" >> $JITSI_MEET_CONFIG
fi
if ! grep -q "^config.flags.sendMultipleVideoStreams*" $JITSI_MEET_CONFIG; then
echo "config.flags.sendMultipleVideoStreams = true;" >> $JITSI_MEET_CONFIG
fi
if ! grep -q "^config.flags.receiveMultipleVideoStreams*" $JITSI_MEET_CONFIG; then
echo "config.flags.receiveMultipleVideoStreams = true;" >> $JITSI_MEET_CONFIG
fi
if [[ "$FORCE_OPENRESTY" = "true" ]]; then
NGX_COMMON_CONF_PATH="/usr/local/openresty/nginx/conf/$JVB_HOSTNAME.conf"
NGX_SVC_NAME=openresty

View File

@@ -119,8 +119,10 @@ Component "internal.auth.jitmeet.example.com" "muc"
VirtualHost "auth.jitmeet.example.com"
modules_enabled = {
"limits_exception";
"smacks";
}
authentication = "internal_hashed"
smacks_hibernation_time = 15;
-- Proxy to jicofo's user JID, so that it doesn't have to register as a component.
Component "focus.jitmeet.example.com" "client_proxy"

1
globals.d.ts vendored
View File

@@ -18,7 +18,6 @@ declare global {
JITSI_MEET_LITE_SDK?: boolean;
interfaceConfig?: any;
JitsiMeetJS?: any;
JitsiMeetElectron?: any;
PressureObserver?: any;
PressureRecord?: any;
ReactNativeWebView?: any;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -41,14 +41,6 @@ var interfaceConfig = {
*/
DISABLE_PRESENCE_STATUS: false,
/**
* Whether the ringing sound in the call/ring overlay is disabled. If
* {@code undefined}, defaults to {@code false}.
*
* @type {boolean}
*/
DISABLE_RINGING: false,
/**
* Whether the speech to text transcription subtitles panel is disabled.
* If {@code undefined}, defaults to {@code false}.
@@ -70,9 +62,6 @@ var interfaceConfig = {
ENABLE_DIAL_OUT: true,
// DEPRECATED. Animation no longer supported.
// ENABLE_FEEDBACK_ANIMATION: false,
FILM_STRIP_MAX_HEIGHT: 120,
GENERATE_ROOMNAMES_ON_WELCOME_PAGE: true,
@@ -227,7 +216,7 @@ var interfaceConfig = {
/**
* Specify custom URL for downloading f droid app.
*/
// MOBILE_DOWNLOAD_LINK_F_DROID: 'https://f-droid.org/en/packages/org.jitsi.meet/',
// MOBILE_DOWNLOAD_LINK_F_DROID: 'https://f-droid.org/packages/org.jitsi.meet/',
// Connection indicators (
// CONNECTION_INDICATOR_AUTO_HIDE_ENABLED,

View File

@@ -1,2 +1,6 @@
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
. ${THIS_DIR}/../node_modules/react-native/scripts/find-node-for-xcode.sh
export NODE_BINARY=$(command -v node)
export ENTRY_FILE="${PROJECT_DIR}/../../index.ios.js"

View File

@@ -32,7 +32,7 @@ target 'JitsiMeetSDK' do
flags = get_default_flags()
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => false,
:hermes_enabled => true,
:fabric_enabled => false,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
@@ -65,7 +65,7 @@ target 'JitsiMeetSDKLite' do
config = use_native_modules!
use_react_native!(
:path => config[:reactNativePath],
:hermes_enabled => false,
:hermes_enabled => true,
:fabric_enabled => false,
# An absolute path to your application root.
:app_path => "#{Pod::Config.instance.installation_root}/.."
@@ -78,6 +78,8 @@ target 'JitsiMeetSDKLite' do
end
post_install do |installer|
PLIST_BUDDY_PATH = '/usr/libexec/PlistBuddy'
react_native_post_install(
installer,
use_native_modules![:reactNativePath],
@@ -90,10 +92,29 @@ post_install do |installer|
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
end
end
target.build_configurations.each do |config|
config.build_settings['SUPPORTS_MACCATALYST'] = 'NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '15.1'
config.build_settings['OTHER_SWIFT_FLAGS'] = '$(inherited) -no-verify-emitted-module-interface'
end
# Can be removed when updated to RN 0.76
# Issue https://github.com/facebook/react-native/issues/35863#issuecomment-1387465588
if target.name == "hermes-engine"
installer.pods_project.files.each do |fileref|
if fileref.path.end_with? "hermes.xcframework"
hermes_plist_file = "#{fileref.real_path}/Info.plist"
# Patch Hermes to remove the debug symbols entry from the Info.plist (as it's not shipped with it)
# This might be removed once Hermes starts to ship with Debug symbols or we remove our
# direct dependency from the Main iOS target on "hermes.xcframework"
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:0:DebugSymbolsPath', hermes_plist_file)
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:1:DebugSymbolsPath', hermes_plist_file)
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:2:DebugSymbolsPath', hermes_plist_file)
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:3:DebugSymbolsPath', hermes_plist_file)
Open3.capture3(PLIST_BUDDY_PATH, '-c', 'Delete :AvailableLibraries:4:DebugSymbolsPath', hermes_plist_file)
end
end
end
end
end

File diff suppressed because it is too large Load Diff

View File

@@ -25,6 +25,8 @@
13B07FC11A68108700A75B9A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B07FB71A68108700A75B9A /* main.m */; };
2681BB562C7A0B42CFBA6719 /* libPods-JitsiMeet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D6152FF9E9F7B0E86F70A21D /* libPods-JitsiMeet.a */; };
361974E2A13624D7735D619D /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */; };
4341A9062CF0D63200940D93 /* hermes.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4341A9052CF0D63200940D93 /* hermes.xcframework */; };
4341A9072CF0D63200940D93 /* hermes.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 4341A9052CF0D63200940D93 /* hermes.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
4E90F9402632D1AB001102D4 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E90F93F2632D1AB001102D4 /* Atomic.swift */; };
4EB06024260E026600F524C5 /* ReplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4EC49B8625BED71300E76218 /* ReplayKit.framework */; };
4EB06027260E026600F524C5 /* SampleHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4EB06026260E026600F524C5 /* SampleHandler.swift */; };
@@ -75,6 +77,7 @@
dstSubfolderSpec = 10;
files = (
DEA9F28A258A6EA800D4CD74 /* JitsiMeetSDK.framework in Embed Frameworks */,
4341A9072CF0D63200940D93 /* hermes.xcframework in Embed Frameworks */,
FD572B9927EDF32300A800FB /* GiphyUISDK.xcframework in Embed Frameworks */,
DED016F228ECBC9D009D5E8D /* WebRTC.xcframework in Embed Frameworks */,
);
@@ -143,6 +146,7 @@
13B07FB61A68108700A75B9A /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
13B07FB71A68108700A75B9A /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
3E0F4ED943C0B12BE77F6B45 /* Pods-JitsiMeet.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeet.release.xcconfig"; path = "Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet.release.xcconfig"; sourceTree = "<group>"; };
4341A9052CF0D63200940D93 /* hermes.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = hermes.xcframework; path = "../Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework"; sourceTree = "<group>"; };
4E90F93F2632D1AB001102D4 /* Atomic.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Atomic.swift; sourceTree = "<group>"; };
4EB06023260E026600F524C5 /* JitsiMeetBroadcastExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = JitsiMeetBroadcastExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
4EB06026260E026600F524C5 /* SampleHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SampleHandler.swift; sourceTree = "<group>"; };
@@ -152,7 +156,7 @@
4EB0603A260E09D000F524C5 /* DarwinNotificationCenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DarwinNotificationCenter.swift; sourceTree = "<group>"; };
4EB0603B260E09D000F524C5 /* SampleUploader.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SampleUploader.swift; sourceTree = "<group>"; };
4EC49B8625BED71300E76218 /* ReplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ReplayKit.framework; path = System/Library/Frameworks/ReplayKit.framework; sourceTree = SDKROOT; };
5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = ../PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
756FCE06C08D9B947653C98A /* Pods-JitsiMeet.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-JitsiMeet.debug.xcconfig"; path = "Target Support Files/Pods-JitsiMeet/Pods-JitsiMeet.debug.xcconfig"; sourceTree = "<group>"; };
B3B083EB1D4955FF0069CEE7 /* app.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = app.entitlements; sourceTree = "<group>"; };
@@ -184,6 +188,7 @@
DEA9F289258A6EA800D4CD74 /* JitsiMeetSDK.framework in Frameworks */,
FD572B9827EDF32300A800FB /* GiphyUISDK.xcframework in Frameworks */,
2681BB562C7A0B42CFBA6719 /* libPods-JitsiMeet.a in Frameworks */,
4341A9062CF0D63200940D93 /* hermes.xcframework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -208,6 +213,7 @@
0B26BE711EC5BC4D00EEFB41 /* Frameworks */ = {
isa = PBXGroup;
children = (
4341A9052CF0D63200940D93 /* hermes.xcframework */,
DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */,
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */,
DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */,
@@ -1068,7 +1074,7 @@
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
TARGETED_DEVICE_FAMILY = "1,2";
USE_HERMES = false;
USE_HERMES = true;
};
name = Debug;
};
@@ -1134,7 +1140,7 @@
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
TARGETED_DEVICE_FAMILY = "1,2";
USE_HERMES = false;
USE_HERMES = true;
VALIDATE_PRODUCT = YES;
};
name = Release;

View File

@@ -34,6 +34,10 @@
jitsiMeet.universalLinkDomains = @[@"meet.jit.si", @"alpha.jitsi.net", @"beta.meet.jit.si"];
jitsiMeet.defaultConferenceOptions = [JitsiMeetConferenceOptions fromBuilder:^(JitsiMeetConferenceOptionsBuilder *builder) {
// For testing configOverrides a room needs to be set
// builder.room = @"test0988test";
[builder setFeatureFlag:@"welcomepage.enabled" withBoolean:YES];
[builder setFeatureFlag:@"ios.screensharing.enabled" withBoolean:YES];
[builder setFeatureFlag:@"ios.recording.enabled" withBoolean:YES];

View File

@@ -88,8 +88,8 @@
[self _onJitsiMeetViewDelegateEvent:@"CONFERENCE_WILL_JOIN" withData:data];
}
// - (void)customOverflowMenuButtonPressed:(NSDictionary *)data {
// [self _onJitsiMeetViewDelegateEvent:@"CUSTOM_OVERFLOW_MENU_BUTTON_PRESSED" withData:data];
// - (void)customButtonPressed:(NSDictionary *)data {
// [self _onJitsiMeetViewDelegateEvent:@"CUSTOM_BUTTON_PRESSED" withData:data];
// }
#if 0

View File

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

View File

@@ -54,6 +54,7 @@ pushd ${RELEASE_REPO}
# Put the new files in the repo
cp -a ${PROJECT_REPO}/ios/sdk/out/JitsiMeetSDK.xcframework lite/Frameworks/
cp -a ${PROJECT_REPO}/ios/Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework lite/Frameworks/
# Add all files to git
git add -A .

View File

@@ -54,6 +54,7 @@ pushd ${RELEASE_REPO}
# Put the new files in the repo
cp -a ${PROJECT_REPO}/ios/sdk/out/JitsiMeetSDK.xcframework Frameworks/
cp -a ${PROJECT_REPO}/ios/Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework Frameworks/
# Add all files to git
git add -A .

View File

@@ -790,7 +790,7 @@
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
TARGETED_DEVICE_FAMILY = "1,2";
USE_HERMES = false;
USE_HERMES = true;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
@@ -859,7 +859,7 @@
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
TARGETED_DEVICE_FAMILY = "1,2";
USE_HERMES = false;
USE_HERMES = true;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";

View File

@@ -21,6 +21,7 @@
#import <WebRTC/WebRTC.h>
#import "JitsiAudioSession+Private.h"
#import "callkit/JMCallKitProxy.h"
// Audio mode
@@ -54,6 +55,7 @@ static NSString * const kDeviceTypeUnknown = @"UNKNOWN";
RTCAudioSessionConfiguration *audioCallConfig;
RTCAudioSessionConfiguration *videoCallConfig;
RTCAudioSessionConfiguration *earpieceConfig;
BOOL audioDisabled;
BOOL forceSpeaker;
BOOL forceEarpiece;
BOOL isSpeakerOn;
@@ -146,9 +148,36 @@ RCT_EXPORT_MODULE();
#pragma mark - Exported methods
RCT_EXPORT_METHOD(setDisabled:(BOOL)disabled
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject) {
if (audioDisabled == disabled) {
resolve(nil);
return;
}
RCTLogInfo(@"[AudioMode] audio disabled: %d", disabled);
audioDisabled = disabled;
JMCallKitProxy.enabled = !disabled;
RTCAudioSession *session = JitsiAudioSession.rtcAudioSession;
if (disabled) {
[session removeDelegate:self];
} else {
[session addDelegate:self];
}
session.useManualAudio = disabled;
}
RCT_EXPORT_METHOD(setMode:(int)mode
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject) {
if (audioDisabled) {
resolve(nil);
return;
}
RTCAudioSessionConfiguration *config = [self configForMode:mode];
NSError *error;
@@ -177,6 +206,11 @@ RCT_EXPORT_METHOD(setMode:(int)mode
RCT_EXPORT_METHOD(setAudioDevice:(NSString *)device
resolve:(RCTPromiseResolveBlock)resolve
reject:(RCTPromiseRejectBlock)reject) {
if (audioDisabled) {
resolve(nil);
return;
}
RCTLogInfo(@"[AudioMode] Selected device: %@", device);
RTCAudioSession *session = JitsiAudioSession.rtcAudioSession;
@@ -239,6 +273,10 @@ RCT_EXPORT_METHOD(setAudioDevice:(NSString *)device
}
RCT_EXPORT_METHOD(updateDeviceList) {
if (audioDisabled) {
return;
}
[self notifyDevicesChanged];
}

View File

@@ -24,11 +24,15 @@
}
+ (void)activateWithAudioSession:(AVAudioSession *)session {
[self.rtcAudioSession audioSessionDidActivate:session];
if (!self.rtcAudioSession.useManualAudio) {
[self.rtcAudioSession audioSessionDidActivate:session];
}
}
+ (void)deactivateWithAudioSession:(AVAudioSession *)session {
[self.rtcAudioSession audioSessionDidDeactivate:session];
if (!self.rtcAudioSession.useManualAudio) {
[self.rtcAudioSession audioSessionDidDeactivate:session];
}
}
@end

View File

@@ -231,6 +231,9 @@
}
- (void)setDefaultConferenceOptions:(JitsiMeetConferenceOptions *)defaultConferenceOptions {
// For testing configOverrides a room needs to be set,
// thus the following check needs to be commented out
if (defaultConferenceOptions != nil && defaultConferenceOptions.room != nil) {
@throw [NSException exceptionWithName:@"RuntimeError"
reason:@"'room' must be null in the default conference options"

View File

@@ -128,6 +128,6 @@
*
* The `data` dictionary contains a `id`, `text` key.
*/
- (void)customOverflowMenuButtonPressed:(NSDictionary *)data;
- (void)customButtonPressed:(NSDictionary *)data;
@end

View File

@@ -641,16 +641,7 @@
"tr": ""
},
"userMedia": {
"androidGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
"chromeGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
"edgeGrantPermissions": "Kies <b><i>Yes</i></b> wanneer die blaaier vir toestemming vra.",
"electronGrantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon",
"firefoxGrantPermissions": "Kies <b><i>Deel gekose toestel</i></b> wanneer die blaaier vir toestemming vra.",
"iexplorerGrantPermissions": "Kies <b><i>OK</i></b> wanneer die blaaier vir toestemming vra.",
"nwjsGrantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon",
"operaGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
"react-nativeGrantPermissions": "Kies <b><i>Allow</i></b> wanneer die blaaier vir toestemming vra.",
"safariGrantPermissions": "Kies <b><i>OK</i></b> wanneer die blaaier vir toestemming vra."
"grantPermissions": "Gee asb. toestemming vir die gebruik van u kamera en mikrofoon."
},
"videoSIPGW": {
"busy": "Ons probeer tans hulpbronne vry te stel. Probeer gerus weer oor n paar minute.",

View File

@@ -1223,16 +1223,7 @@
"tr": "يذاع"
},
"userMedia": {
"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> عندما يطلب المتصفح الأذونات."
"grantPermissions": "امنح إذنًا باستعمال الكاميرا والمايكروفون."
},
"videoSIPGW": {
"busy": "نعمل على تحرير الموارد. حاول مرة أخرى لاحقًا بعد بضعة دقائق.",

View File

@@ -714,16 +714,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
"chromeGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
"edgeGrantPermissions": "Калі ласка, пазначце <b> <i> Ды </i> </b>, калі браўзэр спытае пра дазволы.",
"electronGrantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону",
"firefoxGrantPermissions": "Калі ласка, пазначце <b> <i> Падзяліцца абраным прыладай </i> </b>, калі браўзэр спытае пра дазволы.",
"iexplorerGrantPermissions": "Калі ласка, пазначце <b> <i> OK </i> </b>, калі браўзэр спытае пра дазволы.",
"nwjsGrantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону",
"operaGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
"react-nativeGrantPermissions": "Калі ласка, пазначце <b> <i> Дазволіць </i> </b>, калі браўзэр спытае пра дазволы.",
"safariGrantPermissions": "Калі ласка, пазначце <b> <i> OK </i> </b>, калі браўзэр спытае пра дазволы."
"grantPermissions": "Калі ласка, дайце дазвол на доступ да камеры і мікрафону."
},
"videoSIPGW": {
"busy": "Мы працуем над вызваленнем рэсурсаў. Калі ласка, паспрабуйце праз некалькі хвілін.",

View File

@@ -770,16 +770,7 @@
"tr": "СУБ"
},
"userMedia": {
"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>, когато браузърът Ви помоли за разрешение."
"grantPermissions": "Моля, разрешете използването на камерата и микрофона."
},
"videoSIPGW": {
"busy": "Работим по освобождаване на ресурси. Моля, опитайте след няколко минути.",

View File

@@ -1237,16 +1237,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
"chromeGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
"edgeGrantPermissions": "Seleccioneu <b><i>Sí</i></b> si el navegador us sol·licita permisos.",
"electronGrantPermissions": "S'està intentant accedir a la vostra càmera i micròfon",
"firefoxGrantPermissions": "Seleccioneu <b><i>Comparteix l'aparell seleccionat</i></b> si el navegador us sol·licita permisos.",
"iexplorerGrantPermissions": "Seleccioneu <b><i>D'acord</i></b> si el navegador us sol·licita permisos.",
"nwjsGrantPermissions": "Concediu permisos per a usar la càmera i el micròfon",
"operaGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
"react-nativeGrantPermissions": "Seleccioneu <b><i>Permet</i></b> si el navegador us sol·licita permisos.",
"safariGrantPermissions": "Seleccioneu <b><i>D'acord</i></b> si el navegador us sol·licita permisos."
"grantPermissions": "Concediu permisos per a usar la càmera i el micròfon."
},
"videoSIPGW": {
"busy": "Treballem per a alliberar recursos. Torneu-ho a intentar en uns minuts.",

File diff suppressed because it is too large Load Diff

View File

@@ -697,16 +697,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
"chromeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
"edgeGrantPermissions": "Vælg <b><i>Ja</i> </b>, når din browser beder om tilladelser",
"electronGrantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes",
"firefoxGrantPermissions": "Vælg <b> <i> Del valgt enhed </i> </b>, når din browser beder om tilladelser",
"iexplorerGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser",
"nwjsGrantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes",
"operaGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
"react-nativeGrantPermissions": "Vælg <b><i> Tillad</i> </b>, når din browser beder om tilladelser",
"safariGrantPermissions": "Vælg <b><i>OK</i> </b>, når din browser beder om tilladelser"
"grantPermissions": "Giv tilladelse til at dit kamera og din mikrofon benyttes."
},
"videoSIPGW": {
"busy": "Vi arbejder på at frigøre ressourcer. Prøv igen om et par minutter",

View File

@@ -1246,6 +1246,7 @@
"lobbyButton": "Lobbymodus ein-/ausschalten",
"localRecording": "Lokale Aufzeichnungssteuerelemente ein-/ausschalten",
"lockRoom": "Konferenzpasswort ein-/ausschalten",
"love": "Herz",
"lowerHand": "Hand senken",
"moreActions": "Menü „Weitere Einstellungen“ ein-/ausschalten",
"moreActionsMenu": "Menü „Weitere Einstellungen“",
@@ -1335,6 +1336,7 @@
"lobbyButtonEnable": "Lobbymodus aktivieren",
"login": "Anmelden",
"logout": "Abmelden",
"love": "Herz",
"lowerYourHand": "Hand senken",
"moreActions": "Weitere Einstellungen",
"moreOptions": "Weitere Optionen",
@@ -1360,6 +1362,7 @@
"raiseYourHand": "Melden",
"reactionBoo": "Buhen senden",
"reactionClap": "Klatschen senden",
"reactionHeart": "Herz senden",
"reactionLaugh": "Lachen senden",
"reactionLike": "Daumen hoch senden",
"reactionSilence": "Stille senden",
@@ -1385,7 +1388,7 @@
"tileViewToggle": "Kachelansicht ein-/ausschalten",
"toggleCamera": "Kamera wechseln",
"unmute": "Stummschaltung aufheben",
"videoSettings": "Kameraeinstellungen",
"videoSettings": "Kamera-Einstellungen",
"videomute": "Kamera stoppen",
"videomuteGUMPending": "Verbinde Ihre Kamera",
"videounmute": "Kamera einschalten"
@@ -1393,7 +1396,7 @@
"transcribing": {
"ccButtonTooltip": "Untertitel ein-/ausschalten",
"expandedLabel": "Transkribieren ist derzeit eingeschaltet",
"failedToStart": "Transkribieren konnte nicht gestartet werden",
"failed": "Transkribieren fehlgeschlagen",
"labelToolTip": "Das Meeting wird transkribiert",
"sourceLanguageDesc": "Aktuell ist die Sprache der Konferenz auf <b>{{sourceLanguage}}</b> eingestellt. <br/> Sie könne dies hier ",
"sourceLanguageHere": "ändern",
@@ -1405,16 +1408,7 @@
},
"unpinParticipant": "{{participantName}} - Nicht mehr anheften",
"userMedia": {
"androidGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
"chromeGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
"edgeGrantPermissions": "Wählen Sie <b><i>Ja</i></b>, wenn der Browser um Berechtigungen bittet.",
"electronGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
"firefoxGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
"iexplorerGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet.",
"nwjsGrantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen",
"operaGrantPermissions": "Wählen Sie <b><i>Zulassen</i></b>, wenn der Browser um Berechtigungen bittet.",
"react-nativeGrantPermissions": "Wählen Sie <b><i>Erlauben</i></b>, wenn der Browser um Berechtigungen bittet.",
"safariGrantPermissions": "Wählen Sie <b><i>OK</i></b>, wenn der Browser um Berechtigungen bittet."
"grantPermissions": "Bitte Berechtigungen zur Verwendung der Kamera und des Mikrofons erteilen."
},
"videoSIPGW": {
"busy": "Es stehen keine freien Ressourcen zur Verfügung. Bitte versuchen Sie es später noch einmal.",

View File

@@ -1238,16 +1238,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
"chromeGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
"edgeGrantPermissions": "Wuzwólśo opciju <b><i>jo</i></b>, gaž browser wó pšawa pšosy.",
"electronGrantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś",
"firefoxGrantPermissions": "Wuzwólśo opciju <b><i>dowóliś</i></b>, gaž browser wó pšawa pšosy.",
"iexplorerGrantPermissions": "Wuzwólśo opciju <b><i>OK</i></b>, gaž browser wó pšawa pšosy.",
"nwjsGrantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś",
"operaGrantPermissions": "Wuzwólśo opciju <b><i>pśiwdaś</i></b>, gaž browser wó pšawa pšosy.",
"react-nativeGrantPermissions": "Wuzwólśo opciju <b><i>dowóliś</i></b>, gaž browser wó pšawa pšosy.",
"safariGrantPermissions": "Wuzwólśo opciju <b><i>OK</i></b>, gaž browser wó pšawa pšosy."
"grantPermissions": "pšawa k wužywanju Wašeje kamery a mikrofona wuźěliś."
},
"videoSIPGW": {
"busy": "Źěłamy na tom, aby resurse se k dispoziciji stajili. Wopytajśo za pór minutow hyšći raz.",

View File

@@ -157,7 +157,7 @@
"maxEnabledResolution": "αποστολή μέγιστης",
"more": "Περισσότερα",
"packetloss": "Απώλειες πακέτων:",
"participant_id": "Id συμμετέχων:",
"participant_id": "Id συμμετέχοντα:",
"quality": {
"good": "Καλή",
"inactive": "Ανενεργό",
@@ -182,7 +182,7 @@
"yesterday": "Χθες"
},
"deepLinking": {
"appNotInstalled": "Χρειάζεστε την εφαρμογή {{app}} για το κινητό σας για συμμετοχή σε αυτή τη σύσκεψη στο τηλέφωνό σας.",
"appNotInstalled": "Χρειάζεστε την εφαρμογή {{app}} για το κινητό σας για συμμετοχή σε αυτή τη σύσκεψη μέσα από το τηλέφωνό σας.",
"description": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη με την εφαρμογή desktop {{app}}. Προσπαθήστε ξανά ή μπείτε από το web το {{app}}.",
"descriptionNew": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη με την εφαρμογή desktop {{app}}. <br /><br /> Προσπαθήστε ξανά ή μπείτε από το web.",
"descriptionWithoutWeb": "Δεν έγινε τίποτα; Έγινε προσπάθεια να ξεκινήσει η σύσκεψη στην εφαρμογή desktop {{app}}.",
@@ -236,7 +236,7 @@
"Remove": "Αφαίρεση",
"Share": "Μοιραστείτε",
"Submit": "Υποβολή",
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμένατε να συνδεθεί κάποιος διοργανωτής.",
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμείνετε να συνδεθεί κάποιος διοργανωτής.",
"WaitingForHostTitle": "Αναμονή για διοργανωτή…",
"Yes": "Ναι",
"accessibilityLabel": {
@@ -296,8 +296,8 @@
"internalErrorTitle": "Εσωτερικό σφάλμα",
"kickMessage": "Μπορείτε να επικοινωνήσετε με το {{participantDisplayName}} για περισσότερες λεπτομέρειες.",
"kickParticipantButton": "Αποβολή",
"kickParticipantDialog": "Σίγουρα θέλετε να αποβάλλεται αυτόν το συμμετέχων;",
"kickParticipantTitle": "Αποβολή αυτού του συμμετέχων;",
"kickParticipantDialog": "Σίγουρα θέλετε να αποβάλλετε αυτόν το συμμετέχοντα;",
"kickParticipantTitle": "Αποβολή αυτού του συμμετέχοντα;",
"kickTitle": "Ωχ! Ο/Η {{participantDisplayName}} σας απέβαλε από τη σύσκεψη",
"linkMeeting": "Σύνδεση σύσκεψης",
"linkMeetingTitle": "Σύνδεση σύσκεψης στο Salesforce",
@@ -318,7 +318,7 @@
"micNotSendingDataTitle": "Το μικρόφωνο είναι σε σίγηση στις ρυθμίσεις του συστήματός σας",
"micPermissionDeniedError": "Δεν έχετε δώσει την άδεια για χρήση του μικροφώνου. Μπορείτε ακόμα να συμμετάσχετε στη σύσκεψη, αλλά οι άλλοι δεν θα μπορούν να σας ακούσουν. Χρησιμοποιήστε το κουμπί της κάμερας στη γραμμή διεύθυνσης για να το διορθώσετε.",
"micTimeoutError": "Αδυναμία εκκίνησης της πηγής ήχου. Λήξη του χρονικού ορίου!",
"micUnknownError": "Αδυναμία χρήσης του μικρόφωνου για ένα άγνωστο λόγο.",
"micUnknownError": "Αδυναμία χρήσης του μικροφώνου για ένα άγνωστο λόγο.",
"moderationAudioLabel": "Επιτρέψτε στους συμμετέχοντες να καταργούν τη σίγηση τους",
"moderationVideoLabel": "Επιτρέψτε στους συμμετέχοντες να ξεκινούν το βίντεο τους",
"muteEveryoneDialog": "Οι συμμετέχοντες μπορούν να καταργούν την σίγηση τους.",
@@ -339,12 +339,12 @@
"muteParticipantsVideoBody": "Δε θα μπορείτε εσείς να ενεργοποιήσετε ξανά τη κάμερα, αλλά αυτοί θα μπορούν οποιαδήποτε στιγμή.",
"muteParticipantsVideoBodyModerationOn": "Δε θα μπορείτε εσείς να ενεργοποιήσετε ξανά τη κάμερα, αλλά ούτε και αυτοί.",
"muteParticipantsVideoButton": "Διακοπή του βίντεο",
"muteParticipantsVideoDialog": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχων; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, μόνο αυτοί θα μπορούν να την ανοίξουν.",
"muteParticipantsVideoDialogModerationOn": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχων; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, ούτε αυτοί θα μπορούν.",
"muteParticipantsVideoTitle": "Απενεργοποίηση της κάμερας αυτού του συμμετέχων;",
"muteParticipantsVideoDialog": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχοντα; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, μόνο αυτοί θα μπορούν να την ανοίξουν.",
"muteParticipantsVideoDialogModerationOn": "Θέλετε σίγουρα να κλείσετε τη κάμερα του συμμετέχοντα; Δε θα μπορείτε να την ενεργοποιήσετε ξανά, ούτε αυτοί θα μπορούν.",
"muteParticipantsVideoTitle": "Απενεργοποίηση της κάμερας αυτού του συμμετέχοντα;",
"noDropboxToken": "Μη έγκυρο διακριτικό Dropbox",
"password": "Κωδικός πρόσβασης",
"passwordLabel": "Η συνάντηση έχει κλειδωθεί από έναν συμμετέχων. Παρακαλώ εισάγετε το $t(lockRoomPassword) για να συμμετέχετε.",
"passwordLabel": "Η συνάντηση έχει κλειδωθεί από κάποιον συμμετέχοντα. Παρακαλώ εισάγετε το $t(lockRoomPassword) για να συμμετέχετε.",
"passwordNotSupported": "Ο ορισμός ενός $t(lockRoomPassword) στη συνάντηση δεν υποστηρίζεται.",
"passwordNotSupportedTitle": "Δεν υποστηρίζεται $t(lockRoomPasswordUppercase)",
"passwordRequired": "Απαιτείται $t(lockRoomPasswordUppercase)",
@@ -427,7 +427,7 @@
"userPassword": "Κωδικός πρόσβασης χρήστη",
"verifyParticipantConfirm": "Ταιριάζουν",
"verifyParticipantDismiss": "Δεν ταιριάζουν",
"verifyParticipantQuestion": "ΠΕΙΡΑΜΑΤΙΚΟ: Ρωτήστε το συμμετέχων {{participantName}} αν βλέπουν το ίδιο περιεχόμενο, με την ίδια σειρά.",
"verifyParticipantQuestion": "ΠΕΙΡΑΜΑΤΙΚΟ: Ρωτήστε τον συμμετέχοντα {{participantName}} αν βλέπουν το ίδιο περιεχόμενο, με την ίδια σειρά.",
"verifyParticipantTitle": "Πιστοποίηση χρήστη",
"videoLink": "Σύνδεσμο βίντεο",
"viewUpgradeOptions": "Εμφάνιση επιλογών αναβάθμισης",
@@ -514,7 +514,7 @@
"inviteDialog": {
"alertText": "Αποτυχία πρόσκλησης μερικών συμμετεχόντων.",
"header": "Πρόσκληση",
"searchCallOnlyPlaceholder": "Εισάγετε το τηλεφωνικό αριθμό",
"searchCallOnlyPlaceholder": "Εισάγετε τον τηλεφωνικό αριθμό",
"searchPeopleOnlyPlaceholder": "Αναζήτηση συμμετεχόντων",
"searchPlaceholder": "Συμμετέχων ή αριθμός τηλεφώνου",
"send": "Αποστολή"
@@ -523,7 +523,7 @@
"keyboardShortcuts": {
"focusLocal": "Εστίαση στο βίντεο σας",
"focusRemote": "Εστίαση στο βίντεο ενός άλλου",
"fullScreen": "Εναλλαγή πλήρης οθόνης",
"fullScreen": "Εναλλαγή πλήρους οθόνης",
"giphyMenu": "Εναλλαγή μενού GIPHY",
"keyboardShortcuts": "Συντομεύσεις πληκτρολογίου",
"localRecording": "Εμφάνιση ή απόκρυψη χειριστηρίων καταγραφής",
@@ -714,8 +714,8 @@
"oldElectronClientDescription3": " τώρα!",
"participantWantsToJoin": "Θέλει να συμμετέχει στη σύσκεψη",
"participantsWantToJoin": "Θέλουν να συμμετέχουν στη σύσκεψη",
"passwordRemovedRemotely": "Το $t(lockRoomPasswordUppercase) αφαιρέθηκε από έναν άλλον συμμετέχων",
"passwordSetRemotely": "Το $t(lockRoomPasswordUppercase) ορίστηκε από άλλον συμμετέχων",
"passwordRemovedRemotely": "Το $t(lockRoomPasswordUppercase) αφαιρέθηκε από έναν άλλον συμμετέχοντα",
"passwordSetRemotely": "Το $t(lockRoomPasswordUppercase) ορίστηκε από άλλον συμμετέχοντα",
"raiseHandAction": "Σήκωσε χέρι",
"raisedHand": "Θέλει να μιλήσει.",
"raisedHands": "ο/η {{participantName}} και {{raisedHands}} άλλοι",
@@ -772,7 +772,7 @@
"title": "Συμμετέχοντες"
},
"passwordDigitsOnly": "Έως {{number}} ψηφία",
"passwordSetRemotely": "Ορίστηκε από ένα άλλον συμμετέχων",
"passwordSetRemotely": "Ορίστηκε από ένα άλλον συμμετέχοντα",
"pinParticipant": "{{participantName}} - Διατήρηση",
"pinnedParticipant": "Ο συμμετέχων έχει διατηρηθεί",
"polls": {
@@ -1101,7 +1101,7 @@
"download": "Κατεβάστε τις εφαρμογές μας",
"embedMeeting": "Ενσωμάτωση σύσκεψης",
"endConference": "Λήξη της σύσκεψης για όλους",
"enterFullScreen": "Εμφάνιση πλήρης οθόνης",
"enterFullScreen": "Εμφάνιση πλήρους οθόνης",
"enterTileView": "Είσοδος σε προβολή εικονιδίων",
"exitFullScreen": "Έξοδος από πλήρη οθόνη",
"exitTileView": "Έξοδος από προβολή εικονιδίων",
@@ -1115,7 +1115,7 @@
"help": "Βοήθεια",
"hideWhiteboard": "Απόκρυψη μαυροπίνακα",
"invite": "Προσκαλέστε άτομα",
"kick": "Αποβολή συμμετέχων",
"kick": "Αποβολή συμμετέχοντα",
"laugh": "Γέλιο",
"leaveConference": "Αποχώρηση από την σύσκεψη",
"like": "Εγκρίνω",
@@ -1141,8 +1141,8 @@
"raiseHand": "Σηκώστε το χέρι σας",
"reactionsMenu": "Μενού αντιδράσεων",
"recording": "Εναλλαγή καταγραφής",
"remoteMute": "Σίγηση συμμετέχων",
"remoteVideoMute": "Απενεργοποίηση της κάμερας του συμμετέχων",
"remoteMute": "Σίγηση συμμετέχοντα",
"remoteVideoMute": "Απενεργοποίηση της κάμερας του συμμετέχοντα",
"security": "Επιλογές ασφαλείας",
"selectBackground": "Επιλογή Φόντου",
"selfView": "Εναλλαγή αυτοπροβολής",
@@ -1188,7 +1188,7 @@
"embedMeeting": "Ενσωμάτωση σύσκεψης",
"enableNoiseSuppression": "Ενεργοποίηση εξάλειψης θορύβου",
"endConference": "Λήξη της σύσκεψης για όλους",
"enterFullScreen": "Εμφάνιση πλήρης οθόνης",
"enterFullScreen": "Εμφάνιση πλήρους οθόνης",
"enterTileView": "Προβολή εικονιδίων",
"exitFullScreen": "Έξοδος από πλήρη οθόνη",
"exitTileView": "Έξοδος από προβολή εικονιδίων",
@@ -1278,16 +1278,7 @@
},
"unpinParticipant": "{{participantName}} - Μη Διατήρηση",
"userMedia": {
"androidGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
"chromeGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
"edgeGrantPermissions": "Επιλέξτε <b><i>Ναι</i></b> όταν ο browser ζητήσει για άδεια χρήσης.",
"electronGrantPermissions": "Δοκιμή πρόσβασης της κάμερας και του μικροφώνου",
"firefoxGrantPermissions": "Επιλέξτε <b><i>Μοιραστείτε την Επιλεγμένη Συσκευή</i></b> όταν ο browser ζητήσει για άδεια.",
"iexplorerGrantPermissions": "Επιλέξτε <b><i>OK</i></b> όταν ο browser σας ζητήσει άδεια χρήσης.",
"nwjsGrantPermissions": "Παρακαλούμε παραχωρήστε την άδεια για χρήση της κάμερα και του μικροφώνου",
"operaGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser σας ζητήσει για άδεια χρήσης.",
"react-nativeGrantPermissions": "Επιλέξτε <b><i>Αποδοχή</i></b> όταν ο browser σας ζητήσει για άδεια χρήσης.",
"safariGrantPermissions": "Επιλέξτε <b><i>OK</i></b> όταν ο browser σας ζητήσει άδεια χρήσης."
"grantPermissions": "Παρακαλούμε παραχωρήστε την άδεια για χρήση της κάμερα και του μικροφώνου."
},
"videoSIPGW": {
"busy": "Γίνεται προσπάθεια για την απελευθέρωση πόρων. Παρακαλώ δοκιμάστε ξανά σε λίγα λεπτά.",
@@ -1337,11 +1328,11 @@
"muted": "Σίγηση",
"pinToStage": "Διατήρηση στη σκηνή",
"remoteControl": "Εκκίνηση / Διακοπή ελέγχου από μακριά",
"screenSharing": "Ο συμμετέχων μοιράζει την οθόνη τους",
"screenSharing": "Ο συμμετέχων διαμοιράζεται την οθόνη του",
"show": "Εμφάνιση στη σκηνή",
"showSelfView": "Εμφάνιση αυτοπροβολής",
"unpinFromStage": "Μη διατήρηση",
"verify": "Επιβεβαίωση συμμετέχων",
"verify": "Επιβεβαίωση συμμετέχοντα",
"videoMuted": "Η κάμερα απενεργοποιήθηκε",
"videomute": "Ο συμμετέχων σταμάτησε τη κάμερα"
},

View File

@@ -1373,16 +1373,7 @@
},
"unpinParticipant": "{{participantName}} - Malpingli",
"userMedia": {
"androidGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
"chromeGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
"edgeGrantPermissions": "Elektu <b><i>Jes</i></b> kiam via foliumilo petos permesojn.",
"electronGrantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon",
"firefoxGrantPermissions": "Elektu <b><i>Havigi elektitan aparaton</i></b> kiam via foliumilo petos permesojn.",
"iexplorerGrantPermissions": "Elektu <b><i>Bone</i></b> kiam via foliumilo petos permesojn.",
"nwjsGrantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon",
"operaGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
"react-nativeGrantPermissions": "Elektu <b><i>Permesi</i></b> kiam via foliumilo petos permesojn.",
"safariGrantPermissions": "Elektu <b><i>Bone</i></b> kiam via foliumilo petos permesojn."
"grantPermissions": "Bonvolu doni la permeson uzi viajn kameraon kaj mikrofonon."
},
"videoSIPGW": {
"busy": "Ni klopodas liberigi rimedojn. Bonvolu reprovi post kelkaj minutoj.",

View File

@@ -1318,16 +1318,7 @@
},
"unpinParticipant": "",
"userMedia": {
"androidGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"chromeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"edgeGrantPermissions": "Selecciona <b><i>Sí</i></b> cuando el navegador solicite permisos.",
"electronGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
"firefoxGrantPermissions": "Selecciona <b><i>Compartir dispositivo seleccionado</i></b> cuando el navegador solicite permisos.",
"iexplorerGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos.",
"nwjsGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
"operaGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"react-nativeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"safariGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos."
"grantPermissions": "Otorga permisos para usar la cámara y el micrófono."
},
"videoSIPGW": {
"busy": "Estamos trabajando para liberar recursos. Vuelve a intentarlo en unos minutos.",

View File

@@ -1075,16 +1075,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"chromeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"edgeGrantPermissions": "Selecciona <b><i>Sí</i></b> cuando el navegador solicite permisos.",
"electronGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
"firefoxGrantPermissions": "Selecciona <b><i>Compartir dispositivo seleccionado</i></b> cuando el navegador solicite permisos.",
"iexplorerGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos.",
"nwjsGrantPermissions": "Otorga permisos para usar la cámara y el micrófono",
"operaGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"react-nativeGrantPermissions": "Selecciona <b><i>Permitir</i></b> cuando el navegador solicite permisos.",
"safariGrantPermissions": "Selecciona <b><i>Aceptar</i></b> cuando el navegador solicite permisos."
"grantPermissions": "Otorga permisos para usar la cámara y el micrófono."
},
"videoSIPGW": {
"busy": "Estamos trabajando para liberar recursos. Vuelve a intentarlo en unos minutos.",

View File

@@ -700,16 +700,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
"chromeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
"edgeGrantPermissions": "Vali <b><i>Jah</i></b>, kui veebilehitseja küsib nõusolekut.",
"electronGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
"firefoxGrantPermissions": "Vali <b><i>Jaga valitud vahendit</i></b>, kui veebilehitseja küsib nõusolekut.",
"iexplorerGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut.",
"nwjsGrantPermissions": "Luba kasutada kaamerat ja mikrofoni",
"operaGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
"react-nativeGrantPermissions": "Vali <b><i>Luba</i></b>, kui veebilehitseja küsib nõusolekut.",
"safariGrantPermissions": "Vali <b><i>OK</i></b>, kui veebilehitseja küsib nõusolekut."
"grantPermissions": "Luba kasutada kaamerat ja mikrofoni."
},
"videoSIPGW": {
"busy": "Vabastatakse ressurssi… Proovi mõne minuti pärast uuesti.",

View File

@@ -919,16 +919,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"chromeGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"edgeGrantPermissions": "Hautatu <b><i>Bai</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"electronGrantPermissions": "Mesedez eman zure kamera eta mikrofonoa erabiltzeko baimenak",
"firefoxGrantPermissions": "Hautatu <b><i>Partekatutako hautatutako gailua</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"iexplorerGrantPermissions": "Hautatu <b><i>Ados</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"nwjsGrantPermissions": "Mesedez, eman zure kamera eta mikrofonoa erabiltzeko baimenak",
"operaGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"react-nativeGrantPermissions": "Hautatu <b><i>Baimendu</i></b> zure nabigatzaileak baimenak eskatzen dituenean.",
"safariGrantPermissions": "Hautatu <b><i>Ados</i></b> zure nabigatzaileak baimenak eskatzen dituenean."
"grantPermissions": "Mesedez, eman zure kamera eta mikrofonoa erabiltzeko baimenak."
},
"videoSIPGW": {
"busy": "Baliabideak askatzeko lanetan gabiltza. Mesedez, saiatu berriro minutu batzuk barru.",

View File

@@ -1326,16 +1326,7 @@
},
"unpinParticipant": "{{participantName}} - برداشتن سنجاق",
"userMedia": {
"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> را انتخاب کنید."
"grantPermissions": "لطفاً اجازهٔ استفاده از دوربین و میکروفون خود را بدهید."
},
"videoSIPGW": {
"busy": "ما درحال آزادسازی منابع هستیم؛ لطفاً دقایقی دیگر دوباره تلاش کنید.",

View File

@@ -649,16 +649,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
"chromeGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
"edgeGrantPermissions": "Valitse <b><i>Kyllä</i></b>, kun selain pyytää käyttöoikeuksia.",
"electronGrantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön.",
"firefoxGrantPermissions": "Valitse <b><i>Jaa havaittu laite</i></b>, kun selain pyytää käyttöoikeuksia.",
"iexplorerGrantPermissions": "Valitse <b><i>OK</i></b>, kun selain pyytää käyttöoikeuksia.",
"nwjsGrantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön.",
"operaGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
"react-nativeGrantPermissions": "Valitse <b><i>Salli</i></b>, kun selain pyytää käyttöoikeuksia.",
"safariGrantPermissions": "Valitse <b><i>OK</i></b>, kun selain pyytää käyttöoikeuksia."
"grantPermissions": "Myönnä käyttöoikeudet laitteesi kameran ja mikrofonin käyttöön."
},
"videoSIPGW": {
"busy": "Yritämme vapauttaa resursseja. Yritä uudelleen muutaman minuutin kuluttua.",

View File

@@ -334,6 +334,7 @@
"kickParticipantButton": "Expulser",
"kickParticipantDialog": "Êtes-vous sûr(e) de vouloir expulser ce participant ?",
"kickParticipantTitle": "Expulser ce participant ?",
"kickSystemTitle": "Oups ! Vous avez été expulsé de la réunion",
"kickTitle": "Oups ! vous avez été expulsé(e) par {{participantDisplayName}}",
"linkMeeting": "Relier la conférence",
"linkMeetingTitle": "Relier la conférence à Salesforce",
@@ -439,7 +440,10 @@
"shareScreenWarningD2": "vous devez arrêter le partage d'audio, démarrer le partage d'écran et cocher l'option \"Partager l'audio\".",
"shareScreenWarningH1": "Si vous voulez partager uniquement votre écran:",
"shareScreenWarningTitle": "Vous devez cesser de partager votre audio avant de partager votre écran",
"shareVideoConfirmPlay": "Vous êtes sur le point d'ouvrir un site web externe. Voulez-vous continuer ?",
"shareVideoConfirmPlayTitle": "{{name}} a partagé une vidéo avec vous.",
"shareVideoLinkError": "Veuillez renseigner un lien de diffusion vidéo fonctionnel.",
"shareVideoLinkStopped": "La vidéo de {{name}} a été arrêtée.",
"shareVideoTitle": "Partager une vidéo",
"shareYourScreen": "Partager votre écran",
"shareYourScreenDisabled": "Le partage d'écran est désactivé.",
@@ -638,6 +642,7 @@
"on": "En direct",
"onBy": "{{name}} a démarré la diffusion en direct",
"pending": "Lancement du direct…",
"policyError": "Vous avez essayé de démarrer une diffusion en direct trop rapidement. Veuillez réessayer plus tard !",
"serviceName": "Service de diffusion en direct",
"sessionAlreadyActive": "Cette session est déjà en cours d'enregistrement ou de diffusion.",
"signIn": "Se connecter avec Google",
@@ -736,6 +741,7 @@
"connectedOneMember": "{{name}} a rejoint la réunion",
"connectedThreePlusMembers": "{{name}} et {{count}} autres personnes ont rejoint la réunion",
"connectedTwoMembers": "{{first}} et {{second}} ont rejoint la réunion",
"connectionFailed": "Connexion échouée. Veuillez réessayer plus tard !",
"dataChannelClosed": "Qualité vidéo dégradée",
"dataChannelClosedDescription": "Le canal de communication avec le Bridge a été interrompu, la qualité vidéo se trouve limitée à sa valeur la plus faible.",
"dataChannelClosedDescriptionWithAudio": "Le canal de pont est fermé, ce qui peut entraîner des perturbations de l'audio et de la vidéo.",
@@ -750,6 +756,9 @@
"gifsMenu": "GIPHY",
"groupTitle": "Notifications",
"hostAskedUnmute": "Le modérateur souhaite vous donner la parole",
"invalidTenant": "Tenant invalide",
"invalidTenantHyphenDescription": "Le tenant que vous utilisez est invalide (commence ou se termine par '-').",
"invalidTenantLengthDescription": "Le tenant que vous utilisez est trop long.",
"invitedOneMember": "{{name}} a été invité(e)",
"invitedThreePlusMembers": "{{name}} et {{count}} autres ont été invités",
"invitedTwoMembers": "{{first}} et {{second}} ont été invités",
@@ -786,6 +795,7 @@
"newDeviceAction": "Utiliser",
"newDeviceAudioTitle": "Nouveau périphérique audio détecté",
"newDeviceCameraTitle": "Nouvelle caméra détectée",
"nextToSpeak": "Vous êtes le prochain à prendre la parole",
"noiseSuppressionDesktopAudioDescription": "La suppression de bruit ne peut pas être activée en même temps que la partage audio du système, veuillez le désactiver et réessayer.",
"noiseSuppressionFailedTitle": "Échec du démarrage de la suppression de bruit",
"noiseSuppressionStereoDescription": "La suppression de bruit dune source stéréo nest pas encore supportée.",
@@ -820,6 +830,7 @@
"videoUnmuteBlockedDescription": "Le rétablissement de la vidéo a été bloqué temporairement en raison de limites système.",
"videoUnmuteBlockedTitle": "Rétablissement de la caméra bloqué !",
"viewLobby": "Voir la salle d'attente",
"viewParticipants": "Voir les participants",
"viewVisitors": "Voir les visiteurs",
"waitingParticipants": "{{waitingParticipants}} personnes",
"waitingVisitors": "Visiteurs en attente dans la file : {{waitingVisitors}}",
@@ -839,6 +850,8 @@
"breakoutRooms": "Salles annexes",
"goLive": "Passer en direct",
"invite": "Inviter quelqu'un",
"lowerAllHands": "Abaisser toutes les mains",
"lowerHand": "Abaisser la main",
"moreModerationActions": "Options de modération supplémentaires",
"moreModerationControls": "Options de modération supplémentaires",
"moreParticipantOptions": "Options supplémentaires pour les participants",
@@ -875,6 +888,7 @@
"submit": "Envoyer"
},
"by": "Par {{ name }}",
"closeButton": "Fermer le sondage",
"create": {
"addOption": "Ajouter une option",
"answerPlaceholder": "Option {{index}}",
@@ -914,9 +928,11 @@
"configuringDevices": "Configuration des appareils…",
"connectedWithAudioQ": "Êtes-vous connecté avec le microphone ?",
"connection": {
"failed": "Le test de connexion a échoué !",
"good": "Votre connexion Internet est bonne !",
"nonOptimal": "Votre connexion n'est pas optimale",
"poor": "Vous avez une mauvaise connexion"
"poor": "Vous avez une mauvaise connexion",
"running": "Exécution du test de connexion…"
},
"connectionDetails": {
"audioClipping": "Attendez vous à ce que votre son soit coupé.",
@@ -925,6 +941,7 @@
"goodQuality": "Impressionnant ! La qualité de vos médias sera excellente",
"noMediaConnectivity": "Nous n'avons pas pu trouver un moyen d'établir une connectivité multimédia pour ce test. Cela est généralement causé par un pare-feu ou un NAT.",
"noVideo": "Attendez vous à ce que votre qualité vidéo soit très mauvaise.",
"testFailed": "Le test de connexion a rencontré des problèmes inattendus, mais cela pourrait ne pas affecter votre expérience.",
"undetectable": "Si vous ne parvenez toujours pas à passer des appels dans le navigateur, nous vous recommandons de vous assurer que vos haut-parleurs, microphone et caméra sont correctement configurés, que vous avez accordé à votre navigateur les droits d'utiliser votre microphone et votre caméra et que la version de votre navigateur est à jour. Si vous rencontrez toujours des difficultés pour appeler, vous devez contacter le développeur de l'application Web.",
"veryPoorConnection": "Attendez vous à ce que la qualité de votre appel soit très mauvaise",
"videoFreezing": "Attendez vous à ce que votre vidéo saute, soit noire, et pixelisée.",
@@ -1040,6 +1057,7 @@
"onBy": "{{name}} a démarré l'enregistrement",
"onlyRecordSelf": "Enregistrer seulement mon audio et ma vidéo.",
"pending": "Préparation de l'enregistrement de la réunion…",
"policyError": "Vous avez essayé de démarrer un enregistrement trop rapidement. Veuillez réessayer plus tard !",
"recordAudioAndVideo": "Enregistrer l'audio et la vidéo",
"recordTranscription": "Enregistrer la transcription",
"saveLocalRecording": "Sauvegarder lenregistrement local (Beta)",
@@ -1088,6 +1106,7 @@
"desktopShareWarning": "Vous devez repartager l'écran pour que ces paramètres soient utilisés.",
"devices": "Périphériques",
"followMe": "Tout le monde me suit",
"followMeRecorder": "L'enregistreur me suit",
"framesPerSecond": "images par seconde",
"incomingMessage": "un message arrive",
"language": "Langue",
@@ -1234,6 +1253,7 @@
"lobbyButton": "Activer / Désactiver le mode salle d'attente",
"localRecording": "Activer / Désactiver les contrôles d'enregistrement local",
"lockRoom": "Activer / Désactiver le mot de passe de la réunion",
"love": "Cœur",
"lowerHand": "Baisser la main",
"moreActions": "Activer / Désactiver le menu d'actions supplémentaires",
"moreActionsMenu": "Menu d'actions supplémentaires",
@@ -1251,6 +1271,7 @@
"privateMessage": "Envoyer un message privé",
"profile": "Éditer votre profil",
"raiseHand": "Lever la main",
"react": "Réactions aux messages",
"reactions": "Réactions",
"reactionsMenu": "Ouvrir / fermer le menu réactions",
"recording": "Activer / Désactiver l'enregistrement",
@@ -1322,6 +1343,7 @@
"lobbyButtonEnable": "Activer le mode salle d'attente / contrôle des participant(e)s",
"login": "Connexion",
"logout": "Déconnexion",
"love": "Cœur",
"lowerYourHand": "Baisser la main",
"moreActions": "Plus d'actions",
"moreOptions": "Plus d'options",
@@ -1347,6 +1369,7 @@
"raiseYourHand": "Lever la main",
"reactionBoo": "Envoyer réaction huer",
"reactionClap": "Envoyer réaction applaudir",
"reactionHeart": "Envoyer une réaction en forme de cœur",
"reactionLaugh": "Envoyer réaction rire",
"reactionLike": "Envoyer réaction approuver",
"reactionSilence": "Envoyer réaction silence",
@@ -1380,7 +1403,7 @@
"transcribing": {
"ccButtonTooltip": "Activer / Désactiver les sous-titres",
"expandedLabel": "La transcription est actuellement activée",
"failedToStart": "Échec de démarrage de la transcription",
"failed": "La transcription a échoué",
"labelToolTip": "La transcription de la réunion est en cours",
"sourceLanguageDesc": "Actuellement, la langue de la réunion est sélectionnée à <b>{{sourceLanguage}}</b>. <br/> Vous pouvez la changer à partir de ",
"sourceLanguageHere": "ici",
@@ -1392,16 +1415,7 @@
},
"unpinParticipant": "Désépingler - {{participantName}}",
"userMedia": {
"androidGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
"chromeGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
"edgeGrantPermissions": "Sélectionnez <b><i>Oui</i></b> quand le navigateur demande votre autorisation.",
"electronGrantPermissions": "Veuillez autoriser le partage de votre camera et microphone.",
"firefoxGrantPermissions": "Sélectionnez <b><i>Partager le périphérique sélectionné</i></b> lorsque votre navigateur demande votre autorisation.",
"iexplorerGrantPermissions": "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation.",
"nwjsGrantPermissions": "Veuillez autoriser le partage de votre camera et microphone.",
"operaGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
"react-nativeGrantPermissions": "Sélectionnez <b><i>Autoriser</i></b> lorsque votre navigateur demande votre autorisation.",
"safariGrantPermissions": "Sélectionnez <b><i>OK</i></b> quand le navigateur demande votre autorisation."
"grantPermissions": "Veuillez autoriser le partage de votre camera et microphone."
},
"videoSIPGW": {
"busy": "Nous tentons de libérer les ressources requises. Veuillez réessayez dans quelques minutes.",
@@ -1490,10 +1504,15 @@
},
"visitors": {
"chatIndicator": "(visiteur)",
"labelTooltip": "Nombre de Visiteurs",
"joinMeeting": {
"description": "Vous êtes actuellement un observateur dans cette conférence.",
"raiseHand": "Levez la main",
"title": "Rejoindre la réunion",
"wishToSpeak": "Si vous souhaitez prendre la parole, veuillez lever la main ci-dessous et attendre l'approbation du modérateur."
},
"labelTooltip": "Nombre de Visiteurs: {{count}}",
"notification": {
"demoteDescription": "Envoyé ici par {{actor}}, levez la main pour participer",
"description": "Pour participer lever la main.",
"noMainParticipantsDescription": "Un participant doit démarrer la réunion. Veuillez réessayer dans un moment.",
"noMainParticipantsTitle": "Cette réunion n'a pas encore commencé.",
"noVisitorLobby": "Vous ne pouvez pas rejoindre tant qu'une salle d'attente est activée pour la réunion.",

View File

@@ -1381,16 +1381,7 @@
},
"unpinParticipant": "Désépingler - {{participantName}}",
"userMedia": {
"androidGrantPermissions": "Sélectionner <b><i>Autoriser</i></b> lorsque votre navigateur vous demande l'autorisation.",
"chromeGrantPermissions": "Sélectionner <b><i>Autoriser</i></b> lorsque votre navigateur vous demande l'autorisation.",
"edgeGrantPermissions": "Sélectionner <b><i>Oui</i></b> lorsque votre navigateur demande l'autorisation.",
"electronGrantPermissions": "Veuillez accorder l'autorisation d'utiliser votre caméra et votre micro",
"firefoxGrantPermissions": "Sélectionner <b><i>Partager le dispositif sélectionné</i></b> lorsque votre navigateur demande l'autorisation.",
"iexplorerGrantPermissions": "Sélectionner <b><i>OK</i></b> lorsque votre navigateur demande l'autorisation.",
"nwjsGrantPermissions": "Veuillez accorder l'autorisation d'utiliser votre caméra et votre micro",
"operaGrantPermissions": "Sélectionner <b><i>Autoriser</i></b> lorsque votre navigateur vous demande l'autorisation.",
"react-nativeGrantPermissions": "Sélectionner <b><i>Autoriser</i></b> lorsque votre navigateur vous demande l'autorisation.",
"safariGrantPermissions": "Sélectionner <b><i>OK</i></b> lorsque votre navigateur demande l'autorisation."
"grantPermissions": "Veuillez accorder l'autorisation d'utiliser votre caméra et votre micro."
},
"videoSIPGW": {
"busy": "Libération des ressources en cours. Veuillez réessayer dans quelques minutes.",

View File

@@ -681,16 +681,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
"chromeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
"edgeGrantPermissions": "Seleccionar <b><i>Si</i></b> cando o seu navegador pida permisos.",
"electronGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
"firefoxGrantPermissions": "Seleccionar <b><i>Compartir o dispositivo seleccionado</i></b> cando o navegador pida permisos.",
"iexplorerGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. ",
"nwjsGrantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono",
"operaGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
"react-nativeGrantPermissions": "Seleccionar <b><i>Permitir</i></b> cando o seu navegador pida permisos.",
"safariGrantPermissions": "Seleccionar <b><i>Aceptar</i></b> cando o seu navegador lle pida permisos. "
"grantPermissions": "Conceda permisos para utilizar a súa cámara e micrófono."
},
"videoSIPGW": {
"busy": "Estamos liberando recursos. Ténteo de novo nuns minutos.",

View File

@@ -713,16 +713,7 @@
"tr": "TR"
},
"userMedia": {
"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> כאשר הדפדפן שלך מבקש הרשאות."
"grantPermissions": "אנא הענק הרשאות להשתמש במצלמה ובמיקרופון שלך."
},
"videoSIPGW": {
"busy": "אנו עובדים על שחרור משאבים. אנא נסה שוב בעוד מספר דקות.",

View File

@@ -886,16 +886,7 @@
"tr": "TR"
},
"userMedia": {
"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> चुनें।"
"grantPermissions": "कृपया अपने कैमरा और माइक्रोफोन का उपयोग करने के लिए अनुमतियाँ प्रदान करें."
},
"videoSIPGW": {
"busy": "हम संसाधनों को मुक्त करने पर काम कर रहे हैं। कृपया कुछ मिनटों बाद पुन: प्रयास करें।",

View File

@@ -1234,16 +1234,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
"chromeGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
"edgeGrantPermissions": "Odaberi <b><i>Da</i></b> kad tvoj preglednik zatraži dozvole.",
"electronGrantPermissions": "Pokušaj pristupa tvojoj kameri i mikrofonu",
"firefoxGrantPermissions": "Odaberi <b><i>Dijeli odabrane uređaje</i></b> kad tvoj preglednik zatraži dozvole.",
"iexplorerGrantPermissions": "Odaberi <b><i>U redu</i></b> kad tvoj preglednik zatraži dozvole.",
"nwjsGrantPermissions": "Dozvoli pristup tvojoj kameri i mikrofonu",
"operaGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
"react-nativeGrantPermissions": "Odaberi <b><i>Dozvoli</i></b> kad tvoj preglednik zatraži dozvole.",
"safariGrantPermissions": "Odaberi <b><i>U redu</i></b> kad tvoj preglednik zatraži dozvole."
"grantPermissions": "Dozvoli pristup tvojoj kameri i mikrofonu."
},
"videoSIPGW": {
"busy": "Radimo na oslobađanju resursa. Pokušaj ponovo za par minuta.",

View File

@@ -1188,16 +1188,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Wuzwolće <b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
"chromeGrantPermissions": "Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
"edgeGrantPermissions": "Wuzwolće <b><i>haj</i></b>, hdyž so browser za prawom praša.",
"electronGrantPermissions": " wužiwanje kamery a mikrofona dowolić",
"firefoxGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
"iexplorerGrantPermissions": "Wuzwolće <b><i>OK</i></b>, hdyž so browser za prawom praša.",
"nwjsGrantPermissions": "prošu wužiwanje kamery a mikrofona dowolić ",
"operaGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
"react-nativeGrantPermissions": " Wuzwolće<b><i>dowolić</i></b>, hdyž so browser za prawom praša.",
"safariGrantPermissions": " Wuzwolće<b><i>OK</i></b>, hdyž so browser za prawom praša."
"grantPermissions": "prošu wužiwanje kamery a mikrofona dowolić."
},
"videoSIPGW": {
"busy": "Njesteja žane resursy k dispoziciji. Prošu spytajće pozdźišo znowa.",

View File

@@ -990,16 +990,7 @@
"tr": "Átirat"
},
"userMedia": {
"androidGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
"chromeGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
"edgeGrantPermissions": "Válaszd az <b><i>Igen</i></b> opciót, ha a böngésző hozzáférést kér.",
"electronGrantPermissions": "A kamera és a mikrofon használatát engedélyezni kell",
"firefoxGrantPermissions": "Válaszd <b><i>Kiválasztott eszköz megosztása</i></b> opciót, ha a böngésző hozzáférést kér.",
"iexplorerGrantPermissions": "Válaszd az <b><i>OK</i></b> opciót, ha a böngésző engedélyezést kér.",
"nwjsGrantPermissions": "A kamera és a mikrofon használatát engedélyezni kell",
"operaGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
"react-nativeGrantPermissions": "Válaszd az <b><i>Engedélyezés</i></b> opciót, ha a böngésző engedélyt kér.",
"safariGrantPermissions": "Válaszd az <b><i>OK</i></b> opciót, ha a böngésző engedélyezést kér."
"grantPermissions": "A kamera és a mikrofon használatát engedélyezni kell."
},
"videoSIPGW": {
"busy": "Dolgozunk az erőforrások felszabadításán. Kísérelje meg újra néhány perc múlva.",

View File

@@ -636,16 +636,7 @@
"tr": ""
},
"userMedia": {
"androidGrantPermissions": "Ընտրեք <b><i>Allow</i></b>, երբ բրաուզերը թույլտվություն հարցնի",
"chromeGrantPermissions": "Ընտրեք <b><i>Allow</i></b>, երբ բրաուզերը թույլտվություն հարցնի",
"edgeGrantPermissions": "Ընտրեք <b><i>Yes</i></b>, երբ ձեր բրաուզերը թույլտվություն հարցնի.",
"electronGrantPermissions": "Խնդրում ենք տրամադրել տեսախցիկը և խոսափողը օգտագործելու թույլտվություններ",
"firefoxGrantPermissions": "Երբ բրաուզերը թույլտվություն հարցնի, ընտրեք <b><i>Share Selected Device</i></b>",
"iexplorerGrantPermissions": "Ընտրեք <b><i>OK</i></b>, երբ բրաուզերը թույլտվություն հարցնի",
"nwjsGrantPermissions": "Խնդրում ենք տրամադրել տեսախցիկը և խոսափողը օգտագործելու թույլտվություններ",
"operaGrantPermissions": "Ընտրեք <b><i>Allow</i></b>, երբ բրաուզերը թույլտվություն հարցնի",
"react-nativeGrantPermissions": "Ընտրեք <b><i>Allow</i></b>, երբ բրաուզերը թույլտվություն հարցնի",
"safariGrantPermissions": "Ընտրեք <b><i>OK</i></b>, երբ բրաուզերը թույլտվություն հարցնի"
"grantPermissions": "Խնդրում ենք տրամադրել տեսախցիկը և խոսափողը օգտագործելու թույլտվություններ."
},
"videoSIPGW": {
"busy": "",

View File

@@ -1388,16 +1388,7 @@
},
"unpinParticipant": "{{participantName}} - Lepas pin",
"userMedia": {
"androidGrantPermissions": "Pilih <b><i>Izinkan</i></b> ketika browser Anda meminta izin.",
"chromeGrantPermissions": "Pilih <b><i>Izinkan</i></b> ketika browser Anda meminta izin.",
"edgeGrantPermissions": "Pilih <b><i>Ya</i></b> ketika browser Anda meminta izin.",
"electronGrantPermissions": "Mencoba mengakses kamera dan mikrofon Anda",
"firefoxGrantPermissions": "Pilih <b><i>Bagikan Perangkat yang Dipilih</i></b> ketika browser Anda meminta izin.",
"iexplorerGrantPermissions": "Pilih <b><i>OK</i></b> ketika browser Anda meminta izin.",
"nwjsGrantPermissions": "Harap berikan izin untuk menggunakan kamera dan mikrofon Anda",
"operaGrantPermissions": "Pilih <b><i>Izinkan</i></b> ketika browser Anda meminta izin.",
"react-nativeGrantPermissions": "Pilih <b><i>Izinkan</i></b> ketika browser Anda meminta izin.",
"safariGrantPermissions": "Pilih <b><i>OK</i></b> ketika browser Anda meminta izin."
"grantPermissions": "Harap berikan izin untuk menggunakan kamera dan mikrofon Anda."
},
"videoSIPGW": {
"busy": "Kami sedang berupaya membebaskan sumber daya. Silakan coba lagi dalam beberapa menit.",

View File

@@ -1373,16 +1373,7 @@
},
"unpinParticipant": "{{participantName}} - Losa",
"userMedia": {
"androidGrantPermissions": "Veldu <b><i>Leyfa</i></b> þegar vafrinn þinn biður um heimildir.",
"chromeGrantPermissions": "Veldu <b><i>Leyfa</i></b> þegar vafrinn þinn biður um heimildir.",
"edgeGrantPermissions": "Veldu <b><i>Já</i></b> þegar vafrinn þinn biður um heimildir.",
"electronGrantPermissions": "Reynir að nota myndavélina þína og hljóðnema",
"firefoxGrantPermissions": "Veldu <b><i>Deila völdu tæki</i></b> þegar vafrinn þinn biður um heimildir.",
"iexplorerGrantPermissions": "Veldu <b><i>Í lagi</i></b> þegar vafrinn þinn biður um heimildir.",
"nwjsGrantPermissions": "Gefðu heimild til að nota myndavél og hljóðnema",
"operaGrantPermissions": "Veldu <b><i>Leyfa</i></b> þegar vafrinn þinn biður um heimildir.",
"react-nativeGrantPermissions": "Veldu <b><i>Leyfa</i></b> þegar vafrinn þinn biður um heimildir.",
"safariGrantPermissions": "Veldu <b><i>Í lagi</i></b> þegar vafrinn þinn biður um heimildir."
"grantPermissions": "Gefðu heimild til að nota myndavél og hljóðnema."
},
"videoSIPGW": {
"busy": "Við erum að reyna að losa um einhver tilföng. Reyndu aftur eftir nokkrar mínútur.",

View File

@@ -1234,16 +1234,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Seleziona <b><i>consenti</i></b> quando richiesto dal browser.",
"chromeGrantPermissions": "Seleziona <b><i>consenti</i></b> quando richiesto dal browser.",
"edgeGrantPermissions": "Seleziona <b><i>Sì</i></b> quando richiesto dal browser.",
"electronGrantPermissions": "Concedi l'autorizzazione ad usare telecamera e microfono",
"firefoxGrantPermissions": "Seleziona <b><i>condividi i dispositivi selezionati</i></b> quando richiesto dal browser.",
"iexplorerGrantPermissions": "Seleziona <b><i>OK</i></b> quando richiesto dal browser.",
"nwjsGrantPermissions": "Concedi l'autorizzazione ad usare telecamera e microfono",
"operaGrantPermissions": "Seleziona <b><i>consenti</i></b> quando richiesto dal browser.",
"react-nativeGrantPermissions": "Seleziona <b><i>consenti</i></b> quando richiesto dal browser.",
"safariGrantPermissions": "Seleziona <b><i>OK</i></b> quando richiesto dal browser."
"grantPermissions": "Concedi l'autorizzazione ad usare telecamera e microfono."
},
"videoSIPGW": {
"busy": "Stiamo lavorando per liberare le risorse. Riprova tra qualche minuto.",

View File

@@ -1132,16 +1132,7 @@
"tr": "TR"
},
"userMedia": {
"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>を選択してください。"
"grantPermissions": "マイクとカメラの共有を許可してください。."
},
"videoSIPGW": {
"busy": "リソースを開放しています。数分後にもう一度お試しください。",

View File

@@ -1047,16 +1047,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Fren <b><i>Sireg</i></b> mara d-yessuter yiminig-ik tisurag.",
"chromeGrantPermissions": "Fren <b><i>Sireg</i></b> mara d-yessuter yiminig-ik tisurag.",
"edgeGrantPermissions": "Fren <b><i>Ih</i></b> mi ara d-yessuter yiminig-ik·im tisirag.",
"electronGrantPermissions": "Ttxil-k efk-d tasiregt n beṭṭu n tkamiṛat d umikṛufun-ik",
"firefoxGrantPermissions": "Fren <b><i>Bḍu ibenk yettwafernen</i></b> mi ara d-yessuter yiminig-ik·im tisirag.",
"iexplorerGrantPermissions": "Fren <b><i>Ih</i></b> mara d-yessuter yiminig tisurag.",
"nwjsGrantPermissions": "Ttxil-k efk-d tasiregt n beṭṭu n tkamiṛat d umikṛufun-ik",
"operaGrantPermissions": "Fren <b><i>Sireg</i></b> Mara d-yessuter yiminig-ik tisurag.",
"react-nativeGrantPermissions": "Fren <b><i>Sireg</i></b> mara d-yessuter yiminig-ik tisurag.",
"safariGrantPermissions": "Fren <b><i>Ih</i></b> mara d-yessuter yiminig tisurag."
"grantPermissions": "Ttxil-k efk-d tasiregt n beṭṭu n tkamiṛat d umikṛufun-ik."
},
"videoSIPGW": {
"busy": "Aql-aɣ nxeddem ad d-neslelli tiɣbula. Ma ulac aɣilif, ɛreḍ tikkelt-nniḍen deg kra n tesdidin.",

File diff suppressed because it is too large Load Diff

View File

@@ -701,16 +701,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
"chromeGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
"edgeGrantPermissions": "Pasirinkite <b><i>Yes</i></b> kai jūsų naršyklė prašys leidimų.",
"electronGrantPermissions": "Prašome duoti leidimą, kad galėtumėte naudotis kamera ir mikrofonu",
"firefoxGrantPermissions": "Pasirinkite <b><i>Share Selected Device</i></b> kai jūsų naršyklė prašys leidimo.",
"iexplorerGrantPermissions": "Pasirinkite <b><i>OK</i></b> kai jūsų naršyklė prašys leidimo.",
"nwjsGrantPermissions": "Prašome duoti leidimo, kad galėtumėte naudotis kamera ir mikrofonu",
"operaGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
"react-nativeGrantPermissions": "Pasirinkite <b><i>Allow</i></b> kai jūsų naršyklė prašys leidimo.",
"safariGrantPermissions": "Pasirinkite <b><i>OK</i></b> kai jūsų naršyklė prašys leidimo."
"grantPermissions": "Prašome duoti leidimo, kad galėtumėte naudotis kamera ir mikrofonu."
},
"videoSIPGW": {
"busy": "Mes dirbame, kad atlaisvinti išteklius. Prašome pabandyti dar kartą po kelių minučių.",

View File

@@ -334,6 +334,7 @@
"kickParticipantButton": "Izraidīt",
"kickParticipantDialog": "Vai esat pārliecināti, ka vēlaties izraidīt šo dalībnieku?",
"kickParticipantTitle": "Izraidīt šo dalībnieku?",
"kickSystemTitle": "Ak! Jūs izraidīja no sapulces",
"kickTitle": "Ak! {{participantDisplayName}} izraidīja jūs no sapulces",
"linkMeeting": "Sasaistīt sapulci",
"linkMeetingTitle": "Sasaistīt sapulci ar Salesforce",
@@ -483,8 +484,8 @@
"transcribing": "Notiek transkripcija",
"unlockRoom": "Noņemt $t(lockRoomPassword)",
"user": "Lietotājs",
"userIdentifier": "Lietotāja identifikators",
"userPassword": "lietotāja parole",
"userIdentifier": "Lietotājvārds",
"userPassword": "Parole",
"verifyParticipantConfirm": "Sakrīt",
"verifyParticipantDismiss": "Nesakrīt",
"verifyParticipantQuestion": "EKSPERIMENTĀLS: pajautājiet dalībniekam {{participantName}}, vai viņš redz to pašu saturu tādā pašā secībā.",
@@ -641,6 +642,7 @@
"on": "Tiešraide ieslēgta",
"onBy": "{{name}} ieslēdza tiešraidi",
"pending": "Sākam tiešraidi…",
"policyError": "Jūs mēģinājāt pārāk ātri sākt tiešraides straumi. Lūdzu, vēlāk mēģiniet vēlreiz!",
"serviceName": "Tiešsaistes pakalpojums",
"sessionAlreadyActive": "Šī sesija jau tiek ierakstīta vai straumēta tiešraidē.",
"signIn": "Ierakstīties ar Google kontu",
@@ -739,6 +741,7 @@
"connectedOneMember": "{{name}} ir pievienojies sapulcei",
"connectedThreePlusMembers": "{{name}} un {{count}} citi ir pievienojušies sapulcei",
"connectedTwoMembers": "{{first}} un {{second}} ir pievienojušies sapulcei",
"connectionFailed": "Savienojums neizdevās. Lūdzu, vēlāk mēģiniet vēlreiz!",
"dataChannelClosed": "Video kvalitāte var būt traucēta",
"dataChannelClosedDescription": "Savienojuma kanāls nedarbojas, tāpēc video kvalitāte var būt ierobežota līdz zemākajam iestatījumam.",
"dataChannelClosedDescriptionWithAudio": "Savienojuma kanāls nedarbojas, tāpēc var rasties audio un video traucējumi.",
@@ -753,6 +756,9 @@
"gifsMenu": "GIPHY",
"groupTitle": "Paziņojumi",
"hostAskedUnmute": "Moderators vēlas, lai jūs runātu",
"invalidTenant": "Nederīgs tenants",
"invalidTenantHyphenDescription": "Jūsu izmantotais tenants nav derīgs (sākas vai beidzas ar '-').",
"invalidTenantLengthDescription": "Jūsu izmantotais tenants ir pārāk garš.",
"invitedOneMember": "{{displayName}} tika uzaicināts",
"invitedThreePlusMembers": "Uzaicināts {{name}} un {{count}} citi lietotāji",
"invitedTwoMembers": "{{first}} un {{second}} tika uzaicināti uz sapulci",
@@ -1051,6 +1057,7 @@
"onBy": "{{name}} ieslēdza ierakstu",
"onlyRecordSelf": "Ierakstīt tikai manas audio un video straumes",
"pending": "Gatavojas ierakstīt sapulci…",
"policyError": "Jūs mēģinājāt pārāk ātri sākt ierakstīšanu. Lūdzu, vēlāk mēģiniet vēlreiz!",
"recordAudioAndVideo": "Ierakstīt audio un video",
"recordTranscription": "Ierakstīt transkripciju",
"saveLocalRecording": "Ieraksta faila saglabāšana lokāli (beta)",
@@ -1246,6 +1253,7 @@
"lobbyButton": "Iespējot/atspējot vestibila režīmu",
"localRecording": "Lokālā ieraksta vadības rīki (iesl./izsl.)",
"lockRoom": "Telpas slēgšana ar paroli (iesl./izsl.)",
"love": "Sirds",
"lowerHand": "Nolaist roku",
"moreActions": "Papildus iestatījumu izvēlne (rādīt/nerādīt)",
"moreActionsMenu": "Papildus iestatījumu izvēlne",
@@ -1335,6 +1343,7 @@
"lobbyButtonEnable": "Iespējot vestibila režīmu",
"login": "Ierakstīties",
"logout": "Izrakstīties",
"love": "Sirds",
"lowerYourHand": "Nolaist roku",
"moreActions": "Vairāk rīcību",
"moreOptions": "Vairāk opciju",
@@ -1360,6 +1369,7 @@
"raiseYourHand": "Pacelt roku",
"reactionBoo": "Nosūtīt būū reakciju",
"reactionClap": "Nosūtīt aplausu reakciju",
"reactionHeart": "Nosūtīt sirds reakciju",
"reactionLaugh": "Nosūtīt smieklu reakciju",
"reactionLike": "Nosūtīt īkšķi augšup reakciju",
"reactionSilence": "Nosūtīt klusuma reakciju",
@@ -1405,16 +1415,7 @@
},
"unpinParticipant": "{{participantName}} — atspraust",
"userMedia": {
"androidGrantPermissions": "Izvēlieties <b><i>Atļaut</i></b>, kad pārlūks vaicā par atļaujām.",
"chromeGrantPermissions": "Izvēlieties <b><i>Atļaut</i></b>, kad pārlūks vaicā par atļaujām.",
"edgeGrantPermissions": "Izvēlieties <b><i>Jā</i></b>, kad pārlūks vaicā par atļaujām.",
"electronGrantPermissions": "Lūdzu, dodiet atļauju piekļūt kamerai un mikrofonam",
"firefoxGrantPermissions": "Izvēlieties <b><i>Kopīgot izvēlēto ierīci</i></b>, kad pārlūks vaicā par atļaujām.",
"iexplorerGrantPermissions": "Izvēlieties <b><i>OK</i></b>, kad pārlūks vaicā par atļaujām.",
"nwjsGrantPermissions": "“Lūdzu, dodiet atļauju piekļūt kamerai un mikrofonam",
"operaGrantPermissions": "Izvēlieties <b><i>Atļaut</i></b>, kad pārlūks vaicā par atļaujām.",
"react-nativeGrantPermissions": "Izvēlieties <b><i>Atļaut</i></b>, kad pārlūks vaicā par atļaujām.",
"safariGrantPermissions": "Izvēlieties <b><i>OK</i></b>, kad pārlūks vaicā par atļaujām."
"grantPermissions": "“Lūdzu, dodiet atļauju piekļūt kamerai un mikrofonam."
},
"videoSIPGW": {
"busy": "Tiek strādāts pie resursu atbrīvošanas. Lūdzu, pēc dažām minūtēm mēģiniet vēlreiz.",

View File

@@ -858,16 +858,7 @@
"tr": "TR"
},
"userMedia": {
"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> തിരഞ്ഞെടുക്കുക."
"grantPermissions": "നിങ്ങളുടെ ക്യാമറയും മൈക്രോഫോണും ഉപയോഗിക്കാൻ അനുമതി നൽകുക."
},
"videoSIPGW": {
"busy": "ഉറവിടങ്ങൾ സ്വതന്ത്രമാക്കുന്നതിനായി ഞങ്ങൾ പ്രവർത്തിക്കുന്നു. കുറച്ച് മിനിറ്റിനുള്ളിൽ വീണ്ടും ശ്രമിക്കുക.",

View File

@@ -1291,16 +1291,7 @@
},
"unpinParticipant": "{{participantName}} - Онцлох",
"userMedia": {
"androidGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
"chromeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
"edgeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Yes</i></b> дарна уу.",
"electronGrantPermissions": "Камер болон микрофон ашиглах зөвшөөрөл өгнө үү",
"firefoxGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Share Selected Device</i></b> дарна уу.",
"iexplorerGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>OK</i></b> дарна уу.",
"nwjsGrantPermissions": "Камер болон микрофон ашиглах зөвшөөрөл өгнө үү",
"operaGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
"react-nativeGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>Allow</i></b> дарна уу.",
"safariGrantPermissions": "Хөтөчөөс зөвшөөрөл хүсэх тохиолдолд <b><i>OK</i></b> дарна уу."
"grantPermissions": "Камер болон микрофон ашиглах зөвшөөрөл өгнө үү."
},
"videoSIPGW": {
"busy": "Бид нөөцийг чөлөөлөхөөр ажиллаж байна. Хэдэн минутын дараа дахин оролдоно уу.",

View File

@@ -707,16 +707,7 @@
"tr": "टीआर"
},
"userMedia": {
"androidGrantPermissions": "निवडा <b><i>परवानगी द्या</i></b> जेव्हा आपला ब्राउझर परवानग्या विचारतो.",
"chromeGrantPermissions": "निवडा <b><i>परवानगी द्या</i></b> जेव्हा आपला ब्राउझर परवानग्या विचारतो.",
"edgeGrantPermissions": "निवडा <b><i> होय</i></b> जेव्हा आपला ब्राउझर परवानग्या विचारतो.",
"electronGrantPermissions": "कृपया आपला कॅमेरा आणि मायक्रोफोन वापरण्यास परवानगी द्या",
"firefoxGrantPermissions": "Select <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> जेव्हा आपला ब्राउझर परवानग्या विचारतो."
"grantPermissions": "कृपया आपला कॅमेरा आणि मायक्रोफोन वापरण्यास परवानगी द्या."
},
"videoSIPGW": {
"busy": "आम्ही स्त्रोत मुक्त करण्याचे काम करत आहोत. कृपया काही मिनिटांत पुन्हा प्रयत्न करा.",

View File

@@ -1013,16 +1013,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Selecteer <b><i>Toestaan</i></b> wanneer uw browser om toegangsrechten vraagt.",
"chromeGrantPermissions": "Selecteer <b><i>Toestaan</i></b> wanneer uw browser om toegangsrechten vraagt.",
"edgeGrantPermissions": "Selecteer <b><i>Ja</i></b> wanneer uw browser om toegangsrechten vraagt.",
"electronGrantPermissions": "Verleen toestemming om uw camera en microfoon te gebruiken.",
"firefoxGrantPermissions": "Selecteer <b><i>Geselecteerd apparaat delen</i></b> wanneer uw browser om toegangsrechten vraagt.",
"iexplorerGrantPermissions": "Selecteer <b><i>OK</i></b> wanneer uw browser om toegangsrechten vraagt.",
"nwjsGrantPermissions": "Verleen toestemming om uw camera en microfoon te gebruiken.",
"operaGrantPermissions": "Selecteer <b><i>Toestaan</i></b> wanneer uw browser om toegangsrechten vraagt.",
"react-nativeGrantPermissions": "Selecteer <b><i>Toestaan</i></b> wanneer uw browser om toegangsrechten vraagt.",
"safariGrantPermissions": "Selecteer <b><i>OK</i></b> wanneer uw browser om toegangsrechten vraagt."
"grantPermissions": "Verleen toestemming om uw camera en microfoon te gebruiken."
},
"videoSIPGW": {
"busy": "Er worden middelen vrijgemaakt. Probeer het over enkele minuten opnieuw.",

File diff suppressed because it is too large Load Diff

View File

@@ -1306,16 +1306,7 @@
},
"unpinParticipant": "{{participantName}} - Odepnij",
"userMedia": {
"androidGrantPermissions": "Wybierz <b><i>Pozwól</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"chromeGrantPermissions": "Wybierz <b><i>Pozwól</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"edgeGrantPermissions": "Wybierz <b><i>Tak</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"electronGrantPermissions": "Udziel przyzwolenia na użycie swej kamery i mikrofonu",
"firefoxGrantPermissions": "Wybierz <b><i>Udostępnij wybrane urządzenie</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"iexplorerGrantPermissions": "Wybierz <b><i>OK</i></b>, gdy przegladarka zapyta o pozwolenie.",
"nwjsGrantPermissions": "Udziel przyzwolenia na użycie swej kamery i mikrofonu",
"operaGrantPermissions": "Wybierz <b><i>Pozwól</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"react-nativeGrantPermissions": "Wybierz <b><i>Pozwól</i></b>, gdy przeglądarka zapyta o pozwolenie.",
"safariGrantPermissions": "Wybierz <b><i>OK</i></b>, gdy przegladarka zapyta o pozwolenie."
"grantPermissions": "Udziel przyzwolenia na użycie swej kamery i mikrofonu."
},
"videoSIPGW": {
"busy": "Pracujemy nad uwolnieniem zasobów. Prosimy spróbować za kilka minut.",

View File

@@ -1397,16 +1397,7 @@
},
"unpinParticipant": "{{participantName}} - Desafixar",
"userMedia": {
"androidGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
"chromeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
"edgeGrantPermissions": "Selecione <b><i>Sim</i></b> quando o seu navegador perguntar pelas permissões.",
"electronGrantPermissions": "Dê as permissões para usar a sua câmara e microfone",
"firefoxGrantPermissions": "Selecione <b><i>Partilhar Dispositivos Selecionados</i></b> quando o seu navegador perguntar pelas permissões.",
"iexplorerGrantPermissions": "Selecione <b><i>OK</i></b> quando o seu navegador perguntar pelas permissões.",
"nwjsGrantPermissions": "Dê as permissões para usar a sua câmara e microfone",
"operaGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
"react-nativeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando o seu navegador perguntar pelas permissões.",
"safariGrantPermissions": "Selecione <b><i>OK</i></b> quando o seu navegador perguntar pelas permissões."
"grantPermissions": "Dê as permissões para usar a sua câmara e microfone."
},
"videoSIPGW": {
"busy": "Estamos a trabalhar para liberar recursos. Por favor, tente novamente em alguns minutos.",

View File

@@ -1370,16 +1370,7 @@
},
"unpinParticipant": "{{participantName}} - Desafixar",
"userMedia": {
"androidGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
"chromeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
"edgeGrantPermissions": "Selecione <b><i>Sim</i></b> quando seu navegador perguntar pelas permissões.",
"electronGrantPermissions": "Dê as permissões para usar sua câmera e microfone",
"firefoxGrantPermissions": "Selecione <b><i>Compartilhar Dispositivos Selecionados</i></b> quando seu navegador perguntar pelas permissões.",
"iexplorerGrantPermissions": "Selecione <b><i>OK</i></b> quando seu navegador perguntar pelas permissões.",
"nwjsGrantPermissions": "Dê as permissões para usar sua câmera e microfone",
"operaGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
"react-nativeGrantPermissions": "Selecione <b><i>Permitir</i></b> quando seu navegador perguntar pelas permissões.",
"safariGrantPermissions": "Selecione <b><i>OK</i></b> quando seu navegador perguntar pelas permissões."
"grantPermissions": "Dê as permissões para usar sua câmera e microfone."
},
"videoSIPGW": {
"busy": "Estamos trabalhando para liberar recursos. Por favor, tente novamente em alguns minutos.",

View File

@@ -694,16 +694,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Selectați 'Permiteti' când browserul vă cere permisiunea.",
"chromeGrantPermissions": "Selectați 'Permiteti' când browserul vă cere permisiunea.",
"edgeGrantPermissions": "Selectați 'Da' când browserul vă cere permisiunea.",
"electronGrantPermissions": "Vă rugam să acordați permisiunea pentru utilizarea camerei și a microfonului",
"firefoxGrantPermissions": "Selectați 'Parajare cu dispozitivul selectat' când browserul vă cere permisiunea.",
"iexplorerGrantPermissions": "Selectați OK când browserul vă cere permisiunea.",
"nwjsGrantPermissions": "Vă rugam să acordați permisiunea pentru utilizarea camerei și a microfonului",
"operaGrantPermissions": "Selectați 'Permiteti' când browserul vă cere permisiunea.",
"react-nativeGrantPermissions": "Selectați Allow când browserul vă cere permisiunea.",
"safariGrantPermissions": "Selectați OK când browserul vă cere permisiunea."
"grantPermissions": "Vă rugam să acordați permisiunea pentru utilizarea camerei și a microfonului."
},
"videoSIPGW": {
"busy": "Lucrăm la eliberarea resurselor. Vă rugăm încercați din nou în câteva minute.",

View File

@@ -1383,16 +1383,7 @@
},
"unpinParticipant": "{{participantName}} - Открепить",
"userMedia": {
"androidGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
"chromeGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
"edgeGrantPermissions": "Выберите <b><i>Да</i></b>, когда браузер спросит о разрешениях.",
"electronGrantPermissions": "Пожалуйста, дайте разрешение на доступ к камере и микрофону",
"firefoxGrantPermissions": "Выберите <b><i>Поделиться выбранным устройством</i></b>, когда браузер спросит о разрешениях.",
"iexplorerGrantPermissions": "Выберите <b><i>OK</i></b>, когда браузер спросит о разрешениях.",
"nwjsGrantPermissions": "Пожалуйста, дайте разрешение на доступ к камере и микрофону",
"operaGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
"react-nativeGrantPermissions": "Выберите <b><i>Разрешить</i></b>, когда браузер спросит о разрешениях.",
"safariGrantPermissions": "Выберите <b><i>OK</i></b>, когда браузер спросит о разрешениях."
"grantPermissions": "Пожалуйста, дайте разрешение на доступ к камере и микрофону."
},
"videoSIPGW": {
"busy": "Мы работаем над высвобождением ресурсов. Пожалуйста, попробуйте через несколько минут.",

View File

@@ -1241,16 +1241,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Sèbera <b><i>Permite</i></b> cando su navigadore ti dimandet permissos.",
"chromeGrantPermissions": "Sèbera <b><i>Permite</i></b> cando su navigadore ti dimandet permissos.",
"edgeGrantPermissions": "Sèbera <b><i>Eja</i></b> cando su navigadore ti dimandet permissos.",
"electronGrantPermissions": "Proende a atzèdere a sa càmera e su micròfonu tuos",
"firefoxGrantPermissions": "Sèbera <b><i>Cumpartzi dispositivos seletzionados</i></b> cando su navigadore ti dimandet permissos.",
"iexplorerGrantPermissions": "Sèbera <b><i>AB</i></b> cando su navigadore ti dimandet permissos.",
"nwjsGrantPermissions": "Cuntzede permissos pro atzèdere a sa càmera e a su micròfonu tuos",
"operaGrantPermissions": "Sèbera <b><i>Permite</i></b> cando su navigadore ti dimandet permissos.",
"react-nativeGrantPermissions": "Sèbera <b><i>Permite</i></b> cando su navigadore ti dimandet permissos.",
"safariGrantPermissions": "Sèbera <b><i>AB</i></b> cando su navigadore ti dimandet permissos."
"grantPermissions": "Cuntzede permissos pro atzèdere a sa càmera e a su micròfonu tuos."
},
"videoSIPGW": {
"busy": "Semus traballende pro liberare resursas. Torra a proare dae immoe a carchi minutu.",

View File

@@ -837,16 +837,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Vyberte <b><i>Povoliť</i></b> keď sa prehliadač bude pýtať na povolenie.",
"chromeGrantPermissions": "Vyberte <b><i>Povoliť</i></b> keď sa prehliadač bude pýtať na povolenie.",
"edgeGrantPermissions": "Vyberte <b><i>Áno</i></b> keď sa prehliadač bude pýtať na povolenie.",
"electronGrantPermissions": "Prosím povoľte prístup k vašemu mikrofónu a kamere.",
"firefoxGrantPermissions": "Vyberte <b><i>Zdieľaj vybrané zariadenie</i></b> keď sa prehliadač bude pýtať na povolenie.",
"iexplorerGrantPermissions": "Vyberte <b><i>Ok</i></b> keď sa prehliadač bude pýtať na povolenie.",
"nwjsGrantPermissions": "Prosím povoľte prístup k vašemu mikrofónu a kamere.",
"operaGrantPermissions": "Vyberte <b><i>Povoliť</i></b> keď sa prehliadač bude pýtať na povolenie.",
"react-nativeGrantPermissions": "Vyber <b><i>Povoliť</i></b> keď sa prehliadač bude pýtať na povolenie.",
"safariGrantPermissions": "Vyberte <b><i>OK</i></b> keď sa prehliadač bude pýtať na povolenie."
"grantPermissions": "Prosím povoľte prístup k vašemu mikrofónu a kamere."
},
"videoSIPGW": {
"busy": "Všetky zdroje sú obsadené, skúste znovu o pár minút.",

View File

@@ -1048,16 +1048,7 @@
"tr": "TR"
},
"userMedia": {
"androidGrantPermissions": "Izberite <b><i>Dovoli</i></b>, ko brskalnik zahteva dovoljenja.",
"chromeGrantPermissions": "Izberite <b><i>Dovoli</i></b>, ko brskalnik zahteva dovoljenja.",
"edgeGrantPermissions": "Izberite <b><i>Da</i></b>, ko brskalnik zahteva dovoljenja.",
"electronGrantPermissions": "Prosimo, da odobrite zahtevo za uporabo kamere in mikrofona",
"firefoxGrantPermissions": "Izberite <b><i>Skupna raba izbrane naprave</i></b>, ko brskalnik zahteva dovoljenja.",
"iexplorerGrantPermissions": "Izberite <b><i>OK</i></b>, ko brskalnik zahteva dovoljenja.",
"nwjsGrantPermissions": "Prosimo, da odobrite zahtevo za uporabo kamere in mikrofona",
"operaGrantPermissions": "Izberite <b><i>Dovoli</i></b>, ko brskalnik zahteva dovoljenja.",
"react-nativeGrantPermissions": "Izberite <b><i>Dovoli</i></b>, ko brskalnik zahteva dovoljenja.",
"safariGrantPermissions": "Izberite <b><i>OK</i></b>, ko brskalnik zahteva dovoljenja."
"grantPermissions": "Prosimo, da odobrite zahtevo za uporabo kamere in mikrofona."
},
"videoSIPGW": {
"busy": "Delamo na sprostitvi virov. Poskusite znova čez nekaj minut.",

View File

@@ -641,6 +641,7 @@
"on": "Filloi Transmetimi i Drejtpërdrejtë",
"onBy": "{{name}} nisi transmetimin e drejtpërdrejtë",
"pending": "Po niset Transmetimi i Drejtpërdrejtë…",
"policyError": "Provuat të nisni një transmetim të drejtpërdrejtë shumë shpejt. Ju lutemi, ripovoni më vonë!",
"serviceName": "Shërbim Transmetimi i Drejtpërdrejtë",
"sessionAlreadyActive": "Ky sesion po regjistrohet ose transmetohet drejtpërsëdrejti tashmë.",
"signIn": "Hyni me Google",
@@ -739,6 +740,7 @@
"connectedOneMember": "{{name}} nisi takimin",
"connectedThreePlusMembers": "{{name}} dhe mjaft të tjerë tjerë hynë në takim",
"connectedTwoMembers": "{{first}} dhe {{second}} tjetër hynë në takim",
"connectionFailed": "Lidhja dështoi. Ju lutemi, riprovoni më vonë!",
"dataChannelClosed": "Cilësia e videos mund të jetë dëmtuar",
"dataChannelClosedDescription": "Kanali urë u shkëput, kështu që cilësia e videos është kufizuar te vlera më e ulët.",
"dataChannelClosedDescriptionWithAudio": "Kanali urë është jashtë funksionimi, prandaj mund të ndodhin shkëputje te audioja dhe videoja.",
@@ -753,6 +755,9 @@
"gifsMenu": "GIPHY",
"groupTitle": "Njoftime",
"hostAskedUnmute": "Moderatori do të donte të flisnit",
"invalidTenant": "Qiramarrës i pavlefshëm",
"invalidTenantHyphenDescription": "Qiramarrësi që po përdorni është i pavlefshëm (fillon, ose përfundon me '-').",
"invalidTenantLengthDescription": "Qiramarrësi që po përdorni është shumë i gjatë.",
"invitedOneMember": "{{name}} u ftua",
"invitedThreePlusMembers": "{{name}} dhe {{count}} të tjerë u ftuan",
"invitedTwoMembers": "{{first}} dhe {{second}} u ftuan",
@@ -1051,6 +1056,7 @@
"onBy": "{{name}} nisi regjistrimin",
"onlyRecordSelf": "Regjistro vetëm rrjedhat e mia audio dhe video",
"pending": "Po përgatitet të regjistrohet takimi…",
"policyError": "Provuat të nisni një incizim shumë shpejt. Ju lutemi, riprovoni më vonë!",
"recordAudioAndVideo": "Regjistro audio dhe video",
"recordTranscription": "Regjistro transkriptimin",
"saveLocalRecording": "Ruajeni lokalisht kartelën e regjistrimit (Beta)",
@@ -1246,6 +1252,7 @@
"lobbyButton": "Aktivizo/Çaktivizoni mënyrën holl",
"localRecording": "Shfaq/Fshih kontrolle regjistrimi vendor",
"lockRoom": "Aktivizo/Çaktivizo fjalëkalim takimi",
"love": "Zemër",
"lowerHand": "Ulni dorën",
"moreActions": "Më tepër veprime",
"moreActionsMenu": "Menu “Më tepër veprime”",
@@ -1335,6 +1342,7 @@
"lobbyButtonEnable": "Aktivizo mënyrën holl",
"login": "Hyrje",
"logout": "Dalje",
"love": "Zemër",
"lowerYourHand": "Ulni dorën",
"moreActions": "Më tepër veprime",
"moreOptions": "Më tepër veprime",
@@ -1360,6 +1368,7 @@
"raiseYourHand": "Ngrini dorën",
"reactionBoo": "Dërgoni reagim me ya",
"reactionClap": "Dërgoni reagim me duartrokitje",
"reactionHeart": "Dërgoni reagim me zemër",
"reactionLaugh": "Dërgoni reagim me qeshje",
"reactionLike": "Dërgoni reagim me “thumbs up”",
"reactionSilence": "Dërgoni reagim me heshtje",
@@ -1405,16 +1414,7 @@
},
"unpinParticipant": "{{participantName}} - Hiqja fiksimin",
"userMedia": {
"androidGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
"chromeGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
"edgeGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Po</i></b>.",
"electronGrantPermissions": "Po provohet të përdoret kamera dhe mikrofoni juaj",
"firefoxGrantPermissions": "Përzgjidhni <b><i>Nda Pajisjen e Përzgjedhur</i></b>, kur shfletuesi juaj të kërkojë leje.",
"iexplorerGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>OK</i></b>..",
"nwjsGrantPermissions": "Ju lutemi, akordoni leje për përdorim të kamerës dhe mikrofonit tuaj",
"operaGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
"react-nativeGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>Lejoje</i></b>.",
"safariGrantPermissions": "Kur shfletuesi juaj të kërkojë leje, përzgjidhni <b><i>OK</i></b>."
"grantPermissions": "Ju lutemi, akordoni leje për përdorim të kamerës dhe mikrofonit tuaj."
},
"videoSIPGW": {
"busy": "Po përpiqemi të lirojmë burime. Ju lutemi, riprovoni pas pak minutash.",

View File

@@ -692,16 +692,7 @@
"tr": ""
},
"userMedia": {
"androidGrantPermissions": "",
"chromeGrantPermissions": "",
"edgeGrantPermissions": "",
"electronGrantPermissions": "Молим дозволитe употрeбу камeрe и микрофона",
"firefoxGrantPermissions": "Одабeритe <b><i>Дијeљeњe одабраног ураја</i></b> када прeглeдач затражи дозволе.",
"iexplorerGrantPermissions": "",
"nwjsGrantPermissions": "Молим дозволитe употрeбу камeрe и микрофона",
"operaGrantPermissions": "",
"react-nativeGrantPermissions": "",
"safariGrantPermissions": ""
"grantPermissions": "Молим дозволитe употрeбу камeрe и микрофона."
},
"videoSIPGW": {
"busy": "",

View File

@@ -1,5 +1,8 @@
{
"addPeople": {
"accessibilityLabel": {
"meetingLink": "Mötes länk: {{url}}"
},
"add": "Bjud in",
"addContacts": "Bjud in dina kontakter",
"contacts": "Kontakter",
@@ -39,6 +42,18 @@
"audioOnly": {
"audioOnly": "Enbart ljud"
},
"bandwidthSettings": {
"assumedBandwidthBps": "t.ex. 10000000 för 10 Mbps",
"assumedBandwidthBpsWarning": "Högre värden kan skapa nätverksproblem.",
"customValue": "anpassat värde",
"customValueEffect": "för att ställa in det faktiska bps-värdet",
"leaveEmpty": "lämna tomt",
"leaveEmptyEffect": "för att uppskattningar ska äga rum",
"possibleValues": "Möjliga värden",
"setAssumedBandwidthBps": "Uppskattat värde (bps)",
"title": "Bandbreddsinställningar",
"zeroEffect": "för att slå av video"
},
"breakoutRooms": {
"actions": {
"add": "Lägg till grupprum",
@@ -48,15 +63,22 @@
"leaveBreakoutRoom": "Lämna grupprum",
"more": "Mer",
"remove": "Ta bort",
"rename": "Döp om",
"renameBreakoutRoom": "Döp om grupprum",
"sendToBreakoutRoom": "Skicka deltagare till grupprum:"
},
"breakoutList": "Grupprums lista",
"buttonLabel": "Grupprum",
"defaultName": "Grupprum #{{index}}",
"hideParticipantList": "Dölj deltagarlista",
"mainRoom": "Huvudrum",
"notifications": {
"joined": "Gick med i \"{{name}}\"",
"joined": "Gick med i grupprum \"{{name}}\"",
"joinedMainRoom": "Gick med i huvudrummet",
"joinedTitle": "Grupprum"
}
},
"showParticipantList": "Visa deltagarlista",
"title": "Grupprum"
},
"calendarSync": {
"addMeetingURL": "Lägg till en möteslänk",
@@ -106,6 +128,7 @@
"privateNotice": "Privat meddelande till {{recipient}}",
"sendButton": "Skicka",
"smileysPanel": "Emoji panel",
"systemDisplayName": "",
"tabs": {
"chat": "Chatt",
"polls": "Omröstningar"
@@ -197,7 +220,9 @@
"joinInBrowser": "Delta på webben",
"launchMeetingLabel": "Hur vill du delta i detta möte?",
"launchWebButton": "Starta på webben",
"noDesktopApp": "",
"noMobileApp": "Har du inte appen?",
"or": "",
"termsAndConditions": "Genom att fortsätta godkänner du våra <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>villkor.</a>",
"title": "Startar ditt möte i {{app}}…",
"titleNew": "Startar ditt möte…",
@@ -239,9 +264,13 @@
"Share": "Dela",
"Submit": "Skicka",
"WaitForHostMsg": "Konferensen har inte börjat än. Autentisera konferensen om du är värd. Vänta annars på att värden startar konferensen.",
"WaitForHostNoAuthMsg": "Konferensen har ännu inte startat eftersom ingen värd har anlänt ännu. Vänligen vänta.",
"WaitingForHostButton": "Vänta på värd",
"WaitingForHostTitle": "Väntar på värden…",
"Yes": "Ja",
"accessibilityLabel": {
"Cancel": "Avbryt",
"Ok": "Ok",
"close": "Stäng",
"liveStreaming": "Livesändning",
"sharingTabs": "Delningsalternativ"
@@ -250,6 +279,8 @@
"addMeetingNote": "Mötesinformation",
"addOptionalNote": "Ytterligare information",
"allow": "Tillåt",
"allowToggleCameraDialog": "Tillåter du att {{initiatorName}} får växla kamera till ansiktsläge?",
"allowToggleCameraTitle": "Tillåt att växla kamera",
"alreadySharedVideoMsg": "En annan deltagare delar redan en video. Konferensen tillåter bara en video-delning åt gången.",
"alreadySharedVideoTitle": "Endast en delad video åt gången tillåts",
"applicationWindow": "Applikationsfönster",
@@ -276,6 +307,8 @@
"contactSupport": "Kontakta kundtjänst",
"copied": "Kopierad",
"copy": "Kopiera",
"demoteParticipantDialog": "Are you sure you want to move this participant to viewer? Är du säker på att du vill flytta denna deltagaren till tittare",
"demoteParticipantTitle": "Flytta till tittare",
"dismiss": "Förkasta",
"displayNameRequired": "Hej, vad heter du?",
"done": "Klar",
@@ -287,6 +320,7 @@
"embedMeeting": "Bädda in möte",
"enterDisplayName": "Ange namn",
"error": "Fel",
"errorRoomCreationRestriction": "Du försökte gå med för snabbt, kom tillbaka om en stund.",
"gracefulShutdown": "Vår tjänst är för tillfället nedstängd för underhåll. Vänligen försök senare.",
"grantModeratorDialog": "Är du säker du vill göra denna deltagare till en moderator?",
"grantModeratorTitle": "Godkänn moderator",
@@ -300,6 +334,7 @@
"kickParticipantButton": "Sparka ut",
"kickParticipantDialog": "Vill du sparka ut den här deltagaren?",
"kickParticipantTitle": "Tysta deltagaren?",
"kickSystemTitle": "Aj! du blev utsparkad ur mötet",
"kickTitle": "Aj! {{participantDisplayName}} sparkade ut dig ur mötet",
"linkMeeting": "Länka möte",
"linkMeetingTitle": "Länka möte till Salesforce",
@@ -310,7 +345,8 @@
"lockRoom": "Lägg till möte $t(lockRoomPasswordUppercase)",
"lockTitle": "Låsning misslyckades",
"login": "Logga in",
"logoutQuestion": "Är du säker på att du vill logga ut och stoppa konferensen?",
"loginQuestion": "Är du säker på att du vill logga in och lämna mötet",
"logoutQuestion": "Är du säker på att du vill logga ut och lämna konferensen?",
"logoutTitle": "Logga ut",
"maxUsersLimitReached": "Gränsen för maximalt antal deltagare har nåtts. Konferensen är full. Kontakta mötesägaren eller försök igen senare!",
"maxUsersLimitReachedTitle": "Maximal deltagarantal uppnått",
@@ -353,8 +389,6 @@
"permissionCameraRequiredError": "Tillåtelse krävs för att delta med kamera i denna möte. Var god skaffa detta i \"inställningar\".",
"permissionErrorTitle": "Tillåtelse krävs",
"permissionMicRequiredError": "Tillåtelse krävs för att delta med mikrofon i denna möte. Var god skaffa detta i \"inställningar\".",
"popupError": "Din webbläsare blockerar pop-up-fönster från sajten. Tillåt pop-up-fönster från den här sajten i inställningarna och försök igen.",
"popupErrorTitle": "Pop-up blockerad",
"readMore": "Mer",
"recentlyUsedObjects": "Dina senaste använda objekt",
"recording": "Inspelning",
@@ -371,6 +405,8 @@
"removePassword": "Ta bort $t(lockRoomPassword)",
"removeSharedVideoMsg": "Är du säker på att du vill ta bort din delade video?",
"removeSharedVideoTitle": "Ta bort den delade videon",
"renameBreakoutRoomLabel": "Rums namn",
"renameBreakoutRoomTitle": "Döp om grupprum",
"reservationError": "Fel i reservationssystemet",
"reservationErrorMsg": "Felkod: {{code}}, meddelande: {{msg}}",
"retry": "Försök igen",
@@ -390,8 +426,10 @@
"sendPrivateMessageTitle": "Skicka privat?",
"serviceUnavailable": "Tjänsten otillgänglig",
"sessTerminated": "Konferensen avslutades",
"sessTerminatedReason": "",
"sessionRestarted": "Samtal återstartat av bryggan",
"shareAudio": "Fortsätt",
"shareAudioAltText": "För att dela önskat innehåll, navigera till \"Webläsarfliken\", välj innehållet, aktivera \"dela ljud\"-kryssmärket och klicka sedan på \"dela\" knappen",
"shareAudioTitle": "Hur man delar ljud",
"shareAudioWarningD1": "Du måste avsluta din skärmdelning innan du kan dela ditt ljud",
"shareAudioWarningD2": "Du måste starta om din skärmdelning och därefter klicka på \"ljuddelning\"",
@@ -402,7 +440,10 @@
"shareScreenWarningD2": "du måste avsluta ljuddelning, starta skärmdelning och sen aktivera \"ljuddelning\"",
"shareScreenWarningH1": "Om du bara vill dela din skärm:",
"shareScreenWarningTitle": "Du måste avsluta ljuddelning innan du kan dela in skärm",
"shareVideoConfirmPlay": "Du är på väg att öppna en extern webbplats. Vill du fortsätta?",
"shareVideoConfirmPlayTitle": "{{name}} har delat en video med dig.",
"shareVideoLinkError": "Skriv in en fungerande länk.",
"shareVideoLinkStopped": "Videon från {{name}} har avslutats.",
"shareVideoTitle": "Ta bort en delad video",
"shareYourScreen": "Dela din skärm",
"shareYourScreenDisabled": "Skärmdelning har inaktiverats.",
@@ -421,7 +462,25 @@
"thankYou": "Tack för att du använder {{appName}}!",
"token": "token",
"tokenAuthFailed": "Du är inte behörig att delta i det här samtalet.",
"tokenAuthFailedReason": {
"audInvalid": "Ogiltigt `aud`-värde. Det ska vara `jitsi`.",
"contextNotFound": "Objektet `context` saknas från payload.",
"expInvalid": "Ogilting `exp` värde.",
"featureInvalid": "Ogiltig feature: {{feature}}, mest troligt inte implementerat än.",
"featureValueInvalid": "Felaktigt värde för feature: {{feature}}.",
"featuresNotFound": "`Features` objektet saknas i payload.",
"headerNotFound": "Saknar header.",
"issInvalid": "Ogiltigt `iss`-värde. Det ska vara `chat`.",
"kidMismatch": "Nyckel ID (kid) matchat inte sub.",
"kidNotFound": "Nyckel ID saknas (kid).",
"nbfFuture": "Värdet i `nbf` är i framtiden.",
"nbfInvalid": "Ogilitigt `nbf`värde.",
"payloadNotFound": "Payload saknas.",
"tokenExpired": "Token har gått ut."
},
"tokenAuthFailedTitle": "Autentisering misslyckades",
"tokenAuthFailedWithReasons": "Förlåt, du har inte tillåtelse att gå med i det här samtalet. Troliga anledingar: {{reason}}",
"tokenAuthUnsupported": "Token URL är inte tillåten",
"transcribing": "Transkriberar",
"unlockRoom": "Ta bort möte $t(lockRoomPassword)",
"user": "Användare",
@@ -435,6 +494,10 @@
"viewUpgradeOptions": "Se uppgraderings alternativ",
"viewUpgradeOptionsContent": "För att få obegränsad tillgång till premiumfunktioner som inspelning, transkriptioner, RTMP-streaming och mer måste du uppgradera din plan.",
"viewUpgradeOptionsTitle": "Du upptäckte en premiumfunktion!",
"whiteboardLimitContent": "Förlåt, max antal samtidiga deltagare i whiteboard har uppnåts.",
"whiteboardLimitReference": "För mer information besök",
"whiteboardLimitReferenceUrl": "vår webplats",
"whiteboardLimitTitle": "Användande av whiteboard har begränsats",
"yourEntireScreen": "Helskärm"
},
"documentSharing": {
@@ -447,6 +510,9 @@
"title": "Bädda in möte"
},
"feedback": {
"accessibilityLabel": {
"yourChoice": "Ditt val: {{rating}}"
},
"average": "Medel",
"bad": "Dåligt",
"detailsLabel": "Berätta mer.",
@@ -503,13 +569,16 @@
"noNumbers": "Inga inringningsnummer.",
"noPassword": "Inget lösenord",
"noRoom": "Inget rum specificerades för inringning.",
"noWhiteboard": "Kan inte ladda whiteboard.",
"numbers": "Inringningsnummer",
"password": "$t(lockRoomPasswordUppercase):",
"reachedLimit": "Du har nått gränsen för din prenumeration.",
"sip": "SIP adress",
"sipAudioOnly": "SIP endast ljud address",
"title": "Dela",
"tooltip": "Dela länk och information om inringning för mötet",
"upgradeOptions": "Vänligen kontrollera om uppgraderingsalternativen är på"
"upgradeOptions": "Vänligen kontrollera om uppgraderingsalternativen är på",
"whiteboardError": "Problem att ladda whiteboard, var god försök senare."
},
"inlineDialogFailure": {
"msg": "Vi slirade lite.",
@@ -542,8 +611,7 @@
"toggleParticipantsPane": "Visa eller dölj deltagarfönstret",
"toggleScreensharing": "Växla mellan kamera och skärmdelning",
"toggleShortcuts": "Visa eller dölj kortkommandon",
"videoMute": "Aktivera / inaktivera din kamera",
"whiteboard": "Visa / dölj whiteboardtavlan"
"videoMute": "Aktivera / inaktivera din kamera"
},
"largeVideo": {
"screenIsShared": "Du delar din skärm",
@@ -574,6 +642,7 @@
"on": "Strömma",
"onBy": "{{name}} startade direktströmningen",
"pending": "Börja strömma…",
"policyError": "",
"serviceName": "Livesändningstjänst",
"sessionAlreadyActive": "Den här sessionen spelas redan in eller livestreamas.",
"signIn": "Logga in med Google",
@@ -612,13 +681,13 @@
"knockingParticipantList": "Väntande deltagare",
"lobbyChatStartedNotification": "{{moderator}} startade en lobbychatt med {{attendee}}",
"lobbyChatStartedTitle": "{{moderator}} har startat en lobbychatt med dig.",
"lobbyClosed": "Lobbyn har stängts.",
"nameField": "Ange ditt namn",
"notificationLobbyAccessDenied": "{{targetParticipantName}} har nekats att delta av {{originParticipantName}}",
"notificationLobbyAccessGranted": "{{targetParticipantName}} har godkänts att delta av {{originParticipantName}}",
"notificationLobbyDisabled": "Väntrumsläge har inaktiverats av {{originParticipantName}}",
"notificationLobbyEnabled": "Väntrumsläge har aktiverats av {{originParticipantName}}",
"notificationTitle": "Väntrum",
"passwordField": "Ange möteslösenord",
"passwordJoinButton": "Anslut",
"title": "Lobby",
"toggleLabel": "Aktivera väntrum"
@@ -651,6 +720,8 @@
"sessionToken": "Sessionstoken",
"start": "Starta inspelning",
"stop": "Avsluta inspelning",
"stopping": "Avslutar inspelning",
"wait": "Var god vänta medans vi sparar din inspelning",
"yes": "Ja"
},
"lockRoomPassword": "lösenord",
@@ -670,9 +741,13 @@
"connectedOneMember": "{{name}} har gått med i mötet",
"connectedThreePlusMembers": "{{name}} och {{count}} andra har gått med i mötet",
"connectedTwoMembers": "{{first}} och {{second}} har gått med i mötet",
"connectionFailed": "Anslutning misslyckades. Var god försök senare!",
"dataChannelClosed": "Försämrad videokvalitet",
"dataChannelClosedDescription": "Bryggkanalen har kopplats bort och därmed är videokvaliteten begränsad till sin lägsta inställning",
"dataChannelClosedDescriptionWithAudio": "Bryggkanalen har kopplats bort och därmed kan abvrott i ljud och bild uppstå.",
"dataChannelClosedWithAudio": "Ljud och bild kvalite kan vara försämrad.",
"disabledIframe": "Inbäddning är endast avsedd för demonstrationsändamål, så det här samtalet kommer att kopplas ner om {{timeout}} minuter.",
"disabledIframeSecondary": "Bädda in {{domain}} är bara till för demo, så detta samtal kommer att kopplas bort inom {{timeout}} minuter. Var god använd <a href='{{jaasDomain}}' rel='nooper noreferrer' target='_blank'>Jitsi som tjänst</a> för att bädda in i produktion.",
"disconnected": "frånkopplad",
"displayNotifications": "Visa aviseringar för",
"dontRemindMe": "Påminn mig inte",
@@ -681,6 +756,9 @@
"gifsMenu": "GIPHY",
"groupTitle": "Notifieringar",
"hostAskedUnmute": "Värden vill att du ska stänga av ljudet",
"invalidTenant": "Ogiltig tenant",
"invalidTenantHyphenDescription": "Tenant du använder har ogiltiga tecken (startar eller slutar med '-').",
"invalidTenantLengthDescription": "Tenant du använder är för lång",
"invitedOneMember": "{{name}} har bjudits in",
"invitedThreePlusMembers": "{{name}} och {{count}} andra har bjudits in",
"invitedTwoMembers": "{{first}} och {{second}} har bjudits in",
@@ -717,9 +795,9 @@
"newDeviceAction": "Använd",
"newDeviceAudioTitle": "Ny ljudenhet hittad",
"newDeviceCameraTitle": "Ny kamera hittad",
"nextToSpeak": "Du är näst i kö för att prata",
"noiseSuppressionDesktopAudioDescription": "Brusreducering kan inte aktiveras när du delar skrivbordsljud, vänligen inaktivera det och försök igen.",
"noiseSuppressionFailedTitle": "Det gick inte att starta brusreducering",
"noiseSuppressionNoTrackDescription": "Slå på mikrofonen först.",
"noiseSuppressionStereoDescription": "Brusreducering i stereoljud stöds för närvarande inte.",
"oldElectronClientDescription1": "Den version av Jitsi meet som används är gammal och har säkerhetsluckor. Var god uppdatera till den senaste versionen.",
"oldElectronClientDescription2": "senast build",
@@ -743,13 +821,22 @@
"startSilentTitle": "Du gick med utan ljud aktiverat!",
"suboptimalBrowserWarning": "Din mötesupplevelse kommer tyvärr inte att bli så bra. Vi letar efter sätt att förbättra detta, men fram till dess kan du försöka använda en av de <a href='{{recommendedBrowserPageLink}}' target='_blank'> fullt stödda webbläsarna </a>.",
"suboptimalExperienceTitle": "Webbläsarvarning",
"suggestRecordingAction": "Starta",
"suggestRecordingDescription": "Vill du starta en inspelning?",
"suggestRecordingTitle": "Spela in detta mötet",
"unmute": "Slå på mikrofonen",
"videoMutedRemotelyDescription": "Du kan alltid slå på den igen.",
"videoMutedRemotelyTitle": "Din kamera har inaktiverats av {{participantDisplayName}}!",
"videoUnmuteBlockedDescription": "Aktivering av kameran och delning av skrivbord har tillfälligt blockerats på grund av systembegränsningar.",
"videoUnmuteBlockedTitle": "Aktivering av kameran och skrivbordsdelning blockerad!",
"viewLobby": "Visa lobby",
"waitingParticipants": "{{waitingParticipants}} personer"
"viewParticipants": "Visa deltagare",
"viewVisitors": "Visa besökare",
"waitingParticipants": "{{waitingParticipants}} personer",
"waitingVisitors": "Väntande besökare i kö: {{waitingVisitors}}",
"waitingVisitorsTitle": "Mötet är inte live än!",
"whiteboardLimitDescription": "Var god spara, max antal användare har snart uppnåtts och whiteboard kommer att stängas av.",
"whiteboardLimitTitle": "Användande whiteboard"
},
"participantsPane": {
"actions": {
@@ -760,7 +847,11 @@
"askUnmute": "Be om att aktivera ljud",
"audioModeration": "Slå på ljudet för sig själva",
"blockEveryoneMicCamera": "Inaktivera allas mikrofon och kamera",
"breakoutRooms": "Grupprum",
"goLive": "Gå live",
"invite": "Bjud in någon",
"lowerAllHands": "Ta ner allas händer",
"lowerHand": "Ta ner handen",
"moreModerationActions": "Fler modereringsalternativ",
"moreModerationControls": "Fler modereringskontroller",
"moreParticipantOptions": "Fler deltagaralternativ",
@@ -777,6 +868,8 @@
"headings": {
"lobby": "Väntrum ({{count}})",
"participantsList": "Mötesdeltagare ({{count}})",
"visitorInQueue": "(väntande {{count}})",
"visitorRequests": "(förfrågningar {{count}})",
"visitors": "Gäster ({{count}})",
"waitingLobby": "Väntar i väntrum ({{count}})"
},
@@ -789,10 +882,13 @@
"pinnedParticipant": "Deltagaren är fäst",
"polls": {
"answer": {
"edit": "Redigera",
"send": "Skicka",
"skip": "Avstå",
"submit": "Skicka"
},
"by": "Av {{ name }}",
"closeButton": "Stäng omröstning",
"create": {
"addOption": "Lägg till alternativ",
"answerPlaceholder": "Alternativ",
@@ -802,6 +898,7 @@
"pollQuestion": "Fråga för omröstning",
"questionPlaceholder": "Ställ en fråga",
"removeOption": "Ta bort alternativ",
"save": "Spara",
"send": "Skicka"
},
"errors": {
@@ -831,9 +928,11 @@
"configuringDevices": "Konfigurerar enheter…",
"connectedWithAudioQ": "Är din mikrofon ansluten?",
"connection": {
"failed": "Anslutningstest misslyckades!",
"good": "Din internetanslutning fungerar bra!",
"nonOptimal": "Din internetanslutning är inte optimal",
"poor": "Din internetanslutning fungerar dåligt"
"poor": "Din internetanslutning fungerar dåligt",
"running": "Kör anslutningstest..."
},
"connectionDetails": {
"audioClipping": "Ditt ljud kan upplevas hackigt.",
@@ -842,6 +941,7 @@
"goodQuality": "Grymt bra! Din mediekvalitet kommer att bli bra.",
"noMediaConnectivity": "Vi kunde inte hitta ett sätt att upprätta mediaanslutning för detta test. Detta orsakas vanligtvis av en brandvägg eller NAT.",
"noVideo": "Vi förväntar oss att din video kommer ha låg kvalitet eller inte fungera.",
"testFailed": "Anslutningstestet stötte på oväntade problem, men det behöver inte påverka din upplevelse.",
"undetectable": "Om du fortfarande inte kan ringa i webbläsaren rekommenderar vi att du ser till att dina högtalare, mikrofon och kamera är korrekt inställda, att du har beviljat din webbläsare rättigheter att använda din mikrofon och kamera och att din webbläsarversion är uppdaterad.",
"veryPoorConnection": "Vi förväntar oss att din samtalskvalitet är riktigt dålig.",
"videoFreezing": "Vi förväntar oss att din video fryser, blir svart och pixeleras.",
@@ -874,6 +974,7 @@
"or": "eller",
"premeeting": "Förmöte",
"proceedAnyway": "Fortsätt ändå",
"recordingWarning": "",
"screenSharingError": "Skärmdelningsfel:",
"showScreen": "Aktivera skärmen före mötet",
"startWithPhone": "Börja med telefonljud",
@@ -940,7 +1041,6 @@
"limitNotificationDescriptionNative": "På grund av stor efterfrågan är din inspelning begränsad till {{limit}} min. För obegränsade inspelningar, försök <3>{{app}}</3>.",
"limitNotificationDescriptionWeb": "På grund av stor efterfrågan är din inspelning begränsad till {{limit}} min. För obegränsade inspelningar, prova <a href={{url}} rel='noopener noreferrer' target='_blank'>{{app}}</a>.",
"linkGenerated": "Vi har genererat en länk till din inspelning.",
"live": "LIVE",
"localRecordingNoNotificationWarning": "Inspelningen kommer inte att meddelas till andra deltagare. Du måste meddela dem att mötet inspelas.",
"localRecordingNoVideo": "Video spelas inte in",
"localRecordingStartWarning": "Se till att du stoppar inspelningen innan du avslutar mötet för att spara det.",
@@ -957,13 +1057,16 @@
"onBy": "{{name}} påbörjade inspelningen",
"onlyRecordSelf": "Spela bara in mina ljud- och videoströmmar",
"pending": "Förbereder inspelning av mötet…",
"rec": "REC",
"policyError": "Du försökte starta inspelningen för fort. Var god försök senare!",
"recordAudioAndVideo": "Spela in ljud och bild",
"recordTranscription": "Spela in transkribiering",
"saveLocalRecording": "Spara inspelningsfil lokalt (beta)",
"serviceDescription": "Din inspelning kommer att sparas av inspelningstjänsten",
"serviceDescriptionCloud": "Molninspelning",
"serviceDescriptionCloudInfo": "Inspelade möten rensas automatiskt 24 timmar efter inspelningstiden.",
"serviceName": "Inspelningstjänst",
"sessionAlreadyActive": "Den här sessionen spelas redan in eller livestreamas.",
"showAdvancedOptions": "Visa avancerade inställningar",
"signIn": "Logga in",
"signOut": "Logga ut",
"surfaceError": "Välj aktuell flik.",
@@ -1003,6 +1106,7 @@
"desktopShareWarning": "Du måste starta om skärmdelningen för att de nya inställningarna ska träda i kraft.",
"devices": "Enheter",
"followMe": "Alla följer mig",
"followMeRecorder": "Den som spelar in följer mig",
"framesPerSecond": "bildrutor per sekund",
"incomingMessage": "Inkommande meddelande",
"language": "Språk",
@@ -1040,6 +1144,7 @@
"alertOk": "OK",
"alertTitle": "Varning",
"alertURLText": "Den angivna serverlänken är felaktig",
"apply": "Tillämpa",
"buildInfoSection": "Versionsinformation",
"conferenceSection": "Konferens",
"disableCallIntegration": "Tillåt inte deltagande via telefon",
@@ -1050,12 +1155,14 @@
"displayNamePlaceholderText": "Exempel: John Doe",
"email": "E-post",
"emailPlaceholderText": "mejl@exempel.se",
"gavatarMessage": "Om din e-post är associerad med ett Gravatar konto, så kommer vi använda det för att visa din profilbild.",
"goTo": "Gå till",
"header": "Inställningar",
"help": "Hjälp",
"links": "Länkar",
"privacy": "Sekretess",
"profileSection": "Profil",
"sdkVersion": "",
"serverURL": "Serverlänk",
"showAdvanced": "Visa avancerade inställningar",
"startCarModeInLowBandwidthMode": "Starta billäget i lågbandbreddsläge",
@@ -1076,6 +1183,7 @@
"fearful": "Rädd",
"happy": "Glad",
"hours": "{{count}} h",
"labelTooltip": "",
"minutes": "{{count}} m",
"name": "Namn",
"neutral": "Neutral",
@@ -1108,7 +1216,7 @@
"audioOnly": "Slå av eller på ljudet",
"audioRoute": "Välj ljudenhet",
"boo": "Bua",
"breakoutRoom": "Anslut eller lämna grupprum",
"breakoutRooms": "Grupprum",
"callQuality": "Hantera videokvalitet",
"carmode": "Billäge",
"cc": "Slå av eller på undertexter",
@@ -1146,6 +1254,7 @@
"lobbyButton": "Aktivera / inaktivera lobbyläge",
"localRecording": "Växla lokala inspelningskontroller",
"lockRoom": "Växla möteslösenord",
"love": "Kärlek",
"lowerHand": "Sänk din hand",
"moreActions": "Fler åtgärder",
"moreActionsMenu": "Menyn Fler åtgärder",
@@ -1155,6 +1264,7 @@
"muteEveryoneElse": "Stäng av ljudet för alla andra",
"muteEveryoneElsesVideoStream": "Stoppa alla andras video",
"muteEveryonesVideoStream": "Stoppa allas video",
"muteGUMPending": "Ansluter din mikrofon",
"noiseSuppression": "Brusdämpning",
"openChat": "Öppna chatt",
"participants": "Öppna deltagarfönstret",
@@ -1162,6 +1272,7 @@
"privateMessage": "Skicka privat meddelande",
"profile": "Redigera din profil",
"raiseHand": "Räck upp handen",
"react": "Reaktioner på meddelanden",
"reactions": "Reaktioner",
"reactionsMenu": "Reaktionsmeny",
"recording": "Växla inspelning",
@@ -1188,6 +1299,7 @@
"unmute": "Slå på ljudet",
"videoblur": "Växla videooskärpa",
"videomute": "Stoppa kamera",
"videomuteGUMPending": "Ansluter din kamera",
"videounmute": "Starta kameran"
},
"addPeople": "Lägg till personer i samtal",
@@ -1232,12 +1344,14 @@
"lobbyButtonEnable": "Aktivera väntrumsläge",
"login": "Logga in",
"logout": "Logga ut",
"love": "Kärlek",
"lowerYourHand": "Ta ner handen",
"moreActions": "Fler handlingar",
"moreOptions": "Visa fler alternativ",
"mute": "Slå av/på ljud",
"muteEveryone": "Tysta alla",
"muteEveryonesVideo": "Inaktivera allas kamera",
"muteGUMPending": "Ansluter din mikrofon",
"noAudioSignalDesc": "Om du inte avsiktligt stängde av det från systeminställningar eller hårdvara, överväg att byta enhet.",
"noAudioSignalDescSuggestion": "Om du inte avsiktligt tystade det från systeminställningar eller hårdvara, överväg att byta till den föreslagna enheten.",
"noAudioSignalDialInDesc": "Du kan också ringa in med:",
@@ -1254,8 +1368,9 @@
"profile": "Redigera din profil",
"raiseHand": "Räck upp / ta ner din hand",
"raiseYourHand": "Räck upp handen",
"reactionBoo": "Bua",
"reactionClap": "Klappa",
"reactionBoo": "Skicka Bu",
"reactionClap": "Klappa i händerna",
"reactionHeart": "Skicka kärlek",
"reactionLaugh": "Skratta",
"reactionLike": "Skicka tummen upp",
"reactionSilence": "Skicka tyst reaktion",
@@ -1283,16 +1398,14 @@
"unmute": "Slå på ljud",
"videoSettings": "Videoinställningar",
"videomute": "Inaktivera kameran",
"videomuteGUMPending": "Ansluter din kamera",
"videounmute": "Aktivera kameran"
},
"transcribing": {
"ccButtonTooltip": "Aktivera / Inaktivera undertexter",
"error": "Transkriberingen misslyckades. Försök igen.",
"expandedLabel": "Transkribering är aktiverad",
"failedToStart": "Det gick inte att starta transkribering",
"failed": "Transkribiering misslyckades",
"labelToolTip": "Mötet transkriberas",
"off": "Transkribering avslutades",
"pending": "Förbereder transkribering av mötet…",
"sourceLanguageDesc": "För närvarande är mötesspråket inställt på <b>{{sourceLanguage}}</b>. <br/> Du kan ändra det från ",
"sourceLanguageHere": "här",
"start": "Börja visa undertexter",
@@ -1303,16 +1416,7 @@
},
"unpinParticipant": "Lossa deltagare",
"userMedia": {
"androidGrantPermissions": "Välj <b><i>Tillåt</i></b> när din webbläsare begär åtkomst.",
"chromeGrantPermissions": "Välj <b><i>Tillåt</i></b> när din webbläsare begär åtkomst.",
"edgeGrantPermissions": "Välj <b><i>Ja</i></b> när din webbläsare begär åtkomst.",
"electronGrantPermissions": "Tillåt användning av din kamera och mikrofon",
"firefoxGrantPermissions": "Välj <b><i>Dela vald enhet</i></b> när din webbläsare begär åtkomst.",
"iexplorerGrantPermissions": "Välj <b><i>OK</i></b> när din webbläsare begär åtkomst.",
"nwjsGrantPermissions": "Tillåt användning av din kamera och mikrofon",
"operaGrantPermissions": "Välj <b><i>Tillåt</i></b> när din webbläsare begär åtkomst.",
"react-nativeGrantPermissions": "Välj <b><i>Tillåt</i></b> när din webbläsare begär åtkomst.",
"safariGrantPermissions": "Välj <b><i>OK</i></b> när din webbläsare begär åtkomst."
"grantPermissions": "Tillåt användning av din kamera och mikrofon."
},
"videoSIPGW": {
"busy": "Vi arbetar med att frigöra resurser. Försök igen om några minuter.",
@@ -1348,6 +1452,7 @@
},
"videothumbnail": {
"connectionInfo": "Anslutningsinformation",
"demote": "Gör till besökare",
"domute": "Tysta",
"domuteOthers": "Inaktivera ljud för alla andra",
"domuteVideo": "Inaktivera kamera",
@@ -1371,6 +1476,10 @@
"videomute": "Deltagaren har stängt av kameran"
},
"virtualBackground": {
"accessibilityLabel": {
"currentBackground": "Nuvarande bakgrund: {{background}}",
"selectBackground": "Välj bakgrund"
},
"addBackground": "Lägg till bakgrund",
"apply": "Tillämpa",
"backgroundEffectError": "Det gick inte att tillämpa bakgrundseffekt.",
@@ -1396,11 +1505,22 @@
},
"visitors": {
"chatIndicator": "(besökare)",
"joinMeeting": {
"description": "Du är just nu en beskökare i konferensen",
"raiseHand": "Räck upp handen",
"title": "Gå med i mötet",
"wishToSpeak": "Om du vill prata, räck upp handen och vänta på att en moderator ska godkänna."
},
"labelTooltip": "Antal besökare: {{count}}",
"notification": {
"description": "Räck upp handen för att delta",
"demoteDescription": "Skickad hit av {{actor}}, räck upphanden för att delta",
"noMainParticipantsDescription": "En deltagare behöver starta mötet. Var god försök igen senare.",
"noMainParticipantsTitle": "Det är mötet har inte startat än",
"noVisitorLobby": "Du kan inte gå med medans lobby är påslagen för mötet.",
"notAllowedPromotion": "En deltagare behöver godkänna din förfrågan först.",
"title": "Du är en besökare i mötet"
}
},
"waitingMessage": "Du kommer att komma in i mötet när det är live!"
},
"volumeSlider": "Volymreglage",
"welcomepage": {
@@ -1458,6 +1578,7 @@
"whiteboard": {
"accessibilityLabel": {
"heading": "Whiteboard"
}
},
"screenTitle": "Whiteboard"
}
}

View File

@@ -902,16 +902,7 @@
"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."
"grantPermissions": "Please grant permissions to use your camera and microphone."
},
"videoSIPGW": {
"busy": "We're working on freeing resources. Please try again in a few minutes.",

View File

@@ -5,7 +5,7 @@
},
"add": "Davet et",
"addContacts": "Kişilerinizi davet edin",
"contacts": "kişiler",
"contacts": "Kişiler",
"copyInvite": "Toplantı davetini kopyala",
"copyLink": "Toplantı bağlantısını kopyala",
"copyStream": "Canlı akış bağlantısını kopyala",
@@ -21,12 +21,12 @@
"linkCopied": "Bağlantı panoya kopyalandı",
"noResults": "Eşleşen sonuç bulunamadı",
"outlookEmail": "Outlook Email",
"phoneNumbers": "telefon numaraları",
"phoneNumbers": "Telefon numaraları",
"searching": "Aranıyor…",
"shareInvite": "Toplantı davetini paylaş",
"shareLink": "Katılımcıları davet etmek için toplantı bağlantısını paylaşın",
"shareStream": "Canlı akış bağlantısını paylaşın",
"sipAddresses": "sip adresleri",
"sipAddresses": "Sip adresleri",
"telephone": "Telefon numarası: {{number}}",
"title": "Bu toplantıya kişi davet edin",
"yahooEmail": "Yahoo Email"
@@ -43,16 +43,16 @@
"audioOnly": "Düşük bant genişliği"
},
"bandwidthSettings": {
"assumedBandwidthBps": "örneğin 10 Mbps için 10000000",
"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",
"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"
"zeroEffect": "Videoyu devre dışı bırakmak için"
},
"breakoutRooms": {
"actions": {
@@ -90,9 +90,9 @@
},
"join": "Katıl",
"joinTooltip": "Toplantıya katıl",
"nextMeeting": "sonraki toplantı",
"nextMeeting": "Sonraki toplantı",
"noEvents": "Planlanmış bir etkinlik bulunmuyor.",
"ongoingMeeting": "devam eden toplantı",
"ongoingMeeting": "Devam eden toplantı",
"permissionButton": "Ayarları aç",
"permissionMessage": "Uygulama içinde toplantılarınızı görüntülemek için takvim erişim izni gereklidir.",
"refresh": "Takvimi yenile",
@@ -115,7 +115,7 @@
"lobbyChatMessageTo": "{{recipient}} adlı kişiye lobi mesajı",
"message": "Mesaj",
"messageAccessibleTitle": "{{user}} diyor:",
"messageAccessibleTitleMe": "ben diyorum:",
"messageAccessibleTitleMe": "Ben diyorum:",
"messageTo": "{{recipient}} adlı kişiye özel mesaj",
"messagebox": "Bir mesaj yazın",
"newMessages": "Yeni mesajlar",
@@ -135,7 +135,7 @@
},
"title": "Sohbet",
"titleWithPolls": "Sohbet",
"you": "sen"
"you": "Sen"
},
"chromeExtensionBanner": {
"buttonText": "Chrome Eklentisi'ni indirin",
@@ -177,9 +177,9 @@
"localaddress_plural": "Yerel adresler:",
"localport": "Yerel port:",
"localport_plural": "Yerel portlar:",
"maxEnabledResolution": "maksimumu gönder",
"maxEnabledResolution": "Maksimumu gönder",
"more": "Daha fazla göster",
"no": "hayır",
"no": "Hayır",
"packetloss": "Paket kaybı:",
"participant_id": "Katılımcı id:",
"quality": {
@@ -199,7 +199,7 @@
"transport": "Transport:",
"transport_plural": "Transportlar:",
"video_ssrc": "Video SSRC:",
"yes": "evet"
"yes": "Evet"
},
"dateUtils": {
"earlier": "Daha eski",
@@ -253,7 +253,7 @@
"screenTitle": "Arama özeti"
},
"dialOut": {
"statusMessage": "şimdi {{status}}"
"statusMessage": "Şimdi {{status}}"
},
"dialog": {
"Back": "Geri",
@@ -369,7 +369,7 @@
"muteEveryoneTitle": "Herkesi sessize al?",
"muteEveryonesVideoDialog": "Herkesin kamerasını devre dışı bırakmak istediğinizden emin misiniz? Kameralar devre dışı bırakıldığında geri açamayacaksınız, ancak onlar kameralarını her zaman açabilirler.",
"muteEveryonesVideoDialogModerationOn": "Katılımcılar istedikleri zaman videolarını açmak için istek gönderebilirler.",
"muteEveryonesVideoDialogOk": "Kameraları Kapat",
"muteEveryonesVideoDialogOk": "Kameraları kapat",
"muteEveryonesVideoTitle": "Herkesin kamerasını devre dışı bırak?",
"muteParticipantBody": "Sesi açamazsınız, ancak istedikleri zaman kendileri seslerini açabilirler.",
"muteParticipantButton": "Sessize al",
@@ -388,7 +388,7 @@
"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",
"readMore": "daha fazla",
"readMore": "Daha fazla",
"recentlyUsedObjects": "Son zamanlarda kullandığınız objeler",
"recording": "Kaydediliyor",
"recordingDisabledBecauseOfActiveLiveStreamingTooltip": "Canlı akış etkinken mümkün değil…",
@@ -427,16 +427,16 @@
"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",
"shareAudio": "Sesi paylaş",
"shareAudioAltText": "İstediğ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.",
"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.",
"shareAudioWarningH1": "Eğer sadece ses paylaşmak istiyorsanız:",
"shareAudioWarningTitle": "Ses paylaşımından önce ekran paylaşımını kapatmanız gerekmektedir",
"shareMediaWarningGenericH2": "Ekranınızı ve sesinizi paylaşmak istiyorsanız",
"shareScreenWarningD1": "ekranınızı paylaşmadan önce ses paylaşımını durdurmanız gerekiyor.",
"shareScreenWarningD2": "ses paylaşımını durdurmanız, ekran paylaşımını başlatmanız ve \"sesi paylaş\" seçeneğini işaretlemeniz gerekiyor.",
"shareScreenWarningD1": "Ekranınızı paylaşmadan önce ses paylaşımını durdurmanız gerekiyor.",
"shareScreenWarningD2": "Ses paylaşımını durdurmanız, ekran paylaşımını başlatmanız ve \"sesi paylaş\" seçeneğini işaretlemeniz gerekiyor.",
"shareScreenWarningH1": "Sadece ekranınızı paylaşmak istiyorsanız:",
"shareScreenWarningTitle": "Ekranınızı paylaşmadan önce ses paylaşımını durdurmanız gerekiyor",
"shareVideoConfirmPlay": "Harici bir web sitesi açmak üzeresiniz. Devam etmek istiyor musunuz?",
@@ -495,7 +495,7 @@
"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",
"whiteboardLimitReferenceUrl": "Web Sitemiz",
"whiteboardLimitTitle": "Beyaz tahta kullanımı kısıtlandı",
"yourEntireScreen": "Tüm ekranınız"
},
@@ -722,13 +722,13 @@
"wait": "Kaydınız kaydedilirken lütfen bekleyin",
"yes": "Evet"
},
"lockRoomPassword": "parola",
"lockRoomPassword": "Parola",
"lockRoomPasswordUppercase": "Parola",
"lonelyMeetingExperience": {
"button": "Birilerini davet et",
"youAreAlone": "Toplantıdaki tek kişisiniz"
},
"me": "ben",
"me": "Ben",
"notify": {
"OldElectronAPPTitle": "Güvenlik açığı!",
"allowAction": "İzin ver",
@@ -745,7 +745,7 @@
"dataChannelClosedWithAudio": "Ses ve video kalitesi etkilenebilir.",
"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",
"disconnected": "Bağlantı kesildi",
"displayNotifications": "Bildirimleri görüntüle",
"dontRemindMe": "Bana hatırlatma",
"focus": "Toplantı odağı",
@@ -794,8 +794,8 @@
"noiseSuppressionFailedTitle": "Gürültü bastırma başlatılamadı",
"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ı",
"oldElectronClientDescription3": " şimdi!",
"oldElectronClientDescription2": "Son yapı",
"oldElectronClientDescription3": " Şimdi!",
"participantWantsToJoin": "toplantıya katılmak istiyor",
"participantsWantToJoin": "toplantıya katılmak istiyor",
"passwordRemovedRemotely": "$t(lockRoomPasswordUppercase) başka bir katılımcı tarafından kaldırıldı",
@@ -958,7 +958,7 @@
"errorValidation": "Numara doğrulanamadı",
"iWantToDialIn": "İçeri arama yapmak istiyorum",
"initiated": "Çağrı başlatıldı",
"joinAudioByPhone": "Join with phone audio",
"joinAudioByPhone": "Telefonla sesli katıl",
"joinMeeting": "Toplantıya katıl",
"joinMeetingInLowBandwidthMode": "Düşük bant genişliği modunda katılın",
"joinWithoutAudio": "Ses olmadan katıl",
@@ -975,7 +975,7 @@
"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"
"viewAllNumbers": "Tüm numaraları görüntüle"
},
"presenceStatus": {
"busy": "Meşgul",
@@ -1405,16 +1405,7 @@
},
"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.",
"edgeGrantPermissions": "Tarayıcınız izin istediğinde <b><i>Evet</i></b> seçeneğini seçin.",
"electronGrantPermissions": "Lütfen kameranızı ve mikrofonunuzu kullanmak için izin verin",
"firefoxGrantPermissions": "Tarayıcınız izin istediğinde <b><i>Seçilen Aygıtı Paylaş</i></b> seçeneğini seçin.",
"iexplorerGrantPermissions": "Tarayıcınız izin istediğinde <b><i>Tamam</i></b> seçeneğini seçin.",
"nwjsGrantPermissions": "Lütfen kameranızı ve mikrofonunuzu kullanmak için izin verin",
"operaGrantPermissions": "Tarayıcınız izin istediğinde <b><i>İzin Ver</i></b> seçeneğini seçin.",
"react-nativeGrantPermissions": "Tarayıcınız izin istediğinde <b><i>İzin Ver</i></b> seçeneğini seçin.",
"safariGrantPermissions": "Tarayıcınız izin istediğinde <b><i>Tamam</i></b> seçeneğini seçin."
"grantPermissions": "Lütfen kameranızı ve mikrofonunuzu kullanmak için izin verin."
},
"videoSIPGW": {
"busy": "Kaynakları serbest bırakmaya çalışıyoruz. Lütfen birkaç dakika içinde tekrar deneyin.",

View File

@@ -1289,16 +1289,7 @@
},
"unpinParticipant": "{{participantName}} - Відкріпити",
"userMedia": {
"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>, коли ваш веб-браузер запитає дозволи."
"grantPermissions": "Надайте дозвіл на доступ до камери та мікрофона."
},
"videoSIPGW": {
"busy": "Ми працюємо над вивільненням ресурсів. Спробуйте за декілька хвилин.",

View File

@@ -1381,16 +1381,7 @@
},
"unpinParticipant": "{{participantName}} - Bỏ ghim",
"userMedia": {
"androidGrantPermissions": "Chọn <b><i>Cho phép</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"chromeGrantPermissions": "Chọn <b><i>Cho phép</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"edgeGrantPermissions": "Chọn <b><i>Có</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"electronGrantPermissions": "Vui lòng cấp quyền sử dụng camera và micro của bạn",
"firefoxGrantPermissions": "Chọn <b><i>Chia sẻ thiết bị đã chọn</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"iexplorerGrantPermissions": "Chọn <b><i>Có</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"nwjsGrantPermissions": "Vui lòng cấp quyền sử dụng camera và micro của bạn",
"operaGrantPermissions": "Chọn <b><i>Cho phép</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"react-nativeGrantPermissions": "Chọn <b><i>Cho phép</i></b> khi trình duyệt của bạn yêu cầu cấp phép.",
"safariGrantPermissions": "Chọn <b><i>Có</i></b> khi trình duyệt của bạn yêu cầu cấp phép."
"grantPermissions": "Vui lòng cấp quyền sử dụng camera và micro của bạn."
},
"videoSIPGW": {
"busy": "Chúng tôi đang giải phóng tài nguyên. Vui lòng thử lại sau vài phút.",

View File

@@ -410,6 +410,7 @@
"sendPrivateMessageTitle": "私信回复?",
"serviceUnavailable": "服务不可用",
"sessTerminated": "通话已结束",
"sessTerminatedReason": "会议已经结束",
"sessionRestarted": "由于连接问题,呼叫重新启动。",
"shareAudio": "继续",
"shareAudioTitle": "如何分享音频",
@@ -1349,16 +1350,7 @@
},
"unpinParticipant": "{{participantName}} - 取消固定",
"userMedia": {
"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>"
"grantPermissions": "请授予使用你的摄像头和麦克风的权限."
},
"videoSIPGW": {
"busy": "我们正在释放资源,请稍后再试。",

View File

@@ -1369,16 +1369,7 @@
},
"unpinParticipant": "",
"userMedia": {
"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>。"
"grantPermissions": "請允許使用您的網路攝影機和麥克風的權限."
},
"videoSIPGW": {
"busy": "我們正在釋放資源,請過幾分鐘後再試。",

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