Compare commits

...

360 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
Calin-Teodor
e52c6e6b35 fix(base/icons): error regarding default props 2024-11-07 10:17:04 +02:00
Hristo Terezov
1e43bbbd95 fix(prejoin): Device indicator.
- don't show the indicator if disableInitialGUM=true
 - Change the text.
 - Change the pending state color.
2024-11-06 20:23:00 -06:00
Jaya Allamsetty
2d77bf1da9 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1883.0.0+9eefac11...v1885.0.0+0ef83147
2024-11-05 16:28:00 -05:00
Saúl Ibarra Corretgé
dc25a8dde4 feat(ios) update CocoaPods version 2024-11-05 17:36:52 +02:00
Saúl Ibarra Corretgé
ab51512088 fix(rn) tweak UA string
Make sure all the parts are "something/something-else" similar to how
browsers do it.
2024-11-05 17:36:30 +02:00
Besnik Bleta
956ca27b01 lang: Update for sq translation (#15271)
* 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
2024-11-05 08:23:34 -06:00
Calin-Teodor
d7e2be200a feat(base/ui): remove force capitalize from button labels 2024-11-05 07:53:08 -06:00
Joshua Irmer
459b5372d1 fix(chat): show focus on chat
Signed-off-by: Joshua Irmer <irmer@gonicus.de>
2024-11-05 11:31:07 +02:00
Дамян Минков
1a3dd699b7 fix(lobby): Inconsistent state after deny and then approve. (#15226)
* fix(lobby): Inconsistent state after deny and then approve.

Fixes several issues:
- The error on lobby deny is not sticky
- When preJoin is not enabled we were showing conference UI and showing the error, while the participant is denied to enter the meeting.
- There was inconsistent state (after deny we were keeping membersOnly conference state) and when being approved on re-try while being in the meeting, no remote thumbnails are shown although media is flowing.

The scenario is enabling lobby and tryintg to join, denying the first attempt and approving the second one.

* squash: Drop extra hide lobby screen.

* squash: Finish action first before showing the notification.
2024-11-04 14:49:21 -06:00
damencho
04bee97682 feat(audio-recording): Handles conference properties sent from jicofo and play notification.
When audio-recording is enabled server-side play the recording audio and visual notification.
2024-11-04 10:34:59 -06:00
Edgars Voroboks
aa506a7607 fix(lang): Add newline at the end of generated lang file 2024-11-04 11:23:53 +01:00
Christoph Settgast
afac97e7d4 lang: update German translation (#15264) 2024-11-01 21:52:29 +01:00
Hristo Terezov
61a0247f30 feat(metrics): related to conference.init execution.
Adds logs and analytics events with time measurements for the different stages of conference.init execution.
2024-10-31 14:09:10 -05:00
Jaya Allamsetty
7b4965f6b2 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1882.0.0+d51e5575...v1883.0.0+9eefac11
2024-10-30 19:56:02 -04:00
Saúl Ibarra Corretgé
d78b980b35 fix(android) fix bundle script path 2024-10-30 17:36:28 +01:00
Saúl Ibarra Corretgé
103d1d9f35 fix(android) fix making production bundles 2024-10-30 16:44:18 +01:00
Saúl Ibarra Corretgé
6d3330a208 feat(lib-jitsi-meet) log UA string too
This way we can know from the logs what we are working with.
2024-10-30 14:51:31 +01:00
Saúl Ibarra Corretgé
771f5af59d feat(rn) improve UA string
Add SDK version in addition to OS and RN versions.

Example: "JitsiMeetSDK/0.0.0 (android/34) react-native/0.75.4"
2024-10-30 14:51:31 +01:00
Saúl Ibarra Corretgé
2c96880985 fix(android) add SDK version information 2024-10-30 14:24:14 +01:00
Saúl Ibarra Corretgé
3fb968b3cb feat(rn,screen-sharing) allow sharing the screen and camera on mobile (#15236)
* feat(rn,screen-sharing) allow sharing the screen and camera on mobile

With the advancements in layer suspension it should now be ok to do.
Users can still mute the camera themselves if they so desire.

Having the camera enabled while in the background is a separate effort.
2024-10-30 15:11:09 +02:00
Saúl Ibarra Corretgé
b2059060fc fix(rn,android) fix build for RN 0.75
It requires Kotlin 1.9. Some modules needed to be updated in order to
gain that compatibility.
2024-10-30 14:16:35 +02:00
Saúl Ibarra Corretgé
6ad2735efb fix(rn,call-integration) use a more reliable event for starting
The will-join event happens before we actually try to join and things
would go wrong, whereas join-in-progress happens when it's guaranteed
that joining will be successful.
2024-10-30 12:39:19 +01:00
Calin-Teodor
e2a933ad92 chore(android): update rnVersion 2024-10-30 12:37:26 +02:00
Calinteodor
12b682992b chore(appState): default empty string state does not check conditions (#15240)
* feat(mobile/background): force appState status when the app mounts
2024-10-30 09:51:12 +02:00
Jaya Allamsetty
4f78dee708 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1880.0.0+5d53ecdc...v1882.0.0+d51e5575
2024-10-29 13:00:57 -04:00
Calin-Teodor
7ff78313ff dep(react-native): update to 0.75.4 2024-10-29 14:56:43 +02:00
Edgars Voroboks
ac182c18f9 lang: Update Latvian language translation (#15244) 2024-10-29 06:28:21 -05:00
Saúl Ibarra Corretgé
b562176062 chore(deps) npm audit fix 2024-10-28 16:15:19 +01:00
Saúl Ibarra Corretgé
437ed46349 fix(e2ee) don't display E2EE verified field until final
It shows all the time otherwise, confusing users who haven't even
enabled it.
2024-10-28 16:15:04 +01:00
Дамян Минков
f0e01da39a feat(connection): Handles the new connection error CONFERENCE_REQUEST_FAILED. (#15231)
* feat(connection): Handles the new connection error CONFERENCE_REQUEST_FAILED.

Reloads when this fatal error occurs.

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

https://github.com/jitsi/lib-jitsi-meet/compare/v1878.0.0+a7476b12...v1880.0.0+5d53ecdc
2024-10-28 10:13:19 -05:00
Saúl Ibarra Corretgé
755ab2a108 feat(e2ee) add flag to disable the feature 2024-10-28 15:42:13 +01:00
Saúl Ibarra Corretgé
c11f5d36ea feat(sounds) skip playing back sounds when leaving a conference
When we leave we see all participants leaving too, which triggers the
"recording has ended" sound for example, which is not desirable.
2024-10-28 14:34:56 +01:00
Ramazan Sancar
ecf72273af lang: Missing keys in Turkish language file added with translations. (#15232)
* add: Missing keys in Turkish language file added with translations.
upd: Translations marked as "", which have not been translated, have been completed.
upd: Updated with "..." (ellipsis), which is the symbolic value for "..." (three dots).
fix: Wrong words in the dictionary in the source have been corrected.

* upd: Updated with "..." (ellipsis), which is the symbolic value for "..." (three dots) all languages.
2024-10-28 07:47:43 -05:00
Hristo Terezov
960a08c066 fix(conference): Make sure join waits for confernce.init.
It was possible that join can be executed before conference.init have even started or we haven't reached the point ot create the initialGUMPromise. This was causing the following issues:
 - users stuck on the prejoin screen
 - participants join 2+ times in the call (we have been creating more than 1 local participants from a single page).
2024-10-25 11:34:10 -05:00
damencho
390431f4d0 fix(transcribing): Fix missing transcribing status changed event. 2024-10-24 10:45:50 -05:00
Sakıp Han Dursun
0636527146 lang: Update Turkish translation (#15222)
Update: Added Turkish translation for "followMeRecorder"

Co-authored-by: sakiphandursun <sakip.dursun@alpata.com>
2024-10-23 17:01:03 -05:00
Andrei Gavrilescu
66ba41992d fix(premeeting): remove console log #15217 2024-10-23 12:14:00 +03:00
damencho
036d783776 feat(subtitles): Adds an option to automatically enable subtitles when transcriber is available. 2024-10-22 12:41:34 -05:00
Дамян Минков
1f37e0ba8d feat(visitors): Uses metadata to save participants that were promoted. (#15215)
* feat(visitors): Uses metadata to save participants that were promoted.

* squash: fix comments.

* squash: fix comments.
2024-10-22 12:41:24 -05:00
Jaya Allamsetty
2d15cc025e chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1876.0.0+fac989a9...v1878.0.0+a7476b12
2024-10-22 13:15:48 -04:00
Saúl Ibarra Corretgé
4b93cbbd8d fix(chat) make reactions processing more resilient 2024-10-22 16:41:29 +02:00
Calinteodor
939a9a45d3 feat(mobile/background): use reducedUI only when app is not active and log appState (#15167)
* feat(mobile/background): use reducedUI only when app is not active and log appState changes
2024-10-22 16:19:31 +03:00
Andrei Gavrilescu
dd859d2a26 feat(premeeting): pre-join connection test (#15151)
* enable precall test

* minor fixes

* update lang sort

* code review
2024-10-22 11:20:30 +03:00
Saúl Ibarra Corretgé
39540531ff fix(polls) add extra check when creating polls 2024-10-22 09:24:13 +02:00
Sergei Novikov
3d85202987 fix(lang) fix Russian lang 2024-10-17 09:34:10 -05:00
emrah
9fd6a6c822 fix(auth_token): check params before getting its property 2024-10-17 06:27:37 -05:00
Calin-Teodor
ae00247632 feat(participants-pane/native): updated accessibility label to match translations 2024-10-16 17:20:48 +03:00
Calin-Teodor
2b719743d3 feat(base): minor syntax and ts types fixes 2024-10-16 16:23:37 +03:00
Calinteodor
2b8cc89df0 Improve participants alternative text for screen reader users (#15204)
* add the participants count to the aria label and fix the accessibility toggle for the participants button

---------

Co-authored-by: AHMAD KADRI <52747422+ahmadkadri@users.noreply.github.com>
2024-10-16 13:09:35 +03:00
Hristo Terezov
b7eae6c0ca feat(connect): Add logging before every connect. 2024-10-15 20:57:29 -05:00
Jaya Allamsetty
24ae69348b fix(config) Remove unsupported settings. 2024-10-11 14:28:51 -04:00
Jaya Allamsetty
22f315ddfa chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1874.0.0+7dfad4fd...v1876.0.0+fac989a9
2024-10-11 14:28:51 -04:00
damencho
a50d6dc0f4 feat(jwt): Adds some more logs around expiration. 2024-10-10 14:16:37 -05:00
damencho
15ba1bb280 fix(visitors): Skips a log if room is being destroyed. 2024-10-10 14:16:26 -05:00
damencho
3438e5d56a fix(jwt): Fix initial value of features in jaas mode.
The backend initializes them as all missing, this way we sync backend and UI.
2024-10-09 16:42:22 -05:00
AHMAD KADRI
176e409af5 feat(accessibility): add focus and blur handle to the toolbar (#15054) 2024-10-09 10:31:16 -05:00
Jaya Allamsetty
d09243c2c5 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1872.0.0+8940b5c9...v1874.0.0+7dfad4fd
2024-10-07 11:20:57 -04:00
Hristo Terezov
b0a050b66a fix(keyboard-shortcuts): Rename .web/.native files.
The keyboard shortcuts feature is used only on web. We don't need the suffixes.
2024-10-07 10:13:26 -05:00
Saúl Ibarra Corretgé
26e283393f chore(deps) npm audit 2024-10-07 14:33:04 +02:00
Hristo Terezov
d9a0423687 fix(KbShortcuts): remove listeners on leave.
Currently we add keyboard listeners on conference join but never remove them. In the cases where we have multiple join events during a call (visitors promotion, breakout rooms), there are multiple keyboard handlers added and the shortcuts are executed multiple times on a single press.
2024-10-05 08:43:51 -05:00
damencho
39c9c24810 fix(toolbox): Fix re-rendering of toolbar on every state change. 2024-10-03 14:04:14 -05:00
damencho
d6a42fbe43 fix(jwt): Fixes when feature is missing from features.
By default, that feature is disabled.
2024-10-03 14:04:14 -05:00
damencho
808bc24d95 fix(jwt): Fixes getJwtDisabledButtons to respect moderator flag. 2024-10-03 14:04:14 -05:00
damencho
e04db24d15 fix(jwt): Use isJwtFeatureEnabled the same way in all places.
Fixes an issue where we were showing cc button for visitors that does not have features in the token.
2024-10-03 14:04:14 -05:00
Saúl Ibarra Corretgé
c24c25849d fix(ios) update giphy SDK 2024-10-03 13:56:10 +03:00
Дамян Минков
d5269e881a fix(transcribing): Handle transcriber status changed.
* fix(subtitles): Handle errors to revert to default state.

* fix(transcribing): Handle transcriber status changed.

Drops potential transcribers and hidden participant actions and handling. Expect ljm to detect transcriptions on and off.

* feat(transcriptions): Adds a notification if transcriber leaves abruptly.

* squash: Renames action.

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

https://github.com/jitsi/lib-jitsi-meet/compare/v1869.0.0+5671c5d6...v1872.0.0+8940b5c9
2024-10-02 18:59:04 -05:00
Saúl Ibarra Corretgé
5da69192e3 feat(ios) use Xcode 16 as the new baseline 2024-10-02 15:20:06 +03:00
Jaya Allamsetty
2413b8977e fix(face-landmarks) Ignore muted tracks while starting detection.
This fixes an issue where a user gets stuck on lobby page when they have a muted video track after the user is accepted.
2024-09-25 14:17:08 -05:00
damencho
50b90933dc chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1867.0.0+ef92c2a0...v1869.0.0+5671c5d6
2024-09-20 17:37:50 -05:00
damencho
09d57972af feat(visitors): Allow occupants switching from breakout to main room. 2024-09-20 15:31:35 -05:00
damencho
8f1c63579c feat(prosody): If room is destroyed already reply to disconnect. 2024-09-20 15:31:35 -05:00
damencho
62856b0f58 feat(prosody): Moves respond_iq_result to util. 2024-09-20 15:31:35 -05:00
Calin-Teodor
a3617b042e feat(conference): apply reduced ui for when app is in background 2024-09-20 22:19:45 +03:00
damencho
6e13269ddb fix(av-moderation): Fix wrong json format for empty array.
The exception we see in jicofo: IllegalArgumentException: Value is not a list
We were encoding empty array for media types as {} where it should be [].
2024-09-20 08:26:29 -05:00
Axel Prola
97930bfef2 feat(external-api): Set blurred background from external api. (#15131)
Add setBlurredBackground command to external api.

Co-authored-by: Axel Prola <axel.prola@equasens.com>
2024-09-20 08:08:16 -05:00
Patrick He
7bb2f1eaad feat(chat) add message reactions 2024-09-20 15:53:55 +03:00
Avram Tudor
acc46c0c5f fix: flip mode can be unsynced between tileview and large video (#15141)
- large video does not adhere to the same restriction when it comes to the flip mode, it simply respects the last cached state or the doNotFlipLocalVideo flag if it was provided
2024-09-20 12:13:58 +03:00
Hristo Terezov
1152073b57 feat(stage-name-label): Don't show for SS when toolbar is hidden 2024-09-18 17:26:20 -05:00
Jaya Allamsetty
e328b15fcd chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1864.0.0+cf14a33f...v1867.0.0+ef92c2a0
2024-09-18 17:58:45 -04:00
Дамян Минков
bc21a462eb feat(follow-me): Adds iframeAPI to activate recorder follow me. (#15134)
* feat(follow-me): Adds iframeAPI to activate recorder follow me.

* squash: suggestion.

Co-authored-by: Hristo Terezov <hristo@jitsi.org>

---------

Co-authored-by: Hristo Terezov <hristo@jitsi.org>
2024-09-17 12:18:42 -05:00
AHMAD KADRI
8d82c20319 Accessibility: keyboard navigation on the toolbar (Context menu) (#15060)
Accessibility: keyboard navigation on the toolbar (Context menu)
2024-09-17 17:10:44 +03:00
Calin-Teodor
574c61d3e5 feat(react-native-sdk): update podspec file 2024-09-17 10:46:52 +03:00
damencho
9f73eb76a3 fix(follow-me): Small UI fixes.
Does not allow toggling both follow me and follow me recorder. And make when locally enabled show correct status when follow me recorder is selected.
2024-09-16 13:52:53 -05:00
Дамян Минков
b620328861 fix: Fixes installing let's encrypt on clean system.
When testing on 24.04 fails to create let's encrypt successfully because the webserver is not installed completely.
2024-09-16 11:54:00 -05:00
Дамян Минков
085e6dd3b9 feat(follow-me): Adds option to limit it for recorder only. (#15120)
* feat(follow-me): Adds option to limit it for recorder only.

* squash: Fix comments.

* squash: Fix comments.
2024-09-16 10:01:09 -05:00
Дамян Минков
936fa55ce9 fix(deb): Restart jicofo on new install.
Testing clean install on Ubuntu 24.04 seems to end up with jicofo not connected due to the certificate not being validated.
2024-09-15 19:10:59 -05:00
Дамян Минков
ede26956e8 feat(visitors): Transcriptions for visitors. (#15119)
* feat(visitors): Transcriptions for visitors.

* squash: Fixes filter iq.

* feat: Rewrites room name requests in rayo iq for visitors.

* squash: Handles visitors count that request transcriptions and the languages requested.

* fix(subtitles): Make sure we show captions button when no features but is transcribing.
2024-09-13 18:35:34 -05:00
Дамян Минков
b3742a3438 fix(transcriptions,recording): Allows non moderators with features to dial, record or transcribe. (#15074)
* fix(transcriptions): Uses dial command to invite transcriber.

* fix(transcriptions,recording): Allows non moderators with features to dial, record or transcribe.

* sqaush: Make sure filtering works when only is a moderator.

It works now and without a token and no features, but being moderator.

* squash: Rename constant.

* squash: Checks features first before defaulting to moderator when filtering metadata service.

* squash: Checks features first before defaulting to moderator in UI.

* squash: Fixes lint and one other check.

* squash: Moves more logic to is_feature_allowed.

* squash: Drops unnecessary check.

* squash: Uses constant coming from ljm.

* squash: Toggles back captions button on error.

* squash: Fix comment.

* squash: Reverting back isLiveStreamingButtonVisible.

* squash: Fix imports.
2024-09-13 11:06:29 -05:00
damencho
262cb0422c fix(breakout-rooms): Fixes reporting virtual jid of main room.
When reporting the real jid, nothing matches in jicofo internals and we miss to match the room.
2024-09-13 09:45:23 -05:00
Saúl Ibarra Corretgé
756c4afbdd fix(rn,overlay) skip showing reload dialog while leaving the conference (#15045)
* fix(rn,overlay) skip showing reload dialog while leaving the conference
2024-09-13 16:09:58 +03:00
Saúl Ibarra Corretgé
4c9234ffec chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1862.0.0+95e160b2...v1864.0.0+cf14a33f
2024-09-13 13:42:44 +03:00
Saúl Ibarra Corretgé
5ea2093a40 fix(ios) specify supported platforms (iOS, iPadOS) 2024-09-13 13:07:19 +03:00
Saúl Ibarra Corretgé
ab57a2999b feat(ios) bump minimum required iOS version to 15.1
RN 0.76 will be doing this change, so let's get ahead.

THis puts the iPhione 6S as the baseline model, which was released in
September 2015.
2024-09-13 12:57:49 +03:00
Hristo Terezov
7718c39319 feat(stage-participant-badge): Scale size based on the screen height 2024-09-12 08:12:36 -05:00
damencho
01ef23402e chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1859.0.0+9ff77a91...v1862.0.0+95e160b2
2024-09-10 14:53:20 -04:00
Avram Tudor
15ddf04189 fix: correct inconsistencies between disableLocalVideoFlip flag and UI (#15101)
Some parts of the ui still showed the setting for flipping the video, even if the flag indicated otherwise
Also fixes the case where setting a virtual background ignores the stored localFlipX setting
2024-09-09 11:44:06 +03:00
Christoph Settgast
ac720034ab lang: update German translation
Signed-off-by: Christoph Settgast <csett86_git@quicksands.de>
2024-09-08 14:18:49 -05:00
damencho
b989307c1e feat(visitors): Adds option to turn off auto promotion with token.
Fixes #14699.
2024-09-06 12:56:33 -05:00
Hristo Terezov
0fa02ff6ba fix(devices): Do not select stored devices that are not available. 2024-09-06 10:51:23 -05:00
Jaya Allamsetty
d2afd5e54d chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1858.0.0+6771b695...v1859.0.0+9ff77a91
2024-09-04 16:49:23 -04:00
damencho
7169143942 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1852.0.0+526ec25d...v1858.0.0+6771b695
2024-09-04 11:20:04 -05:00
Sebastian Wieseler
98020163ce Update SECURITY.md (#15085) 2024-09-04 09:47:40 -05:00
damencho
6aa42f9850 feat(shared-video): Fixes showing thumb on the sharer side.
Fixes #15077.
2024-09-03 16:29:55 -05:00
damencho
d2ff136c15 feat(participants-pane): Fixes actions menu when sharing video.
We have actions menu for the video just for the local participant who shared the video.
2024-09-03 16:29:55 -05:00
Aaron van Meerten
79322f6a1f fix(jicofo): conference request nginx config add expose headers for cors (#15084)
* fix(jicofo): conference request nginx config add expose headers for content type
2024-09-03 09:00:44 -04:00
damencho
d755b9decb fix(avatar): Prefer avatar url from jwt identity. 2024-09-03 07:57:40 -05:00
damencho
ad6e675b18 fix(visitors): When metadata or flag live is missing, consider live. 2024-08-30 08:09:44 -05:00
Hristo Terezov
aa122c9652 fix(subtitles): positioning and padding 2024-08-29 16:09:27 -05:00
Hristo Terezov
b747fd3483 feat(subtitles): Move with toolbar. 2024-08-28 17:39:18 -05:00
Hristo Terezov
2d56dbe249 fix(subtitles): Styles.
- Move the styles from css to tss-react ones
 - Dynamic fontSize based on the visible area of the page
 - Remove the gaps in the background when a line is wrapped.
 - Change the text color to white.
 - Remove transparency.
2024-08-28 16:22:24 -05:00
Дамян Минков
2364344046 feat(shared-video): Closes confirm dialog if shown on stop. (#15065)
* feat(shared-video): Closes confirm dialog if shown on stop.

* squash: Show notification about the stopped video.
2024-08-28 12:07:15 -05:00
Hristo Terezov
32f9f8ba92 fix(gifs): trim the message before extracting the URL. 2024-08-28 11:35:51 -05:00
damencho
697ede207b fix(shared-video): Fix skip showing confirm dialog for YouTube links. 2024-08-27 16:33:38 -05:00
Hristo Terezov
c62f2f2790 fix(RN/shared-video): sharedVideoAllowedURLDomains prop from branding.
On mobile (React-Native) the sharedVideoAllowedURLDomains property from dynamic branding was filtered and therefore the allow list from the branding was not reaching redux and was ignored.
2024-08-27 16:22:58 -05:00
Hristo Terezov
1429e83a21 fix(RN-video): Video not showing if disableThirdPartyRequests is true. 2024-08-27 10:59:10 -05:00
Дамян Минков
3f7c3b8fd2 feat(shared-video): Shows confirmation dialog before playing video. (#15059)
* feat(shared-video): Shows confirmation dialog before playing video.

* feat(shared-video/native): created ShareVideoConfirmDialog and unified actions

* squash: Simplifies state and fixes stop and then start scenario.

* squash: Use constants everywhere.

* squash: Use helper function.

* squash: Ignore any command with not matching video URL.

---------

Co-authored-by: Calin-Teodor <calin.chitu@8x8.com>
2024-08-27 10:45:39 -05:00
Hristo Terezov
5b4383d835 feat(shared-video): Get allowed URL domains from config and dynamic branding. 2024-08-26 17:10:08 -05:00
Hristo Terezov
49fa243ef3 fix(shared-video): Lint errors. 2024-08-26 17:10:08 -05:00
Calin-Teodor
e9ca4b009a feat(shared-video): run whitelisted urls through store 2024-08-26 17:10:08 -05:00
Piyush Bhatt
e6ccc35653 fix(gh) fix typos in issue template
Fixes: #15028
2024-08-26 22:40:37 +02:00
Saúl Ibarra Corretgé
f59d04586c fix(android) fix crash when staring ongoing notification 2024-08-26 12:33:53 +03:00
damencho
ec22c1fdda fix(participants): Handles kicker undefined on participantKicked. 2024-08-23 12:19:32 -05:00
Hristo Terezov
3441954f8b fix(subtitles): ITranscriptMessage type. 2024-08-21 15:19:44 -05:00
Calin-Teodor
b0a87041da feat(rnsdk): moved deps that dont require linking 2024-08-21 17:37:41 +03:00
damencho
42586be533 fix(visitors): Visitors raise hand to be promoted, skip notification for speak line. 2024-08-21 09:27:02 -05:00
damencho
65e94bd173 fix(visitors): Do not show reactions icon in visitors join dialog. 2024-08-21 09:27:02 -05:00
Saúl Ibarra Corretgé
73c836fafb fix(android) fix joining meetings in quick succession
If the readyToClose event was fired there is no need to "leave" the
meeting, it just circles back to the app unnecessarily, potentially
creating another readyToClose event.
2024-08-21 14:06:40 +03:00
Saúl Ibarra Corretgé
d6fa066e4d fix(android) fix default value for pip.enabled
Fixes: https://github.com/jitsi/jitsi-meet/issues/15014
2024-08-21 12:47:26 +03:00
Saúl Ibarra Corretgé
22bbf4939e fix(android) remove unused method 2024-08-21 10:54:00 +02:00
Saúl Ibarra Corretgé
ca195fd708 fix(rn) improve rnsdk version script
Make sure alll dependencies are updated when we run it.
2024-08-21 10:45:07 +02:00
AHMAD KADRI
c3c0166731 Accessibility: make status notifications accessible (#15004)
* Accessibility: add aria-live to the notification component
2024-08-21 11:03:38 +03:00
Saúl Ibarra Corretgé
fc94854b72 chore(deps) npm audit fix 2024-08-19 15:03:52 +02:00
Saúl Ibarra Corretgé
c55eb68cf2 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1847.0.0+03eef6de...v1852.0.0+526ec25d
2024-08-19 13:32:10 +02:00
Saúl Ibarra Corretgé
80e08a112a chore(deps) remove remaining lodash dependencies
We are fully using lodash-es now.
2024-08-19 11:04:14 +02:00
Edgars Voroboks
896fc29af7 fix(lang): Update Latvian language translation 2024-08-17 20:58:30 -05:00
Hristo Terezov
c88ffab370 fix(auth): Preserve iceServers URL params
During authentication cycle the iceServers URL params are not passed through the various redirects. The result is that the when we finally return back to the conference page authenticated and with the JWT token the iceServers URL param is lost.
2024-08-15 22:33:24 -05:00
Saúl Ibarra Corretgé
445515da93 fix(lastN) simplify lastN calculation when in background (#15018)
There is no point in ever setting lastN to anything other than 0 when in
the background because we are not rendering anything.

When in PiP mode, the app state is not background, which might have
deceived us into adding that check there way back when.
2024-08-15 14:25:21 -04:00
Jannis
f5dbd6780b fix(lang): update german translation (#15011)
Co-authored-by: Christoph Settgast <csett86_git@quicksands.de>
2024-08-15 12:23:14 +02:00
Saúl Ibarra Corretgé
ba06121464 fix(rn) fix audio loss when switching to the bridge
The issue was fixed in RN WebRTC.
2024-08-14 16:30:17 +02:00
Calin-Teodor
7115919206 feat(android/sdk): fix jitsiview join call 2024-08-14 14:30:09 +03:00
Hristo Terezov
1d95c30893 feat(shared-video): Allow only whitelisted URLs. 2024-08-13 12:43:45 -05:00
Saúl Ibarra Corretgé
a5cd5e2733 fix(android) don't re-launch activity after closing PiP
Just remain in the background. The ongoing notification can be used to
get back to the meeting.

NOTE: This behavior only affected the app, not the SDK.
2024-08-13 17:18:26 +02:00
Saúl Ibarra Corretgé
8732675162 fix(android) fix not opening activity from notification
We need to pass the Activity to get back to in the intent, but since we
launch the notification from a Service things got a bit more involved.
2024-08-13 17:18:26 +02:00
Calin-Teodor
a074437d99 fix(android/ios/scripts): updated react native packager script path 2024-08-13 14:24:48 +03:00
José Luís Andrade
d2eb11fa5c fix(lang) update Portuguese translation 2024-08-13 12:57:22 +02:00
Saúl Ibarra Corretgé
b35200648c feat(deps) replace lodash with lodash-es
The latter supports tree-shaking and we don't need to embed the whole
500KB of lodash.
2024-08-12 10:34:44 +02:00
Calinteodor
a8958019a5 feat(chat/polls/native): added ids for tests (#14994)
* feat(chat/polls/navigation): added ids for tests and removed some unused helpers
2024-08-10 18:02:48 +03:00
Hristo Terezov
200228339b fix(gif): Restrict gif rendering to Giphy only 2024-08-09 10:01:04 -05:00
Hristo Terezov
ddc64ad687 fix(giphy): Remove proxyUrl config option. 2024-08-09 10:01:04 -05:00
Calin-Teodor
2d2bae6ec1 feat(toolbox): moved action to appropriate feature and fixed naming 2024-08-09 16:19:13 +03:00
Saúl Ibarra Corretgé
fa6dc292c1 fix(polls) improve message validation (#14991)
* fix(polls) improve message validation

- Prevent creation of too many polls
- Discard absurdly large payloads

* Update resources/prosody-plugins/mod_polls.lua

Co-authored-by: Дамян Минков <damencho@jitsi.org>

---------

Co-authored-by: Дамян Минков <damencho@jitsi.org>
2024-08-09 06:23:43 -05:00
Saúl Ibarra Corretgé
b5ac40b32a fix(build) don't run clean after compilation
It prevents the bundle analyzer from working because the stats files are
placed in the build dir.

Clean *before* building instead.
2024-08-09 12:03:03 +02:00
Mengyuan Liu
8299aa498b feat(raise-hand) group options in config.js 2024-08-09 11:39:55 +02:00
Saúl Ibarra Corretgé
ce22adfe64 fix(ios) SDK release script fixes
- Run script with tracing
- Allow empty commits (we might need a rebuild)
- Fix tag name in lite SDK
2024-08-08 07:49:26 +02:00
Jaya Allamsetty
01bcccdd99 chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1846.0.0+a97a8dff...v1847.0.0+03eef6de
2024-08-07 22:21:47 -04:00
Mengyuan Liu
673a54adb1 feat(raise-han) add CTA for opening participants pane on notification 2024-08-07 17:42:49 +02:00
Calin-Teodor
f48c03e314 feat(ios): readded git tag for release sdk scritps 2024-08-07 16:09:37 +03:00
Calinteodor
7641ddad68 feat(chat/native): set limit for linkifying and replacing non unicode messages (#14979)
* feat(chat): set limit for linkifying and replacing non unicode emoji messages
2024-08-07 14:10:28 +03:00
damencho
26021b2dd0 Revert "feat: Presence identity module to support other auth mechanisms."
This reverts commit a6457db819.
2024-08-07 09:52:48 +03:00
damencho
a6457db819 feat: Presence identity module to support other auth mechanisms. 2024-08-06 19:27:52 +03:00
Patrick He
8bfa65987d feat(chat) use the original message ID for processing
This is a prerequisite for operations that rely on previous messages, such as reactions.
2024-08-06 15:30:37 +02:00
Calin-Teodor
b1c0cc5322 feat(android/ios): we no longer need to set a tag 2024-08-06 14:07:59 +03:00
Saúl Ibarra Corretgé
67cbef0d7a chore(deps) lib-jitsi-meet@latest
https://github.com/jitsi/lib-jitsi-meet/compare/v1845.0.0+515a927c...v1846.0.0+a97a8dff
2024-08-06 11:04:20 +02:00
Calinteodor
b2e06c1c94 feat(chat): revert char_limit for input (#14973)
* feat(chat): revert char_limit for message input
2024-08-06 11:12:30 +03:00
damencho
70a05e487e fix(i18n): Ignore case when normalizing languages.
Fixes #14764.
2024-08-06 11:06:52 +03:00
Calinteodor
c2a446a79b feat(toolbox/web): updated imports and fixed jsdocs (#14966)
* feat(toolbox/web): updated imports extensions and fixed some jsdocs
2024-08-06 10:51:18 +03:00
Calin-Teodor
56df23af35 dep(react-native): update for some related dependencies to latest 2024-08-06 10:50:41 +03:00
Mihaela Dumitru
1c12f5cf2a fix(visitors) remove default notification (#14970) 2024-08-05 17:55:25 +03:00
Calin-Teodor
06b727ae1a feat(chat): fixed linter 2024-08-02 14:25:41 +03:00
Calin-Teodor
a2aca30d57 feat(notifications): set numberOfLines for content text description and title 2024-08-02 14:25:41 +03:00
Calin-Teodor
68106feb57 feat(chat): set CHAR_LIMIT for chat input 2024-08-02 14:25:41 +03:00
Calin-Teodor
3066fc1d31 feat(participants): revert prev change 2024-08-02 14:17:40 +03:00
Calin-Teodor
4834fb7b6f feat(participants): check for raisedHandsQueue length before notifying participant to speak 2024-08-02 14:17:40 +03:00
Raphaël Badawi
1e101afe5a feat(invite) add email autocomplete in invite (#14610)
* feat(invite) add email value in peopleSearchQueryTypes and peopleSearchToken config

* feat(invite) pass custom auth token in search directory (e. g. for email directory)

* feat(invite) autocomplete and invitations working with custom auth token (e. g. email invite type), invite icons updated

* feat(invite) remove newly documented config from undocumented settings list

* feat(invite) jwt are now passed in the invite requests headers

* feat(invite) linter-related formatting

* feat(invite) fix default user icon regression

* feat(invite) last lint issues

* feat(invite) pass alternate token in header, not in params

* Fixes lint error

---------

Co-authored-by: Raphaël Badawi <raphael.badawi@ceo-vision.com>
Co-authored-by: Дамян Минков <damencho@jitsi.org>
2024-08-01 21:01:12 +03:00
Hristo Terezov
4d79bbb5d8 feat(window.loaded): Add new metric. (#14965) 2024-08-01 12:43:25 -04:00
Saúl Ibarra Corretgé
e31aff5afd Revert "feat(external-api) add deployment information to ready event"
This reverts commit 6727004930.
2024-07-31 17:44:56 +02:00
585 changed files with 34789 additions and 10741 deletions

View File

@@ -30,12 +30,10 @@ body:
- label: Android mobile app
- label: iOS mobile app
- label: Custom app using a mobile SDK
validations:
required: true
- type: input
attributes:
label: Browser / app / sdk version
description: Please provice the version of the browser / app / sdk where the problem manifests.
description: Please provide the version of the browser / app / sdk where the problem manifests.
validations:
required: true
- type: textarea

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-13, macos-14]
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
@@ -97,7 +88,7 @@ jobs:
run: |
uname -a
xcode-select -p
sudo xcode-select -s /Applications/Xcode_15.2.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode_16.0.app/Contents/Developer
xcodebuild -version
- name: setup-cocoapods
uses: maxim-lobanov/setup-cocoapods@v1
@@ -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

9
.gitignore vendored
View File

@@ -38,6 +38,7 @@ DerivedData
*.dSYM.zip
*.xcuserstate
project.xcworkspace
**/.xcode.env.local
# Android/IntelliJ
#
@@ -100,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
@@ -108,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,16 +17,16 @@ 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 clean
all: compile deploy
compile:
compile: clean
NODE_OPTIONS=--max-old-space-size=8192 \
$(WEBPACK)

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

@@ -4,6 +4,6 @@
We take security very seriously and develop all Jitsi projects to be secure and safe.
If you find (or simply suspect) a security issue in any of the Jitsi projects, please report it to us via [HackerOne](https://hackerone.com/8x8) or send us an email to security@jitsi.org.
If you find (or simply suspect) a security issue in any of the Jitsi projects, please report it to us via [HackerOne](https://hackerone.com/8x8-bounty) or send us an email to security@jitsi.org.
**We encourage responsible disclosure for the sake of our users, so please reach out before posting in a public space.**

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

@@ -211,11 +211,6 @@ public class MainActivity extends JitsiMeetActivity {
super.onPictureInPictureModeChanged(isInPictureInPictureMode);
Log.d(TAG, "Is in picture-in-picture mode: " + isInPictureInPictureMode);
if (!isInPictureInPictureMode) {
this.startActivity(new Intent(this, getClass())
.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
}
}
// Helper methods

View File

@@ -17,15 +17,13 @@ buildscript {
}
ext {
kotlinVersion = "1.7.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"
// We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
ndkVersion = "23.1.7779620"
ndkVersion = "26.1.10909125"
// The Maven artifact groupId of the third-party react-native modules which
// Jitsi Meet SDK for Android depends on and which are not available in
@@ -43,14 +41,12 @@ ext {
googleServicesEnabled = project.file('app/google-services.json').exists() && !libreBuild
//React Native Version
rnVersion = "0.73.8"
//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

@@ -27,4 +27,4 @@ android.enableJetifier=true
android.bundle.enableUncompressedNativeLibs=false
appVersion=99.0.0
sdkVersion=99.0.0
sdkVersion=0.0.0

View File

@@ -9,8 +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-)
DO_GIT_TAG=${GIT_TAG:-0}
if [[ $THE_MVN_REPO == http* ]]; then
MVN_HTTP=1
@@ -24,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!"
@@ -67,15 +38,12 @@ pushd ${THIS_DIR}/../
./gradlew publish
popd
if [[ $DO_GIT_TAG == 1 ]]; then
# The artifacts are now on the Maven repo, commit them
# The artifacts are now on the Maven repo, commit them
if [[ $MVN_HTTP == 0 ]]; then
pushd ${MVN_REPO_PATH}
git add -A .
git commit -m "Jitsi Meet SDK + dependencies: ${SDK_VERSION}"
popd
# Tag the release
git tag android-sdk-${SDK_VERSION}
fi
# Done!

View File

@@ -2,4 +2,4 @@
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
exec ${THIS_DIR}/../../node_modules/react-native/scripts/launchPackager.command --reset-cache
exec ${THIS_DIR}/../../node_modules/react-native/scripts/packager.sh --reset-cache

View File

@@ -8,6 +8,7 @@ android {
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
buildConfigField "String", "SDK_VERSION", "\"$sdkVersion\""
}
buildTypes {
@@ -41,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:+'
@@ -56,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'
}
@@ -138,8 +140,7 @@ android.libraryVariants.all { def variant ->
// Run the bundler
commandLine(
"node",
"node_modules/react-native/local-cli/cli.js",
"bundle",
"node_modules/react-native/scripts/bundle.js",
"--platform", "android",
"--dev", "${devEnabled}",
"--reset-cache",

View File

@@ -1,5 +1,5 @@
/*
* Copyright @ 2017-present Atlassian Pty Ltd
* Copyright @ 2017-present 8x8, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -37,6 +37,7 @@ class AppInfoModule
public static final String NAME = "AppInfo";
public static final boolean GOOGLE_SERVICES_ENABLED = getGoogleServicesEnabled();
public static final boolean LIBRE_BUILD = getLibreBuild();
public static final String SDK_VERSION = getSdkVersion();
public AppInfoModule(ReactApplicationContext reactContext) {
super(reactContext);
@@ -79,6 +80,7 @@ class AppInfoModule
constants.put(
"version",
packageInfo == null ? "" : packageInfo.versionName);
constants.put("sdkVersion", SDK_VERSION);
constants.put("LIBRE_BUILD", LIBRE_BUILD);
constants.put("GOOGLE_SERVICES_ENABLED", GOOGLE_SERVICES_ENABLED);
@@ -116,6 +118,19 @@ class AppInfoModule
return false;
}
/**
* Gets the SDK version.
*/
private static String getSdkVersion() {
Object sdkVersion = getBuildConfigValue("SDK_VERSION");
if (sdkVersion !=null) {
return (String) sdkVersion;
}
return "";
}
/**
* Gets build config value of a certain field.
*

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

@@ -54,6 +54,8 @@ public class JitsiMeetActivity extends AppCompatActivity
private static final String ACTION_JITSI_MEET_CONFERENCE = "org.jitsi.meet.CONFERENCE";
private static final String JITSI_MEET_CONFERENCE_OPTIONS = "JitsiMeetConferenceOptions";
private boolean isReadyToClose;
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
@@ -124,6 +126,8 @@ public class JitsiMeetActivity extends AppCompatActivity
@Override
public void onDestroy() {
JitsiMeetLogger.i("onDestroy()");
// Here we are trying to handle the following corner case: an application using the SDK
// is using this Activity for displaying meetings, but there is another "main" Activity
// with other content. If this Activity is "swiped out" from the recent list we will get
@@ -131,7 +135,10 @@ public class JitsiMeetActivity extends AppCompatActivity
// current meeting, but when our view is detached from React the JS <-> Native bridge won't
// be operational so the external API won't be able to notify the native side that the
// conference terminated. Thus, try our best to clean up.
leave();
if (!isReadyToClose) {
JitsiMeetLogger.i("onDestroy(): leaving...");
leave();
}
this.jitsiView = null;
@@ -149,8 +156,12 @@ public class JitsiMeetActivity extends AppCompatActivity
@Override
public void finish() {
leave();
if (!isReadyToClose) {
JitsiMeetLogger.i("finish(): leaving...");
leave();
}
JitsiMeetLogger.i("finish(): finishing...");
super.finish();
}
@@ -170,8 +181,8 @@ public class JitsiMeetActivity extends AppCompatActivity
}
public void join(JitsiMeetConferenceOptions options) {
if (this.jitsiView != null) {
this.jitsiView .join(options);
if (this.jitsiView != null) {
this.jitsiView.join(options);
} else {
JitsiMeetLogger.w("Cannot join, view is null");
}
@@ -252,6 +263,7 @@ public class JitsiMeetActivity extends AppCompatActivity
protected void onReadyToClose() {
JitsiMeetLogger.i("SDK is ready to close");
isReadyToClose = true;
finish();
}
@@ -259,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
@@ -349,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

@@ -270,11 +270,6 @@ public class JitsiMeetConferenceOptions implements Parcelable {
Bundle asProps() {
Bundle props = new Bundle();
// Android always has the PiP flag set by default.
if (!featureFlags.containsKey("pip.enabled")) {
featureFlags.putBoolean("pip.enabled", true);
}
props.putBundle("flags", featureFlags);
Bundle urlProps = new Bundle();

View File

@@ -51,39 +51,39 @@ import java.util.Random;
*
* See: https://developer.android.com/guide/components/services
*/
public class JitsiMeetOngoingConferenceService extends Service
implements OngoingConferenceTracker.OngoingConferenceListener {
public class JitsiMeetOngoingConferenceService extends Service implements OngoingConferenceTracker.OngoingConferenceListener {
private static final String TAG = JitsiMeetOngoingConferenceService.class.getSimpleName();
private static final String ACTIVITY_DATA_KEY = "activityDataKey";
private static final String EXTRA_DATA_KEY = "extraDataKey";
private static final String EXTRA_DATA_BUNDLE_KEY = "extraDataBundleKey";
private static final String IS_AUDIO_MUTED_KEY = "isAudioMuted";
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver();
private static final int PERMISSIONS_REQUEST_CODE = (int) (Math.random() * Short.MAX_VALUE);
private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver();
private boolean isAudioMuted;
private Class tapBackActivity;
static final int NOTIFICATION_ID = new Random().nextInt(99999) + 10000;
private static void doLaunch(Context context, HashMap<String, Object> extraData) {
Activity activity = (Activity) context;
OngoingNotification.createNotificationChannel((Activity) context);
OngoingNotification.createNotificationChannel(activity);
Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
Bundle extraDataBundle = new Bundle();
extraDataBundle.putSerializable(EXTRA_DATA_KEY, extraData);
intent.putExtra(EXTRA_DATA_BUNDLE_KEY, extraDataBundle);
intent.putExtra(ACTIVITY_DATA_KEY, activity.getClass().getCanonicalName());
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
@@ -154,7 +154,7 @@ public class JitsiMeetOngoingConferenceService extends Service
public void onCreate() {
super.onCreate();
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, this);
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, this, tapBackActivity);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
@@ -190,13 +190,28 @@ public class JitsiMeetOngoingConferenceService extends Service
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
final String actionName = intent.getAction();
final Action action = Action.fromName(actionName);
Boolean isAudioMuted = tryParseIsAudioMuted(intent);
if (action != Action.HANGUP) {
Boolean isAudioMuted = tryParseIsAudioMuted(intent);
if (isAudioMuted != null) {
this.isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
if (isAudioMuted != null) {
this.isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
}
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, this);
if (tapBackActivity == null) {
String targetActivityName = intent.getExtras().getString(ACTIVITY_DATA_KEY);
Class<? extends Activity> targetActivity = null;
try {
targetActivity = Class.forName(targetActivityName).asSubclass(Activity.class);
tapBackActivity = targetActivity;
} catch (ClassNotFoundException e) {
JitsiMeetLogger.w(TAG + " Could not find target Activity: " + targetActivityName);
}
}
Notification notification = OngoingNotification.buildOngoingConferenceNotification(this.isAudioMuted, this, tapBackActivity);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't start service, notification is null");
@@ -206,9 +221,6 @@ public class JitsiMeetOngoingConferenceService extends Service
}
}
final String actionName = intent.getAction();
final Action action = Action.fromName(actionName);
// When starting the service, there is no action passed in the intent
if (action != null) {
switch (action) {
@@ -281,8 +293,9 @@ public class JitsiMeetOngoingConferenceService extends Service
@Override
public void onReceive(Context context, Intent intent) {
Class tapBackActivity = JitsiMeetOngoingConferenceService.this.tapBackActivity;
isAudioMuted = Boolean.parseBoolean(intent.getStringExtra("muted"));
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, context);
Notification notification = OngoingNotification.buildOngoingConferenceNotification(isAudioMuted, context, tapBackActivity);
if (notification == null) {
stopSelf();
JitsiMeetLogger.w(TAG + " Couldn't update service, notification is null");

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;
@@ -73,14 +67,13 @@ class OngoingNotification {
notificationManager.createNotificationChannel(channel);
}
static Notification buildOngoingConferenceNotification(Boolean isMuted, Context context) {
static Notification buildOngoingConferenceNotification(Boolean isMuted, Context context, Class tapBackActivity) {
if (context == null) {
JitsiMeetLogger.w(TAG + " Cannot create notification: no current context");
return null;
}
Intent notificationIntent = new Intent(context, context.getClass());
Intent notificationIntent = new Intent(context, tapBackActivity == null ? context.getClass() : tapBackActivity);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_IMMUTABLE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, ONGOING_CONFERENCE_CHANNEL_ID);

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.
*
@@ -205,18 +200,6 @@ class ReactInstanceManagerHolder {
? reactContext.getNativeModule(nativeModuleClass) : null;
}
/**
* Gets the current {@link Activity} linked to React Native.
*
* @return An activity attached to React Native.
*/
static Activity getCurrentActivity() {
ReactContext reactContext
= reactInstanceManager != null
? reactInstanceManager.getCurrentReactContext() : null;
return reactContext != null ? reactContext.getCurrentActivity() : null;
}
static ReactInstanceManager getReactInstanceManager() {
return reactInstanceManager;
}
@@ -252,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

@@ -5,5 +5,12 @@ module.exports = {
plugins: [ 'react-native-paper/babel' ]
}
},
plugins: [ 'optional-require' ]
// This happens because react native has conflict with @babel/plugin-transform-private-methods plugin
// https://github.com/ethers-io/ethers.js/discussions/4309#discussioncomment-6694524
plugins: [ 'optional-require',
[ '@babel/plugin-transform-private-methods', {
'loose': true
} ]
]
};

View File

@@ -27,6 +27,7 @@ import {
conferenceJoinInProgress,
conferenceJoined,
conferenceLeft,
conferencePropertiesChanged,
conferenceSubjectChanged,
conferenceTimestampChanged,
conferenceUniqueIdSet,
@@ -111,6 +112,7 @@ import {
import {
getLocalParticipant,
getNormalizedDisplayName,
getParticipantByIdOrUndefined,
getVirtualScreenshareParticipantByOwnerId
} from './react/features/base/participants/functions';
import { updateSettings } from './react/features/base/settings/actions';
@@ -135,11 +137,11 @@ import {
isUserInteractionRequiredForUnmute
} from './react/features/base/tracks/functions';
import { downloadJSON } from './react/features/base/util/downloadJSON';
import { getJitsiMeetGlobalNSConnectionTimes } from './react/features/base/util/helpers';
import { openLeaveReasonDialog } from './react/features/conference/actions.web';
import { showDesktopPicker } from './react/features/desktop-picker/actions';
import { appendSuffix } from './react/features/display-name/functions';
import { maybeOpenFeedbackDialog, submitFeedback } from './react/features/feedback/actions';
import { initKeyboardShortcuts } from './react/features/keyboard-shortcuts/actions';
import { maybeSetLobbyChatMessageListener } from './react/features/lobby/actions.any';
import { setNoiseSuppressionEnabled } from './react/features/noise-suppression/actions';
import {
@@ -153,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';
@@ -163,6 +164,7 @@ import { toggleScreenshotCaptureSummary } from './react/features/screenshot-capt
import { AudioMixerEffect } from './react/features/stream-effects/audio-mixer/AudioMixerEffect';
import { createRnnoiseProcessor } from './react/features/stream-effects/rnnoise';
import { handleToggleVideoMuted } from './react/features/toolbox/actions.any';
import { transcriberJoined, transcriberLeft } from './react/features/transcribing/actions';
import { muteLocal } from './react/features/video-menu/actions.any';
const logger = Logger.getLogger(__filename);
@@ -412,9 +414,10 @@ export default {
* without any audio tracks.
* @param {boolean} options.startWithVideoMuted - will start the conference
* without any video tracks.
* @param {boolean} recordTimeMetrics - If true time metrics will be recorded.
* @returns {Promise<JitsiLocalTrack[]>, Object}
*/
createInitialLocalTracks(options = {}) {
createInitialLocalTracks(options = {}, recordTimeMetrics = false) {
const errors = {};
// Always get a handle on the audio input device so that we have statistics (such as "No audio input" or
@@ -431,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
@@ -448,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
@@ -484,24 +477,14 @@ export default {
} else if (requestedAudio || requestedVideo) {
tryCreateLocalTracks = APP.store.dispatch(createInitialAVTracks({
devices: initialDevices,
timeout,
firePermissionPromptIsShownEvent: true
})).then(({ tracks, errors: pErrors }) => {
timeout
}, recordTimeMetrics)).then(({ tracks, errors: pErrors }) => {
Object.assign(errors, pErrors);
return tracks;
});
}
// 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
@@ -559,10 +542,10 @@ export default {
* If prejoin page is enabled open an new connection in the background
* and create local tracks.
*
* @param {{ roomName: string }} options
* @param {{ roomName: string, shouldDispatchConnect }} options
* @returns {Promise}
*/
async init({ roomName }) {
async init({ roomName, shouldDispatchConnect }) {
const state = APP.store.getState();
const initialOptions = {
startAudioOnly: config.startAudioOnly,
@@ -570,8 +553,12 @@ export default {
startWithAudioMuted: getStartWithAudioMuted(state) || isUserInteractionRequiredForUnmute(state),
startWithVideoMuted: getStartWithVideoMuted(state) || isUserInteractionRequiredForUnmute(state)
};
const connectionTimes = getJitsiMeetGlobalNSConnectionTimes();
const startTime = window.performance.now();
logger.debug(`Executed conference.init with roomName: ${roomName}`);
connectionTimes['conference.init.start'] = startTime;
logger.debug(`Executed conference.init with roomName: ${roomName} (performance.now=${startTime})`);
this.roomName = roomName;
@@ -604,32 +591,65 @@ export default {
return localTracks;
};
const { dispatch, getState } = APP.store;
const { tryCreateLocalTracks, errors } = this.createInitialLocalTracks(initialOptions);
const createLocalTracksStart = window.performance.now();
dispatch(setInitialGUMPromise(tryCreateLocalTracks.then(async tr => {
connectionTimes['conference.init.createLocalTracks.start'] = createLocalTracksStart;
logger.debug(`(TIME) createInitialLocalTracks: ${createLocalTracksStart} `);
const { tryCreateLocalTracks, errors } = this.createInitialLocalTracks(initialOptions, true);
tryCreateLocalTracks.then(async tr => {
const createLocalTracksEnd = window.performance.now();
connectionTimes['conference.init.createLocalTracks.end'] = createLocalTracksEnd;
logger.debug(`(TIME) createInitialLocalTracks finished: ${createLocalTracksEnd} `);
const tracks = handleInitialTracks(initialOptions, tr);
this._initDeviceList(true);
const { initialGUMPromise } = getState()['features/base/media'];
if (isPrejoinPageVisible(getState())) {
dispatch(gumPending([ MEDIA_TYPE.AUDIO, MEDIA_TYPE.VIDEO ], IGUMPendingState.NONE));
dispatch(setInitialGUMPromise());
// Note: Not sure if initPrejoin needs to be async. But let's wait for it just to be sure the
// tracks are added.
// Since the conference is not yet created in redux this function will execute synchronous
// which will guarantee us that the local tracks are added to redux before we proceed.
initPrejoin(tracks, errors, dispatch);
connectionTimes['conference.init.end'] = window.performance.now();
// resolve the initialGUMPromise in case connect have finished so that we can proceed to join.
if (initialGUMPromise) {
logger.debug('Resolving the initialGUM promise! (prejoinVisible=true)');
initialGUMPromise.resolve({
tracks,
errors
});
}
logger.debug('Clear the initialGUM promise! (prejoinVisible=true)');
// For prejoin we don't need the initial GUM promise since the tracks are already added to the store
// via initPrejoin
dispatch(setInitialGUMPromise());
} else {
APP.store.dispatch(displayErrorsForCreateInitialLocalTracks(errors));
setGUMPendingStateOnFailedTracks(tracks, APP.store.dispatch);
connectionTimes['conference.init.end'] = window.performance.now();
if (initialGUMPromise) {
logger.debug('Resolving the initialGUM promise!');
initialGUMPromise.resolve({
tracks,
errors
});
}
}
});
return {
tracks,
errors
};
})));
if (!isPrejoinPageVisible(getState())) {
if (shouldDispatchConnect) {
logger.info('Dispatching connect from init since prejoin is not visible.');
dispatch(connect());
}
},
@@ -992,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: {},
@@ -1379,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
@@ -1577,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}`);
}
}
@@ -1683,6 +1694,16 @@ export default {
}
);
room.on(
JitsiConferenceEvents.TRANSCRIPTION_STATUS_CHANGED,
(status, id, abruptly) => {
if (status === JitsiMeetJS.constants.transcriptionStatus.ON) {
APP.store.dispatch(transcriberJoined(id));
} else if (status === JitsiMeetJS.constants.transcriptionStatus.OFF) {
APP.store.dispatch(transcriberLeft(id, abruptly));
}
});
room.on(
JitsiConferenceEvents.ENDPOINT_MESSAGE_RECEIVED,
(participant, data) => {
@@ -1709,6 +1730,10 @@ export default {
JitsiConferenceEvents.LOCK_STATE_CHANGED,
(...args) => APP.store.dispatch(lockStateChanged(room, ...args)));
room.on(
JitsiConferenceEvents.PROPERTIES_CHANGED,
properties => APP.store.dispatch(conferencePropertiesChanged(properties)));
room.on(JitsiConferenceEvents.KICKED, (participant, reason, isReplaced) => {
if (isReplaced) {
// this event triggers when the local participant is kicked, `participant`
@@ -1775,12 +1800,17 @@ export default {
room.addCommandListener(
this.commands.defaults.AVATAR_URL,
(data, from) => {
APP.store.dispatch(
participantUpdated({
conference: room,
id: from,
avatarURL: data.value
}));
const participant = getParticipantByIdOrUndefined(APP.store, from);
// if already set from presence(jwt), skip the command processing
if (!participant?.avatarURL) {
APP.store.dispatch(
participantUpdated({
conference: room,
id: from,
avatarURL: data.value
}));
}
});
room.on(
@@ -1999,7 +2029,6 @@ export default {
APP.UI.initConference();
dispatch(initKeyboardShortcuts());
dispatch(conferenceJoined(room));
const jwt = APP.store.getState()['features/base/jwt'];
@@ -2034,8 +2063,9 @@ export default {
const { dispatch } = APP.store;
return dispatch(getAvailableDevices())
.then(devices => {
APP.UI.onAvailableDevicesChanged(devices);
.then(() => {
this.updateAudioIconEnabled();
this.updateVideoIconEnabled();
});
}
@@ -2200,7 +2230,8 @@ export default {
return Promise.all(promises)
.then(() => {
APP.UI.onAvailableDevicesChanged(filteredDevices);
this.updateAudioIconEnabled();
this.updateVideoIconEnabled();
});
},

242
config.js
View File

@@ -84,9 +84,8 @@ var config = {
// Allows the setting of a custom bandwidth value from the UI.
// assumeBandwidth: true,
// Disables the End to End Encryption feature. Useful for debugging
// issues related to insertable streams.
// disableE2EE: false,
// Enables use of getDisplayMedia in electron
// electronUseGetDisplayMedia: false,
// Enables the use of the codec selection API supported by the browsers .
// enableCodecSelectionAPI: false,
@@ -107,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.
@@ -213,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',
// }
// },
// },
@@ -232,9 +268,26 @@ var config = {
// Sets the preferred resolution (height) for local video. Defaults to 720.
// resolution: 720,
// DEPRECATED. Please use raisedHands.disableRemoveRaisedHandOnFocus instead.
// Specifies whether the raised hand will hide when someone becomes a dominant speaker or not
// disableRemoveRaisedHandOnFocus: false,
// Specifies which raised hand related config should be set.
// raisedHands: {
// // Specifies whether the raised hand can be lowered by moderator.
// disableLowerHandByModerator: false,
// // Specifies whether there is a notification before hiding the raised hand
// // when someone becomes the dominant speaker.
// disableLowerHandNotification: true,
// // Specifies whether there is a notification when you are the next speaker in line.
// disableNextSpeakerNotification: false,
// // Specifies whether the raised hand will hide when someone becomes a dominant speaker or not.
// disableRemoveRaisedHandOnFocus: false,
// },
// speakerStats: {
// // Specifies whether the speaker stats is enable or not.
// disabled: false,
@@ -318,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.
@@ -341,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: {
@@ -413,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.
@@ -434,6 +486,10 @@ var config = {
// // Enables automatic turning on transcribing when recording is started
// autoTranscribeOnRecord: false,
// // Enables automatic request of subtitles when transcriber is present in the meeting, uses the default
// // language that is set
// autoCaptionOnTranscribe: false,
// },
// Misc
@@ -459,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: {
@@ -515,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)
@@ -556,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
@@ -608,14 +629,6 @@ var config = {
// Disables or enables REMB support in this client (default: enabled).
// enableRemb: true,
// Enables ICE restart logic in LJM and displays the page reload overlay on
// ICE failure. Current disabled by default because it's causing issues with
// signaling when Octo is enabled. Also when we do an "ICE restart"(which is
// not a real ICE restart), the client maintains the TCC sequence number
// counter, but the bridge resets it. The bridge sends media packets with
// TCC sequence numbers starting from 0.
// enableIceRestart: false,
// Enables forced reload of the client when the call is migrated as a result of
// the bridge going down.
// enableForcedReload: true,
@@ -738,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.
@@ -749,6 +765,11 @@ var config = {
// hideDisplayName: false,
// // List of buttons to hide from the extra join options dropdown.
// hideExtraJoinButtons: ['no-audio', 'by-phone'],
// // Configuration for pre-call test
// // By setting preCallTestEnabled, you enable the pre-call test in the prejoin page.
// // ICE server credentials need to be provided over the preCallTestICEUrl
// preCallTestEnabled: false,
// preCallTestICEUrl: ''
// },
// When 'true', the user cannot edit the display name.
@@ -767,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/' ],
@@ -855,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: [
@@ -1068,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: {
@@ -1209,6 +1217,7 @@ var config = {
// warning: '',
// },
// externallyManagedKey: false,
// disabled: false,
// },
// Options related to end-to-end (participant to participant) ping.
@@ -1426,6 +1435,13 @@ var config = {
*/
// dynamicBrandingUrl: '',
// A list of allowed URL domains for shared video.
//
// NOTE:
// '*' is allowed value and it will allow any URL to be used for shared video. We do not recommend using '*',
// use it at your own risk!
// sharedVideoAllowedURLDomains: [ ],
// Options related to the participants pane.
// participantsPane: {
// // Enables feature
@@ -1549,25 +1565,61 @@ var config = {
// and will automatically redirect to the token service to get the token for the meeting.
// tokenAuthUrlAutoRedirect: false
// You can put an array of values to target different entity types in the invite dialog.
// Valid values are "phone", "room", "sip", "user", "videosipgw" and "email"
// peopleSearchQueryTypes: ["user", "email"],
// Directory endpoint which is called for invite dialog autocomplete
// peopleSearchUrl: "https://myservice.com/api/people",
// Endpoint which is called to send invitation requests
// inviteServiceUrl: "https://myservice.com/api/invite",
// 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
peopleSearchQueryTypes
peopleSearchUrl
requireDisplayName
*/
/**
@@ -1583,14 +1635,7 @@ var config = {
_peerConnStatusRtcMuteTimeout
avgRtpStatsN
desktopSharingSources
disableAEC
disableAGC
disableAP
disableHPF
disableLocalStats
disableNS
enableTalkWhileMuted
forceTurnRelay
hiddenDomain
hiddenFromRecorderFeatureEnabled
ignoreStartMuted
@@ -1667,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"
@@ -1688,7 +1733,7 @@ var config = {
// 'toolbar.noAudioSignalTitle', // shown when a broken mic is detected
// 'toolbar.noisyAudioInputTitle', // shown when noise is detected for the current microphone
// 'toolbar.talkWhileMutedPopup', // shown when user tries to speak while muted
// 'transcribing.failedToStart', // shown when transcribing fails to start
// 'transcribing.failed', // shown when transcribing fails
// ],
// List of notifications to be disabled. Works in tandem with the above setting.
@@ -1698,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.
@@ -1747,8 +1792,6 @@ var config = {
// tileTime: 5000,
// // Limit results by rating: g, pg, pg-13, r. Default value: g.
// rating: 'pg',
// // The proxy server url for giphy requests in the web app.
// proxyUrl: 'https://giphy-proxy.example.com',
// },
// Logging
@@ -1759,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
@@ -1819,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

@@ -1,5 +1,8 @@
@use './variables';
#chat-conversation-container {
// extract message input height
box-sizing: border-box;
height: calc(100% - 64px);
overflow: hidden;
position: relative;
@@ -9,7 +12,7 @@
box-sizing: border-box;
flex: 1;
font-size: 10pt;
height: 100%;
height: calc(100% - 10px);
line-height: 20px;
overflow: auto;
padding: 16px;
@@ -19,6 +22,13 @@
display: flex;
flex-direction: column;
&.focus-visible {
outline: 0;
margin: 4px;
border-radius: 0 0 variables.$borderRadius variables.$borderRadius;
box-shadow: 0px 0px 0px 2px #4687ed; // focus01/primary07
}
& > :first-child {
margin-top: auto;
}

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

@@ -1,26 +0,0 @@
.transcription-subtitles {
bottom: $newToolbarSize + 40px;
font-size: 16px;
font-weight: 1000;
left: 50%;
max-width: 50vw;
opacity: 0.80;
overflow-wrap: break-word;
pointer-events: none;
position: absolute;
text-shadow: 0px 0px 1px rgba(0,0,0,0.3),
0px 1px 1px rgba(0,0,0,0.3),
1px 0px 1px rgba(0,0,0,0.3),
0px 0px 1px rgba(0,0,0,0.3);
transform: translateX(-50%);
z-index: 7;
&.lifted {
// Lift subtitle above toolbar+dominant speaker box.
bottom: $newToolbarSize + 36px + 40px;
}
span {
background: black;
}
}

View File

@@ -18,8 +18,7 @@
*/
#dominantSpeaker,
#largeVideoElementsContainer,
#sharedVideo,
.stage-participant-label {
#sharedVideo {
display: none;
}

View File

@@ -61,7 +61,6 @@ $flagsImagePath: "../images/";
@import 'filmstrip/vertical_filmstrip_overrides';
@import 'unsupported-browser/main';
@import 'deep-linking/main';
@import 'transcription-subtitles';
@import '_meetings_list.scss';
@import 'navigate_section_list';
@import 'third-party-branding/google';

3
debian/control vendored
View File

@@ -20,7 +20,8 @@ Description: WebRTC JavaScript video conferences
Package: jitsi-meet-web-config
Architecture: all
Depends: openssl, nginx | nginx-full | nginx-extras | openresty | apache2, curl
Pre-Depends: nginx | nginx-full | nginx-extras | openresty | apache2
Depends: openssl, curl
Description: Configuration for web serving of Jitsi Meet
Jitsi Meet is a WebRTC JavaScript application that uses Jitsi
Videobridge to provide high quality, scalable video conferences.

View File

@@ -252,9 +252,10 @@ case "$1" in
if [ "$PROSODY_CONFIG_PRESENT" = "false" ]; then
invoke-rc.d prosody restart || true
# In case we had updated the certificates and restarted prosody, let's restart and the bridge if possible
# In case we had updated the certificates and restarted prosody, let's restart and the bridge and jicofo if possible
if [ -d /run/systemd/system ] && [ "$CERT_ADDED_TO_TRUST" = "true" ]; then
systemctl restart jitsi-videobridge2.service >/dev/null || true
systemctl restart jicofo.service >/dev/null || true
fi
fi
;;

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"

View File

@@ -154,6 +154,8 @@ server {
proxy_pass http://127.0.0.1:8888/conference-request/v1$1;
add_header "Cache-Control" "no-cache, no-store";
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Content-Type';
}
location ~ ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ {
rewrite ^/([^/?&:'"]+)/conference-request/v1(\/.*)?$ /conference-request/v1$2;

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;

1
globals.native.d.ts vendored
View File

@@ -40,6 +40,7 @@ interface IWindow {
interface INavigator {
product: string;
userAgent: string;
}
declare global {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -69,6 +69,11 @@
window.indexLoadedTime = window.performance.now();
console.log("(TIME) index.html loaded:\t", indexLoadedTime);
window.addEventListener('load', function() {
window.loadedEventTime = window.performance.now();
console.log("(TIME) window loaded event:\t", loadedEventTime);
});
// XXX the code below listeners for errors and displays an error message
// in the document body when any of the required files fails to load.
// The intention is to prevent from displaying broken page.

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

@@ -5,7 +5,7 @@ require Pod::Executable.execute_command('node', ['-p',
{paths: [process.argv[1]]},
)', __dir__]).strip
platform :ios, '13.4'
platform :ios, '15.1'
workspace 'jitsi-meet'
install! 'cocoapods', :deterministic_uuids => false
@@ -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'] = '13.4'
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

@@ -17,6 +17,8 @@
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>1C8F.1</string>
<string>C56D.1</string>
<string>CA92.1</string>
</array>
</dict>

View File

@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 54;
objectVersion = 60;
objects = {
/* Begin PBXBuildFile section */
@@ -24,6 +24,9 @@
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 13B07FB51A68108700A75B9A /* Images.xcassets */; };
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 */; };
@@ -74,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 */,
);
@@ -142,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>"; };
@@ -151,6 +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; 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>"; };
@@ -163,7 +169,7 @@
DEFDBBDB25656E3B00344B23 /* WebRTC.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = WebRTC.xcframework; path = "../../node_modules/react-native-webrtc/ios/WebRTC.xcframework"; sourceTree = "<group>"; };
E58801132278944E008B0561 /* JitsiMeetContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetContext.swift; sourceTree = "<group>"; };
E5C97B62227A1EB400199214 /* JitsiMeetCommands.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JitsiMeetCommands.swift; sourceTree = "<group>"; };
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = GiphyUISDK.xcframework; path = ../Pods/Giphy/GiphySDK/GiphyUISDK.xcframework; sourceTree = "<group>"; };
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */ = {isa = PBXFileReference; expectedSignature = "AppleDeveloperProgram:925PGC4MV7:Giphy, Inc."; lastKnownFileType = wrapper.xcframework; name = GiphyUISDK.xcframework; path = ../Pods/Giphy/GiphySDK/GiphyUISDK.xcframework; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -182,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;
};
@@ -206,6 +213,7 @@
0B26BE711EC5BC4D00EEFB41 /* Frameworks */ = {
isa = PBXGroup;
children = (
4341A9052CF0D63200940D93 /* hermes.xcframework */,
DED016F028ECBC9D009D5E8D /* WebRTC.xcframework */,
FD572B9727EDF32300A800FB /* GiphyUISDK.xcframework */,
DEA9F288258A6EA800D4CD74 /* JitsiMeetSDK.framework */,
@@ -295,6 +303,7 @@
4EB06025260E026600F524C5 /* JitsiMeetBroadcast Extension */,
CDD71F5E1157E9F283DF92A8 /* Pods */,
6132EF172BDFF13200BBE14D /* PrivacyInfo.xcprivacy */,
5C1BE20ECD5DEEB48FED90B5 /* PrivacyInfo.xcprivacy */,
);
indentWidth = 2;
sourceTree = "<group>";
@@ -486,6 +495,7 @@
0B412F211EDEE95300B1A0A6 /* Main.storyboard in Resources */,
13B07FBF1A68108700A75B9A /* Images.xcassets in Resources */,
13B07FBD1A68108700A75B9A /* LaunchScreen.xib in Resources */,
361974E2A13624D7735D619D /* PrivacyInfo.xcprivacy in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -506,7 +516,7 @@
files = (
);
inputPaths = (
"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH",
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
);
name = "Adjust ATS";
outputPaths = (
@@ -539,7 +549,7 @@
inputFileListPaths = (
);
inputPaths = (
"$PROJECT_DIR/app.entitlements",
$PROJECT_DIR/app.entitlements,
);
name = "Update App Entitlements";
outputFileListPaths = (
@@ -581,7 +591,7 @@
inputFileListPaths = (
);
inputPaths = (
"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH",
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
);
name = "Setup Google reverse URL handler";
outputFileListPaths = (
@@ -601,7 +611,7 @@
inputFileListPaths = (
);
inputPaths = (
"$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH",
$BUILT_PRODUCTS_DIR/$INFOPLIST_PATH,
);
name = "Setup Dropbox";
outputFileListPaths = (
@@ -858,7 +868,6 @@
baseConfigurationReference = 756FCE06C08D9B947653C98A /* Pods-JitsiMeet.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconDebug;
CODE_SIGN_ENTITLEMENTS = app.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
@@ -880,6 +889,11 @@
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet;
PRODUCT_NAME = "jitsi-meet";
PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
@@ -888,7 +902,6 @@
baseConfigurationReference = 3E0F4ED943C0B12BE77F6B45 /* Pods-JitsiMeet.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
ASSETCATALOG_COMPILER_APPICON_NAME = AppIconRelease;
CODE_SIGN_ENTITLEMENTS = app.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
@@ -909,6 +922,11 @@
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet;
PRODUCT_NAME = "jitsi-meet";
PROVISIONING_PROFILE_SPECIFIER = "";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
@@ -940,6 +958,10 @@
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.broadcast.extension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -975,6 +997,10 @@
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.meet.broadcast.extension;
PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OPTIMIZATION_LEVEL = "-O";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -985,6 +1011,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CC = "";
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LIBRARY = "libc++";
@@ -1011,6 +1038,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CXX = "";
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
@@ -1034,7 +1062,9 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD = "";
LDPLUSPLUS = "";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "$(inherited)";
@@ -1042,8 +1072,9 @@
OTHER_LDFLAGS = "$(inherited)";
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
TARGETED_DEVICE_FAMILY = "1,2";
USE_HERMES = false;
USE_HERMES = true;
};
name = Debug;
};
@@ -1051,6 +1082,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CC = "";
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "c++20";
CLANG_CXX_LIBRARY = "libc++";
@@ -1077,6 +1109,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = YES;
CXX = "";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
@@ -1096,7 +1129,9 @@
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
);
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD = "";
LDPLUSPLUS = "";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
@@ -1105,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

@@ -1,14 +1,12 @@
#!/bin/bash
set -e -u
set -e -u -x
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
PROJECT_REPO=$(realpath ${THIS_DIR}/../..)
RELEASE_REPO=$(realpath ${THIS_DIR}/../../../jitsi-meet-ios-sdk-releases)
DEFAULT_SDK_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${THIS_DIR}/../sdk/src/Lite-Info.plist)
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
DO_GIT_TAG=${GIT_TAG:-0}
echo "Releasing Jitsi Meet SDK Lite ${SDK_VERSION}"
@@ -50,22 +48,18 @@ xcodebuild -create-xcframework \
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
-output ios/sdk/out/JitsiMeetSDK.xcframework
if [[ $DO_GIT_TAG == 1 ]]; then
git tag ios-sdk-lite-${SDK_VERSION}
fi
popd
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
if [[ $DO_GIT_TAG == 1 ]]; then
git add -A .
git commit -m "${SDK_VERSION} lite"
git tag "${SDK_VERSION}-lite"
fi
git add -A .
git commit --allow-empty -m "${SDK_VERSION} lite"
git tag "${SDK_VERSION}-lite"
popd

View File

@@ -1,14 +1,12 @@
#!/bin/bash
set -e -u
set -e -u -x
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
PROJECT_REPO=$(realpath ${THIS_DIR}/../..)
RELEASE_REPO=$(realpath ${THIS_DIR}/../../../jitsi-meet-ios-sdk-releases)
DEFAULT_SDK_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${THIS_DIR}/../sdk/src/Info.plist)
SDK_VERSION=${OVERRIDE_SDK_VERSION:-${DEFAULT_SDK_VERSION}}
DO_GIT_TAG=${GIT_TAG:-0}
echo "Releasing Jitsi Meet SDK ${SDK_VERSION}"
@@ -50,22 +48,18 @@ xcodebuild -create-xcframework \
-framework ios/sdk/out/ios-device.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
-framework ios/sdk/out/ios-simulator.xcarchive/Products/Library/Frameworks/JitsiMeetSDK.framework \
-output ios/sdk/out/JitsiMeetSDK.xcframework
if [[ $DO_GIT_TAG == 1 ]]; then
git tag ios-sdk-${SDK_VERSION}
fi
popd
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
if [[ $DO_GIT_TAG == 1 ]]; then
git add -A .
git commit -m "${SDK_VERSION}"
git tag ${SDK_VERSION}
fi
git add -A .
git commit --allow-empty -m "${SDK_VERSION}"
git tag "${SDK_VERSION}"
popd

View File

@@ -2,4 +2,4 @@
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
exec ${THIS_DIR}/../../node_modules/react-native/scripts/launchPackager.command --reset-cache
exec ${THIS_DIR}/../../node_modules/react-native/scripts/packager.sh --reset-cache

View File

@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objectVersion = 54;
objects = {
/* Begin PBXBuildFile section */
@@ -727,6 +727,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CC = "";
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -757,6 +758,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
CXX = "";
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
@@ -776,7 +778,9 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD = "";
LDPLUSPLUS = "";
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = "$(inherited)";
@@ -784,8 +788,9 @@
OTHER_LDFLAGS = "$(inherited)";
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
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 = "";
};
@@ -795,6 +800,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CC = "";
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
@@ -825,6 +831,7 @@
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
CXX = "";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
@@ -841,7 +848,9 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.4;
IPHONEOS_DEPLOYMENT_TARGET = 15.1;
LD = "";
LDPLUSPLUS = "";
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_CFLAGS = "$(inherited)";
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
@@ -850,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 = "";
@@ -862,7 +871,6 @@
baseConfigurationReference = 09A78016288AF50ACD28A10D /* Pods-JitsiMeetSDK.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -873,16 +881,24 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
@@ -891,7 +907,6 @@
baseConfigurationReference = 891FE43DAD30BC8976683100 /* Pods-JitsiMeetSDK.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -902,15 +917,23 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "";
INFOPLIST_FILE = src/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
@@ -919,7 +942,6 @@
baseConfigurationReference = 8F48C340DE0D91D1012976C5 /* Pods-JitsiMeetSDKLite.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -935,16 +957,24 @@
"JITSI_MEET_SDK_LITE=1",
);
INFOPLIST_FILE = "src/Lite-Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
PRODUCT_NAME = JitsiMeetSDK;
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
@@ -953,7 +983,6 @@
baseConfigurationReference = 86389F55993FAAF6AEB3FA3E /* Pods-JitsiMeetSDKLite.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -969,15 +998,23 @@
JITSI_MEET_SDK_LITE,
);
INFOPLIST_FILE = "src/Lite-Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = org.jitsi.JitsiMeetSDK.ios;
PRODUCT_NAME = JitsiMeetSDK;
PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_INSTALL_OBJC_HEADER = NO;
SWIFT_OBJC_INTERFACE_HEADER_NAME = "";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};

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

@@ -68,7 +68,7 @@
"DISCONNECTED": "Ontkoppeld",
"DISCONNECTING": "Ontkoppel tans",
"ERROR": "Fout",
"RECONNECTING": "n Netwerkprobleem het voorgekom. Herkoppel tans..."
"RECONNECTING": "n Netwerkprobleem het voorgekom. Herkoppel tans"
},
"connectionindicator": {
"address": "Adres:",
@@ -426,7 +426,7 @@
"somebody": "Iemand",
"startSilentDescription": "",
"startSilentTitle": "",
"suboptimalExperienceDescription": "Gits... ons is bevrees u ervaring met {{appName}} gaan nie so goed wees hier nie. Ons soek maniere om dit die hoof te bied, maar probeer intussen een van die <a href='{{recommendedBrowserPageLink}}' target='_blank'>volledig ondersteunde blaaiers</a>.",
"suboptimalExperienceDescription": "Gits ons is bevrees u ervaring met {{appName}} gaan nie so goed wees hier nie. Ons soek maniere om dit die hoof te bied, maar probeer intussen een van die <a href='{{recommendedBrowserPageLink}}' target='_blank'>volledig ondersteunde blaaiers</a>.",
"suboptimalExperienceTitle": "Blaaierwaarskuwing",
"unmute": ""
},
@@ -443,7 +443,7 @@
"calling": "Bel tans…",
"connected": "Gekoppel",
"connecting": "Koppel tans…",
"connecting2": "Koppel tans*...",
"connecting2": "Koppel tans*",
"disconnected": "Ontkoppeld",
"expired": "Verval",
"ignored": "Geïgnoreer",
@@ -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

@@ -122,7 +122,7 @@
"installExtensionText": "نزِّل الإضافة للدمج مع رزنامة غوغل ورزنامة أوفيس 365"
},
"connectingOverlay": {
"joiningRoom": "قيد وصلك بالإجتماع..."
"joiningRoom": "قيد وصلك بالإجتماع"
},
"connection": {
"ATTACHED": "رُبِط",
@@ -134,7 +134,7 @@
"DISCONNECTED": "فُصِل",
"DISCONNECTING": "قيد الفصل",
"ERROR": "خطأ",
"FETCH_SESSION_ID": "قيد الحصول على مُعرِّف الجلسة...",
"FETCH_SESSION_ID": "قيد الحصول على مُعرِّف الجلسة",
"GET_SESSION_ID_ERROR": "خطأ في الحصول على مُعرِّف الجلسة: {{code}}",
"GOT_SESSION_ID": "جرى الحصول على مُعرِّف الجلسة",
"LOW_BANDWIDTH": "أوقف فيديو {{displayName}} لتوفير كمية البيانات المتبادلة"
@@ -189,7 +189,7 @@
"ifHaveApp": "إن كان لديك التطبيق:",
"joinInApp": "انضم للمُلتقى عبر تطبيق الجوال",
"launchWebButton": "افتح تطبيق الويب",
"title": "قيد عقد مُلتقىك في {{app}}...",
"title": "قيد عقد مُلتقىك في {{app}}",
"tryAgainButton": "جرب مرة أخرى في تطبيق الحاسوب",
"unsupportedBrowser": "يبدو أنك تستخدم متصفحًا لا ندعمه."
},
@@ -222,7 +222,7 @@
"Share": "شارك",
"Submit": "أرسل",
"WaitForHostMsg": "لم يبدأ المؤتمر بعد. إن كنت المضيف والراعي، فنرجو تأكيد ذلك عبر الاستيثاق أو انتظر وصول المضيف رجاءً. ",
"WaitingForHostTitle": "في انتظار المضيف ...",
"WaitingForHostTitle": "في انتظار المضيف",
"Yes": "نعم",
"accessibilityLabel": {
"liveStreaming": "بث حي مباشر"
@@ -244,9 +244,9 @@
"cameraUnknownError": "يصعب استعمال الكاميرا لأسباب مجهولة.",
"cameraUnsupportedResolutionError": "لا تدعم كاميرتك دقة الفيديو المطلوبة.",
"close": "أغلق",
"conferenceDisconnectMsg": "قد تضطر للتحقق من اتصال الشبكة لديك. سيعاد الاتصال خلال {{seconds}} ثانية...",
"conferenceDisconnectMsg": "قد تضطر للتحقق من اتصال الشبكة لديك. سيعاد الاتصال خلال {{seconds}} ثانية",
"conferenceDisconnectTitle": "فُصِل الاتصال لديك.",
"conferenceReloadMsg": "نحاول إصلاح الأمر. سيعاد الاتصال خلال {{seconds}} ثانية...",
"conferenceReloadMsg": "نحاول إصلاح الأمر. سيعاد الاتصال خلال {{seconds}} ثانية",
"conferenceReloadTitle": "لم تسر الأمور على ما يرام، نأسف لذلك!",
"confirm": "أكِّد",
"confirmNo": "لا",
@@ -531,7 +531,7 @@
"errorLiveStreamNotEnabled": "البث الحي غير مفعَّل على على {{email}}. فعَّل البث الحي رجاءً، أو سجِّل الدخل إلى حسابٍ مُفعَّل فيه البث الحي",
"expandedOff": "أُوقِف البث الحي",
"expandedOn": "يجري بث المُلتقى على يوتيوب",
"expandedPending": "تبدأ عملية البث الحي...",
"expandedPending": "تبدأ عملية البث الحي",
"failedToStart": "فشلت عملية بدء البث الحي",
"getStreamKeyManually": "لم نتمكن من الوصول إلى أي بث حي. جرب جلب مفتاح بث حي خاص بك من يوتيوب.",
"googlePrivacyPolicy": "سياسية خصوصية غوغل",
@@ -574,10 +574,10 @@
"joinRejectedMessage": "رفض رئيس الجلسة منحك الإذن بالدخول إلى المُلتقى",
"joinRejectedTitle": "تم رفض طلب الانضمام.",
"joinTitle": "انضم للمُلتقى",
"joinWithPasswordMessage": "الرجاء الانتظار أثناء محاولة الدخول دون كلمة مرور...",
"joinWithPasswordMessage": "الرجاء الانتظار أثناء محاولة الدخول دون كلمة مرور",
"joiningMessage": "ستتمكن من الانضمام للمُلتقى بعد الموافقة على طلبك",
"joiningTitle": "يجري طلب إذنٍ للدخول...",
"joiningWithPasswordTitle": "الدخول مع كلمة مرور...",
"joiningTitle": "يجري طلب إذنٍ للدخول",
"joiningWithPasswordTitle": "الدخول مع كلمة مرور",
"knockButton": "اطلب إذن الدخول",
"knockTitle": "يريد أحدٌ الدخول إلى المُلتقى",
"knockingParticipantList": "تنبيه قائمة المشاركين",
@@ -658,7 +658,7 @@
"linkToSalesforceDescription": "يمكنك ربط ملخص الاجتماع بكائن Salesforce.",
"linkToSalesforceError": "فشل ربط المُلتقى بـ Salesforce",
"linkToSalesforceKey": "ربط هذا المُلتقى",
"linkToSalesforceProgress": "جارٍ ربط الاجتماع بـ Salesforce ...",
"linkToSalesforceProgress": "جارٍ ربط الاجتماع بـ Salesforce",
"linkToSalesforceSuccess": "تم ربط الاجتماع بـ Salesforce",
"localRecordingStarted": "بدأ {{name}} تسجيلًا محليًا.",
"localRecordingStopped": "أوقف {{name}} التسجيل المحلي.",
@@ -789,7 +789,7 @@
"callMe": "اتصل بي",
"callMeAtNumber": "اتصل بي على هذا الرقم:",
"calling": "قيد الاتصال",
"configuringDevices": "يجري ضبط الأجهزة...",
"configuringDevices": "يجري ضبط الأجهزة",
"connectedWithAudioQ": "هل متصل بجهاز صوت؟",
"connection": {
"good": "اتصال الإنترنت لديك جيد!",
@@ -843,17 +843,17 @@
},
"presenceStatus": {
"busy": "مشغول",
"calling": "يتحدث...",
"calling": "يتحدث",
"connected": "متصل",
"connecting": "يتصل...",
"connecting2": "يتصل...",
"connecting": "يتصل",
"connecting2": "يتصل",
"disconnected": "غير الاتصال",
"expired": "منتهي الصلاحية",
"ignored": "مهمل",
"initializingCall": "تهيئة مكالمة...",
"initializingCall": "تهيئة مكالمة",
"invited": "مدعو",
"rejected": "مرفوض",
"ringing": "يرن..."
"ringing": "يرن"
},
"privacyView": {
"title": "خصوصية"
@@ -890,7 +890,7 @@
"errorFetchingLink": "خطأ في جلب رابط التسجيل.",
"expandedOff": "أوقٍف التسجيل",
"expandedOn": "يُسجَّل المُلتقى الآن",
"expandedPending": "بدء التسجيل...",
"expandedPending": "بدء التسجيل",
"failedToStart": "فشل بدء التسجيل",
"fileSharingdescription": "شارك التسجيل مع المشاركين للمُلتقى",
"highlight": "تسليط الضوء",
@@ -917,7 +917,7 @@
"on": "تسجيل",
"onBy": "بدأ {{name}} التسجيل",
"onlyRecordSelf": "تسجيل فقط دفق الصوت والفيديو الخاصة بي",
"pending": "التحضير لتسجيل المُلتقى...",
"pending": "التحضير لتسجيل المُلتقى",
"rec": "تسجيل",
"saveLocalRecording": "حفظ ملف التسجيل محليا",
"serviceDescription": "ستحفظ خدمة التسجيل الفيديو المستجل",
@@ -1215,7 +1215,7 @@
"failedToStart": "فشلت عملية بدء الإذاعة",
"labelToolTip": "يجري إذاعة المُلتقى",
"off": "أوقفت الإذاعة",
"pending": "التحضير لإذاعة المُلتقى...",
"pending": "التحضير لإذاعة المُلتقى",
"start": "بدء إظهار الترجمة",
"stop": "إيقاف عرض الترجمة",
"subtitles": "ترجمات",
@@ -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": "نعمل على تحرير الموارد. حاول مرة أخرى لاحقًا بعد بضعة دقائق.",
@@ -1302,7 +1293,7 @@
"image6": "غابة",
"image7": "شروق الشمس",
"none": "بدون",
"pleaseWait": "يرجى الانتظار...",
"pleaseWait": "يرجى الانتظار",
"removeBackground": "إزالة خلفية",
"slightBlur": "طمس طفيف",
"title": "خلفيات افتراضية",

View File

@@ -489,7 +489,7 @@
"calling": "Выклікаю…",
"connected": "Падключана",
"connecting": "Падлучэнне…",
"connecting2": "Падлучэнне * ...",
"connecting2": "Падлучэнне *",
"disconnected": "Адключана",
"expired": "Скончыўся",
"ignored": "праігнаравалі",
@@ -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

@@ -80,7 +80,7 @@
"installExtensionText": "Инсталирайте разширенията за Google Calendar и Office 365"
},
"connectingOverlay": {
"joiningRoom": "Свързване с вашата среща..."
"joiningRoom": "Свързване с вашата среща"
},
"connection": {
"ATTACHED": "Прикрепен",
@@ -92,11 +92,11 @@
"DISCONNECTED": "Изключен",
"DISCONNECTING": "Прекъсване на връзката",
"ERROR": "Грешка",
"FETCH_SESSION_ID": "Отваряне на сесия...",
"FETCH_SESSION_ID": "Отваряне на сесия",
"GET_SESSION_ID_ERROR": "Грешка при отваряне на сесията: {{code}}",
"GOT_SESSION_ID": "Отваряне на сесията... Готово",
"GOT_SESSION_ID": "Отваряне на сесията Готово",
"LOW_BANDWIDTH": "Видеото на {{displayName}} беше изключено, поради слаба Интернет връзка",
"RECONNECTING": "Появи се проблем с мрежата. Връзваме се наново..."
"RECONNECTING": "Появи се проблем с мрежата. Връзваме се наново"
},
"connectionindicator": {
"address": "Адрес:",
@@ -140,7 +140,7 @@
"downloadApp": "Свалете приложението",
"launchWebButton": "Заредете уеб страницата",
"openApp": "Продължете към приложението",
"title": "Зареждане на срещата в {{app}}...",
"title": "Зареждане на срещата в {{app}}",
"tryAgainButton": "Пробвайте отново"
},
"defaultLink": "напр. {{url}}",
@@ -169,7 +169,7 @@
"Share": "Споделяне",
"Submit": "Изпращане",
"WaitForHostMsg": "Конференцията все още не е започнала. Ако сте домакинът, тогава се идентифицирайте. В противен случай изчакайте докато домакинът пристигне.",
"WaitingForHost": "Чакаме домакина...",
"WaitingForHost": "Чакаме домакина",
"Yes": "Да",
"accessibilityLabel": {
"liveStreaming": "Излъчване на живо"
@@ -398,7 +398,7 @@
"errorLiveStreamNotEnabled": "Предаването на живо не е пуснато за {{email}}. Моля, активирайте го или сменете акаунта.",
"expandedOff": "Предаването на живо бе спряно",
"expandedOn": "Срещата се излъчва на живо в YouTube.",
"expandedPending": "Излъчването на живо се стартира...",
"expandedPending": "Излъчването на живо се стартира",
"failedToStart": "Излъчването на живо не успя да започне",
"getStreamKeyManually": "Не успяхме да открием никакво предаване на живо. Опитайте да вземете ключа за такова от YouTube.",
"googlePrivacyPolicy": "Политика за поверителност на Google",
@@ -433,10 +433,10 @@
"invalidPassword": "Невалидна парола",
"joinRejectedMessage": "Вашето желание за включване беше отхвърлено от модератор.",
"joinTitle": "Включи се в срещата",
"joinWithPasswordMessage": "Опит за включване с парола, моля изчакайте...",
"joinWithPasswordMessage": "Опит за включване с парола, моля изчакайте",
"joiningMessage": "Ще влезете в срещата, когато някой ви приеме",
"joiningTitle": "Изчаква одобрение...",
"joiningWithPasswordTitle": "Включване с парола...",
"joiningTitle": "Изчаква одобрение",
"joiningWithPasswordTitle": "Включване с парола",
"knockButton": "Поискай достъп",
"knockTitle": "Някой желае да се включи в срещата",
"knockingParticipantList": "Списък с чакащи участници",
@@ -535,17 +535,17 @@
"poweredby": "с подкрепата на",
"presenceStatus": {
"busy": "Зает",
"calling": "Обаждане...",
"calling": "Обаждане",
"connected": "Свързан",
"connecting": "Свързване...",
"connecting2": "Свързване*...",
"connecting": "Свързване",
"connecting2": "Свързване*",
"disconnected": "Изключен",
"expired": "Изтекъл",
"ignored": "Пренебрегнат",
"initializingCall": "Започване на обаждането...",
"initializingCall": "Започване на обаждането",
"invited": "Поканен",
"rejected": "Отхвърлен",
"ringing": "Звъни..."
"ringing": "Звъни"
},
"profile": {
"setDisplayNameLabel": "Задайте екранното си име",
@@ -563,7 +563,7 @@
"error": "Грешка при опит за запис. Моля, опитайте отново.",
"expandedOff": "Записът спря",
"expandedOn": "Срещата се записва в момента.",
"expandedPending": "Записът започва...",
"expandedPending": "Записът започва",
"failedToStart": "Неуспешен опит за записване",
"fileSharingdescription": "Споделете записа с участниците в срещата",
"live": "На Живо",
@@ -572,7 +572,7 @@
"offBy": "{{name}} спря записа",
"on": "Запис",
"onBy": "{{name}} пусна запис",
"pending": "Стартира запис на срещата...",
"pending": "Стартира запис на срещата",
"rec": "ЗАПИС",
"serviceDescription": "Записът Ви ще се запише от специална записваща услуга",
"serviceName": "Записваща услуга",
@@ -764,22 +764,13 @@
"failedToStart": "Транскрибирането не успя при пускане",
"labelToolTip": "Тази среща се транскрибира",
"off": "Транскрибирането спря",
"pending": "Стартира се транскрибиране на срещата...",
"pending": "Стартира се транскрибиране на срещата",
"start": "Започва показване на субтитри",
"stop": "Спира показване на субтитри",
"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

@@ -19,7 +19,7 @@
"noResults": "No s'ha trobat cap resultat coincident",
"outlookEmail": "Correu d'Outlook",
"phoneNumbers": "números de telèfon",
"searching": "S'està cercant...",
"searching": "S'està cercant",
"shareInvite": "Comparteix la invitació a la reunió",
"shareLink": "Compartiu l'enllaç de la reunió per a convidar altres persones",
"shareStream": "Comparteix l'enllaç de la transmissió en directe",
@@ -122,7 +122,7 @@
"installExtensionText": "Instal·la l'extensió per a la integració amb Google Calendar i Office 365"
},
"connectingOverlay": {
"joiningRoom": "S'està connectat a la reunió..."
"joiningRoom": "S'està connectat a la reunió"
},
"connection": {
"ATTACHED": "Adjunt",
@@ -134,9 +134,9 @@
"DISCONNECTED": "Desconnectat",
"DISCONNECTING": "S'està desconnectant",
"ERROR": "Error",
"FETCH_SESSION_ID": "S'està obtenint un identificador de sessió...",
"FETCH_SESSION_ID": "S'està obtenint un identificador de sessió",
"GET_SESSION_ID_ERROR": "S'ha produït un error en obtenir l'identificador de la sessió: {{code}}",
"GOT_SESSION_ID": "Obtenció d'identificador de sessió.... Fet",
"GOT_SESSION_ID": "Obtenció d'identificador de sessió. Fet",
"LOW_BANDWIDTH": "S'ha apagat el vídeo de {{displayName}} per a estalviar amplada de banda"
},
"connectionindicator": {
@@ -189,7 +189,7 @@
"ifHaveApp": "Si ja teniu l'aplicació:",
"joinInApp": "Uniu-vos a aquesta reunió amb l'aplicació",
"launchWebButton": "Inicia al web",
"title": "S'està iniciant la reunió en {{app}}....",
"title": "S'està iniciant la reunió en {{app}}.",
"tryAgainButton": "Torna-ho a intentar en l'escriptori",
"unsupportedBrowser": "Sembla que useu un navegador que no suportem."
},
@@ -222,7 +222,7 @@
"Share": "Comparteix",
"Submit": "Tramet",
"WaitForHostMsg": "La conferència encara no ha començat. Si en sou l'amfitrió, autentiqueu-vos. Altrament, espereu que arribi l'amfitrió.",
"WaitingForHostTitle": "S'està esperant l'amfitrió...",
"WaitingForHostTitle": "S'està esperant l'amfitrió",
"Yes": "Sí",
"accessibilityLabel": {
"liveStreaming": "Transmissió en directe"
@@ -244,9 +244,9 @@
"cameraUnknownError": "Per algun motiu desconegut, no es pot usar la càmera.",
"cameraUnsupportedResolutionError": "La vostra càmera no permet la resolució de vídeo requerida.",
"close": "Tanca",
"conferenceDisconnectMsg": "Potser voleu comprovar la connexió a la xarxa. Es tornarà a connectar en {{seconds}} segons...",
"conferenceDisconnectMsg": "Potser voleu comprovar la connexió a la xarxa. Es tornarà a connectar en {{seconds}} segons",
"conferenceDisconnectTitle": "Esteu desconnectat.",
"conferenceReloadMsg": "Intentem de corregir-ho. Tornem a connectar en {{seconds}} segons...",
"conferenceReloadMsg": "Intentem de corregir-ho. Tornem a connectar en {{seconds}} segons",
"conferenceReloadTitle": "Malauradament, alguna cosa no ha anat bé.",
"confirm": "Confirmo",
"confirmNo": "No",
@@ -535,7 +535,7 @@
"errorLiveStreamNotEnabled": "La transmissió en directe no està activada a ̣{{email}}. Activeu-la o inicieu sessió en un compte que tingui la transmissió en directe activada.",
"expandedOff": "S'ha aturat la transmissió en directe",
"expandedOn": "Ara mateix, la reunió s'està transmetent a Youtube.",
"expandedPending": "S'ha iniciat la transmissió en directe...",
"expandedPending": "S'ha iniciat la transmissió en directe",
"failedToStart": "No s'ha pogut iniciar la transmissió en directe",
"getStreamKeyManually": "No hem pogut obtenir cap transmissió en directe. Intenteu d'aconseguir la clau de transmissió en directe del YouTube.",
"googlePrivacyPolicy": "Polítiques de privadesa de Google",
@@ -547,7 +547,7 @@
"offBy": "{{name}} ha aturat la transmissió en directe",
"on": "Ha començat la transmissió en directe",
"onBy": "{{name}} ha iniciat la transmissió en directe",
"pending": "S'està iniciant la transmissió en directe...",
"pending": "S'està iniciant la transmissió en directe",
"serviceName": "Servei de transmissió en directe",
"sessionAlreadyActive": "Aquesta sessió ja s'està enregistrant o s'està emetent en directe.",
"signIn": "Inicia sessió amb Google",
@@ -578,10 +578,10 @@
"joinRejectedMessage": "La vostra sol·licitud ha estat rebutjada per un moderador.",
"joinRejectedTitle": "S'ha rebutjat la petició d'unir-s'hi.",
"joinTitle": "Entra a la reunió",
"joinWithPasswordMessage": "S'està intentant unir-s'hi amb contrasenya, espereu...",
"joinWithPasswordMessage": "S'està intentant unir-s'hi amb contrasenya, espereu",
"joiningMessage": "Us unireu a la reunió de seguida que algú accepti la sol·licitud",
"joiningTitle": "S'ha demanat per a entrar a la reunió...",
"joiningWithPasswordTitle": "Afegeix-m'hi amb contrasenya...",
"joiningTitle": "S'ha demanat per a entrar a la reunió",
"joiningWithPasswordTitle": "Afegeix-m'hi amb contrasenya",
"knockButton": "Demana d'unir-se",
"knockTitle": "Algú vol unir-se a la reunió",
"knockingParticipantList": "Llista de participants que piquen per a entrar",
@@ -665,7 +665,7 @@
"linkToSalesforceDescription": "Podeu enllaçar el resum de la reunió a un objecte Salesforce.",
"linkToSalesforceError": "No s'ha pogut enllaçar la reunió a Salesforce",
"linkToSalesforceKey": "Enllaça aquesta reunió",
"linkToSalesforceProgress": "S'està enllaçant la reunió a Salesforce...",
"linkToSalesforceProgress": "S'està enllaçant la reunió a Salesforce",
"linkToSalesforceSuccess": "La reunió s'ha enllaçat a Salesforce",
"localRecordingStarted": "{{name}} ha iniciat un enregistrament local.",
"localRecordingStopped": "{{name}} ha aturat has stopped a local recording.",
@@ -796,7 +796,7 @@
"callMe": "Truca'm",
"callMeAtNumber": "Truca'm a aquest número:",
"calling": "S'està trucant",
"configuringDevices": "S'estan configurant els aparells...",
"configuringDevices": "S'estan configurant els aparells",
"connectedWithAudioQ": "Heu connectat amb àudio?",
"connection": {
"good": "La vostra connexió a internet sembla bona!",
@@ -850,17 +850,17 @@
},
"presenceStatus": {
"busy": "Ocupat",
"calling": "S'està trucant...",
"calling": "S'està trucant",
"connected": "Connectat",
"connecting": "Està connectant...",
"connecting2": "Està connectant*...",
"connecting": "Està connectant",
"connecting2": "Està connectant*",
"disconnected": "Desconnectat",
"expired": "Ha expirat",
"ignored": "Ignorat",
"initializingCall": "S'està inicialitzant la trucada...",
"initializingCall": "S'està inicialitzant la trucada",
"invited": "Convidat",
"rejected": "Rebutjat",
"ringing": "Està sonat..."
"ringing": "Està sonat"
},
"privacyView": {
"title": "Privadesa"
@@ -897,7 +897,7 @@
"errorFetchingLink": "S'ha produït un error en obtenir l'enllaç de l'enregistrament.",
"expandedOff": "S'ha aturat l'enregistrament",
"expandedOn": "S'està enregistrant la reunió.",
"expandedPending": "S'ha iniciat l'enregistrament...",
"expandedPending": "S'ha iniciat l'enregistrament",
"failedToStart": "No s'ha pogut iniciar l'enregistrament",
"fileSharingdescription": "Compartiu l'enllaç de l'enregistrament de la reunió amb els participants",
"highlight": "Destaca",
@@ -924,7 +924,7 @@
"on": "L'enregistrament ha començat",
"onBy": "{{name}} ha iniciat l'enregistrament",
"onlyRecordSelf": "Enregistra només el meu àudio i vídeo",
"pending": "S'està preparant per a enregistrar la reunió...",
"pending": "S'està preparant per a enregistrar la reunió",
"rec": "ENREG",
"saveLocalRecording": "Desa el fitxer de l'enregistrament en local (beta)",
"serviceDescription": "El servei d'enregistrament desarà el vostre enregistrament",
@@ -1227,7 +1227,7 @@
"failedToStart": "No s'ha pogut iniciar la transcripció",
"labelToolTip": "La reunió s'està transcrivint",
"off": "La transcripció s'ha aturat",
"pending": "S'està preparant per a enregistrar la reunió...",
"pending": "S'està preparant per a enregistrar la reunió",
"sourceLanguageDesc": "La llengua actual de la reunió és <b>{{sourceLanguage}}</b>. <br/> Podeu canviar-la",
"sourceLanguageHere": "aquí",
"start": "Activa els subtítols",
@@ -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.",
@@ -1316,7 +1307,7 @@
"image6": "Bosc",
"image7": "Sortida de sol",
"none": "Cap",
"pleaseWait": "Espereu...",
"pleaseWait": "Espereu",
"removeBackground": "Elimina el fons",
"slightBlur": "Desenfocament lleu",
"title": "Fons virtuals",

File diff suppressed because it is too large Load Diff

View File

@@ -83,7 +83,7 @@
"GET_SESSION_ID_ERROR": "Hent session-id fejl: {{code}}",
"GOT_SESSION_ID": "Henter session-ID… Udført",
"LOW_BANDWIDTH": "Video for {{displayName}} er slået fra for at spare båndbredde",
"RECONNECTING": "Et netværksproblem opstod. Forbinder igen..."
"RECONNECTING": "Et netværksproblem opstod. Forbinder igen"
},
"connectionindicator": {
"address": "Adresse:",
@@ -458,7 +458,7 @@
"somebody": "Nogen",
"startSilentDescription": "",
"startSilentTitle": "",
"suboptimalExperienceDescription": "Hmmm... vi er bange for at din oplevelse med {{appName}} ikke vil være optimal. Vi arbejder på at forbedre dette, men indtil da forsøg venligst at bruge en af følgende <a href='{{recommendedBrowserPageLink}}' target='_blank'>fuldt understøttede internet browsere</a>.",
"suboptimalExperienceDescription": "Hmmm vi er bange for at din oplevelse med {{appName}} ikke vil være optimal. Vi arbejder på at forbedre dette, men indtil da forsøg venligst at bruge en af følgende <a href='{{recommendedBrowserPageLink}}' target='_blank'>fuldt understøttede internet browsere</a>.",
"suboptimalExperienceTitle": "Browser-advarsel",
"unmute": ""
},
@@ -475,7 +475,7 @@
"calling": "Ringer op…",
"connected": "Forbundet",
"connecting": "Forbinder…",
"connecting2": "Forbinder*...",
"connecting2": "Forbinder*",
"disconnected": "Forbindelse afbrudt",
"expired": "Udløbet",
"ignored": "Ignoreret",
@@ -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

@@ -22,7 +22,7 @@
"noResults": "Keine passenden Ergebnisse",
"outlookEmail": "Outlook-E-Mail",
"phoneNumbers": "Telefonnummern",
"searching": "Suche...",
"searching": "Suche",
"shareInvite": "Einladung zur Versammlung teilen",
"shareLink": "Teilen Sie den Konferenzlink, um andere einzuladen",
"shareStream": "Den Livestreaminglink freigeben",
@@ -225,7 +225,7 @@
"or": "oder",
"termsAndConditions": "Indem Sie fortfahren, stimmen Sie unseren <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>Nutzungsbedingungen</a> zu.",
"title": "Die Konferenz wird in {{app}} geöffnet …",
"titleNew": "Konferenz starten ...",
"titleNew": "Konferenz starten",
"tryAgainButton": "Erneut versuchen",
"unsupportedBrowser": "Sie verwenden einen Browser, der noch nicht unterstützt wird."
},
@@ -439,7 +439,10 @@
"shareScreenWarningD2": "müssen Sie Ihre Audiofreigabe stoppen und dann die Bildschirmfreigabe mit der Option \"Audio freigeben\" starten.",
"shareScreenWarningH1": "Wenn Sie Ihren Bildschirm freigeben wollen:",
"shareScreenWarningTitle": "Sie müssen die Audiofreigabe beenden, bevor Sie den Bildschirm freigeben können",
"shareVideoConfirmPlay": "Sie öffnen dazu eine externe Seite. Möchten Sie fortfahren?",
"shareVideoConfirmPlayTitle": "{{name}} hat mit Ihnen ein Video geteilt.",
"shareVideoLinkError": "Bitte einen gültigen Link angeben.",
"shareVideoLinkStopped": "Das Video von {{name}} wurde gestoppt.",
"shareVideoTitle": "Video teilen",
"shareYourScreen": "Bildschirmfreigabe ein-/ausschalten",
"shareYourScreenDisabled": "Bildschirmfreigabe deaktiviert.",
@@ -762,7 +765,7 @@
"linkToSalesforceDescription": "Sie können die Zusammenfassung der Konferenz mit einem Objekt bei Salesforce verlinken.",
"linkToSalesforceError": "Konferenz konnte nicht mit Salesforce verlinkt werden",
"linkToSalesforceKey": "Konferenz verlinken",
"linkToSalesforceProgress": "Konferenz wird mit Salesforce verlinkt...",
"linkToSalesforceProgress": "Konferenz wird mit Salesforce verlinkt",
"linkToSalesforceSuccess": "Die Konferenz wurde mit Salesforce verlinkt",
"localRecordingStarted": "{{name}} hat eine lokale Aufzeichnung gestartet.",
"localRecordingStopped": "{{name}} hat eine lokale Aufzeichnung gestoppt.",
@@ -786,6 +789,7 @@
"newDeviceAction": "Verwenden",
"newDeviceAudioTitle": "Neues Audiogerät erkannt",
"newDeviceCameraTitle": "Neue Kamera erkannt",
"nextToSpeak": "Sie sind als Nächstes an der Reihe zu sprechen",
"noiseSuppressionDesktopAudioDescription": "Die Rauschunterdrückung kann nicht genutzt werden, wenn der Computersound geteilt wird, bitte zuerst deaktivieren und dann nochmals versuchen.",
"noiseSuppressionFailedTitle": "Rauschunterdrückung konnte nicht gestartet werden",
"noiseSuppressionStereoDescription": "Rauschunterdrückung unterstützt aktuell keinen Stereoton.",
@@ -820,8 +824,11 @@
"videoUnmuteBlockedDescription": "Die Kamera und Bildschirmfreigabe kann aus Überlastungsschutzgründen temporär nicht eingeschaltet werden.",
"videoUnmuteBlockedTitle": "Kamera und Bildschirmfreigabe kann nicht aktiviert werden!",
"viewLobby": "Lobby ansehen",
"viewParticipants": "Personen anzeigen",
"viewVisitors": "Gäste anzeigen",
"waitingParticipants": "{{waitingParticipants}} Personen",
"waitingVisitors": "In der Lobby wartende Gäste: {{waitingVisitors}}",
"waitingVisitorsTitle": "Die Konferenz wurde noch nicht gestartet!",
"whiteboardLimitDescription": "Bitte speichern Sie Ihre Inhalte, da das Nutzungslimit bald erreicht wird und dann Ihr Whiteboard geschlossen wird.",
"whiteboardLimitTitle": "Whiteboard-Nutzung"
},
@@ -835,7 +842,10 @@
"audioModeration": "Für sich selbst die Stummschaltung aufzuheben",
"blockEveryoneMicCamera": "Kamera und Mikrofon von allen sperren",
"breakoutRooms": "Breakout-Räume",
"goLive": "Live gehen",
"invite": "Person einladen",
"lowerAllHands": "Alle Hände senken",
"lowerHand": "Hand senken",
"moreModerationActions": "Weitere Moderationsoptionen",
"moreModerationControls": "Weitere Moderationsoptionen",
"moreParticipantOptions": "Mehr Optionen für Anwesende",
@@ -852,6 +862,7 @@
"headings": {
"lobby": "Lobby ({{count}})",
"participantsList": "Anwesende ({{count}})",
"visitorInQueue": " (Wartende Gäste {{count}})",
"visitorRequests": " (Anfragen {{count}})",
"visitors": "Gäste ({{count}})",
"waitingLobby": "In der Lobby ({{count}})"
@@ -865,10 +876,13 @@
"pinnedParticipant": "Die Person ist angeheftet",
"polls": {
"answer": {
"edit": "Bearbeiten",
"send": "Senden",
"skip": "Überspringen",
"submit": "Speichern"
},
"by": "Von {{ name }}",
"closeButton": "Umfrage schließen",
"create": {
"addOption": "Antwort hinzufügen",
"answerPlaceholder": "Antwort {{index}}",
@@ -878,7 +892,8 @@
"pollQuestion": "Frage",
"questionPlaceholder": "Eine Frage stellen",
"removeOption": "Antwort entfernen",
"send": "Erstellen"
"save": "Erstellen",
"send": "Senden"
},
"errors": {
"notUniqueOption": "Optionen müssen einzigartig sein"
@@ -907,9 +922,11 @@
"configuringDevices": "Geräte werden eingerichtet …",
"connectedWithAudioQ": "Sie sind mit Audio verbunden?",
"connection": {
"failed": "Verbindungstest fehlgeschlagen!",
"good": "Ihre Internetverbindung sieht gut aus!",
"nonOptimal": "Ihre Internetverbindung ist nicht optimal.",
"poor": "Sie haben eine schlechte Internetverbindung."
"poor": "Sie haben eine schlechte Internetverbindung.",
"running": "Verbindung wird getestet…"
},
"connectionDetails": {
"audioClipping": "Ihr Ton wird wahrscheinlich abgehackt sein.",
@@ -918,6 +935,7 @@
"goodQuality": "Großartig! Ihre Bild- und Tonqualität sollte super sein.",
"noMediaConnectivity": "Es konnte für diesen Test keine Medienverbindung hergestellt werden. Das wird gewöhnlich durch eine Firewall oder ein NAT ausgelöst.",
"noVideo": "Ihr Bild wird wahrscheinlich eine schlechte Qualität haben.",
"testFailed": "Der Verbindungstest ist fehlgeschlagen, dies beeinträchtigt evtl. Ihre Qualität.",
"undetectable": "Wenn Sie mit Ihrem Browser weiterhin Probleme in Konferenzen haben, sollten Sie die Verbindung und Funktion Ihrer Lautsprecher, Ihres Mikrofons und Ihrer Kamera überprüfen. Stellen Sie außerdem sicher, dass Ihr Browser die erforderlichen Rechte hat, auf das Mikrofon und die Kamera zuzugreifen, und dass Sie die neuste Browserversion installiert haben. Sollten Sie immer noch Probleme haben, kontaktieren Sie bitte den Support der Webanwendung.",
"veryPoorConnection": "Ihre Konferenzqualität wird wahrscheinlich sehr schlecht sein.",
"videoFreezing": "Ihr Bild wird wahrscheinlich einfrieren, schwarz werden und eine geringe Auflösung haben.",
@@ -1081,6 +1099,7 @@
"desktopShareWarning": "Sie müssen die Bildschirmfreigabe neustarten, damit die Einstellung übernommen wird.",
"devices": "Geräte",
"followMe": "Follow-me für alle Personen",
"followMeRecorder": "Aufnahme folgt mir",
"framesPerSecond": "FPS",
"incomingMessage": "Eingehende Nachricht",
"language": "Sprache",
@@ -1227,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“",
@@ -1244,6 +1264,7 @@
"privateMessage": "Private Nachricht senden",
"profile": "Profil bearbeiten",
"raiseHand": "Hand heben",
"react": "Chat-Interaktionen",
"reactions": "Interaktionen",
"reactionsMenu": "Interaktionsmenü öffnen / schließen",
"recording": "Aufzeichnung ein-/ausschalten",
@@ -1315,6 +1336,7 @@
"lobbyButtonEnable": "Lobbymodus aktivieren",
"login": "Anmelden",
"logout": "Abmelden",
"love": "Herz",
"lowerYourHand": "Hand senken",
"moreActions": "Weitere Einstellungen",
"moreOptions": "Weitere Optionen",
@@ -1340,6 +1362,7 @@
"raiseYourHand": "Melden",
"reactionBoo": "Buhen senden",
"reactionClap": "Klatschen senden",
"reactionHeart": "Herz senden",
"reactionLaugh": "Lachen senden",
"reactionLike": "Daumen hoch senden",
"reactionSilence": "Stille senden",
@@ -1365,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"
@@ -1373,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",
@@ -1385,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.",
@@ -1473,7 +1487,7 @@
"image6": "Wald",
"image7": "Sonnenaufgang",
"none": "keiner",
"pleaseWait": "Bitte warten...",
"pleaseWait": "Bitte warten",
"removeBackground": "Hintergrund entfernen",
"slightBlur": "Hintergrund leicht unscharf",
"title": "Hintergründe",
@@ -1483,16 +1497,22 @@
},
"visitors": {
"chatIndicator": "(Gast)",
"joinMeeting": {
"description": "Sie beobachten derzeit diese Konferenz.",
"raiseHand": "Hand heben",
"title": "Konferenz wird beigetreten",
"wishToSpeak": "Wenn Sie sprechen möchten, heben Sie bitte unten Ihre Hand und warten Sie auf die Zustimmung der Moderation"
},
"labelTooltip": "Anzahl Gäste: {{count}}",
"notification": {
"demoteDescription": "Hierhin verschoben von {{actor}}, bitte melden Sie sich um teilzunehmen",
"description": "Bitte melden Sie sich um teilzunehmen",
"noMainParticipantsDescription": "Eine Person muss die Konferenz starten. Bitte versuchen Sie es gleich noch einmal.",
"noMainParticipantsTitle": "Diese Konferenz wurde noch nicht gestartet.",
"noVisitorLobby": "Sie können nicht teilnehmen, solange die Lobby für diese Konferenz aktiviert ist.",
"notAllowedPromotion": "Eine Person muss Ihre Anfrage erst erlauben.",
"title": "Sie sind Gast in der Konferenz"
}
},
"waitingMessage": "Sie werden der Konferenz beitreten, sobald sie gestartet ist!"
},
"volumeSlider": "Lautstärkeregler",
"welcomepage": {

View File

@@ -19,7 +19,7 @@
"noResults": "Žedne se góźece rezulaty pytanja njedajo",
"outlookEmail": "Outlook-e-mail",
"phoneNumbers": "telefonowe numery",
"searching": "Pytanje trajo...",
"searching": "Pytanje trajo",
"shareInvite": "pśepšosenje na zgromaźinu spśistupniś",
"shareLink": "Spśistupniśo link za konferencu, aby drugich pśepšosyli.",
"shareStream": "link za livestream spśistupniś",
@@ -666,7 +666,7 @@
"linkToSalesforceDescription": "Wy móžośo wopowěsć wót konference pśez link z objektom pla Saleforce zwězaś.",
"linkToSalesforceError": "Konferenz njejo mógła se ze Saleforce zwězaś.",
"linkToSalesforceKey": "konferencu zalinkowaś",
"linkToSalesforceProgress": "Zwězanje konference ze Salesforce se twari...",
"linkToSalesforceProgress": "Zwězanje konference ze Salesforce se twari",
"linkToSalesforceSuccess": "Konferenca jo se ze Salesforce zwězała.",
"localRecordingStarted": "{{name}} jo lokalne nagrawanje zachopił/-a.",
"localRecordingStopped": "{{name}} jo lokalne nagrawanje dokóńcował/-a.",
@@ -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.",
@@ -1319,7 +1310,7 @@
"image6": "góla",
"image7": "górjejhyśe słyńcka",
"none": "žeden motiw",
"pleaseWait": "Cakajśo...",
"pleaseWait": "Cakajśo",
"removeBackground": "slězynu wótpóraś",
"slightBlur": "slězyna pitśku njewótša",
"title": "slězyny",

View File

@@ -19,7 +19,7 @@
"noResults": "Δε βρέθηκαν αποτελέσματα αναζήτησης",
"outlookEmail": "Outlook Email",
"phoneNumbers": "τηλεφωνικοί αριθμοί",
"searching": "Αναζήτηση...",
"searching": "Αναζήτηση",
"shareInvite": "Μοίρασε την πρόσκληση στη συνάντηση",
"shareLink": "Μοίρασε αυτό το σύνδεσμο της συνάντησης για να προσκαλέσεις και άλλα άτομα",
"shareStream": "Διαμοιρασμός του συνδέσμου ζωντανής μετάδοσης",
@@ -122,7 +122,7 @@
"installExtensionText": "Εγκατάσταση της επέκτασης για ενσωμάτωση του Google Calendar και του Office 365"
},
"connectingOverlay": {
"joiningRoom": "Σύνδεση στη σύσκεψη σας..."
"joiningRoom": "Σύνδεση στη σύσκεψη σας"
},
"connection": {
"ATTACHED": "Συνημμένο",
@@ -134,9 +134,9 @@
"DISCONNECTED": "Αποσυνδέθηκε",
"DISCONNECTING": "Γίνεται αποσύνδεση",
"ERROR": "Σφάλμα",
"FETCH_SESSION_ID": "Απόκτηση session-id...",
"FETCH_SESSION_ID": "Απόκτηση session-id",
"GET_SESSION_ID_ERROR": "Λήψη σφάλματος session-id: {{code}}",
"GOT_SESSION_ID": "Απόκτηση session-id... Έγινε",
"GOT_SESSION_ID": "Απόκτηση session-id Έγινε",
"LOW_BANDWIDTH": "Η εικόνα για {{displayName}} απενεργοποιήθηκε για εξοικονόμηση ταχύτητας"
},
"connectionindicator": {
@@ -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}}.",
@@ -197,8 +197,8 @@
"launchWebButton": "Εκκίνηση στο web",
"noMobileApp": "Δεν έχετε την εφαρμογή;",
"termsAndConditions": "Με το να συνεχίσετε συμφωνείτε με τους <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>όρους και συνθήκες.</a>",
"title": "Έναρξη της σύσκεψης σας στο {{app}}...",
"titleNew": "Δημιουργία της σύσκεψης σας...",
"title": "Έναρξη της σύσκεψης σας στο {{app}}",
"titleNew": "Δημιουργία της σύσκεψης σας",
"tryAgainButton": "Προσπαθήστε ξανά στο desktop",
"unsupportedBrowser": "Φαίνεται ότι χρησιμοποιείτε ένα browser που δεν υποστηρίζουμε."
},
@@ -236,8 +236,8 @@
"Remove": "Αφαίρεση",
"Share": "Μοιραστείτε",
"Submit": "Υποβολή",
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμένατε να συνδεθεί κάποιος διοργανωτής.",
"WaitingForHostTitle": "Αναμονή για διοργανωτή ...",
"WaitForHostMsg": "Η σύσκεψη δεν έχει αρχίσει ακόμη. Αν είστε διοργανωτής, τότε παρακαλούμε να ταυτοποιήσετε τον εαυτό σας. Διαφορετικά, παρακαλώ αναμείνετε να συνδεθεί κάποιος διοργανωτής.",
"WaitingForHostTitle": "Αναμονή για διοργανωτή",
"Yes": "Ναι",
"accessibilityLabel": {
"close": "Κλείσιμο",
@@ -261,9 +261,9 @@
"cameraUnknownError": "Αδυναμία χρήσης της κάμερας για κάποιο άγνωστο λόγο.",
"cameraUnsupportedResolutionError": "Η κάμερα σας δεν υποστηρίζει την απαιτούμενη ανάλυση εικόνας.",
"close": "Κλείσιμο",
"conferenceDisconnectMsg": "Παρακαλώ ελέγξτε τη δικτυακή σύνδεση σας. Επανασύνδεση σε {{seconds}} δευτερόλεπτα...",
"conferenceDisconnectMsg": "Παρακαλώ ελέγξτε τη δικτυακή σύνδεση σας. Επανασύνδεση σε {{seconds}} δευτερόλεπτα",
"conferenceDisconnectTitle": "Έχετε αποσυνδεθεί.",
"conferenceReloadMsg": "Προσπαθούμε να το διορθώσουμε. Επανασύνδεση σε {{seconds}} δευτερόλεπτα...",
"conferenceReloadMsg": "Προσπαθούμε να το διορθώσουμε. Επανασύνδεση σε {{seconds}} δευτερόλεπτα",
"conferenceReloadTitle": "Δυστυχώς, κάτι πήγε στραβά.",
"confirm": "Επιβεβαίωση",
"confirmNo": "Όχι",
@@ -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": "Εμφάνιση ή απόκρυψη χειριστηρίων καταγραφής",
@@ -554,7 +554,7 @@
"errorLiveStreamNotEnabled": "Η ζωντανή ροή δεν είναι ενεργοποιημένη για το {{email}}. Ενεργοποιήστε τη ζωντανή ροή ή συνδεθείτε σε ένα λογαριασμό με ενεργοποιημένη τη ζωντανή ροή.",
"expandedOff": "Η ζωντανή ροή σταμάτησε",
"expandedOn": "Η σύσκεψη μεταδίδεται τώρα στο YouTube.",
"expandedPending": "Η ζωντανή ροή πρόκειται να ξεκινήσει...",
"expandedPending": "Η ζωντανή ροή πρόκειται να ξεκινήσει",
"failedToStart": "Η ζωντανή ροή απέτυχε να ξεκινήσει",
"getStreamKeyManually": "Αδυναμία λήψης κάποιας ζωντανής ροής. Προσπαθήστε να πάρετε το κλειδί ζωντανής ροής από το YouTube.",
"googlePrivacyPolicy": "Πολιτική Απορρήτου της Google",
@@ -566,7 +566,7 @@
"offBy": "{{name}} σταμάτησε τη ζωντανή ροή",
"on": "Η Ζωντανή Ροή ξεκίνησε",
"onBy": "{{name}} ξεκίνησε τη ζωντανή ροή",
"pending": "Η Ζωντανή Ροή Ξεκινάει...",
"pending": "Η Ζωντανή Ροή Ξεκινάει",
"serviceName": "Υπηρεσία Ζωντανής Ροής",
"sessionAlreadyActive": "Η συνεδρία ήδη γράφεται ή είναι σε ζωντανή ροή.",
"signIn": "Συνδεθείτε μέσω του Google",
@@ -596,10 +596,10 @@
"joinRejectedMessage": "Το αίτημα εισόδου σας απορρίφθηκε από έναν συντονιστή.",
"joinRejectedTitle": "Το αίτημα σύνδεσης απορρίφθηκε.",
"joinTitle": "Συμμετοχή στη Σύσκεψη",
"joinWithPasswordMessage": "Γίνεται είσοδος με κωδικό, παρακαλώ περιμένετε...",
"joinWithPasswordMessage": "Γίνεται είσοδος με κωδικό, παρακαλώ περιμένετε",
"joiningMessage": "Θα προστεθείτε στη σύσκεψη μόλις κάποιος αποδεχτεί το αίτημά σας",
"joiningTitle": "Αίτηση εισόδου στη σύσκεψη...",
"joiningWithPasswordTitle": "Είσοδος με κωδικό πρόσβασης...",
"joiningTitle": "Αίτηση εισόδου στη σύσκεψη",
"joiningWithPasswordTitle": "Είσοδος με κωδικό πρόσβασης",
"knockButton": "Αίτηση Συμμετοχής",
"knockTitle": "Κάποιος θέλει να συμμετέχει στη σύσκεψη",
"knockingParticipantList": "Ειδοποίηση λίστας συμμετεχόντων",
@@ -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": {
@@ -816,7 +816,7 @@
"callMe": "Καλέστε με",
"callMeAtNumber": "Καλέστε με σε αυτό το νούμερο:",
"calling": "Γίνεται κλήση",
"configuringDevices": "Ρύθμιση συσκευών...",
"configuringDevices": "Ρύθμιση συσκευών",
"connectedWithAudioQ": "Είστε συνδεδεμένοι με ήχο;",
"connection": {
"good": "Η σύνδεση σας στο Διαδίκτυο φαίνεται καλή!",
@@ -870,17 +870,17 @@
},
"presenceStatus": {
"busy": "Κατειλημμένο",
"calling": "Καλεί...",
"calling": "Καλεί",
"connected": "Συνδέθηκε",
"connecting": "Γίνεται σύνδεση...",
"connecting2": "Γίνεται σύνδεση*...",
"connecting": "Γίνεται σύνδεση",
"connecting2": "Γίνεται σύνδεση*",
"disconnected": "Αποσυνδέθηκε",
"expired": "Έληξε",
"ignored": "Αγνοήθηκε",
"initializingCall": "Αρχικοποίηση Κλήσης...",
"initializingCall": "Αρχικοποίηση Κλήσης",
"invited": "Προσκλήθηκε",
"rejected": "Απορρίφθηκε",
"ringing": "Καλεί..."
"ringing": "Καλεί"
},
"profile": {
"avatar": "avatar",
@@ -911,7 +911,7 @@
"errorFetchingLink": "Σφάλμα στη λήψη του συνδέσμου καταγραφής.",
"expandedOff": "Η καταγραφή έχει διακοπεί",
"expandedOn": "Αυτή τη στιγμή η σύσκεψη καταγράφεται.",
"expandedPending": "Η καταγραφή ξεκινά...",
"expandedPending": "Η καταγραφή ξεκινά",
"failedToStart": "Η καταγραφή απέτυχε να ξεκινήσει",
"fileSharingdescription": "Μοιραστείτε την καταγραφή με τους συμμετέχοντες της σύσκεψης",
"highlight": "Επισήμανση",
@@ -939,7 +939,7 @@
"on": "Η καταγραφή ξεκίνησε",
"onBy": "Ο/Η {{name}} ξεκίνησε την καταγραφή",
"onlyRecordSelf": "Καταγραφή μόνο των δικών μου ροών ήχου και βίντεο",
"pending": "Προετοιμασία για την καταγραφή της σύσκεψης...",
"pending": "Προετοιμασία για την καταγραφή της σύσκεψης",
"rec": "ΕΓΓΡΑΦΗ",
"saveLocalRecording": "Αποθήκευση καταγραφής τοπικά (Beta)",
"serviceDescription": "Η καταγραφή σας θα αποθηκευτεί από την υπηρεσία καταγραφής",
@@ -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": "Έξοδος από προβολή εικονιδίων",
@@ -1267,7 +1267,7 @@
"failedToStart": "Η μεταγραφή απέτυχε να ξεκινήσει",
"labelToolTip": "Η συνάντηση μεταγράφεται",
"off": "Η μεταγραφή σταμάτησε",
"pending": "Προετοιμασία για μεταγραφή της συνάντησης...",
"pending": "Προετοιμασία για μεταγραφή της συνάντησης",
"sourceLanguageDesc": "Η γλώσσα της σύσκεψης αυτή τη στιγμή έχει οριστεί σε <b>{{sourceLanguage}}</b>.<br/>Μπορείτε να την αλλάξετε από ",
"sourceLanguageHere": "εδώ",
"start": "Εμφάνιση υποτίτλων",
@@ -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": "Ο συμμετέχων σταμάτησε τη κάμερα"
},
@@ -1361,7 +1352,7 @@
"image6": "Δάσος ",
"image7": "Ανατολή",
"none": "Κανένα",
"pleaseWait": "Παρακαλώ αναμένατε...",
"pleaseWait": "Παρακαλώ αναμένατε",
"removeBackground": "Αφαίρεση φόντου",
"slightBlur": "Μισό Θόλωμα",
"title": "Εικονικά φόντα",

View File

@@ -222,7 +222,7 @@
"noMobileApp": "Ĉu vi ne jam havas la aplikaĵon?",
"termsAndConditions": "Daŭrigante, vi konsentas kun niaj <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>kondiĉoj.</a>",
"title": "Enirante vian kunvenon per {{app}}…",
"titleNew": "Enirante vian kunvenon...",
"titleNew": "Enirante vian kunvenon",
"tryAgainButton": "Provu denove per la komputila aplikaĵo",
"unsupportedBrowser": "Ŝajnas ke vi uzas nesubtenitan retumilon"
},
@@ -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

@@ -19,7 +19,7 @@
"noResults": "No se encontraron coincidencias",
"outlookEmail": "Correo de Outlook",
"phoneNumbers": "números de teléfono",
"searching": "Buscando...",
"searching": "Buscando",
"shareInvite": "Compartir la invitación a la reunión",
"shareLink": "Compartir el enlace de la reunion",
"shareStream": "Compartir el enlace de la transmisión en vivo",
@@ -251,7 +251,7 @@
"Share": "Compartir",
"Submit": "Enviar",
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitingForHostTitle": "Esperando al anfitrión...",
"WaitingForHostTitle": "Esperando al anfitrión",
"Yes": "Sí",
"accessibilityLabel": {
"close": "Cerrar diálogo",
@@ -614,10 +614,10 @@
"joinRejectedMessage": "Tu solicitud para entrar ha sido rechazada por un moderador.",
"joinRejectedTitle": "Solicitud para entrar rechazada.",
"joinTitle": "Entrar a la reunión",
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera...",
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera",
"joiningMessage": "Podrás entrar tan pronto te acepten tu solicitud.",
"joiningTitle": "Pidiendo entrar a la reunión...",
"joiningWithPasswordTitle": "Uniéndose con la contraseña...",
"joiningTitle": "Pidiendo entrar a la reunión",
"joiningWithPasswordTitle": "Uniéndose con la contraseña",
"knockButton": "Pedir entrar",
"knockTitle": "Alguien quiere entrar a la reunión",
"knockingParticipantList": "Participantes que quieren entrar",
@@ -704,7 +704,7 @@
"linkToSalesforceDescription": "Puedes vincular el resumen de la reunión a un objeto Salesforce",
"linkToSalesforceError": "Error al vincular la reunión a Salesforce",
"linkToSalesforceKey": "",
"linkToSalesforceProgress": "Vinculando reunión a Salesorce...",
"linkToSalesforceProgress": "Vinculando reunión a Salesorce",
"linkToSalesforceSuccess": "La reunión fue vinculada a Salesforce",
"localRecordingStarted": "{{name}} ha iniciado una grabación local.",
"localRecordingStopped": "{{name}} ha detenido una grabación local.",
@@ -839,7 +839,7 @@
"callMe": "Llámame",
"callMeAtNumber": "Llamame a este número:",
"calling": "Llamando",
"configuringDevices": "Configurando dispositivos...",
"configuringDevices": "Configurando dispositivos",
"connectedWithAudioQ": "¿Estás está conectado con audio?",
"connection": {
"good": "¡Su conexión a internet es buena!",
@@ -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.",
@@ -1401,7 +1392,7 @@
"image6": "Bosque",
"image7": "Amanecer",
"none": "Ninguno",
"pleaseWait": "Por favor, espera...",
"pleaseWait": "Por favor, espera",
"removeBackground": "Eliminar el fondo",
"slightBlur": "Desenfoque Ligero",
"title": "Fondos virtuales",

View File

@@ -27,7 +27,7 @@
"searchNumbers": "Agregar números telefónicos",
"searchPeople": "Buscar personas",
"searchPeopleAndNumbers": "Buscar personas o añadir sus números de teléfono",
"searching": "Buscando...",
"searching": "Buscando",
"shareInvite": "Compartir la invitación a la reunión",
"shareLink": "Compartir el link de la reunion",
"shareStream": "Compartir el link de la transmición en vivo",
@@ -112,7 +112,7 @@
"GET_SESSION_ID_ERROR": "Obtener session-id error: {{code}}",
"GOT_SESSION_ID": "Obteniendo session-ID… Listo",
"LOW_BANDWIDTH": "El video para {{displayName}} ha sido desactivado para ahorrar ancho de banda",
"RECONNECTING": "Ocurrió un problema en la red. Reconectando..."
"RECONNECTING": "Ocurrió un problema en la red. Reconectando"
},
"connectionindicator": {
"address": "Dirección:",
@@ -195,7 +195,7 @@
"Submit": "Enviar",
"WaitForHostMsg": "La conferencia aún no ha comenzado. Si eres el anfitrión, inicia sesión. De lo contrario, espera a que llegue el anfitrión.",
"WaitingForHost": "Esperando al anfitrión…",
"WaitingForHostTitle": "Esperando al anfitrión...",
"WaitingForHostTitle": "Esperando al anfitrión",
"Yes": "Sí",
"accessibilityLabel": {
"liveStreaming": "Transmisión en vivo"
@@ -536,10 +536,10 @@
"invalidPassword": "Contraseña inválida",
"joinRejectedMessage": "Tu solicitud para entrar ha sido rechazada por un moderador.",
"joinTitle": "Entrar a la reunión",
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera...",
"joinWithPasswordMessage": "Tratando de entrar con contraseña, por favor espera",
"joiningMessage": "Podrás entrar tan pronto te acepten tu solicitud.",
"joiningTitle": "Pidiendo entrar a la reunión...",
"joiningWithPasswordTitle": "Uniéndose con la contraseña...",
"joiningTitle": "Pidiendo entrar a la reunión",
"joiningWithPasswordTitle": "Uniéndose con la contraseña",
"knockButton": "Pedir entrar",
"knockTitle": "Alguien quiere entrar a la reunión",
"knockingParticipantList": "Participantes que quieren entrar",
@@ -715,7 +715,7 @@
"callMe": "Llámame",
"callMeAtNumber": "Llamame a este número:",
"calling": "Llamando",
"configuringDevices": "Configurando dispositivos...",
"configuringDevices": "Configurando dispositivos",
"connectedWithAudioQ": "¿Estás está conectado con audio?",
"connection": {
"good": "¡Su conexión a internet es buena!",
@@ -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.",
@@ -1147,7 +1138,7 @@
"image6": "Bosque",
"image7": "Amanecer",
"none": "Ninguno",
"pleaseWait": "Por favor, espera...",
"pleaseWait": "Por favor, espera",
"removeBackground": "Eliminar el fondo",
"slightBlur": "Desenfoque Ligero",
"title": "Fondos virtuales",

View File

@@ -478,7 +478,7 @@
"calling": "Helistamine…",
"connected": "Ühendatud",
"connecting": "Ühendamine…",
"connecting2": "Ühendamine*...",
"connecting2": "Ühendamine*",
"disconnected": "Lahti ühendatud",
"expired": "Aegunud",
"ignored": "Eiratud",
@@ -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

@@ -20,7 +20,7 @@
"noResults": "Ez dago bat datorren bilaketa-emaitzarik",
"outlookEmail": "Outlook Email",
"phoneNumbers": "telefono zenbakiak",
"searching": "Bilatzen...",
"searching": "Bilatzen",
"shareInvite": "Partekatu bilerarako gonbidapena",
"shareLink": "Partekatu bileraren esteka beste partaide batzuk gonbidatzeko",
"shareStream": "Partekatu zuzenekoaren esteka",
@@ -182,7 +182,7 @@
"Share": "Partekatu",
"Submit": "Bidali",
"WaitForHostMsg": "Konferentzia oraindik ez da hasi. Ostalaria bazara, autentifikatu. Bestela, itxaron ostalaria iritsi arte.",
"WaitingForHostTitle": "Antolatzailearen zain...",
"WaitingForHostTitle": "Antolatzailearen zain",
"Yes": "Bai",
"accessibilityLabel": {
"liveStreaming": "Zuzeneko Erreprodukzioa"
@@ -477,10 +477,10 @@
"invalidPassword": "Pasahitza ez da zuzena",
"joinRejectedMessage": "Sartzeko eskaera ukatu egin du moderatzaile batek",
"joinTitle": "Sartu bileran",
"joinWithPasswordMessage": "Pasahitz gabe sartzen saiatzen, itxaron mesedez...",
"joinWithPasswordMessage": "Pasahitz gabe sartzen saiatzen, itxaron mesedez",
"joiningMessage": "Norbaitek zure eskaera sartu bezain laster sartuko zara bileran",
"joiningTitle": "Sartzeko eskatzen...",
"joiningWithPasswordTitle": "Pasahitzarekin sartzen...",
"joiningTitle": "Sartzeko eskatzen",
"joiningWithPasswordTitle": "Pasahitzarekin sartzen",
"knockButton": "Eskatu sartzea",
"knockTitle": "Norbaitek bileran sartu nahi du",
"knockingParticipantList": "Zain dauden parte-hartzaileak",
@@ -602,7 +602,7 @@
"callMe": "Deitu nazazu",
"callMeAtNumber": "Deitu nazazu zenbaki honetara:",
"calling": "Deitzen",
"configuringDevices": "Gailuak konfiguratzen...",
"configuringDevices": "Gailuak konfiguratzen",
"connectedWithAudioQ": "Audioarekin konektatuta zaude?",
"connection": {
"good": "Zure internet konexioa ondo dabil!",
@@ -913,22 +913,13 @@
"failedToStart": "Ezin da transkripzioa hasi",
"labelToolTip": "Bilera transkribatzen ari da",
"off": "Transkripzioa gelditu da",
"pending": "Bileraren transkripzioa prestatzen ...",
"pending": "Bileraren transkripzioa prestatzen",
"start": "Erakutsi azpitituluak",
"stop": "Utzi azpitituluak erakusten",
"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.",
@@ -988,7 +979,7 @@
"image6": "Basoa",
"image7": "Egunsentia",
"none": "Bat ere ez",
"pleaseWait": "Itxaron mesedez...",
"pleaseWait": "Itxaron mesedez",
"removeBackground": "Kendu atzeko planoa",
"slightBlur": "Lausotze arina",
"title": "Atzeko plano birtualak",

View File

@@ -22,7 +22,7 @@
"noResults": "هیچ نتیجه‌ای مطابق با جستجو یافت نشد",
"outlookEmail": "رایانامهٔ اوت‌لوک",
"phoneNumbers": "شماره تلفن‌ها",
"searching": "درحال جستجو...",
"searching": "درحال جستجو",
"shareInvite": "هم‌رسانی دعوت‌نامهٔ جلسه",
"shareLink": "هم‌رسانی پیوند جلسه برای دعوت دیگران",
"shareStream": "هم‌رسانی پیوند پخش زنده",
@@ -137,7 +137,7 @@
"installExtensionText": "برای اتصال به تقویم گوگل و برنامه آفیس 365 افزونه را نصب کنید"
},
"connectingOverlay": {
"joiningRoom": "درحال اتصال شما به جلسه..."
"joiningRoom": "درحال اتصال شما به جلسه"
},
"connection": {
"ATTACHED": "پیوست‌شده",
@@ -149,9 +149,9 @@
"DISCONNECTED": "قطع شد",
"DISCONNECTING": "درحال قطع اتصال",
"ERROR": "خطا",
"FETCH_SESSION_ID": "دریافت شناسهٔ جلسه...",
"FETCH_SESSION_ID": "دریافت شناسهٔ جلسه",
"GET_SESSION_ID_ERROR": "خطا در دریافت شناسهٔ جلسه: {{code}}",
"GOT_SESSION_ID": "دریافت شناسهٔ جلسه... انجام شد",
"GOT_SESSION_ID": "دریافت شناسهٔ جلسه انجام شد",
"LOW_BANDWIDTH": "برای صرفه‌جویی در پهنای باند، ویدیو برای {{displayName}} غیرفعال شد"
},
"connectionindicator": {
@@ -214,8 +214,8 @@
"launchWebButton": "استفاده از نسخه‌ٔ وب",
"noMobileApp": "برنامه را نصب نکرده‌اید؟",
"termsAndConditions": "با ادامه‌دادن، با <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>شرایط و ضوابط</a> ما موافقت می‌کنید.",
"title": "درحال اجرای جلسهٔ شما در {{app}}...",
"titleNew": "درحال اجرای جلسهٔ شما...",
"title": "درحال اجرای جلسهٔ شما در {{app}}",
"titleNew": "درحال اجرای جلسهٔ شما",
"tryAgainButton": "با نسخه‌ٔ میزکار دوباره تلاش کنید",
"unsupportedBrowser": "به نظر می‌رسد در حال استفاده از یک مرورگر پشتیبانی‌نشده هستید."
},
@@ -254,7 +254,7 @@
"Share": "هم‌رسانی",
"Submit": "ارسال",
"WaitForHostMsg": "کنفرانس هنوز شروع نشده است، اگر میزبان هستید وارد شوید، در غیراین صورت تا رسیدن میزبان و شروع جلسه منتظر بمانید.",
"WaitingForHostTitle": "در انتظار میزبان ...",
"WaitingForHostTitle": "در انتظار میزبان",
"Yes": "بله",
"accessibilityLabel": {
"Cancel": "لغو (ترک‌کردن پنجرهٔ گفتگو)",
@@ -280,9 +280,9 @@
"cameraUnknownError": "به دلایلی نامشخص نمی‌توان از دوربین استفاده کرد.",
"cameraUnsupportedResolutionError": "دوربین شما از وضوح تصویر مورد نیاز پشتیبانی نمی‌کند.",
"close": "بستن",
"conferenceDisconnectMsg": "شاید بخواهید اتصال شبکه خود را بررسی کنید. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر...",
"conferenceDisconnectMsg": "شاید بخواهید اتصال شبکه خود را بررسی کنید. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر",
"conferenceDisconnectTitle": "اتصال شما قطع شده‌است.",
"conferenceReloadMsg": "ما در حال تلاش برای حل این مشکل هستیم. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر...",
"conferenceReloadMsg": "ما در حال تلاش برای حل این مشکل هستیم. تلاش برای اتصال دوباره در {{seconds}} ثانیه دیگر",
"conferenceReloadTitle": "متأسفانه مشکلی پیش آمد.",
"confirm": "تأیید",
"confirmNo": "خیر",
@@ -580,7 +580,7 @@
"errorLiveStreamNotEnabled": "پخش زنده برای {{email}} فعال نیست. لطفاً پخش زنده را فعال کنید یا وارد یک حساب کاربری با پخش زندهٔ فعال شوید.",
"expandedOff": "پخش زنده متوقف شده است",
"expandedOn": "این جلسه درحال حاضر در یوتیوب درحال پخش است.",
"expandedPending": "پخش زنده در حال شروع است...",
"expandedPending": "پخش زنده در حال شروع است",
"failedToStart": "شروع پخش زنده ناموفق بود",
"getStreamKeyManually": "ما نتوانستیم هیچ پخش زنده‌ای را دریافت کنیم. کلید پخش زنده خود را به‌صورت دستی از یوتیوب دریافت کنید.",
"googlePrivacyPolicy": "سیاست محرمانگی گوگل",
@@ -592,7 +592,7 @@
"offBy": "{{name}} پخش زنده را متوقف کرد",
"on": "پخش زنده شروع شد",
"onBy": "{{name}} پخش زنده را شروع کرد",
"pending": "درحال شروع پخش زنده...",
"pending": "درحال شروع پخش زنده",
"serviceName": "خدمت پخش زنده",
"sessionAlreadyActive": "این جلسه از قبل درحال ضبط یا پخش زنده است.",
"signIn": "ورود با حساب گوگل",
@@ -622,10 +622,10 @@
"joinRejectedMessage": "درخواست پیوستن شما توسط مدیر جلسه رد شد.",
"joinRejectedTitle": "درخواست شما رد شد.",
"joinTitle": "پیوستن به جلسه",
"joinWithPasswordMessage": "تلاش برای پیوستن به جلسه با گذرواژه؛ شکیبا باشید...",
"joinWithPasswordMessage": "تلاش برای پیوستن به جلسه با گذرواژه؛ شکیبا باشید",
"joiningMessage": "به محض پذیرش درخواست شما، به جلسه خواهید پیوست",
"joiningTitle": "درخواست برای پیوستن به جلسه...",
"joiningWithPasswordTitle": "درحال پیوستن با گذرواژه...",
"joiningTitle": "درخواست برای پیوستن به جلسه",
"joiningWithPasswordTitle": "درحال پیوستن با گذرواژه",
"knockButton": "درخواست برای پیوستن",
"knockTitle": "یک نفر می‌خواهد به جلسه بپیوندد",
"knockingParticipantList": "فهرست شرکت‌کنندگان درانتظار",
@@ -712,7 +712,7 @@
"linkToSalesforceDescription": "شما می‌توانید خلاصهٔ جلسه را به یک شیء Salesforce پیوند دهید.",
"linkToSalesforceError": "خطا در پیوند جلسه به Salesforce",
"linkToSalesforceKey": "پیونددادن این جلسه",
"linkToSalesforceProgress": "درحال پیونددادن این جلسه به Salesforce...",
"linkToSalesforceProgress": "درحال پیونددادن این جلسه به Salesforce",
"linkToSalesforceSuccess": "این جلسه به Salesforce پیوند داده شد",
"localRecordingStarted": "{{name}} یک ضبط محلی را شروع کرده است.",
"localRecordingStopped": "{{name}} یک ضبط محلی را متوقف کرده است.",
@@ -847,7 +847,7 @@
"callMe": "با من تماس بگیرید",
"callMeAtNumber": "با این شماره با من تماس بگیرید:",
"calling": "درحال تماس",
"configuringDevices": "پیکربندی دستگاه‌ها...",
"configuringDevices": "پیکربندی دستگاه‌ها",
"connectedWithAudioQ": "از طریق صدا متصل هستید؟",
"connection": {
"good": "اتصال اینترنت شما خوب به‌نظر می‌رسد!",
@@ -903,17 +903,17 @@
},
"presenceStatus": {
"busy": "مشغول",
"calling": "درحال تماس‌گرفتن...",
"calling": "درحال تماس‌گرفتن",
"connected": "متصل‌شده",
"connecting": "درحال اتصال...",
"connecting2": "درحال اتصال*...",
"connecting": "درحال اتصال",
"connecting2": "درحال اتصال*",
"disconnected": "قطع‌شده",
"expired": "منقضی‌شده",
"ignored": "نادیده‌گرفته",
"initializingCall": "درحال آغاز تماس...",
"initializingCall": "درحال آغاز تماس",
"invited": "دعوت‌شده",
"rejected": "ردشده",
"ringing": "درحال زنگ‌زدن..."
"ringing": "درحال زنگ‌زدن"
},
"profile": {
"avatar": "چِهرَک",
@@ -947,7 +947,7 @@
"errorFetchingLink": "خطا در واکِشی پیوند ضبط.",
"expandedOff": "ضبط متوقف شده است",
"expandedOn": "این جلسه هم‌اکنون درحال ضبط‌شدن است.",
"expandedPending": "ضبط درحال شروع است...",
"expandedPending": "ضبط درحال شروع است",
"failedToStart": "شروع ضبط ناموفق بود",
"fileSharingdescription": "هم‌رسانی پیوند ضبط با شرکت‌کنندگان جلسه",
"highlight": "علامت‌گذاری",
@@ -975,7 +975,7 @@
"on": "ضبط جلسه شروع شد",
"onBy": "{{name}} ضبط جلسه را شروع کرد",
"onlyRecordSelf": "فقط جریان‌های صدا و تصویر من را ضبط کن",
"pending": "درحال آماده‌شدن برای ضبط جلسه...",
"pending": "درحال آماده‌شدن برای ضبط جلسه",
"rec": "ضبط",
"saveLocalRecording": "ذخیرهٔ پروندهٔ ضبط به صورت محلی (آزمایشی)",
"serviceDescription": "ضبط شما توسط خدمتِ ضبط ذخیره خواهد شد",
@@ -1315,7 +1315,7 @@
"failedToStart": "شروع ترانویسی ناموفق بود",
"labelToolTip": "جلسه درحال ترانویسی است",
"off": "توقف ترانویسی",
"pending": "درحال آماده‌شدن برای ترانویسی جلسه...",
"pending": "درحال آماده‌شدن برای ترانویسی جلسه",
"sourceLanguageDesc": "هم‌اکنون زمان جلسه روی <b>{{sourceLanguage}}</b> تنظیم شده است.<br/> می‌توانید آن را از این‌جا تغییر دهید ",
"sourceLanguageHere": "این‌جا",
"start": "شروع نمایش زیرنویس‌ها",
@@ -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": "ما درحال آزادسازی منابع هستیم؛ لطفاً دقایقی دیگر دوباره تلاش کنید.",
@@ -1413,7 +1404,7 @@
"image6": "جنگل ",
"image7": "طلوع خورشید",
"none": "هیچ‌یک",
"pleaseWait": "لطفاً شکیبا باشید...",
"pleaseWait": "لطفاً شکیبا باشید",
"removeBackground": "حذف پس‌زمینه",
"slightBlur": "نیمه‌تار",
"title": "پس‌زمینه‌های مجازی",

View File

@@ -69,7 +69,7 @@
"DISCONNECTED": "Ei yhteyttä",
"DISCONNECTING": "Yhteyttä katkaistaan",
"ERROR": "Virhe",
"RECONNECTING": "Tapahtui verkkovirhe. Yhdistetään uudelleen..."
"RECONNECTING": "Tapahtui verkkovirhe. Yhdistetään uudelleen"
},
"connectionindicator": {
"address": "Osoite:",
@@ -449,7 +449,7 @@
"calling": "Soitetaan…",
"connected": "Yhdistetty",
"connecting": "Yhdistetään…",
"connecting2": "Yhdistetään*...",
"connecting2": "Yhdistetään*",
"disconnected": "Ei yhteyttä",
"expired": "Vanhentunut",
"ignored": "Sivuutettu",
@@ -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

@@ -22,7 +22,7 @@
"noResults": "Aucun résultat de recherche correspondant",
"outlookEmail": "Outlook",
"phoneNumbers": "Numéros de téléphone",
"searching": "Recherche...",
"searching": "Recherche",
"shareInvite": "Partager l'invitation à la réunion",
"shareLink": "Partager le lien de la réunion pour inviter d'autres personnes",
"shareStream": "Partager le lien de diffusion en direct",
@@ -145,7 +145,7 @@
"installExtensionText": "Installer l'extension pour l'intégration de Google Calendar et Office 365"
},
"connectingOverlay": {
"joiningRoom": "Connexion à la réunion ..."
"joiningRoom": "Connexion à la réunion"
},
"connection": {
"ATTACHED": "Attachée",
@@ -157,9 +157,9 @@
"DISCONNECTED": "Déconnecté",
"DISCONNECTING": "Déconnexion en cours",
"ERROR": "Erreur",
"FETCH_SESSION_ID": "Obtention d'un identifiant de session ...",
"FETCH_SESSION_ID": "Obtention d'un identifiant de session",
"GET_SESSION_ID_ERROR": "Obtenir une erreur d'identifiant de session : {{code}}",
"GOT_SESSION_ID": "Obtention d'un identifiant de session ... Terminée",
"GOT_SESSION_ID": "Obtention d'un identifiant de session Terminée",
"LOW_BANDWIDTH": "La vidéo de {{displayName}} a été coupée pour économiser de la bande passante"
},
"connectionindicator": {
@@ -224,8 +224,8 @@
"noMobileApp": "Vous navez pas lapplication ?",
"or": "OU",
"termsAndConditions": "En continuant, vous acceptez nos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>conditions générales dutilisation.</a>",
"title": "Lancement de votre réunion dans {{app}} en cours ...",
"titleNew": "Lancement de votre réunion ...",
"title": "Lancement de votre réunion dans {{app}} en cours",
"titleNew": "Lancement de votre réunion",
"tryAgainButton": "Réessayez sur le bureau",
"unsupportedBrowser": "Il semble que vous utilisez un navigateur non supporté."
},
@@ -266,7 +266,7 @@
"WaitForHostMsg": "La conférence n'a pas encore commencé. Si vous en êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre son arrivée.",
"WaitForHostNoAuthMsg": "La conférence n'a pas encore commencé car aucun modérateur n'est encore arrivé. Veuillez patienter.",
"WaitingForHostButton": "Attendre l'hôte",
"WaitingForHostTitle": "En attente de l'hôte ...",
"WaitingForHostTitle": "En attente de l'hôte",
"Yes": "Oui",
"accessibilityLabel": {
"Cancel": "Annuler (quiter la popup)",
@@ -294,9 +294,9 @@
"cameraUnknownError": "Vous ne pouvez pas utiliser la caméra pour une raison inconnue.",
"cameraUnsupportedResolutionError": "Votre appareil ne prend pas en charge la résolution vidéo requise.",
"close": "Fermer",
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec ...",
"conferenceDisconnectMsg": "Veuillez vérifier votre connexion réseau. Reconnexion dans {{seconds}} sec",
"conferenceDisconnectTitle": "Vous avez été déconnecté.",
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes ...",
"conferenceReloadMsg": "On essaie d'arranger ça. Reconnexion dans {{seconds}} secondes",
"conferenceReloadTitle": "Malheureusement, un problème est survenu",
"confirm": "Confirmer",
"confirmNo": "Non",
@@ -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é.",
@@ -625,7 +629,7 @@
"errorLiveStreamNotEnabled": "La diffusion en direct n'est pas activée pour {{email}}. Merci de l'activer ou de vous connecter avec un compte où elle est déjà activée.",
"expandedOff": "La diffusion en direct a été arrêtée",
"expandedOn": "La conférence est en cours de diffusion sur YouTube.",
"expandedPending": "La diffusion en direct a commencé ...",
"expandedPending": "La diffusion en direct a commencé",
"failedToStart": "La diffusion n'a pas réussi à démarrer",
"getStreamKeyManually": "Nous n'avons pas réussi à récupérer un flux de direct. Essayez d'obtenir votre clé de diffusion en direct sur YouTube.",
"googlePrivacyPolicy": "Politique de confidentialité de Google",
@@ -637,7 +641,8 @@
"offBy": "{{name}} a arrêté la diffusion en direct",
"on": "En direct",
"onBy": "{{name}} a démarré la diffusion en direct",
"pending": "Lancement du 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",
@@ -667,10 +672,10 @@
"joinRejectedMessage": "Votre requête pour rejoindre une réunion a été refusée par un modérateur.",
"joinRejectedTitle": "Demande d'accès rejetée.",
"joinTitle": "Rejoindre une réunion",
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait ...",
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait",
"joiningMessage": "Vous allez rejoindre une réunion dès que quelqu'un aura accepté votre demande",
"joiningTitle": "Demander à rejoindre une réunion ...",
"joiningWithPasswordTitle": "Rejoindre avec mot de passe ...",
"joiningTitle": "Demander à rejoindre une réunion",
"joiningWithPasswordTitle": "Rejoindre avec mot de passe",
"knockButton": "Demander à rejoindre",
"knockTitle": "Quelqu'un souhaite rejoindre la réunion",
"knockingParticipantList": "Liste des participants en attente",
@@ -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",
@@ -762,7 +771,7 @@
"linkToSalesforceDescription": "Vous pouvez lier le résumé de la conférence à un objet Salesforce.",
"linkToSalesforceError": "Impossible de relier la conférence à Salesforce",
"linkToSalesforceKey": "Relier cette conférence",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce...",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce",
"linkToSalesforceSuccess": "La conférence a été reliée à Salesforce",
"localRecordingStarted": "{{name}} a commencé un enregistrement local.",
"localRecordingStopped": "{{name}} a arrêté un enregistrement local.",
@@ -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}}",
@@ -911,12 +925,14 @@
"callMe": "Appelez-moi",
"callMeAtNumber": "Appelez-moi à ce numéro :",
"calling": "Appel",
"configuringDevices": "Configuration des appareils ...",
"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.",
@@ -968,17 +985,17 @@
},
"presenceStatus": {
"busy": "Occupé",
"calling": "Appel ...",
"calling": "Appel",
"connected": "Connecté",
"connecting": "Connexion en cours ...",
"connecting2": "Connexion en cours* ...",
"connecting": "Connexion en cours",
"connecting2": "Connexion en cours*",
"disconnected": "Déconnecté",
"expired": "Expiré",
"ignored": "Ignoré",
"initializingCall": "Lancement de l'appel ...",
"initializingCall": "Lancement de l'appel",
"invited": "Invité(e)",
"rejected": "Rejeté",
"ringing": "Appel en cours ..."
"ringing": "Appel en cours"
},
"profile": {
"avatar": "avatar",
@@ -1012,7 +1029,7 @@
"errorFetchingLink": "Erreur de récupération du lien d'enregistrement.",
"expandedOff": "L'enregistrement a été arrêté",
"expandedOn": "Cette conférence est actuellement en cours d'enregistrement.",
"expandedPending": "Démarrage de l'enregistrement ...",
"expandedPending": "Démarrage de l'enregistrement",
"failedToStart": "L'enregistrement n'a pas réussi à démarrer",
"fileSharingdescription": "Partager l'enregistrement avec les participants de la réunion",
"highlight": "Souligner",
@@ -1039,7 +1056,8 @@
"on": "Enregistrement",
"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 ...",
"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.",
@@ -1480,7 +1494,7 @@
"image6": "Forêt ",
"image7": "Lever de soleil",
"none": "Rien",
"pleaseWait": "Veuillez patienter...",
"pleaseWait": "Veuillez patienter",
"removeBackground": "Supprimer l'arrière-plan",
"slightBlur": "Léger flou",
"title": "Arrière-plan virtuel",
@@ -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

@@ -29,7 +29,7 @@
"searchNumbers": "Ajouter des numéros de téléphone",
"searchPeople": "Rechercher des personnes",
"searchPeopleAndNumbers": "Rechercher des personnes ou ajouter des numéros de téléphone",
"searching": "Recherche...",
"searching": "Recherche",
"shareInvite": "Partager l'invitation à la réunion",
"shareLink": "Partager le lien de la réunion pour inviter d'autres personnes",
"shareStream": "Partager le lien de diffusion en direct",
@@ -158,11 +158,11 @@
"DISCONNECTED": "Déconnecté",
"DISCONNECTING": "Déconnexion en cours",
"ERROR": "Erreur",
"FETCH_SESSION_ID": "Obtention d'un identifiant de session ...",
"FETCH_SESSION_ID": "Obtention d'un identifiant de session",
"GET_SESSION_ID_ERROR": "Obtenir une erreur d'identifiant de session: {{code}}",
"GOT_SESSION_ID": "Obtention d'un identifiant de session ... Terminée",
"GOT_SESSION_ID": "Obtention d'un identifiant de session Terminée",
"LOW_BANDWIDTH": "La vidéo de {{displayName}} a été coupée pour économiser de la bande passante",
"RECONNECTING": "Un problème de réseau est survenu. Reconnexion en cours..."
"RECONNECTING": "Un problème de réseau est survenu. Reconnexion en cours"
},
"connectionindicator": {
"address": "Adresse :",
@@ -225,7 +225,7 @@
"openApp": "Continuer vers l'application",
"termsAndConditions": "En continuant, vous acceptez nos <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>conditions générales dutilisation.</a>",
"title": "Démarrage de votre réunion dans {{app}} en cours…",
"titleNew": "Démarrage de votre réunion ...",
"titleNew": "Démarrage de votre réunion",
"tryAgainButton": "Veuillez réessayer sur votre ordinateur",
"unsupportedBrowser": "Il semble que vous utilisez un navigateur non supporté."
},
@@ -266,7 +266,7 @@
"WaitForHostMsg": "La conférence n'a pas encore démarré. Si vous êtes l'hôte, veuillez vous authentifier. Sinon, veuillez attendre que l'hôte arrive.",
"WaitingForHost": "En attente de l'hôte…",
"WaitingForHostButton": "Attendre l'hôte",
"WaitingForHostTitle": "En attente de l'hôte ...",
"WaitingForHostTitle": "En attente de l'hôte",
"Yes": "Oui",
"accessibilityLabel": {
"Cancel": "Annuler (quiter la fenêtre)",
@@ -676,10 +676,10 @@
"joinRejectedMessage": "Votre requête pour rejoindre une réunion a été refusée par un modérateur.",
"joinRejectedTitle": "Demande d'accès rejetée.",
"joinTitle": "Rejoindre une réunion",
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait ...",
"joinWithPasswordMessage": "Tentative de rejoindre avec mot de passe, patientez s'il vous plait",
"joiningMessage": "Vous allez rejoindre une réunion dès que quelqu'un aura accepté votre demande",
"joiningTitle": "Demander à rejoindre une réunion ...",
"joiningWithPasswordTitle": "Rejoindre avec mot de passe ...",
"joiningTitle": "Demander à rejoindre une réunion",
"joiningWithPasswordTitle": "Rejoindre avec mot de passe",
"knockButton": "Demander à rejoindre",
"knockTitle": "Quelqu'un souhaite rejoindre la réunion",
"knockingParticipantList": "Liste des participants en attente",
@@ -770,7 +770,7 @@
"linkToSalesforceDescription": "Vous pouvez lier le résumé de la conférence à un objet Salesforce.",
"linkToSalesforceError": "Impossible de relier la conférence à Salesforce",
"linkToSalesforceKey": "Relier cette conférence",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce...",
"linkToSalesforceProgress": "Liaison de la conférence à Salesforce",
"linkToSalesforceSuccess": "La conférence a été reliée à Salesforce",
"localRecordingStarted": "{{name}} a commencé un enregistrement local.",
"localRecordingStopped": "{{name}} a arrêté un enregistrement local.",
@@ -907,7 +907,7 @@
"callMe": "Appelez-moi",
"callMeAtNumber": "Appelez-moi à ce numéro :",
"calling": "Appel",
"configuringDevices": "Configuration des appareils ...",
"configuringDevices": "Configuration des appareils",
"connectedWithAudioQ": "Êtes-vous connecté avec le microphone ?",
"connection": {
"good": "Votre connexion Internet est bonne !",
@@ -966,7 +966,7 @@
"calling": "Appel en cours…",
"connected": "Connecté",
"connecting": "Connexion en cours…",
"connecting2": "Connexion en cours*...",
"connecting2": "Connexion en cours*",
"disconnected": "Déconnecté",
"expired": "Expiré",
"ignored": "Ignoré",
@@ -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.",
@@ -1470,7 +1461,7 @@
"image6": "Forêt ",
"image7": "Lever de soleil",
"none": "Rien",
"pleaseWait": "Veuillez patienter...",
"pleaseWait": "Veuillez patienter",
"removeBackground": "Supprimer l'arrière-plan",
"slightBlur": "Léger flou",
"title": "Arrière-plan virtuel",

View File

@@ -80,7 +80,7 @@
"DISCONNECTED": "Desconectado",
"DISCONNECTING": "Desconectando",
"ERROR": "Erro",
"RECONNECTING": "Produciuse un problema na rede. Reconectando..."
"RECONNECTING": "Produciuse un problema na rede. Reconectando"
},
"connectionindicator": {
"address": "Enderezo:",
@@ -465,7 +465,7 @@
"calling": "Chamando…",
"connected": "Conectado",
"connecting": "Conectando…",
"connecting2": "Conectando*...",
"connecting2": "Conectando*",
"disconnected": "Desconectado",
"expired": "Expirou",
"ignored": "Ignorado",
@@ -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

@@ -68,7 +68,7 @@
"installExtensionText": "התקן את התוסף לשילוב Google Calendar ו-Office 365"
},
"connectingOverlay": {
"joiningRoom": "מחבר אותך למפגש שלך..."
"joiningRoom": "מחבר אותך למפגש שלך"
},
"connection": {
"ATTACHED": "צרופה",
@@ -80,9 +80,9 @@
"DISCONNECTED": "לא מחובר",
"DISCONNECTING": "מתנתק",
"ERROR": "שגיאה",
"FETCH_SESSION_ID": "השגת מזהה הפעלה...",
"FETCH_SESSION_ID": "השגת מזהה הפעלה",
"GET_SESSION_ID_ERROR": "התקבלה שגיאה מזהה הפעלה: {{code}}",
"GOT_SESSION_ID": "השגת מזהה הפעלה... בוצע",
"GOT_SESSION_ID": "השגת מזהה הפעלה בוצע",
"LOW_BANDWIDTH": "הווידאו עבור {{displayName}} כבה כדי לשמור על רוחב הפס"
},
"connectionindicator": {
@@ -127,7 +127,7 @@
"downloadApp": "הורד את היישום",
"launchWebButton": "הפעל ברשת",
"openApp": "מתחבר ליישום",
"title": "מפעיל את הפגישה שלך ב{{app}}...",
"title": "מפעיל את הפגישה שלך ב{{app}}",
"tryAgainButton": "נסה שוב במחשב"
},
"defaultLink": "למשל {{url}}",
@@ -156,7 +156,7 @@
"Share": "שתף",
"Submit": "שלח",
"WaitForHostMsg": "הועידה טרם החלה. אם אתה המארח אז בצע אימות. אחרת, אנא המתן שהמארח יגיע.",
"WaitingForHost": "ממתין למארח ...",
"WaitingForHost": "ממתין למארח",
"Yes": "כן",
"accessibilityLabel": {
"liveStreaming": "שידור חי"
@@ -173,9 +173,9 @@
"cameraUnknownError": "לא ניתן להשתמש במצלמה מסיבה לא ידועה.",
"cameraUnsupportedResolutionError": "המצלמה שלך אינה תומכת ברזולוציית וידאו הנדרשת.",
"close": "סגור",
"conferenceDisconnectMsg": "יתכן שתרצה לבדוק את חיבור הרשת שלך, מתחבר מחדש בעוד {{seconds}} שניות...",
"conferenceDisconnectMsg": "יתכן שתרצה לבדוק את חיבור הרשת שלך, מתחבר מחדש בעוד {{seconds}} שניות",
"conferenceDisconnectTitle": "נותקת.",
"conferenceReloadMsg": "אנו מנסים לתקן זאת, מתחבר מחדש בעוד {{seconds}} שניות...",
"conferenceReloadMsg": "אנו מנסים לתקן זאת, מתחבר מחדש בעוד {{seconds}} שניות",
"conferenceReloadTitle": "לצערנו משהו השתבש.",
"confirm": "אשר",
"confirmNo": "לא",
@@ -383,7 +383,7 @@
"errorLiveStreamNotEnabled": "הזרמה בשידור חי אינו מופעל ב-{{email}}. אנא אפשר הזרמה בשידור חי או היכנס לחשבון עם שידור חי מופעל",
"expandedOff": "השידור החי פסק",
"expandedOn": "המפגש הזה מוזרם כעת ליוטיוב.",
"expandedPending": "השידור החי עומד להתחיל...",
"expandedPending": "השידור החי עומד להתחיל",
"failedToStart": "ההפעלה של השידור החי כשלה",
"getStreamKeyManually": "לא הצלחנו להשיג הזרמה של שידור חי, נסה להשיג את מפתח שידור החי מיוטיוב.",
"googlePrivacyPolicy": "מדיניות הפרטיות של גוגל",
@@ -392,7 +392,7 @@
"offBy": "{{name}} הפסיק את השידור החי",
"on": "שידור חי",
"onBy": "{{name}} הפעיל את השידור החי",
"pending": "מתחיל שידור חי...",
"pending": "מתחיל שידור חי",
"serviceName": "שירותי שידור חי",
"signIn": "התחבר באמצעות גוגל",
"signInCTA": "התחבר או הזן מפתח שידור חי מיוטיוב.",
@@ -471,7 +471,7 @@
"somebody": "מישהו",
"startSilentDescription": "הצטרף שוב לפגישה כדי לאפשר שמע",
"startSilentTitle": "הצטרפת ללא פלט שמע!",
"suboptimalExperienceDescription": "אופ... אנו חוששים שהחוויה שלך עם {{appName}} לא תהיה נהדרת כאן. אנו מחפשים דרכים לשפר זאת, אך עד אז, נסה להשתמש באחד מה<a href='{{recommendedBrowserPageLink}}' target='_blank'>דפדפנים הנתמכים לחלוטין</a>.",
"suboptimalExperienceDescription": "אופ אנו חוששים שהחוויה שלך עם {{appName}} לא תהיה נהדרת כאן. אנו מחפשים דרכים לשפר זאת, אך עד אז, נסה להשתמש באחד מה<a href='{{recommendedBrowserPageLink}}' target='_blank'>דפדפנים הנתמכים לחלוטין</a>.",
"suboptimalExperienceTitle": "אזהרת דפדפן",
"unmute": "בטל השתקה"
},
@@ -485,17 +485,17 @@
"poweredby": "מופעל על ידי",
"presenceStatus": {
"busy": "עסוק",
"calling": "מחייג...",
"calling": "מחייג",
"connected": "מחובר",
"connecting": "מתחבר...",
"connecting2": "מתחבר*...",
"connecting": "מתחבר",
"connecting2": "מתחבר*",
"disconnected": "מנותק",
"expired": "פג תוקף",
"ignored": "התעלמו",
"initializingCall": "מאתחל שיחה...",
"initializingCall": "מאתחל שיחה",
"invited": "הוזמנו",
"rejected": "דחו",
"ringing": "מצלצל..."
"ringing": "מצלצל"
},
"profile": {
"setDisplayNameLabel": "הגדר שם תצוגה",
@@ -513,7 +513,7 @@
"error": "ההקלטה כשלה. אנא נסה שוב.",
"expandedOff": "ההקלטה הופסקה",
"expandedOn": "הפגישה מתועדת כעת.",
"expandedPending": "ההקלטה עומדת להתחיל...",
"expandedPending": "ההקלטה עומדת להתחיל",
"failedToStart": "התחלת הקלטה כשלה",
"fileSharingdescription": "שתף את ההקלטה עם משתתפי הפגישה",
"live": "חי",
@@ -522,7 +522,7 @@
"offBy": "{{name}} עצר את ההקלטה",
"on": "מקליט",
"onBy": "{{name}} הפעיל את ההקלטה",
"pending": "מתכונן להקליט את הפגישה...",
"pending": "מתכונן להקליט את הפגישה",
"rec": "מקליט",
"serviceDescription": "ההקלטה שלך תישמר על ידי שירותי ההקלטה",
"serviceName": "שירותי הקלטה",
@@ -707,22 +707,13 @@
"failedToStart": "הפעלת תמלול כשלה",
"labelToolTip": "הפגישה מתומללת",
"off": "התמלול פסק",
"pending": "מתכונן לתמלול הפגישה...",
"pending": "מתכונן לתמלול הפגישה",
"start": "התחל הצגת כתוביות",
"stop": "עצור הצגת כתוביות",
"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

@@ -85,7 +85,7 @@
"installExtensionText": ",गूगल कैलेंडर और ऑफिस 365 एकीकरण के लिए एक्सटेंशन इंस्टॉल करें"
},
"connectingOverlay": {
"joiningRoom": "आपको आपकी मीटिंग से कनेक्ट किया जा रहा है ..."
"joiningRoom": "आपको आपकी मीटिंग से कनेक्ट किया जा रहा है"
},
"connection": {
"ATTACHED": "संलग्न",
@@ -97,9 +97,9 @@
"DISCONNECTED": "संपर्क विफ़ल ",
"DISCONNECTING": "संपर्क हटाया जा रहा ",
"ERROR": "त्रुटि",
"FETCH_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं ...",
"FETCH_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं ",
"GET_SESSION_ID_ERROR": "सत्र-आईडी त्रुटि प्राप्त करें: {{code}}",
"GOT_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं... पूर्ण",
"GOT_SESSION_ID": "सत्र-आईडी प्राप्त की जा रही हैं पूर्ण",
"LOW_BANDWIDTH": "बैंडविड्थ को बचाने के लिए {{displayName}} का वीडियो बंद कर दिया गया है"
},
"connectionindicator": {
@@ -152,7 +152,7 @@
"ifHaveApp": "यदि आपके पास पहले से ही ऐप है:",
"joinInApp": "ऐप का उपयोग करके इस मीटिंग में शामिल हों",
"launchWebButton": "वेब में लॉन्च करे",
"title": "{{app}} में आपकी मीटिंग शुरू की जा रही हैं ...",
"title": "{{app}} में आपकी मीटिंग शुरू की जा रही हैं",
"tryAgainButton": "डेस्कटॉप में फिर से प्रयास करें"
},
"defaultLink": "उदाहरण {{url}}",
@@ -181,7 +181,7 @@
"Share": "Share",
"Submit": "सबमिट करें",
"WaitForHostMsg": "सम्मेलन अभी तक शुरू नहीं हुआ है। यदि आप मेजबान हैं तो कृपया प्रमाणित करें। अन्यथा, कृपया मेजबान के आने की प्रतीक्षा करें।",
"WaitingForHostTitle": "होस्ट की प्रतीक्षा कर रहा है ...",
"WaitingForHostTitle": "होस्ट की प्रतीक्षा कर रहा है",
"Yes": "हाँ",
"accessibilityLabel": {
"liveStreaming": "सीधा प्रसारण"
@@ -201,9 +201,9 @@
"cameraUnknownError": "अज्ञात कारण की वजह से कैमरे का उपयोग नहीं किया जा सकता है।",
"cameraUnsupportedResolutionError": "आपका कैमरा आवश्यक वीडियो रिज़ॉल्यूशन का समर्थन नहीं करता है।",
"close": "बंद करें",
"conferenceDisconnectMsg": "आप अपने नेटवर्क कनेक्शन की जांच कर सकते है। . {{seconds}} सेकंड में पुनः कनेक्ट किया जायेंगा ...",
"conferenceDisconnectMsg": "आप अपने नेटवर्क कनेक्शन की जांच कर सकते है। . {{seconds}} सेकंड में पुनः कनेक्ट किया जायेंगा",
"conferenceDisconnectTitle": "आपको डिस्कनेक्ट कर दिया गया है।",
"conferenceReloadMsg": "हम इसे ठीक करने का प्रयास कर रहे हैं। {{seconds}} सेकंड में पुनः कनेक्ट कर रहे हैं ...",
"conferenceReloadMsg": "हम इसे ठीक करने का प्रयास कर रहे हैं। {{seconds}} सेकंड में पुनः कनेक्ट कर रहे हैं",
"conferenceReloadTitle": "दुर्भाग्य से, कुछ गलत हो गया।",
"confirm": "पुष्टि करें",
"confirmNo": "नहीं",
@@ -429,7 +429,7 @@
"errorLiveStreamNotEnabled": "Live Streaming is not enabled on {{email}}. Please enable live streaming or log into an account with live streaming enabled.",
"expandedOff": "The live streaming has stopped",
"expandedOn": "The meeting is currently being streamed to YouTube.",
"expandedPending": "The live streaming is being started...",
"expandedPending": "The live streaming is being started",
"failedToStart": "Live Streaming failed to start",
"getStreamKeyManually": "We werent able to fetch any live streams. Try getting your live stream key from YouTube.",
"googlePrivacyPolicy": "Google Privacy Policy",
@@ -440,7 +440,7 @@
"offBy": "{{name}} stopped the live streaming",
"on": "Live Streaming started",
"onBy": "{{name}} started the live streaming",
"pending": "Starting Live Stream...",
"pending": "Starting Live Stream",
"serviceName": "Live Streaming service",
"signIn": "Sign in with Google",
"signInCTA": "Sign in or enter your live stream key from YouTube.",
@@ -467,10 +467,10 @@
"invalidPassword": "अमान्य पासवर्ड",
"joinRejectedMessage": "आपका अनुरोध एक मॉडरेटर द्वारा अस्वीकार कर दिया गया.",
"joinTitle": "मीटिंग में शामिल हों",
"joinWithPasswordMessage": "पासवर्ड के साथ जुड़ने की कोशिश कर रहा है, कृपया प्रतीक्षा करें...",
"joinWithPasswordMessage": "पासवर्ड के साथ जुड़ने की कोशिश कर रहा है, कृपया प्रतीक्षा करें",
"joiningMessage": "जैसे ही कोई आपके अनुरोध को स्वीकार करता है आप बैठक में शामिल हो जाएंगे",
"joiningTitle": "मीटिंग में शामिल होने के लिए कह रहा है...",
"joiningWithPasswordTitle": "पासवर्ड के साथ जुड़े...",
"joiningTitle": "मीटिंग में शामिल होने के लिए कह रहा है",
"joiningWithPasswordTitle": "पासवर्ड के साथ जुड़े",
"knockButton": "जुड़ने के लिए कहें ",
"knockTitle": "कोई व्यक्ति बैठक में शामिल होना चाहता है",
"knockingParticipantList": "प्रतिभागी सूची दस्तक",
@@ -579,7 +579,7 @@
"callMe": "मुझे कॉल करें",
"callMeAtNumber": "मुझे इस नंबर पर कॉल करें:",
"calling": "कॉलिंग",
"configuringDevices": "डिवाइस कॉन्फ़िगर कर रहा है ...",
"configuringDevices": "डिवाइस कॉन्फ़िगर कर रहा है",
"connectedWithAudioQ": "Youre connected with audio?",
"connection": {
"good": "Your internet connection looks good!",
@@ -630,17 +630,17 @@
},
"presenceStatus": {
"busy": "व्यस्त",
"calling": "कॉलिंग...",
"calling": "कॉलिंग",
"connected": "कनेक्टेड",
"connecting": "कनेक्टिंग...",
"connecting2": "कनेक्टिंग*...",
"connecting": "कनेक्टिंग",
"connecting2": "कनेक्टिंग*",
"disconnected": "डिस्कनेक्ट किया गया",
"expired": "एक्सपायर्ड",
"ignored": "Ignored",
"initializingCall": "Initializing Call...",
"initializingCall": "Initializing Call",
"invited": "आमंत्रित",
"rejected": "अस्वीकृत",
"ringing": "Ringing..."
"ringing": "Ringing"
},
"profile": {
"setDisplayNameLabel": "अपना नाम सेट करें",
@@ -658,7 +658,7 @@
"error": "रिकॉर्डिंग विफल हुई। कृपया पुन: प्रयास करें।",
"expandedOff": "रिकॉर्डिंग बंद हो गई है",
"expandedOn": "The meeting is currently being recorded.",
"expandedPending": "रिकॉर्डिंग शुरू की जा रही है...",
"expandedPending": "रिकॉर्डिंग शुरू की जा रही है",
"failedToStart": "रिकॉर्डिंग शुरू करने में विफलता हुई।",
"fileSharingdescription": "Share recording with meeting participants",
"limitNotificationDescriptionNative": "Due to high demand your recording will be limited to {{limit}} min. For unlimited recordings try <3>{{app}}</3>.",
@@ -669,7 +669,7 @@
"offBy": "{{name}} stopped the recording",
"on": "Recording started",
"onBy": "{{name}} started the recording",
"pending": "Preparing to record the meeting...",
"pending": "Preparing to record the meeting",
"rec": "REC",
"serviceDescription": "Your recording will be saved by the recording service",
"serviceDescriptionCloud": "Cloud recording",
@@ -880,22 +880,13 @@
"failedToStart": "ट्रांसक्रिप्शनिंग प्रारंभ करने में विफल",
"labelToolTip": "The meeting is being transcribed",
"off": "ट्रांसक्रिप्शनिंग बंद कर दिया",
"pending": "Preparing to transcribe the meeting...",
"pending": "Preparing to transcribe the meeting",
"start": "उपशीर्षक दिखाना शुरू करें",
"stop": "उपशीर्षक दिखाना बंद करें",
"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": "हम संसाधनों को मुक्त करने पर काम कर रहे हैं। कृपया कुछ मिनटों बाद पुन: प्रयास करें।",
@@ -943,7 +934,7 @@
"virtualBackground": {
"enableBlur": "ब्लर सक्षम करें",
"none": "कोई नहीं",
"pleaseWait": "कृपया प्रतीक्षा करें ...",
"pleaseWait": "कृपया प्रतीक्षा करें",
"removeBackground": "पृष्ठभूमि निकालें",
"title": "पृष्ठभूमि",
"uploadImage": "छवि अपलोड करें"

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

@@ -20,7 +20,7 @@
"noResults": "žane přitrjechjace wuslědki",
"outlookEmail": "Outlook-e-mejl",
"phoneNumbers": "telefoniske čisła",
"searching": "pyta...",
"searching": "pyta",
"shareInvite": "přeprošenje na zhromadźiznu dźělić",
"shareLink": "za přeprošenje druhich dźělće link za konferencu ",
"shareStream": "link za live-streaming dźělić",
@@ -652,7 +652,7 @@
"linkToSalesforceDescription": "Móžeće zjeće konferency z objektom w Salesforce zwjazać.",
"linkToSalesforceError": "Konferenca njemóžeše so ze Salesforce zwjazać.",
"linkToSalesforceKey": "konferencu zalinkować",
"linkToSalesforceProgress": "konferenca so ze Salesforce zwjaza...",
"linkToSalesforceProgress": "konferenca so ze Salesforce zwjaza",
"linkToSalesforceSuccess": "Konferenca bu ze Salesforce zwjazana.",
"localRecordingStarted": "{{name}} je z lokalnym nahrawanjom započinał.",
"localRecordingStopped": "{{name}} je lokalne nahrawanje skónčił.",
@@ -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.",
@@ -1267,7 +1258,7 @@
"image6": "lěs",
"image7": "schadźenje słónca",
"none": "žadyn",
"pleaseWait": "wokomik...",
"pleaseWait": "wokomik",
"removeBackground": "pozadk wotstronić",
"slightBlur": "pozadk snadnje njejasny",
"title": "pozadk",

View File

@@ -111,7 +111,7 @@
"GET_SESSION_ID_ERROR": "Hiba a munkamenet-azonosítása beszerzése közben: {{code}}",
"GOT_SESSION_ID": "Munkamenet-azonosító beszerzése… Kész",
"LOW_BANDWIDTH": "{{displayName}} videója le lett kapcsolva a sávszélesség csökkentése érdekében",
"RECONNECTING": "Hálózati hiba történt. Újracsatlakozás..."
"RECONNECTING": "Hálózati hiba történt. Újracsatlakozás"
},
"connectionindicator": {
"address": "Cím:",
@@ -480,10 +480,10 @@
"joinRejectedMessage": "Csatlakozási kérelmét egy moderátor elutasította.",
"joinRejectedTitle": "Csatlakozási kérelem elutasítva.",
"joinTitle": "Csatlakozás az értekezlethez",
"joinWithPasswordMessage": "Csatlakozás jelszóval, kérjük várjon...",
"joinWithPasswordMessage": "Csatlakozás jelszóval, kérjük várjon",
"joiningMessage": "Amint valaki elfogadja kérését, csatlakoztatjuk az értekezlethez",
"joiningTitle": "Értekezlethez csatlakozás kérése...",
"joiningWithPasswordTitle": "Csatlakozás jelszóval...",
"joiningTitle": "Értekezlethez csatlakozás kérése",
"joiningWithPasswordTitle": "Csatlakozás jelszóval",
"knockButton": "Csatlakozási kérelem küldése",
"knockTitle": "Valaki szeretne csatlakozni az értekezlethez",
"nameField": "Adja meg a nevét",
@@ -648,7 +648,7 @@
"callMe": "Hívj fel",
"callMeAtNumber": "Hívj fel ezen a számon:",
"calling": "Hívás",
"configuringDevices": "Eszköz beállítás...",
"configuringDevices": "Eszköz beállítás",
"connectedWithAudioQ": "Csak hanggal szeretne csatlakozni?",
"connection": {
"good": "Az internet kapcsolat jónak tűnik!",
@@ -694,7 +694,7 @@
"calling": "Hívás…",
"connected": "Kapcsolódva",
"connecting": "Kapcsolódás…",
"connecting2": "Kapcsolódás*...",
"connecting2": "Kapcsolódás*",
"disconnected": "Szétkapcsolva",
"expired": "Lejárt",
"ignored": "Figyelmen kívül hagyva",
@@ -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.",
@@ -1064,7 +1055,7 @@
"image6": "Erdő",
"image7": "Napfelkelte",
"none": "Nincs",
"pleaseWait": "Kérjük várjon...",
"pleaseWait": "Kérjük várjon",
"removeBackground": "Háttér eltávolítása",
"slightBlur": "Enyhén elmosódott",
"title": "Virtuális háttérképek",

View File

@@ -68,7 +68,7 @@
"DISCONNECTED": "Անջատված է",
"DISCONNECTING": "Անջատում…",
"ERROR": "Սխալ",
"RECONNECTING": "Ցանցի խնդիր է տեղի ունեցել: Վերամիացում..."
"RECONNECTING": "Ցանցի խնդիր է տեղի ունեցել: Վերամիացում"
},
"connectionindicator": {
"address": "Հասցե։",
@@ -438,7 +438,7 @@
"calling": "",
"connected": "Միացված է",
"connecting": "Միանում է…",
"connecting2": "Միանում է...",
"connecting2": "Միանում է",
"disconnected": "Անջատված է",
"expired": "",
"ignored": "",
@@ -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

@@ -22,7 +22,7 @@
"noResults": "Tidak ada hasil pencarian yang cocok",
"outlookEmail": "Email Outlook",
"phoneNumbers": "nomor telepon",
"searching": "Mencari...",
"searching": "Mencari",
"shareInvite": "Bagikan undangan rapat",
"shareLink": "Bagikan tautan rapat untuk mengundang orang lain",
"shareStream": "Bagikan tautan streaming langsung",
@@ -145,7 +145,7 @@
"installExtensionText": "Pasang ekstensi untuk integrasi Google Calendar dan Office 365"
},
"connectingOverlay": {
"joiningRoom": "Menghubungkan Anda ke pertemuan Anda..."
"joiningRoom": "Menghubungkan Anda ke pertemuan Anda"
},
"connection": {
"ATTACHED": "Terlampir",
@@ -157,9 +157,9 @@
"DISCONNECTED": "Terputus",
"DISCONNECTING": "Memutuskan",
"ERROR": "Error",
"FETCH_SESSION_ID": "Mendapatkan session-id...",
"FETCH_SESSION_ID": "Mendapatkan session-id",
"GET_SESSION_ID_ERROR": "Error mendapatkan session-id: {{code}}",
"GOT_SESSION_ID": "Mendapatkan session-id... Selesai",
"GOT_SESSION_ID": "Mendapatkan session-id Selesai",
"LOW_BANDWIDTH": "Video untuk {{displayName}} telah dimatikan untuk menghemat bandwidth"
},
"connectionindicator": {
@@ -224,8 +224,8 @@
"noMobileApp": "Anda tidak memiliki aplikasinya?",
"or": "ATAU",
"termsAndConditions": "Dengan melanjutkan Anda menyetujui <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>syarat & ketentuan</a> kami.",
"title": "Meluncurkan pertemuan Anda di {{app}}...",
"titleNew": "Meluncurkan pertemuan Anda...",
"title": "Meluncurkan pertemuan Anda di {{app}}",
"titleNew": "Meluncurkan pertemuan Anda",
"tryAgainButton": "Coba lagi di desktop",
"unsupportedBrowser": "Sepertinya Anda menggunakan peramban yang tidak kami dukung."
},
@@ -266,7 +266,7 @@
"WaitForHostMsg": "Konferensi belum dimulai karena belum ada moderator yang datang. Jika Anda ingin menjadi moderator, silakan masuk. Jika tidak, harap tunggu.",
"WaitForHostNoAuthMsg": "Konferensi belum dimulai karena belum ada moderator yang datang. Harap tunggu.",
"WaitingForHostButton": "Tunggu moderator",
"WaitingForHostTitle": "Menunggu moderator...",
"WaitingForHostTitle": "Menunggu moderator",
"Yes": "Ya",
"accessibilityLabel": {
"Cancel": "Batal (tinggalkan dialog)",
@@ -294,9 +294,9 @@
"cameraUnknownError": "Tidak dapat menggunakan kamera karena alasan yang tidak diketahui.",
"cameraUnsupportedResolutionError": "Kamera Anda tidak mendukung resolusi video yang diperlukan.",
"close": "Tutup",
"conferenceDisconnectMsg": "Anda mungkin ingin memeriksa koneksi jaringan Anda. Menghubungkan kembali dalam {{seconds}} detik...",
"conferenceDisconnectMsg": "Anda mungkin ingin memeriksa koneksi jaringan Anda. Menghubungkan kembali dalam {{seconds}} detik",
"conferenceDisconnectTitle": "Anda telah terputus.",
"conferenceReloadMsg": "Kami mencoba memperbaiki ini. Menghubungkan kembali dalam {{seconds}} detik...",
"conferenceReloadMsg": "Kami mencoba memperbaiki ini. Menghubungkan kembali dalam {{seconds}} detik",
"conferenceReloadTitle": "Sayangnya, terjadi kesalahan.",
"confirm": "Konfirmasi",
"confirmNo": "Tidak",
@@ -625,7 +625,7 @@
"errorLiveStreamNotEnabled": "Siaran Langsung tidak diaktifkan pada {{email}}. Harap aktifkan siaran langsung atau masuk ke akun dengan siaran langsung diaktifkan.",
"expandedOff": "Siaran Langsung telah berhenti",
"expandedOn": "Pertemuan saat ini sedang siaran langsung",
"expandedPending": "Siaran Langsung sedang dimulai...",
"expandedPending": "Siaran Langsung sedang dimulai",
"failedToStart": "Gagal memulai Siaran Langsung",
"getStreamKeyManually": "Kami tidak dapat mengambil siaran langsung apa pun. Coba dapatkan kunci siaran langsung Anda dari YouTube.",
"googlePrivacyPolicy": "Kebijakan Privasi Google",
@@ -637,7 +637,7 @@
"offBy": "{{name}} menghentikan siaran langsung",
"on": "Siaran Langsung dimulai",
"onBy": "{{name}} memulai siaran langsung",
"pending": "Memulai Live Stream...",
"pending": "Memulai Live Stream",
"serviceName": "Layanan Siaran Langsung",
"sessionAlreadyActive": "Sesi ini sudah direkam atau siaran langsung.",
"signIn": "Masuk dengan Google",
@@ -667,10 +667,10 @@
"joinRejectedMessage": "Permintaan bergabung Anda ditolak oleh moderator.",
"joinRejectedTitle": "Permintaan bergabung ditolak.",
"joinTitle": "Bergabung dengan Pertemuan",
"joinWithPasswordMessage": "Mencoba bergabung dengan kata sandi, harap tunggu...",
"joinWithPasswordMessage": "Mencoba bergabung dengan kata sandi, harap tunggu",
"joiningMessage": "Anda akan bergabung dengan pertemuan segera setelah seseorang menerima permintaan Anda",
"joiningTitle": "Meminta untuk bergabung dengan pertemuan...",
"joiningWithPasswordTitle": "Bergabung dengan kata sandi...",
"joiningTitle": "Meminta untuk bergabung dengan pertemuan",
"joiningWithPasswordTitle": "Bergabung dengan kata sandi",
"knockButton": "Meminta untuk Bergabung",
"knockTitle": "Seseorang ingin bergabung dengan pertemuan",
"knockingParticipantList": "Daftar peserta yang meminta bergabung",
@@ -762,7 +762,7 @@
"linkToSalesforceDescription": "Anda dapat mengaitkan ringkasan pertemuan ke objek Salesforce.",
"linkToSalesforceError": "Gagal mengaitkan pertemuan ke Salesforce",
"linkToSalesforceKey": "Tautkan pertemuan ini",
"linkToSalesforceProgress": "Mengaitkan pertemuan ke Salesforce...",
"linkToSalesforceProgress": "Mengaitkan pertemuan ke Salesforce",
"linkToSalesforceSuccess": "Pertemuan telah dihubungkan ke Salesforce",
"localRecordingStarted": "{{name}} telah memulai perekaman lokal.",
"localRecordingStopped": "{{name}} telah menghentikan perekaman lokal.",
@@ -907,7 +907,7 @@
"callMe": "Hubungi saya",
"callMeAtNumber": "Hubungi saya di nomor ini:",
"calling": "Menelepon",
"configuringDevices": "Mengkonfigurasi perangkat...",
"configuringDevices": "Mengkonfigurasi perangkat",
"connectedWithAudioQ": "Anda terhubung dengan audio?",
"connection": {
"good": "Koneksi internet Anda terlihat baik!",
@@ -964,17 +964,17 @@
},
"presenceStatus": {
"busy": "Sibuk",
"calling": "Menelepon...",
"calling": "Menelepon",
"connected": "Terhubung",
"connecting": "Menghubungkan...",
"connecting2": "Menghubungkan*...",
"connecting": "Menghubungkan",
"connecting2": "Menghubungkan*",
"disconnected": "Terputus",
"expired": "Kedaluwarsa",
"ignored": "Diabaikan",
"initializingCall": "Memulai Panggilan...",
"initializingCall": "Memulai Panggilan",
"invited": "Diundang",
"rejected": "Ditolak",
"ringing": "Berdering..."
"ringing": "Berdering"
},
"profile": {
"avatar": "avatar",
@@ -1008,7 +1008,7 @@
"errorFetchingLink": "Gagal mengambil tautan rekaman.",
"expandedOff": "Rekaman telah berhenti",
"expandedOn": "Pertemuan saat ini sedang direkam",
"expandedPending": "Rekaman sedang dimulai...",
"expandedPending": "Rekaman sedang dimulai",
"failedToStart": "Gagal memulai rekaman",
"fileSharingdescription": "Bagikan tautan rekaman dengan peserta pertemuan",
"highlight": "Sorot",
@@ -1035,7 +1035,7 @@
"on": "Rekaman dimulai",
"onBy": "{{name}} memulai rekaman",
"onlyRecordSelf": "Rekam hanya aliran audio dan video saya",
"pending": "Persiapan untuk merekam pertemuan...",
"pending": "Persiapan untuk merekam pertemuan",
"recordAudioAndVideo": "Rekam audio dan video",
"recordTranscription": "Rekam transkripsi",
"saveLocalRecording": "Simpan file rekaman secara lokal (Beta)",
@@ -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.",
@@ -1476,7 +1467,7 @@
"image6": "Hutan",
"image7": "Matahari terbit",
"none": "Tidak ada",
"pleaseWait": "Silakan tunggu...",
"pleaseWait": "Silakan tunggu",
"removeBackground": "Hapus latar belakang",
"slightBlur": "Setengah buram",
"title": "Latar belakang virtual",

View File

@@ -22,7 +22,7 @@
"noResults": "Engar leitarniðurstöður samsvara",
"outlookEmail": "Outlook-tölvupóstur",
"phoneNumbers": "símanúmer",
"searching": "Leita...",
"searching": "Leita",
"shareInvite": "Deila fundarboði",
"shareLink": "Deila fundartengli til að bjóða öðrum",
"shareStream": "Deila tengli á beint streymi",
@@ -144,7 +144,7 @@
"installExtensionText": "Settu inn viðbót fyrir Google Calendar og samþættingu við Office 365"
},
"connectingOverlay": {
"joiningRoom": "Tengist við fundinn þinn ..."
"joiningRoom": "Tengist við fundinn þinn"
},
"connection": {
"ATTACHED": "Tengt",
@@ -156,9 +156,9 @@
"DISCONNECTED": "Aftengt",
"DISCONNECTING": "Aftengist",
"ERROR": "Villa",
"FETCH_SESSION_ID": "Næ í auðkenni setu (session-ID)...",
"FETCH_SESSION_ID": "Næ í auðkenni setu (session-ID)",
"GET_SESSION_ID_ERROR": "Villa við að ná í auðkenni setu: {{code}}",
"GOT_SESSION_ID": "Næ í auðkenni setu... Lokið",
"GOT_SESSION_ID": "Næ í auðkenni setu Lokið",
"LOW_BANDWIDTH": "Slökkt var á myndmerki frá {{displayName}} til að spara bandbreidd"
},
"connectionindicator": {
@@ -221,8 +221,8 @@
"launchWebButton": "Ræsa í vafra",
"noMobileApp": "Ert þú ekki með forritið?",
"termsAndConditions": "Með því að halda áfram samþykkir þú <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>skilmála okkar og kvaðir.</a>",
"title": "Ræsi fundinn þinn í {{app}}...",
"titleNew": "Ræsi fundinn þinn...",
"title": "Ræsi fundinn þinn í {{app}}",
"titleNew": "Ræsi fundinn þinn",
"tryAgainButton": "Prófa aftur í vafra",
"unsupportedBrowser": "Þú virðist vera að nota vafra sem við styðjum ekki."
},
@@ -262,7 +262,7 @@
"Submit": "Senda inn",
"WaitForHostMsg": "Fjarfundurinn er ekki byrjaður vegna þess að engir umsjónarmenn eru mættir. Ef þú vilt gerast umsjónarmaður skaltu skrá þig inn. Annars ættirðu að bíða.",
"WaitingForHostButton": "Bíddu eftir umsjónarmanni",
"WaitingForHostTitle": "Bíð eftir umsjónarmanni ...",
"WaitingForHostTitle": "Bíð eftir umsjónarmanni",
"Yes": "Já",
"accessibilityLabel": {
"Cancel": "Hætta við (loka glugga)",
@@ -290,9 +290,9 @@
"cameraUnknownError": "Get ekki notað myndavélina af óþekktum ástæðum.",
"cameraUnsupportedResolutionError": "Myndavélin þín styður ekki umbeðna upplausn myndmerkis.",
"close": "Loka",
"conferenceDisconnectMsg": "Þú ættir kannski að athuga nettenginguna þína. Tengist aftur eftir {{seconds}} sek...",
"conferenceDisconnectMsg": "Þú ættir kannski að athuga nettenginguna þína. Tengist aftur eftir {{seconds}} sek",
"conferenceDisconnectTitle": "Þú hefur verið aftengd(ur).",
"conferenceReloadMsg": "Við erum að reyna að laga þetta. Tengist aftur eftir {{seconds}} sek...",
"conferenceReloadMsg": "Við erum að reyna að laga þetta. Tengist aftur eftir {{seconds}} sek",
"conferenceReloadTitle": "Því miður, eitthvað hefur farið úrskeiðis.",
"confirm": "Staðfesta",
"confirmNo": "Nei",
@@ -616,7 +616,7 @@
"errorLiveStreamNotEnabled": "Beint streymi er ekki virkt fyrir {{email}}. Virkjaðu beint streymi eða skráðu þig inn á notandaaðgang þar sem beint streymi er virkjað.",
"expandedOff": "Beina streymið hefur verið stöðvað",
"expandedOn": "Verið er að taka streyma fundinum á YouTube.",
"expandedPending": "Verið er að ræsa beina streymið...",
"expandedPending": "Verið er að ræsa beina streymið",
"failedToStart": "Tókst ekki að ræsa beint streymi",
"getStreamKeyManually": "Við gátum ekki nálgast nein bein streymi. Reyndu að ná þér í lykil fyrir beint streymi frá YouTube.",
"googlePrivacyPolicy": "Meðferð persónuupplýsinga hjá Google",
@@ -628,7 +628,7 @@
"offBy": "{{name}} stöðvaði beina streymið",
"on": "Beint streymi er hafið",
"onBy": "{{name}} byrjaði beint streymi",
"pending": "Ræsi beint streymi...",
"pending": "Ræsi beint streymi",
"serviceName": "Þjónusta fyrir beint streymi",
"sessionAlreadyActive": "Það er þegar verið að taka upp eða streyma beint þessari setu.",
"signIn": "Skrá inn með Google",
@@ -658,10 +658,10 @@
"joinRejectedMessage": "Beiðni þinni um þátttöku var hafnað af umsjónaraðila.",
"joinRejectedTitle": "Beiðni um þátttöku var hafnað.",
"joinTitle": "Taka þátt í fundi",
"joinWithPasswordMessage": "Reyni að taka þátt með lykilorði, hinkraðu aðeins...",
"joinWithPasswordMessage": "Reyni að taka þátt með lykilorði, hinkraðu aðeins",
"joiningMessage": "Þú færð að taka þátt í fundinum um leið og einhver samþykkir beiðnina þína",
"joiningTitle": "Biður um að taka þátt í fundi...",
"joiningWithPasswordTitle": "Tekur þátt með lykilorði...",
"joiningTitle": "Biður um að taka þátt í fundi",
"joiningWithPasswordTitle": "Tekur þátt með lykilorði",
"knockButton": "Biðja um að taka þátt",
"knockTitle": "Einhver vill taka þátt í fundinum",
"knockingParticipantList": "Listi yfir þátttakendur sem bíða",
@@ -751,7 +751,7 @@
"linkToSalesforceDescription": "Þú getur tengt yfirlit fundarins við Salesforce-hlut.",
"linkToSalesforceError": "Ekki tókst að tengja fundinn á Salesforce",
"linkToSalesforceKey": "Tengja þennan fund",
"linkToSalesforceProgress": "Tengi fundinn á Salesforce...",
"linkToSalesforceProgress": "Tengi fundinn á Salesforce",
"linkToSalesforceSuccess": "Fundurinn var tengdur við Salesforce",
"localRecordingStarted": "{{name}} hefur byrjað upptöku á tölvunni sinni.",
"localRecordingStopped": "{{name}} hefur stöðvað upptöku á tölvunni sinni.",
@@ -889,7 +889,7 @@
"callMe": "Hringdu í mig",
"callMeAtNumber": "Hringdu í mig í þessu númeri:",
"calling": "Hringi",
"configuringDevices": "Stilli tæki...",
"configuringDevices": "Stilli tæki",
"connectedWithAudioQ": "Ert þú tengd/ur með hljóði?",
"connection": {
"good": "Internettengingin þín lítur vel út!",
@@ -945,17 +945,17 @@
},
"presenceStatus": {
"busy": "Upptekin/n",
"calling": "Hringi...",
"calling": "Hringi",
"connected": "Tengt",
"connecting": "Tengist...",
"connecting2": "Tengist*...",
"connecting": "Tengist",
"connecting2": "Tengist*",
"disconnected": "Aftengt",
"expired": "Útrunnið",
"ignored": "Hunsað",
"initializingCall": "Ræsi símtal...",
"initializingCall": "Ræsi símtal",
"invited": "Boðið",
"rejected": "Hafnað",
"ringing": "Hringing..."
"ringing": "Hringing"
},
"profile": {
"avatar": "auðkennismynd",
@@ -989,7 +989,7 @@
"errorFetchingLink": "Villa við að sækja tengil á upptöku.",
"expandedOff": "Upptaka hefur verið stöðvuð",
"expandedOn": "Verið er að taka upp fundinn.",
"expandedPending": "Verið er að ræsa upptöku...",
"expandedPending": "Verið er að ræsa upptöku",
"failedToStart": "Tókst ekki að ræsa upptöku",
"fileSharingdescription": "Deila tengli á upptöku með þátttakendum á fundinum",
"highlight": "Áherslulita",
@@ -1016,7 +1016,7 @@
"on": "Upptaka hafin",
"onBy": "{{name}} byrjaði upptökuna",
"onlyRecordSelf": "Taka einungis upp mín eigin hljóð og myndstreymi",
"pending": "Undirbý að taka upp fundinn...",
"pending": "Undirbý að taka upp fundinn",
"recordAudioAndVideo": "Taka upp hljóð og myndmerki",
"recordTranscription": "Taka upp textaumritun",
"saveLocalRecording": "Vista upptökuskrá á eigin tölvu (Beta-prófunarútgáfa)",
@@ -1362,7 +1362,7 @@
"labelToolTip": "Verið er að taka umrita (transcribe) fundinn",
"off": "Umritun stöðvuð",
"on": "Umritun hafin",
"pending": "Undirbý að taka umrita fundinn...",
"pending": "Undirbý að taka umrita fundinn",
"sourceLanguageDesc": "Núna er tungumál fundarins stillt á <b>{{sourceLanguage}}</b>. <br/> Þú getur breytt því ",
"sourceLanguageHere": "hér",
"start": "Hefja birtingu skjátexta",
@@ -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.",
@@ -1460,7 +1451,7 @@
"image6": "Skógur ",
"image7": "Sólarupprás",
"none": "Ekkert",
"pleaseWait": "Hinkraðu aðeins...",
"pleaseWait": "Hinkraðu aðeins",
"removeBackground": "Fjarlægja bakgrunn",
"slightBlur": "Hálfmóskað",
"title": "Sýndarbakgrunnar",

View File

@@ -19,7 +19,7 @@
"noResults": "Nessun risultato corrispondente",
"outlookEmail": "Email Outlook",
"phoneNumbers": "numeri di telefono",
"searching": "Sto cercando...",
"searching": "Sto cercando",
"shareInvite": "Condividi invito alla riunione",
"shareLink": "Condividi il collegamento alla riunione per invitare altri",
"shareStream": "Condividi il collegamento alla diretta",
@@ -122,7 +122,7 @@
"installExtensionText": "Installa un'estensione per integrare Google Calendar e Office 365"
},
"connectingOverlay": {
"joiningRoom": "Collegamento alla riunione in corso..."
"joiningRoom": "Collegamento alla riunione in corso"
},
"connection": {
"ATTACHED": "Collegato",
@@ -134,9 +134,9 @@
"DISCONNECTED": "Disconnesso",
"DISCONNECTING": "Disconnessione in corso",
"ERROR": "Errore",
"FETCH_SESSION_ID": "Sto ottenendo ID di sessione...",
"FETCH_SESSION_ID": "Sto ottenendo ID di sessione",
"GET_SESSION_ID_ERROR": "Errore nell'ottenere ID di sessione: {{code}}",
"GOT_SESSION_ID": "Sto ottenendo ID di sessione... completato",
"GOT_SESSION_ID": "Sto ottenendo ID di sessione completato",
"LOW_BANDWIDTH": "Il video per {{displayName}} è stato interrotto per risparmiare banda"
},
"connectionindicator": {
@@ -189,7 +189,7 @@
"ifHaveApp": "Se hai già l'app:",
"joinInApp": "Entra in riunione usando l'app",
"launchWebButton": "Avvia sul web",
"title": "Sto avviando la riunione su {{app}}...",
"title": "Sto avviando la riunione su {{app}}",
"tryAgainButton": "Prova di nuovo sul desktop",
"unsupportedBrowser": "Sembra tu stia usando un browser che non supportiamo."
},
@@ -222,7 +222,7 @@
"Share": "Condividi",
"Submit": "Invia",
"WaitForHostMsg": "La riunione non è ancora cominciata. Se sei l'organizzatore, per favore autenticati. Altrimenti, aspetta l'arrivo dell'organizzatore.",
"WaitingForHostTitle": "In attesa dell'organizzatore...",
"WaitingForHostTitle": "In attesa dell'organizzatore",
"Yes": "Sì",
"accessibilityLabel": {
"liveStreaming": "Diretta streaming"
@@ -244,9 +244,9 @@
"cameraUnknownError": "Impossibile usare la videocamera per un motivo sconosciuto.",
"cameraUnsupportedResolutionError": "La tua videocamera non supporta la risoluzione richiesta.",
"close": "Chiudi",
"conferenceDisconnectMsg": "Controlla la tua connessione. Riconnessione in {{seconds}} secondi...",
"conferenceDisconnectMsg": "Controlla la tua connessione. Riconnessione in {{seconds}} secondi",
"conferenceDisconnectTitle": "Sei stato disconnesso.",
"conferenceReloadMsg": "Stiamo cercando di risolvere il problema. Riconnessione in {{seconds}} secondi...",
"conferenceReloadMsg": "Stiamo cercando di risolvere il problema. Riconnessione in {{seconds}} secondi",
"conferenceReloadTitle": "Purtroppo qualcosa è andato storto.",
"confirm": "Conferma",
"confirmNo": "No",
@@ -535,7 +535,7 @@
"errorLiveStreamNotEnabled": "La diretta non è attivata su {{email}}. Per favore abilita la diretta o effettua l'accesso con un account abilitato alle dirette.",
"expandedOff": "La diretta è stata interrotta",
"expandedOn": "La riunione è attualmente in diretta su YouTube.",
"expandedPending": "La diretta è in fase di avvio...",
"expandedPending": "La diretta è in fase di avvio",
"failedToStart": "Avvio trasmissione in diretta fallito",
"getStreamKeyManually": "Non siamo stati in grado di trovare nessuna trasmissione dal vivo. Prova ad ottenere una chiave stream da YouTube",
"googlePrivacyPolicy": "Norme sulla riservatezza di Google",
@@ -547,7 +547,7 @@
"offBy": "{{name}} ha fermato la diretta",
"on": "Trasmissione in diretta",
"onBy": "{{name}} ha iniziato la diretta",
"pending": "Avvio diretta...",
"pending": "Avvio diretta",
"serviceName": "Servizio dirette",
"sessionAlreadyActive": "Questa sessione è in già in fase di registrazione o trasmessione in diretta.",
"signIn": "Collegati con Google",
@@ -578,10 +578,10 @@
"joinRejectedMessage": "La tua richiesta d'accesso è stata respinta da un moderatore.",
"joinRejectedTitle": "Richiesta d'ingresso respinta.",
"joinTitle": "Entra nella riunione",
"joinWithPasswordMessage": "Ho inviato la password per entrare, attendi...",
"joinWithPasswordMessage": "Ho inviato la password per entrare, attendi",
"joiningMessage": "Entrerai nella riunione non appena qualcuno approva la tua richiesta",
"joiningTitle": "Richiesta inviata...",
"joiningWithPasswordTitle": "Accesso con password...",
"joiningTitle": "Richiesta inviata",
"joiningWithPasswordTitle": "Accesso con password",
"knockButton": "Chiedi d'entrare",
"knockTitle": "Qualcuno vuole entrare nella riunione",
"knockingParticipantList": "Lista dei partecipanti in attesa",
@@ -663,7 +663,7 @@
"linkToSalesforceDescription": "Puoi collegare il sommario della riunione ad un oggetto Salesforce.",
"linkToSalesforceError": "Failed to link meeting to Salesforce",
"linkToSalesforceKey": "Link this meeting",
"linkToSalesforceProgress": "Linking meeting to Salesforce...",
"linkToSalesforceProgress": "Linking meeting to Salesforce",
"linkToSalesforceSuccess": "The meeting was linked to Salesforce",
"localRecordingStarted": "{{name}} ha cominciato a registrare.",
"localRecordingStopped": "{{name}} ha smesso di registrare.",
@@ -794,7 +794,7 @@
"callMe": "Chiamami",
"callMeAtNumber": "Chiamami a questo numero:",
"calling": "Chiamata in corso",
"configuringDevices": "Configurazione dispositivi...",
"configuringDevices": "Configurazione dispositivi",
"connectedWithAudioQ": "Sei connesso con l'audio?",
"connection": {
"good": "La tua connessione Internet sembra buona!",
@@ -848,17 +848,17 @@
},
"presenceStatus": {
"busy": "Occupato",
"calling": "Chiamata...",
"calling": "Chiamata",
"connected": "Connesso",
"connecting": "Connessione...",
"connecting2": "Connessione*...",
"connecting": "Connessione",
"connecting2": "Connessione*",
"disconnected": "Scollegato",
"expired": "Scaduto",
"ignored": "Ignorato",
"initializingCall": "Inizializzazione chiamata...",
"initializingCall": "Inizializzazione chiamata",
"invited": "Invitato",
"rejected": "Rifiutato",
"ringing": "Sta suonando..."
"ringing": "Sta suonando"
},
"privacyView": {
"title": "Privacy"
@@ -895,7 +895,7 @@
"errorFetchingLink": "Errore nel collegamento alla tua registrazione.",
"expandedOff": "Registrazione interrotta",
"expandedOn": "La registrazione della riunione è attiva.",
"expandedPending": "La registrazione è in fase di avvio...",
"expandedPending": "La registrazione è in fase di avvio",
"failedToStart": "Non è stato possibile avviare la registrazione",
"fileSharingdescription": "Condividi la registrazione con i partecipanti alla riunione",
"highlight": "Evidenzia",
@@ -1224,7 +1224,7 @@
"failedToStart": "C'è stato un errore nell'avvio del servizio di trascrizione.",
"labelToolTip": "Il servizio di trascrizione è in fase di avvio",
"off": "Trascrizione interrotta",
"pending": "Avvio del servizio di trascrizione della riunione...",
"pending": "Avvio del servizio di trascrizione della riunione",
"sourceLanguageDesc": "Al momento la riunione è in <b>{{sourceLanguage}}</b>. <br/> Puoi cambiare lingua da ",
"sourceLanguageHere": "here",
"start": "Avvia visualizzazione sottotitoli",
@@ -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.",
@@ -1313,7 +1304,7 @@
"image6": "Foresta",
"image7": "Alba",
"none": "Nessuno",
"pleaseWait": "Aspetta un momento...",
"pleaseWait": "Aspetta un momento",
"removeBackground": "Togli sfondo",
"slightBlur": "Sfuoca leggermente",
"title": "Sfondi",

View File

@@ -20,7 +20,7 @@
"noResults": "一致する検索結果がありません",
"outlookEmail": "Outlook メール",
"phoneNumbers": "電話番号",
"searching": "検索中...",
"searching": "検索中",
"shareInvite": "ミーティングの招待状を共有",
"shareLink": "ミーティングへのリンクを共有して、他の人を招待しましょう",
"shareStream": "ライブ配信へのリンクを共有する",
@@ -112,7 +112,7 @@
"installExtensionText": "Google カレンダーと Office 365 統合のための拡張機能をインストールしてください"
},
"connectingOverlay": {
"joiningRoom": "ミーティングに参加しています..."
"joiningRoom": "ミーティングに参加しています"
},
"connection": {
"ATTACHED": "アタッチされました",
@@ -124,9 +124,9 @@
"DISCONNECTED": "切断されました",
"DISCONNECTING": "切断しています",
"ERROR": "エラー",
"FETCH_SESSION_ID": "セッションIDの取得中...",
"FETCH_SESSION_ID": "セッションIDの取得中",
"GET_SESSION_ID_ERROR": "セッションIDの取得エラー: {{code}}",
"GOT_SESSION_ID": "セッションIDの取得中... 完了",
"GOT_SESSION_ID": "セッションIDの取得中 完了",
"LOW_BANDWIDTH": "帯域節約のため、{{displayName}} のビデオがオフになりました"
},
"connectionindicator": {
@@ -179,7 +179,7 @@
"ifHaveApp": "すでにこのアプリを持っている場合:",
"joinInApp": "アプリでミーティングに参加",
"launchWebButton": "Web 版を起動",
"title": "{{app}} でミーティングを開始しています...",
"title": "{{app}} でミーティングを開始しています",
"tryAgainButton": "デスクトップでもう一度お試しください",
"unsupportedBrowser": "我々がサポートしていないブラウザをお使いのようです。"
},
@@ -209,7 +209,7 @@
"Share": "共有",
"Submit": "投稿",
"WaitForHostMsg": "ミーティング はまだ開始されていません。あなたがホストの場合は、認証を行ってください。それ以外の場合は、ホストの到着をお待ちください。",
"WaitingForHostTitle": "ホストの到着を待っています...",
"WaitingForHostTitle": "ホストの到着を待っています",
"Yes": "はい",
"accessibilityLabel": {
"liveStreaming": "ライブ配信"
@@ -229,9 +229,9 @@
"cameraUnknownError": "不明な理由でカメラが使用できません。",
"cameraUnsupportedResolutionError": "お使いのカメラは、必要なビデオ解像度をサポートしていません。",
"close": "閉じる",
"conferenceDisconnectMsg": "ネットワーク接続を確認することができます。{{seconds}} 秒以内に再接続します...",
"conferenceDisconnectMsg": "ネットワーク接続を確認することができます。{{seconds}} 秒以内に再接続します",
"conferenceDisconnectTitle": "あなたは切断されました。",
"conferenceReloadMsg": "私たちはこれを解決しようとしています。{{seconds}} 秒以内に再接続します...",
"conferenceReloadMsg": "私たちはこれを解決しようとしています。{{seconds}} 秒以内に再接続します",
"conferenceReloadTitle": "残念ながら、何か問題が発生しています。",
"confirm": "確認",
"confirmNo": "いいえ",
@@ -499,7 +499,7 @@
"errorLiveStreamNotEnabled": "{{email}} のライブ配信は有効ではありません。ライブ配信を有効にしてもらうか、ライブ配信が有効なアカウントでログインしてください。",
"expandedOff": "ライブ配信が停止しました",
"expandedOn": "このミーティングは、現在 YouTube に配信されています。",
"expandedPending": "ライブ配信を開始しています...",
"expandedPending": "ライブ配信を開始しています",
"failedToStart": "ライブ配信の開始に失敗しました",
"getStreamKeyManually": "ライブ配信を取得できませんでした。YouTube よりストリームキーの取得を試してください。",
"googlePrivacyPolicy": "Google プライバシーポリシー",
@@ -511,7 +511,7 @@
"offBy": "{{name}} がライブ配信を停止しました",
"on": "ライブ配信を開始しました",
"onBy": "{{name}} がライブ配信を開始しました",
"pending": "ライブ配信を開始しています...",
"pending": "ライブ配信を開始しています",
"serviceName": "ライブ配信サービス",
"sessionAlreadyActive": "このセッションはすでに録画またはライブ配信されています。",
"signIn": "Google でログイン",
@@ -540,10 +540,10 @@
"invalidPassword": "無効なパスワード",
"joinRejectedMessage": "あなたの参加リクエストは、モデレーターによって却下されました。",
"joinTitle": "ミーティングに参加",
"joinWithPasswordMessage": "パスワードを使って参加しようとしています。お待ちください...",
"joinWithPasswordMessage": "パスワードを使って参加しようとしています。お待ちください",
"joiningMessage": "誰かがあなたのリクエストを受け入れたら、すぐに会議に参加します",
"joiningTitle": "ミーティングへの参加を依頼中...",
"joiningWithPasswordTitle": "パスワードを使って参加中...",
"joiningTitle": "ミーティングへの参加を依頼中",
"joiningWithPasswordTitle": "パスワードを使って参加中",
"knockButton": "参加を依頼",
"knockTitle": "会議に参加したい人がいます",
"knockingParticipantList": "待機中の参加者一覧",
@@ -739,7 +739,7 @@
"callMe": "呼び出してください",
"callMeAtNumber": "この番号に電話してください:",
"calling": "呼び出し中",
"configuringDevices": "デバイスの設定中...",
"configuringDevices": "デバイスの設定中",
"connectedWithAudioQ": "オーディオを有効にして接続していますか?",
"connection": {
"good": "インターネット接続は良好のようです!",
@@ -792,17 +792,17 @@
},
"presenceStatus": {
"busy": "話し中",
"calling": "呼び出し中...",
"calling": "呼び出し中",
"connected": "接続されました",
"connecting": "接続中...",
"connecting2": "接続中*...",
"connecting": "接続中",
"connecting2": "接続中*",
"disconnected": "切断されました",
"expired": "期限切れ",
"ignored": "無視",
"initializingCall": "通話の初期化中...",
"initializingCall": "通話の初期化中",
"invited": "招待",
"rejected": "拒否",
"ringing": "呼び出し中..."
"ringing": "呼び出し中"
},
"privacyView": {
"title": "プライバシー"
@@ -827,7 +827,7 @@
"errorFetchingLink": "録画のリンクを取得中にエラーが発生しました。",
"expandedOff": "録画が停止しました",
"expandedOn": "このミーティングは現在録画中です。",
"expandedPending": "録画の開始中です...",
"expandedPending": "録画の開始中です",
"failedToStart": "録画の開始に失敗しました",
"fileSharingdescription": "録画をミーティングの参加者と共有する",
"highlight": "ハイライト",
@@ -855,7 +855,7 @@
"on": "録画を開始しました",
"onBy": "{{name}} が録画を開始しました",
"onlyRecordSelf": "自身の音声・映像のみを録画する",
"pending": "ミーティングの録画準備中...",
"pending": "ミーティングの録画準備中",
"rec": "REC",
"saveLocalRecording": "ローカルに録画を保存 (Beta)",
"serviceDescription": "ビデオは録画サービスで録画されます",
@@ -1126,22 +1126,13 @@
"failedToStart": "文字起こしを開始できませんでした",
"labelToolTip": "ミーティングの文字起こしが行われています",
"off": "文字起こしが停止されています",
"pending": "ミーティングの文字起こしの準備中...",
"pending": "ミーティングの文字起こしの準備中",
"start": "字幕の表示を開始",
"stop": "字幕の表示を停止",
"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": "リソースを開放しています。数分後にもう一度お試しください。",
@@ -1208,7 +1199,7 @@
"image6": "フォレスト",
"image7": "サンライズ",
"none": "無し",
"pleaseWait": "しばらくお待ちください...",
"pleaseWait": "しばらくお待ちください",
"removeBackground": "背景削除",
"slightBlur": "少しぼかし",
"title": "バーチャル背景",

View File

@@ -20,7 +20,7 @@
"noResults": "Ulac igmaḍ n unadi yemṣadan",
"outlookEmail": "Imayl n Outlook",
"phoneNumbers": "uṭṭunen n tiliɣri",
"searching": "Anadi...",
"searching": "Anadi",
"shareInvite": "Bḍu tinubga n temlilit",
"shareLink": "Bḍu aseɣwen n usarag i usnubget n wiyaḍ",
"shareStream": "Bḍu aseɣwen n usuddem usrid",
@@ -90,7 +90,7 @@
"installExtensionText": "Sbedd asiɣzef i umsidef n uwitay n Google d Office 365"
},
"connectingOverlay": {
"joiningRoom": "Tetteqqneḍ ɣer temlilit-ik·im..."
"joiningRoom": "Tetteqqneḍ ɣer temlilit-ik·im"
},
"connection": {
"ATTACHED": "Isedda",
@@ -102,9 +102,9 @@
"DISCONNECTED": "Ur yeqqin ara",
"DISCONNECTING": "Tuffɣa",
"ERROR": "Tuccḍa",
"FETCH_SESSION_ID": "Awway n usulay n tɣimit...",
"FETCH_SESSION_ID": "Awway n usulay n tɣimit",
"GET_SESSION_ID_ERROR": "Tuccḍa deg wawway n usulay n tɣimit: {{code}}",
"GOT_SESSION_ID": "Awway n usulay n tɣimit... Yemmed",
"GOT_SESSION_ID": "Awway n usulay n tɣimit Yemmed",
"LOW_BANDWIDTH": "Tettwasens tvidyut i {{displayName}} i wakken ad tettwaḥraz tehri n tseftit"
},
"connectionindicator": {
@@ -157,7 +157,7 @@
"ifHaveApp": "Ma yella tesɛiḍ yakan asnas:",
"joinInApp": "Ttekki deg usarag s useqdec n usnas",
"launchWebButton": "Seddu deg web",
"title": "Seddu timlilit-ik·im deg {{app}}...",
"title": "Seddu timlilit-ik·im deg {{app}}",
"tryAgainButton": "Ɛreḍ tikkelt-nniḍen ɣef tnarit"
},
"defaultLink": "md. {{url}}",
@@ -186,7 +186,7 @@
"Share": "Bḍu",
"Submit": "Azen",
"WaitForHostMsg": "Asarag mazal ur yebdi ara. Ma yella d kečč·kemm i d asenneftaɣ, ttxil-k·m ilaq usesteb. Ma yella xaṭi, ttxil-k·m rǧu asenneftaɣ ad d-yaweḍ.",
"WaitingForHostTitle": "Aṛaǧu n usenneftaɣ ...",
"WaitingForHostTitle": "Aṛaǧu n usenneftaɣ",
"Yes": "Ih",
"accessibilityLabel": {
"liveStreaming": "Asuddim usrid"
@@ -206,9 +206,9 @@
"cameraUnknownError": "Ur tezmireḍ ara ad tesqedceḍ takamiṛat, ur neẓri ara acuɣer.",
"cameraUnsupportedResolutionError": "Takamiṛat-ik·im ur tessefrak ara afray tvidyut yettusran.",
"close": "Mdel",
"conferenceDisconnectMsg": "Ilaq-ak·am ad tesneqdeḍ tuqqna-inek·inem ɣer uzeṭṭa. Allus n tuqqna deg {{seconds}} tisinin...",
"conferenceDisconnectMsg": "Ilaq-ak·am ad tesneqdeḍ tuqqna-inek·inem ɣer uzeṭṭa. Allus n tuqqna deg {{seconds}} tisinin",
"conferenceDisconnectTitle": "Tettwasuffɣeḍ.",
"conferenceReloadMsg": "Nettaɛraḍ ad nṣeggem aya. Allus n tuqqna deg {{seconds}} tisinin...",
"conferenceReloadMsg": "Nettaɛraḍ ad nṣeggem aya. Allus n tuqqna deg {{seconds}} tisinin",
"conferenceReloadTitle": "Nesḥassef, yella wayen ur nteddu ara akken ilaq.",
"confirm": "Sentem",
"confirmNo": "Uhu",
@@ -475,7 +475,7 @@
"errorLiveStreamNotEnabled": "Asuddem usrid ur yettwarmed ara deg {{email}}. Ma ulac aɣilif rmed asuddem usrid neɣ kcem ɣer umiḍan s usuddem usrid yettwaremden.",
"expandedOff": "Asuddes usrid yettuseḥbes",
"expandedOn": "Timlilit ha-tt-a akka tura tettɛeddi-d deg Youtuba.",
"expandedPending": "Asuddem usrid ha-t-an ad yebdu...",
"expandedPending": "Asuddem usrid ha-t-an ad yebdu",
"failedToStart": "Ur yesmurres wusrid deg uqlaɛ",
"getStreamKeyManually": "Ur nessaweḍ ara ad d-nerr ula d yiwen n usuddem usrid. Ɛreḍ ad d-tawiḍ tasarut-ik·im n usuddem usrid seg Youtube.",
"googlePrivacyPolicy": "Tasertit tabaḍnit n Google",
@@ -486,7 +486,7 @@
"offBy": "{{name}} iseḥbes asuddem usrid",
"on": "Yebda usuddem usrid",
"onBy": "{{name}} yebda asuddem usrid",
"pending": "Beddu n usuddem usrid...",
"pending": "Beddu n usuddem usrid",
"serviceName": "Ameẓlu n usuddem usrid",
"signIn": "Qqen s Google",
"signInCTA": "Qqen neɣ sekcem tasarut-ik·im n usuddem usrid seg Youtube.",
@@ -513,10 +513,10 @@
"invalidPassword": "Yir awal uffir",
"joinRejectedMessage": "Asuter-inek·inem n uttekki yettwagi sɣur amaẓrag.",
"joinTitle": "Ttekki deg temlilit",
"joinWithPasswordMessage": "Aneɛruḍ n uttekki s wawal uffir, ttxil-k·m rǧu...",
"joinWithPasswordMessage": "Aneɛruḍ n uttekki s wawal uffir, ttxil-k·m rǧu",
"joiningMessage": "Ad tettekkiḍ deg temlilit akken kan ara yeqbel walbaɛḍ asuter-inek·inem",
"joiningTitle": "Asuter n uttekki deg temlilit...",
"joiningWithPasswordTitle": "Attekki s wawal uffir...",
"joiningTitle": "Asuter n uttekki deg temlilit",
"joiningWithPasswordTitle": "Attekki s wawal uffir",
"knockButton": "Suter attekki",
"knockTitle": "Yella win yebɣan ad ittekki deg temlilit",
"knockingParticipantList": "Tadbart n yimttekkiyen n usṭebṭeb",
@@ -691,7 +691,7 @@
"callMe": "Siwel-iyi-d",
"callMeAtNumber": "Siwel-iyi-d ɣer wuṭṭun-a:",
"calling": "Asiwel",
"configuringDevices": "Amtawi n yibenkan...",
"configuringDevices": "Amtawi n yibenkan",
"connectedWithAudioQ": "Teqqneḍ s umeslaw?",
"connection": {
"good": "Tuqqna-inek·inem internet tettban tgerrez!",
@@ -744,17 +744,17 @@
},
"presenceStatus": {
"busy": "Yecɣel",
"calling": "Yessawal...",
"calling": "Yessawal",
"connected": "Yeqqen",
"connecting": "Yetteqqen…",
"connecting2": "Yetteqqen*…",
"disconnected": "Yeffeɣ",
"expired": "Yemmut",
"ignored": "Yettwanef",
"initializingCall": "Awennez n usiwel...",
"initializingCall": "Awennez n usiwel",
"invited": "Yettwancad",
"rejected": "Yettwagi",
"ringing": "Yettṣuni...."
"ringing": "Yettṣuni."
},
"profile": {
"avatar": "avaṭar",
@@ -775,7 +775,7 @@
"errorFetchingLink": "Tuccḍa lawan n tririt n useɣwen n usekles.",
"expandedOff": "Asekles yettuseḥbes",
"expandedOn": "Timlilit ha-tt-a akka tura tettwaseklas.",
"expandedPending": "Asekles ha-t-an yebda....",
"expandedPending": "Asekles ha-t-an yebda.",
"failedToStart": "Beddu n usekles ur yeddi ara",
"fileSharingdescription": "Bḍu asekles d yimttekkiyen n temlilit",
"limitNotificationDescriptionNative": "Seg tuget n usuter, asekles-inek·inem ad yesɛu kan {{limit}} tesdidin. I yiseklas war tilas, ɛreḍ <3>{{app}}</3>.",
@@ -787,7 +787,7 @@
"offBy": "{{name}} iseḥbes asekles",
"on": "Asekles",
"onBy": "{{name}} yebda asekles",
"pending": "Aheyyi n usekles n temlilit...",
"pending": "Aheyyi n usekles n temlilit",
"rec": "REC",
"serviceDescription": "Asekles-inek·inem ad yettwasekles s umeẓlu n usekles",
"serviceDescriptionCloud": "Asekles deg usigna",
@@ -1041,22 +1041,13 @@
"failedToStart": "Aseskel yegguma ad yebdu",
"labelToolTip": "Timlilit ha-tt-an la tettwaseskal",
"off": "Aseskel yettwaḥbes",
"pending": "Aheyyi i useskel n temlilit...",
"pending": "Aheyyi i useskel n temlilit",
"start": "Bdu askan n yizwal isnawanen",
"stop": "Seḥbes askan n yiduzwilen",
"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.",
@@ -1117,7 +1108,7 @@
"image6": "Tiẓgi ",
"image7": "Alluy n yiṭṭij",
"none": "Ula d yiwen",
"pleaseWait": "Ttxil-k rǧu...",
"pleaseWait": "Ttxil-k rǧu",
"removeBackground": "Kkes agilal",
"slightBlur": "Cwiṭ n uluɣu",
"title": "Igilalen uhlisen",

File diff suppressed because it is too large Load Diff

View File

@@ -68,7 +68,7 @@
"installExtensionText": "Įdiekite „Google“ ir „Office 365“ kalendoriaus plėtinį"
},
"connectingOverlay": {
"joiningRoom": "Jungiamasi prie jūsų susitikimo..."
"joiningRoom": "Jungiamasi prie jūsų susitikimo"
},
"connection": {
"ATTACHED": "Pridėta",
@@ -80,9 +80,9 @@
"DISCONNECTED": "Atsijungta",
"DISCONNECTING": "Atsijungiama",
"ERROR": "Klaida",
"FETCH_SESSION_ID": "Gaunamas sesijos-id...",
"FETCH_SESSION_ID": "Gaunamas sesijos-id",
"GET_SESSION_ID_ERROR": "Sesijos-id gavimo klaida: {{kodas}}",
"GOT_SESSION_ID": "Gautas sesijos-id... Atlikta",
"GOT_SESSION_ID": "Gautas sesijos-id Atlikta",
"LOW_BANDWIDTH": "Vaizdo įrašas, skirtas {{displayName}}, buvo išjungtas, kad būtų išsaugotas pralaidumas"
},
"connectionindicator": {
@@ -127,7 +127,7 @@
"downloadApp": "Atsisiųsti programą",
"launchWebButton": "Paleisti svetainėje",
"openApp": "Tęsti mobiliaja programėle",
"title": "Paleidžiamas susitikimas {{app}}...",
"title": "Paleidžiamas susitikimas {{app}}",
"tryAgainButton": "Bandyti dar kartą darbalaukyje"
},
"defaultLink": "e.g. {{url}}",
@@ -156,7 +156,7 @@
"Share": "Dalintis",
"Submit": "Pateikti",
"WaitForHostMsg": "Konferencija dar neprasidėjo. Jei jūs organizatorius, prašome tai patvirtinti. Jei ne, prašome palaukti organizatoriaus.",
"WaitingForHost": "Laukiama organizatoriaus ...",
"WaitingForHost": "Laukiama organizatoriaus",
"Yes": "Taip",
"accessibilityLabel": {
"liveStreaming": "Tiesioginis srautas"
@@ -173,9 +173,9 @@
"cameraUnknownError": "Įvyko klaida - negalite naudoti kameros.",
"cameraUnsupportedResolutionError": "Jūsų kamera nepalaiko reikalaujamos vaizdo raiškos.",
"close": "Uždaryti",
"conferenceDisconnectMsg": "Pasitikrinkite savo interneto ryšį. Perkrausime už {{seconds}} sek. ...",
"conferenceDisconnectMsg": "Pasitikrinkite savo interneto ryšį. Perkrausime už {{seconds}} sek.",
"conferenceDisconnectTitle": "Jūs buvote atjungta(-as).",
"conferenceReloadMsg": "Mes bandome tai pataisyti. Perkrausime už {{seconds}} sek. ...",
"conferenceReloadMsg": "Mes bandome tai pataisyti. Perkrausime už {{seconds}} sek.",
"conferenceReloadTitle": "Apgailėstaujame, įvyko klaida.",
"confirm": "Patvirtinti",
"confirmNo": "Ne",
@@ -379,7 +379,7 @@
"errorLiveStreamNotEnabled": "Tiesioginė transliacija nėra galima paskyrai {{email}}. Įjunkite tiesioginį srautą arba prisijunkite prie paskyros, kurioje įjungta tiesioginė transliacija.",
"expandedOff": "Tiesioginė transliacija sustojo",
"expandedOn": "Šiuo metu susitikimas transliuojamas per YouTube.",
"expandedPending": "Tiesioginė transliacija prasideda...",
"expandedPending": "Tiesioginė transliacija prasideda",
"failedToStart": "Nepavyko pajungti tiesioginės transliacijos",
"getStreamKeyManually": "Mums nepavyko atverti jokios tiesioginės transliacijos. Pabandykite suvesti tiesioginės transliacijos raktažodį iš Youtube.",
"invalidStreamKey": "Tiesioginės transliacijos raktažodis neteisingas.",
@@ -387,7 +387,7 @@
"offBy": "{{name}} sustabdė srautą",
"on": "Tiesioginė transliacija",
"onBy": "{{name}} pradėjo tiesioginę transliaciją",
"pending": "Pradedama tiesioginė transliacija...",
"pending": "Pradedama tiesioginė transliacija",
"serviceName": "Tiesioginė transliacijos tarnyba",
"signIn": "Prisijunkite su Google",
"signInCTA": "Prisijunkite arba įveskite raktažodį iš Youtube.",
@@ -475,17 +475,17 @@
"poweredby": "pateikiamas",
"presenceStatus": {
"busy": "Užimtas",
"calling": "Skambinama...",
"calling": "Skambinama",
"connected": "Prisijungta",
"connecting": "Prisijungiama...",
"connecting2": "Prisijungiama*...",
"connecting": "Prisijungiama",
"connecting2": "Prisijungiama*",
"disconnected": "Atsijungta",
"expired": "Pasibaigęs",
"ignored": "Ignoruojamas",
"initializingCall": "Inicijuojamas skambutis...",
"initializingCall": "Inicijuojamas skambutis",
"invited": "Pakviestas",
"rejected": "Atmestas",
"ringing": "Skambina..."
"ringing": "Skambina"
},
"profile": {
"setDisplayNameLabel": "Įveskite savo vardą",
@@ -503,7 +503,7 @@
"error": "Įrašymas nepavyko. Bandykite dar kartą.",
"expandedOff": "Įrašymas buvo sustabdytas",
"expandedOn": "Šis susitikimas šiuo metu yra įrašomas.",
"expandedPending": "Įrašymas prasidėjo...",
"expandedPending": "Įrašymas prasidėjo",
"failedToStart": "Nepavyko pradėti įrašymo",
"fileSharingdescription": "Dalintis įrašu su kitais naudotojais",
"live": "GYVAI",
@@ -512,7 +512,7 @@
"offBy": "{{name}} sustabdė įrašą",
"on": "Įrašinėjama",
"onBy": "{{name}} pradėjo įrašą",
"pending": "Ruošiama įrašinėti susitikimą...",
"pending": "Ruošiama įrašinėti susitikimą",
"rec": "REC",
"serviceDescription": "Jūsų įrašą išssaugos įrašymo tarnyba",
"serviceName": "Įrašymo tarnyba",
@@ -695,22 +695,13 @@
"failedToStart": "Perrašymas neprasidėjo",
"labelToolTip": "Susitikimas yra perrašomas",
"off": "Perrašymas sustojo",
"pending": "Ruošiama perrašyti susitikimą...",
"pending": "Ruošiama perrašyti susitikimą",
"start": "Pradėti rodyti subtitrus",
"stop": "Nustoti rodyti subtitrus",
"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

@@ -22,7 +22,7 @@
"noResults": "Nav atbilstošu meklēšanas rezultātu",
"outlookEmail": "Outlook e-pasts",
"phoneNumbers": "tālruņu numuri",
"searching": "Meklēšana...",
"searching": "Meklēšana",
"shareInvite": "Kopīgojiet sapulces ielūgumu",
"shareLink": "Kopīgojiet sapulces saiti, lai uzaicinātu citus",
"shareStream": "Kopīgojiet tiešraides straumēšanas saiti",
@@ -145,7 +145,7 @@
"installExtensionText": "Uzstādīt spraudni Google kalendāra un Office 365 integrācijai"
},
"connectingOverlay": {
"joiningRoom": "Notiek pieslēgšanās jūsu sapulcei..."
"joiningRoom": "Notiek pieslēgšanās jūsu sapulcei"
},
"connection": {
"ATTACHED": "Piestiprināts",
@@ -157,9 +157,9 @@
"DISCONNECTED": "Atvienots",
"DISCONNECTING": "Notiek atvienošanās",
"ERROR": "Kļūda",
"FETCH_SESSION_ID": "Tiek iegūts sesijas-id...",
"FETCH_SESSION_ID": "Tiek iegūts sesijas-id",
"GET_SESSION_ID_ERROR": "Notika sesijas-id kļūda: {{code}}",
"GOT_SESSION_ID": "Tiek iegūts sesijas-id... Darīts",
"GOT_SESSION_ID": "Tiek iegūts sesijas-id Darīts",
"LOW_BANDWIDTH": "{{displayName}} video tika izslēgts, lai mazinātu tīkla noslodzi"
},
"connectionindicator": {
@@ -224,8 +224,8 @@
"noMobileApp": "Vai jums nav lietotnes?",
"or": "vai",
"termsAndConditions": "Turpinot jūs piekrītat mūsu <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'>pakalpojumu sniegšanas noteikumiem.</a>",
"title": "Notiek jūsu sapulces palaišana lietotnē {{app}}...",
"titleNew": "Notiek jūsu sapulces palaišana ...",
"title": "Notiek jūsu sapulces palaišana lietotnē {{app}}",
"titleNew": "Notiek jūsu sapulces palaišana",
"tryAgainButton": "Mēģināt vēlreiz darbvirsmā",
"unsupportedBrowser": "Izskatās, ka izmantojat pārlūkprogrammu, kuru mēs neatbalstām."
},
@@ -266,7 +266,7 @@
"WaitForHostMsg": "Sapulce vēl nav sākusies, jo vēl nav ieradies neviens moderators. Lūdzu, autorizējieties, lai kļūtu par moderatoru. Pretējā gadījumā, lūdzu, uzgaidiet.",
"WaitForHostNoAuthMsg": "Sapulce vēl nav sākusies, jo vēl nav ieradies neviens moderators. Lūdzu, uzgaidiet.",
"WaitingForHostButton": "Gaidīt rīkotāju",
"WaitingForHostTitle": "Gaida rīkotāju...",
"WaitingForHostTitle": "Gaida rīkotāju",
"Yes": "Jā",
"accessibilityLabel": {
"Cancel": "Atcelt (pamest dialoglogu)",
@@ -294,9 +294,9 @@
"cameraUnknownError": "Nevar izmantot kameru nezināma iemesla dēļ.",
"cameraUnsupportedResolutionError": "Jūsu kamera neatbalsta nepieciešamo video izšķirtspēju.",
"close": "Aizvērt",
"conferenceDisconnectMsg": "Pārbaudiet interneta savienojumu. Atkārtota savienojuma izveide pēc {{seconds}} sek...",
"conferenceDisconnectMsg": "Pārbaudiet interneta savienojumu. Atkārtota savienojuma izveide pēc {{seconds}} sek",
"conferenceDisconnectTitle": "Jūs esat atvienots.",
"conferenceReloadMsg": "Cenšamies to labot. Atkārtota savienojuma izveide pēc {{seconds}} sek....",
"conferenceReloadMsg": "Cenšamies to labot. Atkārtota savienojuma izveide pēc {{seconds}} sek.",
"conferenceReloadTitle": "Diemžēl kaut kas nogāja greizi.",
"confirm": "Apstiprināt",
"confirmNo": "Nē",
@@ -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",
@@ -341,7 +342,7 @@
"liveStreamingDisabledBecauseOfActiveRecordingTooltip": "Nav iespējams, kamēr ir aktīva ierakstīšana",
"localUserControls": "Lokālo lietotāju kontroles",
"lockMessage": "Neizdevās aizslēgt sapulci.",
"lockRoom": "Pievienot sapulci $t(lockRoomPasswordUppercase)",
"lockRoom": "Iestatīt sapulces $t(lockRoomPasswordUppercase)",
"lockTitle": "Aizslēgšāna neizdevās",
"login": "Pierakstīties",
"loginQuestion": "Vai tiešām vēlaties pierakstīties un pamest sapulci?",
@@ -382,9 +383,9 @@
"noDropboxToken": "Nav derīga Dropbox tokena",
"password": "Parole",
"passwordLabel": "Dalībnieks ir aizslēdzis sapulci. Lūdzu, ievadiet $t(lockRoomPassword), lai pievienotos.",
"passwordNotSupported": "Sapulces $t(lockRoomPassword) iestatīšana netiek atbalstīta.",
"passwordNotSupportedTitle": "$t(lockRoomPasswordUppercase) netiek atbalstīts",
"passwordRequired": "Nepieciešams $t(lockRoomPasswordUppercase)",
"passwordNotSupported": "Sapulces slēgšana ar $t(lockRoomPassword) netiek atbalstīta.",
"passwordNotSupportedTitle": "Slēgšana ar $t(lockRoomPasswordUppercase) netiek atbalstīta",
"passwordRequired": "Nepieciešams ievadīt $t(lockRoomPasswordUppercase)",
"permissionCameraRequiredError": "Lai piedalītos konferencēs ar video, ir nepieciešama kameras atļauja. Lūdzu, piešķiriet to Iestatījumos",
"permissionErrorTitle": "Nepieciešama atļauja",
"permissionMicRequiredError": "Lai piedalītos konferencēs ar audio, nepieciešama mikrofona atļauja. Lūdzu, piešķiriet to Iestatījumos",
@@ -439,7 +440,10 @@
"shareScreenWarningD2": "jums ir jāpārtrauc audio kopīgošana, jāsāk ekrāna kopīgošana un jāatzīmē opcija \"kopīgot audio\".",
"shareScreenWarningH1": "Ja vēlaties kopīgot tikai savu ekrānu:",
"shareScreenWarningTitle": "Pirms ekrāna kopīgošanas jums ir jāpārtrauc audio kopīgošana",
"shareVideoConfirmPlay": "Jūs gatavojaties atvērt ārēju vietni. Vai vēlaties turpināt?",
"shareVideoConfirmPlayTitle": "{{name}} kopīgoja ar jums videoklipu.",
"shareVideoLinkError": "Lūdzu, norādiet pareizu video saiti.",
"shareVideoLinkStopped": "Videoklips no {{name}} tika apturēts.",
"shareVideoTitle": "Kopīgot video",
"shareYourScreen": "Kopīgot ekrānu",
"shareYourScreenDisabled": "Ekrāna kopīgošana izslēgta.",
@@ -480,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ā.",
@@ -567,7 +571,7 @@
"noRoom": "Iezvana numuram nav piesaistīta neviena sapulces telpa.",
"noWhiteboard": "Nevarēja ielādēt tāfeli.",
"numbers": "Iezvana numuri",
"password": "$t(lockRoomPasswordUppercase):",
"password": "Ievadiet $t(lockRoomPasswordUppercase):",
"reachedLimit": "Jūs esat sasniedzis sava plāna limitu.",
"sip": "SIP adrese",
"sipAudioOnly": "Tikai SIP audio adrese",
@@ -604,7 +608,7 @@
"showSpeakerStats": "Rādīt prezentētāja statistiku",
"toggleChat": "Tērzētava (čats) (atvērt/aizvērt)",
"toggleFilmstrip": "Kinolente (rādīt/nerādīt)",
"toggleParticipantsPane": "Rādīt vai paslēpt dalībnieku paneli",
"toggleParticipantsPane": "Rādīt/paslēpt dalībnieku paneli",
"toggleScreensharing": "Pārslēgties starp kameru un ekrāna rādīšanu",
"toggleShortcuts": "Atrās piekļuves taustiņi (rādīt/nerādīt)",
"videoMute": "Kamera (iesl./izsl.)"
@@ -622,10 +626,10 @@
"enterStreamKey": "Ievadiet jūsu YouTube tiešraides atslēgu.",
"error": "Tiešraides kļūda. Lūdzu, mēģiniet vēlreiz.",
"errorAPI": "Piekļūstot jūsu YouTube tiešraidēm, atgadījās kļūda. Lūdzu, mēģiniet ierakstīties vēlreiz.",
"errorLiveStreamNotEnabled": "Tiešraide lietotājam {{email}} nav iespējota. Lūdzu, iespējojiet tiešraidi vai ierakstieties kontā, kuram jau iespējota tiešraide...",
"errorLiveStreamNotEnabled": "Tiešraide lietotājam {{email}} nav iespējota. Lūdzu, iespējojiet tiešraidi vai ierakstieties kontā, kuram jau iespējota tiešraide",
"expandedOff": "Tiešraide izslēgta/nenotiek",
"expandedOn": "Pašlaik sapulce tiek straumēta uz YouTube.",
"expandedPending": "Sākas tiešraide...",
"expandedPending": "Sākas tiešraide",
"failedToStart": "Neizdevās uzsākt tiešraidi",
"getStreamKeyManually": "Tiešraides nav atrastas. Iegūstiet tiešraides atslēgu no YouTube.",
"googlePrivacyPolicy": "Google konfidencialitātes politika",
@@ -637,7 +641,8 @@
"offBy": "{{name}} izslēdza tiešraidi",
"on": "Tiešraide ieslēgta",
"onBy": "{{name}} ieslēdza tiešraidi",
"pending": "Sākam 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",
@@ -659,7 +664,7 @@
"emailField": "Ievadiet savu e-pasta adresi",
"enableDialogPasswordField": "Iestatīt paroli (neobligāti)",
"enableDialogSubmit": "Iespējot",
"enableDialogText": "Vestibila režīms ļauj aizsargāt sapulci, ļaujot cilvēkiem tajā iekļūt tikai pēc oficiāla moderatora apstiprinājuma.",
"enableDialogText": "Vestibila režīms ļauj aizsargāt sapulci, ļaujot cilvēkiem tajā iekļūt tikai pēc moderatora apstiprinājuma.",
"enterPasswordButton": "Ievadiet sapulces paroli",
"enterPasswordTitle": "Ievadiet paroli, lai pievienotos sapulcei",
"errorMissingPassword": "Lūdzu, ievadiet sapulces paroli",
@@ -667,10 +672,10 @@
"joinRejectedMessage": "Moderators noraidīja jūsu pievienošanās pieprasījumu.",
"joinRejectedTitle": "Pievienošanās pieprasījums noraidīts.",
"joinTitle": "Pievienoties Sapulcei",
"joinWithPasswordMessage": "Mēģina pievienoties, izmantojot paroli, lūdzu, uzgaidiet...",
"joinWithPasswordMessage": "Mēģina pievienoties, izmantojot paroli, lūdzu, uzgaidiet",
"joiningMessage": "Jūs pievienosities sapulcei, tiklīdz kāds apstiprinās jūsu pieprasījumu",
"joiningTitle": "Lūgums pievienoties sapulcei...",
"joiningWithPasswordTitle": "Notiek pievienošanās ar paroli...",
"joiningTitle": "Lūgums pievienoties sapulcei",
"joiningWithPasswordTitle": "Notiek pievienošanās ar paroli",
"knockButton": "Pajautāt Pievienoties",
"knockTitle": "Kāds vēlas pievienoties sapulcei",
"knockingParticipantList": "Dalībnieku saraksts, kas vēlas pievienoties",
@@ -719,8 +724,8 @@
"wait": "Lūdzu, uzgaidiet, kamēr jūsu ieraksts tiek saglabāts",
"yes": "Jā"
},
"lockRoomPassword": "parole",
"lockRoomPasswordUppercase": "Parole",
"lockRoomPassword": "paroli",
"lockRoomPasswordUppercase": "Paroli",
"lonelyMeetingExperience": {
"button": "Uzaiciniet citus",
"youAreAlone": "Jūs esat vienīgais sapulcē"
@@ -736,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.",
@@ -750,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",
@@ -762,7 +771,7 @@
"linkToSalesforceDescription": "Varat saistīt sapulces kopsavilkumu ar Salesforce objektu.",
"linkToSalesforceError": "Neizdevās saistīt sapulci ar Salesforce",
"linkToSalesforceKey": "Saistīt šo sapulci",
"linkToSalesforceProgress": "Notiek sapulces saistīšana ar Salesforce...",
"linkToSalesforceProgress": "Notiek sapulces saistīšana ar Salesforce",
"linkToSalesforceSuccess": "Sapulce tika saistīta ar Salesforce",
"localRecordingStarted": "{{name}} uzsāka lokālu ierakstu.",
"localRecordingStopped": "{{name}} beidza lokālu ierakstu.",
@@ -786,6 +795,7 @@
"newDeviceAction": "Izmantot",
"newDeviceAudioTitle": "Atrasta jauna audio ierīce",
"newDeviceCameraTitle": "Atrasta jauna kamera",
"nextToSpeak": "Jūs esat nākamais runātājs rindā",
"noiseSuppressionDesktopAudioDescription": "Darbvirsmas audio koplietošanas laikā nevar iespējot trokšņu slāpēšanu. Lūdzu, atspējojiet to un mēģiniet vēlreiz.",
"noiseSuppressionFailedTitle": "Neizdevās sākt trokšņu slāpēšanu",
"noiseSuppressionStereoDescription": "Stereo audio trokšņu slāpēšana pašlaik netiek atbalstīta.",
@@ -820,8 +830,11 @@
"videoUnmuteBlockedDescription": "Kameras ieslēgšanas un darbvirsmas koplietošanas darbība ir īslaicīgi bloķēta sistēmas ierobežojumu dēļ.",
"videoUnmuteBlockedTitle": "Kameras ieslēgšana un darbvirsmas koplietošana ir bloķēta!",
"viewLobby": "Skatīt vestibilu",
"viewParticipants": "Skatīt dalībniekus",
"viewVisitors": "Skatīt apmeklētājus",
"waitingParticipants": "{{waitingParticipants}} personas",
"waitingVisitors": "Apmeklētāji gaida rindā: {{waitingVisitors}}",
"waitingVisitorsTitle": "Sanāksme vēl nav sākusies!",
"whiteboardLimitDescription": "Lūdzu, saglabājiet savu progresu, jo drīz tiks sasniegts lietotāju limits un tāfele tiks aizvērta.",
"whiteboardLimitTitle": "Tāfeles lietošana"
},
@@ -835,7 +848,10 @@
"audioModeration": "Ieslēgt savu skaņu",
"blockEveryoneMicCamera": "Bloķēt visiem mikrofonu un kameru",
"breakoutRooms": "Grupu istabas",
"goLive": "Sākt",
"invite": "Uzaicināt",
"lowerAllHands": "Nolaist visas paceltās rokas",
"lowerHand": "Nolaist roku",
"moreModerationActions": "Vairāk moderēšanas iespēju",
"moreModerationControls": "Vairāk moderēšanas iespēju",
"moreParticipantOptions": "Vairāk dalībnieku iespēju",
@@ -852,6 +868,7 @@
"headings": {
"lobby": "Vestibils ({{count}})",
"participantsList": "Sapulces dalībnieki ({{count}})",
"visitorInQueue": " (gaida {{count}})",
"visitorRequests": " (pieprasījumi {{count}})",
"visitors": "Apmeklētāji ({{count}})",
"waitingLobby": "Gaida vestibilā ({{count}})"
@@ -871,6 +888,7 @@
"submit": "Iesniegt"
},
"by": "Pēc {{ name }} iniciatīvas",
"closeButton": "Slēgt aptauju",
"create": {
"addOption": "Pievienot opciju",
"answerPlaceholder": "Opcija {{index}}",
@@ -907,12 +925,14 @@
"callMe": "Piezvani man",
"callMeAtNumber": "Piezvani man uz šo numuru:",
"calling": "Zvana",
"configuringDevices": "Notiek ierīču konfigurēšana...",
"configuringDevices": "Notiek ierīču konfigurēšana",
"connectedWithAudioQ": "Vai esat pievienojies audio?",
"connection": {
"good": "Jūsu interneta savienojums izskatās labs!",
"failed": "Savienojuma pārbaude neizdevās!",
"good": "Jūsu interneta savienojums ir labs!",
"nonOptimal": "Jūsu interneta savienojums nav optimāls",
"poor": "Jums ir slikts interneta savienojums"
"poor": "Jums ir slikts interneta savienojums",
"running": "Notiek savienojuma pārbaude…"
},
"connectionDetails": {
"audioClipping": "Mēs sagaidām, ka jūsu audio raustīsies.",
@@ -921,6 +941,7 @@
"goodQuality": "Satriecoši! Jūsu multivides kvalitāte būs lieliska.",
"noMediaConnectivity": "Mēs nevarējām atrast veidu, kā šim testam izveidot multivides savienojumu. To parasti izraisa ugunsmūris vai NAT.",
"noVideo": "Mēs sagaidām, ka jūsu video kvalitāte būs briesmīga.",
"testFailed": "Savienojuma testā radās neparedzētas problēmas, tomēr tas var neietekmēt jūsu pieredzi.",
"undetectable": "Ja pārlūkprogrammā joprojām nevarat veikt zvanus, iesakām pārliecināties, vai skaļruņi, mikrofons un kamera ir pareizi iestatīti, vai esat piešķīris pārlūkprogrammai tiesības izmantot mikrofonu un kameru un vai pārlūkprogrammas versija ir atjaunināta. Ja joprojām neizdodas zvanīt, sazinieties ar tīmekļa lietojumprogrammas izstrādātāju.",
"veryPoorConnection": "Mēs sagaidām, ka jūsu zvanu kvalitāte būs patiešām briesmīga.",
"videoFreezing": "Mēs sagaidām, ka jūsu video sastings, kļūs melns un pikseļosies.",
@@ -964,17 +985,17 @@
},
"presenceStatus": {
"busy": "Aizņemts",
"calling": "Izsaucu...",
"calling": "Izsaucu",
"connected": "Savienots",
"connecting": "Notiek savienošanās...",
"connecting2": "Notiek savienošanās*...",
"connecting": "Notiek savienošanās",
"connecting2": "Notiek savienošanās*",
"disconnected": "Atvienots",
"expired": "Noilga",
"ignored": "Ignorēts",
"initializingCall": "Izsaukums tiek inicializēts...",
"initializingCall": "Izsaukums tiek inicializēts",
"invited": "Aicināts",
"rejected": "Noraidīts",
"ringing": "Zvana..."
"ringing": "Zvana"
},
"profile": {
"avatar": "avatars",
@@ -1008,7 +1029,7 @@
"errorFetchingLink": "Kļūda iegūstot ieraksta saiti.",
"expandedOff": "Ieraksts apturēts",
"expandedOn": "Šī sapulce tiek ierakstīta.",
"expandedPending": "Sākam sapulces ierakstu...",
"expandedPending": "Sākam sapulces ierakstu",
"failedToStart": "Neizdevās sākt ierakstu",
"fileSharingdescription": "Kopīgot ierakstu ar sapulces dalībniekiem",
"highlight": "Izcelt",
@@ -1026,7 +1047,7 @@
"localRecordingStartWarningTitle": "Apturiet ierakstīšanu, lai to saglabātu",
"localRecordingVideoStop": "Apturot vide, tiks apturēta arī lokālā ierakstīšana. Vai tiešām vēlaties turpināt?",
"localRecordingVideoWarning": "Lai ierakstītu video, tas ir jāieslēdz, uzsākot ierakstīšanu",
"localRecordingWarning": "Noteikti atlasiet pašreizējo cilni, lai izmantotu pareizo video un audio. Ieraksts pašlaik ir ierobežots līdz 1 GB, kas ir aptuveni 100 minūtes.",
"localRecordingWarning": "Noteikti izvēlieties pašreizējo cilni, lai izmantotu pareizo video un audio. Ieraksts pašlaik ir ierobežots līdz 1 GB, kas ir aptuveni 100 minūtes.",
"loggedIn": "Pierakstījies kā {{userName}}",
"noMicPermission": "Mikrofona ierakstu nevarēja izveidot. Lūdzu, piešķiriet atļauju lietot mikrofonu.",
"noStreams": "Nav konstatēta audio vai video straume.",
@@ -1035,7 +1056,8 @@
"on": "Notiek ieraksts",
"onBy": "{{name}} ieslēdza ierakstu",
"onlyRecordSelf": "Ierakstīt tikai manas audio un video straumes",
"pending": "Gatavojas ierakstīt sapulci...",
"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)",
@@ -1058,8 +1080,8 @@
"pullToRefresh": "Pavilkt, lai atsvaidzinātu"
},
"security": {
"about": "Savai sapulcei pievienojiet $t(lockRoomPassword). Dalībniekiem būs jānorāda $t(lockRoomPassword), lai viņi varētu pievienoties sapulcei.",
"aboutReadOnly": "Moderatora dalībnieki sapulcei var pievienot $t(lockRoomPassword). Dalībniekiem būs jānorāda $t(lockRoomPassword), lai viņi varētu pievienoties sapulcei.",
"about": "Iestatiet sapulcei $t(lockRoomPassword). Dalībniekiem būs jānorāda $t(lockRoomPassword), lai viņi varētu pievienoties sapulcei.",
"aboutReadOnly": "Moderatora dalībnieki sapulcei var iestatīt $t(lockRoomPassword). Dalībniekiem būs jānorāda $t(lockRoomPassword), lai viņi varētu pievienoties sapulcei.",
"insecureRoomNameWarningNative": "Istabas nosaukums nav drošs. Nevēlami dalībnieki var pievienoties jūsu sapulcei. {{recommendAction}} Uzziniet vairāk par tikšanās nodrošināšanu",
"insecureRoomNameWarningWeb": "Istabas nosaukums nav drošs. Nevēlami dalībnieki var pievienoties jūsu sapulcei. {{recommendAction}} Uzziniet vairāk par to, kā nodrošināt atbilstību prasībām <a href=\"{{securityUrl}}\" rel=\"security\" target=\"_blank\">šeit</a>.",
"title": "Drošības iespējas",
@@ -1083,7 +1105,8 @@
"desktopShareHighFpsWarning": "Lielāks kadru nomaiņas ātrums darbvirsmas koplietošanai var ietekmēt joslas platumu. Lai jaunie iestatījumi stātos spēkā, ir jārestartē ekrāna kopīgošana.",
"desktopShareWarning": "Lai jaunie iestatījumi stātos spēkā, ir jārestartē ekrāna kopīgošana.",
"devices": "Ierīces",
"followMe": "Visi man seko",
"followMe": "Visi seko man",
"followMeRecorder": "Ierakstītājs seko man",
"framesPerSecond": "kadri sekundē",
"incomingMessage": "Ienākošā ziņa",
"language": "Valoda",
@@ -1108,7 +1131,7 @@
"selfView": "Pašskats",
"shortcuts": "Īsceļi",
"speakers": "Skaļruņi",
"startAudioMuted": "Dalībnieki pievienojas ar izslēgtu skaņu",
"startAudioMuted": "Dalībnieki pievienojas ar izslēgtu mikrofonu",
"startReactionsMuted": "Izslēgt reakcijas skaņas visiem",
"startVideoMuted": "Dalībnieki pievienojas ar izslēgtu kameru",
"talkWhileMuted": "Runā, kad izslēgta skaņa",
@@ -1230,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",
@@ -1247,6 +1271,7 @@
"privateMessage": "Nosūtīt privātu ziņu",
"profile": "Rediģēt savu profilu",
"raiseHand": "Pacelt roku",
"react": "Ziņojumu reakcijas",
"reactions": "Reakcijas",
"reactionsMenu": "Reakciju izvēlne",
"recording": "Ieraksts (iesl./izsl.)",
@@ -1318,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",
@@ -1343,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",
@@ -1376,7 +1403,7 @@
"transcribing": {
"ccButtonTooltip": "Iesl./izsl. subtitrus",
"expandedLabel": "Transkripcija ir ieslēgta",
"failedToStart": "Neizdevās sākt transkripciju",
"failed": "Transkripcija neizdevās",
"labelToolTip": "Notiek sapulces transkripcija",
"sourceLanguageDesc": "Pašlaik sapulces valoda ir iestatīta uz <b>{{sourceLanguage}}</b>. <br/> Varat to mainīt no ",
"sourceLanguageHere": "šeit",
@@ -1388,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.",
@@ -1476,7 +1494,7 @@
"image6": "Mežs",
"image7": "Saullēkts",
"none": "Nav",
"pleaseWait": "Lūdzu uzgaidiet...",
"pleaseWait": "Lūdzu uzgaidiet",
"removeBackground": "Noņemt fonu",
"slightBlur": "Viegli izplūdis",
"title": "Virtuālie foni",
@@ -1486,16 +1504,22 @@
},
"visitors": {
"chatIndicator": "(apmeklētājs)",
"joinMeeting": {
"description": "Jūs pašlaik esat novērotājs šajā konferencē.",
"raiseHand": "Pacelt roku",
"title": "Pievienošanās sapulcei",
"wishToSpeak": "Ja vēlaties runāt, lūdzu, paceliet roku zemāk un gaidiet moderatora apstiprinājumu."
},
"labelTooltip": "Apmeklētāju skaits: {{count}}",
"notification": {
"demoteDescription": "{{actor}} pārveidoja par apmeklētāju, paceliet roku, lai piedalītos",
"description": "Paceliet roku, lai piedalītos",
"noMainParticipantsDescription": "Dalībniekam ir jāsāk sapulce. Lūdzu, pēc brīža mēģiniet vēlreiz.",
"noMainParticipantsTitle": "Šī sapulce vēl nav sākusies.",
"noVisitorLobby": "Jūs nevarat pievienoties, kamēr sapulcei ir iespējots vestibils.",
"notAllowedPromotion": "Dalībniekam vispirms ir jāatļauj jūsu pieprasījums.",
"title": "Jūs esat sapulces apmeklētājs"
}
},
"waitingMessage": "Jūs pievienosities sapulcei, tiklīdz tā sāksies!"
},
"volumeSlider": "Skaļuma slīdnis",
"welcomepage": {

View File

@@ -83,7 +83,7 @@
"installExtensionText": "Install the extension for Google Calendar and Office 365 integration"
},
"connectingOverlay": {
"joiningRoom": "നിങ്ങളുടെ മീറ്റിംഗിലേക്ക് നിങ്ങളെ ബന്ധിപ്പിക്കുന്നു ..."
"joiningRoom": "നിങ്ങളുടെ മീറ്റിംഗിലേക്ക് നിങ്ങളെ ബന്ധിപ്പിക്കുന്നു"
},
"connection": {
"ATTACHED": "അറ്റാച്ചുചെയ്തു",
@@ -95,9 +95,9 @@
"DISCONNECTED": "ബന്ധം വേർപെടുത്തിയിരിക്കുന്നു",
"DISCONNECTING": "ഡിസ്കണനെക്ട ചെയ്യുന്നു ",
"ERROR": "Error",
"FETCH_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു ...",
"FETCH_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു",
"GET_SESSION_ID_ERROR": "Get session-id error: {{code}}",
"GOT_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു... ചെയ്തു",
"GOT_SESSION_ID": "സെഷൻ ഐഡി നേടുന്നു ചെയ്തു",
"LOW_BANDWIDTH": "ബാൻഡ്വിഡിത്ത് സൂക്ഷിക്കുന്നതിനായി {{displayName}}-നുള്ള വീഡിയോ ഓഫ് ചെയ്തിരിക്കുന്നു"
},
"connectionindicator": {
@@ -146,7 +146,7 @@
"ifHaveApp": "നിങ്ങൾക്ക് അപ്ലിക്കേഷൻ ഉണ്ടെങ്കിൽ:",
"joinInApp": "അപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ഈ മീറ്റിംഗിൽ ചേരുക",
"launchWebButton": "വെബിൽ സമാരംഭിക്കുക",
"title": "Launching your meeting in {{app}}...",
"title": "Launching your meeting in {{app}}",
"tryAgainButton": "ഡെസ്ക്ടോപ്പിൽ വീണ്ടും ശ്രമിക്കുക"
},
"defaultLink": "e.g. {{url}}",
@@ -175,7 +175,7 @@
"Share": "പങ്കിടുക",
"Submit": "സമർപ്പിക്കുക",
"WaitForHostMsg": "The conference has not yet started. If you are the host then please authenticate. Otherwise, please wait for the host to arrive.",
"WaitingForHost": "ഹോസ്റ്റിനായി കാത്തിരിക്കുന്നു ...",
"WaitingForHost": "ഹോസ്റ്റിനായി കാത്തിരിക്കുന്നു",
"Yes": "അതെ",
"accessibilityLabel": {
"liveStreaming": "തത്സമയ സംപ്രേക്ഷണം"
@@ -193,9 +193,9 @@
"cameraUnknownError": "Cannot use camera for an unknown reason.",
"cameraUnsupportedResolutionError": "Your camera does not support required video resolution.",
"close": "അടയ്ക്കുക",
"conferenceDisconnectMsg": "You may want to check your network connection. Reconnecting in {{seconds}} sec...",
"conferenceDisconnectMsg": "You may want to check your network connection. Reconnecting in {{seconds}} sec",
"conferenceDisconnectTitle": "നിങ്ങൾ ബന്ധം വിച്ഛേദിച്ചിരിക്കുന്നു.",
"conferenceReloadMsg": "ഞങ്ങൾ ഇത് പരിഹരിക്കാൻ ശ്രമിക്കുകയാണ്. {{seconds}} സെക്കൻഡിൽ വീണ്ടും കണക്റ്റുചെയ്യുന്നു ...",
"conferenceReloadMsg": "ഞങ്ങൾ ഇത് പരിഹരിക്കാൻ ശ്രമിക്കുകയാണ്. {{seconds}} സെക്കൻഡിൽ വീണ്ടും കണക്റ്റുചെയ്യുന്നു",
"conferenceReloadTitle": "നിർഭാഗ്യവശാൽ, എന്തോ കുഴപ്പം സംഭവിച്ചു.",
"confirm": "ഉറപ്പാക്കുക",
"confirmNo": "വേണ്ട",
@@ -411,7 +411,7 @@
"errorLiveStreamNotEnabled": "{{email}} -ൽ തത്സമയ സ്ട്രീമിംഗ് പ്രാപ്തമാക്കിയിട്ടില്ല.തത്സമയ സ്ട്രീമിംഗ് പ്രാപ്തമാക്കുക അല്ലെങ്കിൽ തത്സമയ സ്ട്രീമിംഗ് പ്രാപ്തമാക്കിയ ഒരു അക്കൗണ്ടിലേക്ക് പ്രവേശിക്കുക.",
"expandedOff": "തത്സമയ സ്ട്രീമിംഗ് അവസാനിച്ചു",
"expandedOn": "മീറ്റിംഗ് നിലവിൽ യൂട്യൂബിലേക്ക് സ്ട്രീം ചെയ്യുന്നു.",
"expandedPending": "തത്സമയ സ്ട്രീമിംഗ് ആരംഭിക്കുന്നു...",
"expandedPending": "തത്സമയ സ്ട്രീമിംഗ് ആരംഭിക്കുന്നു",
"failedToStart": "തത്സമയ സ്ട്രീമിംഗ് ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു",
"getStreamKeyManually": "ഞങ്ങൾക്ക് തത്സമയ സ്ട്രീമുകളൊന്നും നേടാനായില്ല. യൂട്യൂബിൽ നിന്ന് നിങ്ങളുടെ തത്സമയ സ്ട്രീം കീ നേടാൻ ശ്രമിക്കുക.",
"googlePrivacyPolicy": "ഗൂഗിൾ സ്വകാര്യതാ നയം",
@@ -422,7 +422,7 @@
"offBy": "{{name}} തത്സമയ സ്ട്രീമിംഗ് നിർത്തി",
"on": "തത്സമയ സംപ്രേക്ഷണം",
"onBy": "{{name}} തത്സമയ സ്ട്രീമിംഗ് ആരംഭിച്ചു",
"pending": "തത്സമയ സ്ട്രീം ആരംഭിക്കുന്നു...",
"pending": "തത്സമയ സ്ട്രീം ആരംഭിക്കുന്നു",
"serviceName": "തത്സമയ സ്ട്രീമിംഗ് സേവനം",
"signIn": "ഗൂഗിൾ ഉപയോഗിച്ച് പ്രവേശിക്കുക",
"signInCTA": "പ്രവേശിക്കുക അല്ലെങ്കിൽ നിങ്ങളുടെ യൂട്യൂബ് തത്സമയ സ്ട്രീം കീ നൽകുക.",
@@ -449,10 +449,10 @@
"invalidPassword": "പാസ്‌വേഡ് അസാധുവാണ്",
"joinRejectedMessage": "നിങ്ങളുടെ ചേരൽ അഭ്യർത്ഥന ഒരു മോഡറേറ്റർ നിരസിച്ചു.",
"joinTitle": "മീറ്റിംഗിൽ ചേരുക",
"joinWithPasswordMessage": "പാസ്‌വേഡുമായി ചേരാൻ ശ്രമിക്കുന്നു, ദയവായി കാത്തിരിക്കുക ...",
"joinWithPasswordMessage": "പാസ്‌വേഡുമായി ചേരാൻ ശ്രമിക്കുന്നു, ദയവായി കാത്തിരിക്കുക",
"joiningMessage": "ആരെങ്കിലും നിങ്ങളുടെ അഭ്യർത്ഥന സ്വീകരിച്ചാലുടൻ നിങ്ങൾ മീറ്റിംഗിൽ ചേരും",
"joiningTitle": "മീറ്റിംഗിൽ ചേരാൻ ആവശ്യപ്പെടുന്നു ...",
"joiningWithPasswordTitle": "പാസ്‌വേഡുമായി ചേരുന്നു ...",
"joiningTitle": "മീറ്റിംഗിൽ ചേരാൻ ആവശ്യപ്പെടുന്നു",
"joiningWithPasswordTitle": "പാസ്‌വേഡുമായി ചേരുന്നു",
"knockButton": "ചേരാൻ ആവശ്യപ്പെടുക",
"knockTitle": "ആരോ മീറ്റിംഗിൽ ചേരാൻ ശ്രമിക്കുന്നു ",
"knockingParticipantList": "Knocking participant list",
@@ -559,7 +559,7 @@
"callMe": "എന്നെ വിളിക്കുക",
"callMeAtNumber": "ഈ നമ്പറിൽ എന്നെ വിളിക്കുക:",
"calling": "വിളിക്കുന്നു",
"configuringDevices": "ഉപകരണങ്ങൾ ക്രമീകരിക്കുന്നു...",
"configuringDevices": "ഉപകരണങ്ങൾ ക്രമീകരിക്കുന്നു",
"connectedWithAudioQ": "നിങ്ങൾ ഓഡിയോയുമായി ബന്ധിപ്പിച്ചിട്ടുണ്ടോ?",
"connection": {
"good": "നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ മികച്ചതായി തോന്നുന്നു!",
@@ -610,17 +610,17 @@
},
"presenceStatus": {
"busy": "തിരക്ക്",
"calling": "വിളിക്കുന്നു ...",
"calling": "വിളിക്കുന്നു",
"connected": "ബന്ധിപ്പിച്ചു",
"connecting": "ബന്ധിപ്പിക്കുന്നു...",
"connecting2": "ബന്ധിപ്പിക്കുന്നു*...",
"connecting": "ബന്ധിപ്പിക്കുന്നു",
"connecting2": "ബന്ധിപ്പിക്കുന്നു*",
"disconnected": "വിച്ഛേദിച്ചു",
"expired": "കാലഹരണപ്പെട്ടു",
"ignored": "അവഗണിച്ചു",
"initializingCall": "കോൾ സമാരംഭിക്കുന്നു...",
"initializingCall": "കോൾ സമാരംഭിക്കുന്നു",
"invited": "ക്ഷണിച്ചു",
"rejected": "നിരസിച്ചു",
"ringing": "റിംഗുചെയ്യുന്നു..."
"ringing": "റിംഗുചെയ്യുന്നു"
},
"profile": {
"setDisplayNameLabel": "നിങ്ങളുടെ ഡിസ്പ്ലേ നാമം സജ്ജമാക്കുക",
@@ -638,7 +638,7 @@
"error": "റെക്കോർഡിംഗ് പരാജയപ്പെട്ടു. ദയവായി വീണ്ടും ശ്രമിക്കുക.",
"expandedOff": "റെക്കോർഡിംഗ് അവസാനിച്ചു ",
"expandedOn": "മീറ്റിംഗ് നിലവിൽ റെക്കോർഡുചെയ്യുന്നു.",
"expandedPending": "റെക്കോർഡിംഗ് ആരംഭിച്ചു...",
"expandedPending": "റെക്കോർഡിംഗ് ആരംഭിച്ചു",
"failedToStart": "റെക്കോർഡിംഗ് ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു",
"fileSharingdescription": "മീറ്റിംഗ് പങ്കാളികളുമായി റെക്കോർഡിംഗ് പങ്കിടുക",
"limitNotificationDescriptionNative": "ഉയർന്ന ഡിമാൻഡ് കാരണം നിങ്ങളുടെ റെക്കോർഡിംഗ് {{limit}} മിനിറ്റായി പരിമിതപ്പെടുത്തും. പരിധിയില്ലാത്ത റെക്കോർഡിംഗുകൾക്കായി <3>{{app}}</3>.",
@@ -649,7 +649,7 @@
"offBy": "{{name}} റെക്കോർഡിംഗ് നിർത്തി",
"on": "റെക്കോർഡിംഗ്",
"onBy": "{{name}} റെക്കോർഡിംഗ് ആരംഭിച്ചു",
"pending": "മീറ്റിംഗ് റെക്കോർഡുചെയ്യാൻ തയ്യാറെടുക്കുന്നു...",
"pending": "മീറ്റിംഗ് റെക്കോർഡുചെയ്യാൻ തയ്യാറെടുക്കുന്നു",
"rec": "REC",
"serviceDescription": "നിങ്ങളുടെ റെക്കോർഡിംഗ് റെക്കോർഡിംഗ് സേവനം സൂക്ഷിക്കും",
"serviceName": "റെക്കോർഡിംഗ് സേവനം ",
@@ -852,22 +852,13 @@
"failedToStart": "ട്രാൻസ്‌ക്രൈബുചെയ്യൽ ആരംഭിക്കുന്നതിൽ പരാജയപ്പെട്ടു",
"labelToolTip": "മീറ്റിംഗ് പകർത്തിയെഴുതുകയാണ്",
"off": "ട്രാൻസ്‌ക്രൈബുചെയ്യൽ നിർത്തി",
"pending": "മീറ്റിംഗ് പകർത്തിയെഴുതാൻ തയ്യാറെടുക്കുന്നു...",
"pending": "മീറ്റിംഗ് പകർത്തിയെഴുതാൻ തയ്യാറെടുക്കുന്നു",
"start": "സബ്ടൈറ്റിലുകൾ കാണിക്കാൻ ആരംഭിക്കുക",
"stop": "സബ്‌ടൈറ്റിലുകൾ കാണിക്കുന്നത് നിർത്തുക",
"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

@@ -19,7 +19,7 @@
"noResults": "Үр дүн олдсонгүй",
"outlookEmail": "Outlook и-мэйл",
"phoneNumbers": "утасны дугаар",
"searching": "Хайж байна ...",
"searching": "Хайж байна",
"shareInvite": "Уулзалтын урилга хуваалцах",
"shareLink": "Уулзалтын линк хуваалцан бусдыг урих",
"shareStream": "Шууд дамжуулалтын линк хуваалцах",
@@ -122,7 +122,7 @@
"installExtensionText": "Google Calendar болон Office 365 интеграци хийхийн тулд энэ extension суулгана"
},
"connectingOverlay": {
"joiningRoom": "Таныг уулзалтад холбож байна..."
"joiningRoom": "Таныг уулзалтад холбож байна"
},
"connection": {
"ATTACHED": "Хавсаргасан",
@@ -134,9 +134,9 @@
"DISCONNECTED": "Холбогдоогүй",
"DISCONNECTING": "Салгаж байна",
"ERROR": "Алдаа",
"FETCH_SESSION_ID": "Оролцогчийн холболтыг олох...",
"FETCH_SESSION_ID": "Оролцогчийн холболтыг олох",
"GET_SESSION_ID_ERROR": "Оролцогчийн холболт дээр алдаа: {{code}}",
"GOT_SESSION_ID": "Оролцогчийн холболтыг олох... Дууссан",
"GOT_SESSION_ID": "Оролцогчийн холболтыг олох Дууссан",
"LOW_BANDWIDTH": "{{displayName}} чанарыг бууруулж видео унтраасан байна"
},
"connectionindicator": {
@@ -199,8 +199,8 @@
"launchWebButton": "Вэб дээр ажиллуулах",
"noMobileApp": "Таньд энэ апп байхгүй юу?",
"termsAndConditions": "Үргэлжлүүлэхийн тулд та үйлчилгээний нөхцлийг бидний <a href='{{termsAndConditionsLink}}' rel='noopener noreferrer' target='_blank'> үйлчилгээний нөхцлийг зөвшөөрнө үү.</a>",
"title": "Таны {{app}} уулзалтыг эхлүүлж байна....",
"titleNew": "Таныг уулзалтад холбож байна ...",
"title": "Таны {{app}} уулзалтыг эхлүүлж байна.",
"titleNew": "Таныг уулзалтад холбож байна",
"tryAgainButton": "Дахин оролдоно уу",
"unsupportedBrowser": "Таны ашиглаж буй вэб хөтчийг дэмжихгүй байна."
},
@@ -239,7 +239,7 @@
"Share": "Хуваалцах",
"Submit": "Илгээх",
"WaitForHostMsg": "Уулзалт хараахан эхлээгүй байна. Хэрэв та хост байгаа бол нэвтэрнэ үү. Үгүй бол хост ирэхийг хүлээнэ үү.",
"WaitingForHostTitle": "Зочдыг хүлээж байна ...",
"WaitingForHostTitle": "Зочдыг хүлээж байна",
"Yes": "Тийм",
"accessibilityLabel": {
"close": "Цонх хаах",
@@ -263,9 +263,9 @@
"cameraUnknownError": "Ямар нэг шалтгааны улмаас камерыг ашиглаж чадахгүй.",
"cameraUnsupportedResolutionError": "Таны камер шаардлагатай видеоны хэмжээг дэмждэггүй.",
"close": "Хаах",
"conferenceDisconnectMsg": "Сүлжээний холболт шалгаж байна. Дахин холбогдож байна {{seconds}} сек...",
"conferenceDisconnectMsg": "Сүлжээний холболт шалгаж байна. Дахин холбогдож байна {{seconds}} сек",
"conferenceDisconnectTitle": "Та салсан байна.",
"conferenceReloadMsg": "Бид засахаар оролдож байна. Дахин холбогдож байна {{seconds}} сек...",
"conferenceReloadMsg": "Бид засахаар оролдож байна. Дахин холбогдож байна {{seconds}} сек",
"conferenceReloadTitle": "Уучлаарай. Ямар нэг алдаа гарсан байна.",
"confirm": "Батлах",
"confirmNo": "Үгүй",
@@ -560,7 +560,7 @@
"errorLiveStreamNotEnabled": "Шууд дамжуулалт {{email}} дээр идэвхжүүлээгүй байна. Шууд дамжуулалтыг идэвхжүүл эсвэл шууд дамжуулалт хийх боломжтой бүртгэлээр нэвтэрнэ үү.",
"expandedOff": "Шууд дамжуулалт зогссон байна",
"expandedOn": "Энэ уулзалтыг YouTube дээр шууд дамжуулж байна.",
"expandedPending": "Шууд дамжуулалтыг эхлүүлж байна...",
"expandedPending": "Шууд дамжуулалтыг эхлүүлж байна",
"failedToStart": "Шууд дамжуулалтыг эхлүүлж чадсангүй",
"getStreamKeyManually": "Шууд дамжуулалтыг хийх чадсангүй. YouTube-ээс шууд дамжуулалтын түлхүүрээ шалгаж үзээрэй.",
"googlePrivacyPolicy": "Google хувийн мэдээлэл хамгаалах дүрэм",
@@ -572,7 +572,7 @@
"offBy": "{{name}} шууд дамжуулалтыг зогсоосон",
"on": "Шууд дамжуулалт",
"onBy": "{{name}} шууд дамжуулалт эхлүүлсэн",
"pending": "Шууд дамжуулалтыг эхлүүлж байна...",
"pending": "Шууд дамжуулалтыг эхлүүлж байна",
"serviceName": "Шууд дамжуулалт үйлчилгээ",
"sessionAlreadyActive": "Энэ дамжуулалтын шууд дамжуулах эсвэл бичлэг хийхийг эхлүүлсэн байна.",
"signIn": "Google-р нэвтрэх",
@@ -602,10 +602,10 @@
"joinRejectedMessage": "Таны уулзалтанд орох хүсэлтийг зөвшөөрөгдсөнгүй.",
"joinRejectedTitle": "Уулзалтын хүсэлт зөвшөөрөгдөөгүй.",
"joinTitle": "Уулзалтанд оролцох",
"joinWithPasswordMessage": "Нууц үг оруулан уулзалтад оролцохыг оролдож байна, түр хүлээнэ үү...",
"joinWithPasswordMessage": "Нууц үг оруулан уулзалтад оролцохыг оролдож байна, түр хүлээнэ үү",
"joiningMessage": "Таны хүсэлтийг хэн нэгэн зөвшөөрөнгүүт та уулзалтанд нэгдэнэ",
"joiningTitle": "Уулзалтанд орохыг асууж байна...",
"joiningWithPasswordTitle": "Нууц үгтэйгээр оролцож байна...",
"joiningTitle": "Уулзалтанд орохыг асууж байна",
"joiningWithPasswordTitle": "Нууц үгтэйгээр оролцож байна",
"knockButton": "Уулзалтанд орохыг асуух",
"knockTitle": "Хэн нэгэн энэ уулзалтын хүсэлт илгээсэн байна",
"knockingParticipantList": "Оролцогчийн жагсаалт шалгах",
@@ -691,7 +691,7 @@
"linkToSalesforceDescription": "You can link the meeting summary to a Salesforce object.",
"linkToSalesforceError": "Уулзалтыг Salesforce-руу холбох амжилтгүй",
"linkToSalesforceKey": "Уулзалтыг холбох",
"linkToSalesforceProgress": "Уулзалтыг Salesforce-той холбож байна...",
"linkToSalesforceProgress": "Уулзалтыг Salesforce-той холбож байна",
"linkToSalesforceSuccess": "Уулзалтыг Salesforce-той холбосон",
"localRecordingStarted": "{{name}} өөрийн төхөөрөмжинд бичлэгийг эхлүүлсэн.",
"localRecordingStopped": "{{name}} өөрийн төхөөрөмжийн бичлэгээ зогсоосон..",
@@ -826,7 +826,7 @@
"callMe": "Над руу залга",
"callMeAtNumber": "Энэ дугаараар над руу залга:",
"calling": "Дуудаж байна",
"configuringDevices": "Төхөөрөмжийг тохируулж байна...",
"configuringDevices": "Төхөөрөмжийг тохируулж байна",
"connectedWithAudioQ": "Та зөвхөн дуугаа холбогдсон уу?",
"connection": {
"good": "Таны интернетийн хурд сайн байна!",
@@ -880,17 +880,17 @@
},
"presenceStatus": {
"busy": "Завгүй",
"calling": "Дуудаж байна...",
"calling": "Дуудаж байна",
"connected": "Холбогдсон",
"connecting": "Холбож байна...",
"connecting2": "Холбож байна*...",
"connecting": "Холбож байна",
"connecting2": "Холбож байна*",
"disconnected": "Холбогдоогүй",
"expired": "Хугацаа нь дууссан",
"ignored": "Ignored",
"initializingCall": "Дуудлагыг эхлүүлж байна...",
"initializingCall": "Дуудлагыг эхлүүлж байна",
"invited": "Урьсан",
"rejected": "Татгалзсан",
"ringing": "Дуудаж байна..."
"ringing": "Дуудаж байна"
},
"profile": {
"avatar": "avatar",
@@ -924,7 +924,7 @@
"errorFetchingLink": "Бичлэгийн холбоос татах үеийн алдаа.",
"expandedOff": "Бичлэг хийх зогссон",
"expandedOn": "Уулзалтыг одоо тэмдэглэж байна.",
"expandedPending": "Бичлэгийг хийж байна...",
"expandedPending": "Бичлэгийг хийж байна",
"failedToStart": "Бичлэг хийх амжилтгүй боллоо",
"fileSharingdescription": "Бичлэгийг уулзалтын оролцогчидтой хуваалцах",
"highlight": "Highlight",
@@ -952,7 +952,7 @@
"on": "Бичиж байна",
"onBy": "{{name}} бичлэг хийж эхлэв",
"onlyRecordSelf": "Зөвхөн миний видео болон дууны дамжуулалтыг бичих",
"pending": "Уулзалтыг бичихээр бэлтгэж байна...",
"pending": "Уулзалтыг бичихээр бэлтгэж байна",
"rec": "REC",
"saveLocalRecording": "Бичлэгийн файлаа өөрийн компьютерт хадгал (Beta)",
"serviceDescription": "Таны бичлэгийг хадгална",
@@ -1280,7 +1280,7 @@
"failedToStart": "Хадмал орчуулга эхлүүлж чадсангүй",
"labelToolTip": "Уулзалтын хадмал орчуулга",
"off": "Хадмал орчуулга больсон",
"pending": "Уулзалтын хадмал орчуулга хийхэд бэлдэж байна...",
"pending": "Уулзалтын хадмал орчуулга хийхэд бэлдэж байна",
"sourceLanguageDesc": "Уулзалтын хэлийг <b>{{sourceLanguage}}</b> болгон өөрчилсөн. <br/> Та эндээс солих боломжтой ",
"sourceLanguageHere": "энд",
"start": "Хадмал орчуулгыг харуулах",
@@ -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": "Бид нөөцийг чөлөөлөхөөр ажиллаж байна. Хэдэн минутын дараа дахин оролдоно уу.",
@@ -1374,7 +1365,7 @@
"image6": "Forest ",
"image7": "Sunrise",
"none": "Аль нь ч биш",
"pleaseWait": "Түр хүлээнэ үү...",
"pleaseWait": "Түр хүлээнэ үү",
"removeBackground": "Арын зураг устгах",
"slightBlur": "Тал бүдгэрүүлэх",
"title": "Виртуал бүдгэрүүлэлт",

View File

@@ -68,7 +68,7 @@
"installExtensionText": "Google कॅलेंडर आणि ऑफिस 365 एकत्रिकरणासाठी विस्तार स्थापित करा"
},
"connectingOverlay": {
"joiningRoom": "आपल्याला आपल्या संमेलनात कनेक्ट करीत आहे ..."
"joiningRoom": "आपल्याला आपल्या संमेलनात कनेक्ट करीत आहे"
},
"connection": {
"ATTACHED": "जोडले",
@@ -80,9 +80,9 @@
"DISCONNECTED": "डिस्कनेक्ट केलेले",
"DISCONNECTING": "डिस्कनेक्ट करत आहे",
"ERROR": "त्रुटी",
"FETCH_SESSION_ID": "सत्र आयडी प्राप्त करीत आहे ...",
"FETCH_SESSION_ID": "सत्र आयडी प्राप्त करीत आहे",
"GET_SESSION_ID_ERROR": "सत्र-आयडी त्रुटी मिळवा:{{code}}",
"GOT_SESSION_ID": "सत्र-आयडी मिळवित आहे ... पूर्ण झाले",
"GOT_SESSION_ID": "सत्र-आयडी मिळवित आहे पूर्ण झाले",
"LOW_BANDWIDTH": "बँडविड्थ जतन करण्यासाठी {{displayName}}चा व्हिडिओ बंद केला गेला आहे"
},
"connectionindicator": {
@@ -156,7 +156,7 @@
"Share": "सामायिक करा",
"Submit": "प्रस्तुत करणे",
"WaitForHostMsg": "परिषद अद्याप सुरू झाले नाही. आपण होस्ट असल्यास कृपया अधिकृत करा. अन्यथा, कृपया होस्ट येण्याची प्रतीक्षा करा.",
"WaitingForHost": " होस्टची प्रतीक्षा करीत आहे ...",
"WaitingForHost": " होस्टची प्रतीक्षा करीत आहे",
"Yes": "होय",
"accessibilityLabel": {
"liveStreaming": "थेट प्रसारण"
@@ -175,7 +175,7 @@
"close": "बंद",
"conferenceDisconnectMsg": "आपण आपले नेटवर्क कनेक्शन तपासू शकता. सेकंदात पुन्हा कनेक्ट करत आहे {{seconds}}..",
"conferenceDisconnectTitle": "आपण डिस्कनेक्ट झाला आहात.",
"conferenceReloadMsg": "आम्ही हे निश्चित करण्याचा प्रयत्न करीत आहोत. पुन्हा कनेक्ट करत आहे. {{seconds}} sec...",
"conferenceReloadMsg": "आम्ही हे निश्चित करण्याचा प्रयत्न करीत आहोत. पुन्हा कनेक्ट करत आहे. {{seconds}} sec",
"conferenceReloadTitle": "दुर्दैवाने, काहीतरी चूक झाली",
"confirm": "पुष्टी",
"confirmNo": "नाही",
@@ -397,7 +397,7 @@
"offBy": "{{name}} थेट प्रवाह थांबविला",
"on": "थेट प्रवाह",
"onBy": "{{name}} थेट प्रवाह सुरू केला",
"pending": "थेट प्रवाह सुरू करत आहे ...",
"pending": "थेट प्रवाह सुरू करत आहे",
"serviceName": "थेट प्रवाह सेवा",
"signIn": "Google सह साइन इन करा",
"signInCTA": "YouTube वरून साइन इन करा किंवा आपली थेट प्रवाह की प्रविष्ट करा.",
@@ -495,7 +495,7 @@
"callMe": "मला कॉल करा",
"callMeAtNumber": "मला या नंबरवर कॉल करा:",
"calling": "कॉल करीत आहे",
"configuringDevices": "डिव्हाइस कॉन्फिगर करीत आहे ...",
"configuringDevices": "डिव्हाइस कॉन्फिगर करीत आहे",
"connectedWithAudioQ": "आपण ऑडिओशी कनेक्ट आहात?",
"copyAndShare": "मीटिंगचा दुवा कॉपी आणि सामायिक करा",
"dialInMeeting": "बैठकीत डायल करा",
@@ -517,17 +517,17 @@
},
"presenceStatus": {
"busy": "व्यस्त",
"calling": "कॉल करीत आहे ...",
"calling": "कॉल करीत आहे",
"connected": "जोडलेले",
"connecting": "कनेक्ट करीत आहे ...",
"connecting2": "कनेक्ट करीत आहे ...",
"connecting": "कनेक्ट करीत आहे",
"connecting2": "कनेक्ट करीत आहे",
"disconnected": "डिस्कनेक्ट केलेले",
"expired": "कालबाह्य",
"ignored": "दुर्लक्षित",
"initializingCall": "कॉल प्रारंभ करीत आहे ...",
"initializingCall": "कॉल प्रारंभ करीत आहे",
"invited": "आमंत्रित केले",
"rejected": "नाकारले",
"ringing": "रिंग होत आहे ..."
"ringing": "रिंग होत आहे"
},
"profile": {
"setDisplayNameLabel": " आपले प्रदर्शन नाव सेट करा",
@@ -545,7 +545,7 @@
"error": "रेकॉर्डिंग अयशस्वी. कृपया पुन्हा प्रयत्न करा.",
"expandedOff": "रेकॉर्डिंग थांबले आहे",
"expandedOn": "सभेची नोंद सध्या घेतली जात आहे.",
"expandedPending": "रेकॉर्डिंग सुरू केले जात आहे ...",
"expandedPending": "रेकॉर्डिंग सुरू केले जात आहे",
"failedToStart": "रेकॉर्डिंग सुरू करण्यात अयशस्वी",
"fileSharingdescription": "मीटिंगमधील सहभागींसह रेकॉर्डिंग सामायिक करा",
"live": "LIVE",
@@ -554,7 +554,7 @@
"offBy": "{{name}} रेकॉर्डिंग थांबविले",
"on": "Recording",
"onBy": "{{name}} रेकॉर्डिंग सुरू केले",
"pending": "मीटिंग रेकॉर्ड करण्याची तयारी करत आहे ...",
"pending": "मीटिंग रेकॉर्ड करण्याची तयारी करत आहे",
"rec": "REC",
"serviceDescription": "आपले रेकॉर्डिंग रेकॉर्डिंग सेवेद्वारे जतन केले जाईल",
"serviceName": "रेकॉर्डिंग सेवा",
@@ -701,22 +701,13 @@
"failedToStart": "लिप्यंतरण सुरू करण्यात अयशस्वी",
"labelToolTip": "सभेचे प्रतिलेखन केले जात आहे",
"off": "लिप्यंतरण थांबविले",
"pending": "संमेलनाची नक्कल करण्याची तयारी करत आहे ...",
"pending": "संमेलनाची नक्कल करण्याची तयारी करत आहे",
"start": "उपशीर्षके दर्शविणे प्रारंभ करा",
"stop": "उपशीर्षके दर्शविणे थांबवा",
"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": "आम्ही स्त्रोत मुक्त करण्याचे काम करत आहोत. कृपया काही मिनिटांत पुन्हा प्रयत्न करा.",

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