* Fix for missing client store (caused by: #2587)
* Fix interactive login with authenticated guest user.
Fix clearing storage before logging in a new account.
We need to be consistent about whether we import matrix-js-sdk from `src` or
`lib`, otherwise we get two copies of matrix-js-sdk, and everything explodes.
* Fix issues detected by Knip
Including cleaning up some unused code and dependencies, using a React hook that we unintentionally stopped using, and also adding some previously undeclared dependencies.
* Replace remaining React ARIA components with Compound components
* fix button position
* disable scrollbars to resolve overlapping button
---------
Co-authored-by: Timo <toger5@hotmail.de>
* Install Knip
* Clarify an import that was confusing Knip
* Fix issues detected by Knip
Including cleaning up some unused code and dependencies, using a React hook that we unintentionally stopped using, and also adding some previously undeclared dependencies.
* Run dead code analysis in lint script and CI
---------
Co-authored-by: Timo <toger5@hotmail.de>
* Fix coverage reporting
Codecov hasn't been working recently because Vitest doesn't report coverage by default.
* Suppress some noisy log lines
Closes https://github.com/element-hq/element-call/issues/686
* Store test files alongside source files
This way we benefit from not having to maintain the same directory structure twice, and our linters etc. will actually lint test files by default.
* Stop using Vitest globals
Vitest provides globals primarily to make the transition from Jest more smooth. But importing its functions explicitly is considered a better pattern, and we have so few tests right now that it's trivial to migrate them all.
* Remove Storybook directory
We no longer use Storybook.
* Configure Codecov
Add a coverage gate for all new changes and disable its comments.
* upgrade vitest
---------
Co-authored-by: Timo <toger5@hotmail.de>
* Stop sharing state observables when the view model is destroyed
By default, observables running with shareReplay will continue running forever even if there are no subscribers. We need to stop them when the view model is destroyed to avoid memory leaks and other unintuitive behavior.
* Hydrate the call view model in a less hacky way
This ensures that only a single view model is created per call, unlike the previous solution which would create extra view models in strict mode which it was unable to dispose of. The other way was invalid because React gives us no way to reliably dispose of a resource created in the render phase. This is essentially a memory leak fix.
* Add simple global controls to put the call in picture-in-picture mode
Our web and mobile apps (will) all support putting calls into a picture-in-picture mode. However, it'd be nice to have a way of doing this that's more explicit than a breakpoint, because PiP views could in theory get fairly large. Specifically, on mobile, we want a way to do this that can tell you whether the call is ongoing, and that works even without the widget API (because we support SPA calls in the Element X apps…)
To this end, I've created a simple global "controls" API on the window. Right now it only has methods for controlling the picture-in-picture state, but in theory we can expand it to also control mute states, which is current possible via the widget API only.
* Fix footer appearing in large PiP views
* Add a method for whether you can enter picture-in-picture mode
* Have the controls emit booleans directly
The buttons were scrolling with the view instead of always being visible in a fixed location on the tile, and the indicators were not adopting the correct width.
The code path for when all tiles can fit on screen was failing to realize that it could sometimes get by with fewer columns. This resulted in wasted space for 4 person calls at some window sizes.
We've gotten feedback that it's distracting whenever the same video is shown in two places on screen. This fixes the spotlight case by showing only the avatar of anyone who is already visible in the spotlight. It also makes sense to hide the speaking indicators in spotlight layouts, I think, because this information is redundant to the spotlight tile.
This is because our layouts for flat windows are good at adapting to both small width and small height, while our layouts for narrow windows aren't so good at adapting to a small height.
If you were the only one in the call, you could get a broken-looking view in which the local tile is shown in the spotlight, and it's also shown in the PiP. This is redundant.
Apparently Renovate doesn't really like it when you use a group: preset inside packageRules, instead of at the top level of the config. We do want to apply schedule:weekly only to the "all non-major dependencies" group though, so we need to write the group definition out by hand.
There were a couple of cases where the lack of margins after the new layout changes just looked odd. Specifically, when the header is hidden (as in embedded mode), there would be no margin at the top of the window. Also the floating tile would run directly up against the sides of the window.
Due to an oversight of mine, 2440037639 actually removed the ability to see the one-on-one layout on mobile. This restores mobile one-on-one calls to working order and also avoids showing the spotlight tile unless there are more than a few participants.
If no one had spoken yet, we were still showing the local user in the spotlight. We should instead eagerly switch to showing an arbitrary remote participant in this case.
* Add DeviceMute widget action `io.element.device_mute`.
This allows to send mute requests ("toWidget") and get the current mute state as a response.
And it will update the client about each change of mute states.
* review + better explanation
* review
* add comments
* use `useCallback`
We've concluded that this behavior is actually more distracting than it is helpful, and we want to try out what it's like to just have the importance ordering and visual cues help you find who's speaking.
We're finding that if we reorder participants based on whether their mic is muted, this just creates a lot of distracting layout shifts. People who speak are automatically promoted into the speaker category, so there's little value in additionally caring about mute state.
The Compound design tokens package is now set up to generate React components for every icon, so we no longer need to use our more error-prone method of importing the SVGs.
Ensure that they don't interfere with say, using spacebar to press a button, and also ensure that they won't do surprising things like scroll the page at the same time.
Follow-up to ea2d98179c
This took a couple of iterations to find something that works without creating update loops, but I think that by automatically informing Grid whenever a layout component is re-rendered, we'll have a much easier time ensuring that our layouts are fully reactive.
We no longer allow individual tiles to be put in full screen, because we're seeing what it's like to just stretch the spotlight tile edge-to-edge and keep the margins minimal.
Includes the mobile UX optimizations and the tweaks we've made to cut down on wasted space, but does not yet include the change to embed the spotlight tile within the grid.
Because we were hiding even the local participant during initial connection, there would be no participants, and therefore nothing to put in the spotlight. The designs don't really tell us what the connecting state should look like, so I've taken the liberty of restoring it to its former glory of showing the local participant immediately.
react-rxjs is the library we've been using to connect our React components to view models and consume observables. However, after spending some time with react-rxjs, I feel that it's a very heavy-handed solution. It requires us to sprinkle <Subscribe /> and <RemoveSubscribe /> components all throughout the code, and makes React go through an extra render cycle whenever we mount a component that binds to a view model. What I really want is a lightweight React hook that just gets the current value out of a plain observable, without any extra setup. Luckily the observable-hooks library with its useObservableEagerState hook seems to do just that—and it's more actively maintained, too!
If not set, legacy call membership state events are sent instead.
Even if set, legacy events are sent in rooms with active legacy calls.
---------
Co-authored-by: Timo <16718859+toger5@users.noreply.github.com>
Here I've implemented an MVP for the new unified grid layout, which scales smoothly up to arbitrarily many participants. It doesn't yet have a special 1:1 layout, so in spotlight mode and 1:1s, we will still fall back to the legacy grid systems.
Things that happened along the way:
- The part of VideoTile that is common to both spotlight and grid tiles, I refactored into MediaView
- VideoTile renamed to GridTile
- Added SpotlightTile for the new, glassy spotlight designs
- NewVideoGrid renamed to Grid, and refactored to be even more generic
- I extracted the media name logic into a custom React hook
- Deleted the BigGrid experiment
* Add try inner try block to the room summary fetching and only throw after fetching and a "blind join" fails.
(blind join: call room.join without knowing if the room is public)
Co-authored-by: Robin <robin@robin.town>
---------
Co-authored-by: Robin <robin@robin.town>
It thought that we were just trying to follow the latest commit on these actions, when in reality we want to follow the latest tag and pin its commit hash.
What I've tried to do here is to group most dependency updates together and put them on a weekly schedule. Some of our more sensitive dependencies such as LiveKit and Compound have been put into separate groups, so we still receive frequent updates for them.
* Load focus information from well known and use client config only as a fallback.
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
The message originally focused on the old feature of being able to
create a room with a custom URL. Instead, be more direct & say that the
current URL is for an inaccessible room.
This new message is based on what Element Web says for this scenario.
If you send a knock that is rejected, or your knock is accepted and you
are later removed from the room, do not automatically accept subsequent
invites to that room.
Note that the auto-join behaviour happened only if the page was not
refreshed after sending a knock.
Include:
- all rooms you are a member of
- knock rooms you've knocked on and are waiting for an invite to
- knock rooms you've been invited to in response to a knock
When visiting the page for a knock room you are already invited to, join
it right away instead of offering to knock (which will fail as long as
you remain invited to the room).
* Add joining with knock room creation flow.
Also add `WaitForInviteView` after knocking.
And appropriate error views when knock failed or gets rejected.
Signed-off-by: Timo K <toger5@hotmail.de>
* Refactor encryption information.
We had lots of enums and booleans to describe the encryption situation.
Now we only use the `EncryptionSystem` "enum" which contains the
additional information like sharedKey. (and we don't use the isRoomE2EE
function that is somewhat confusing since it checks `return widget ===
null && !room.getCanonicalAlias();` which is only indirectly related to
e2ee)
Signed-off-by: Timo K <toger5@hotmail.de>
* Update recent list.
- Don't use deprecated `groupCallEventHander` anymore (it used the old
`m.call` state event.)
- make the recent list reactive (getting removed from a call removes the
item from the list)
- support having rooms without shared secret but actual matrix
encryption in the recent list
- change the share link creation button so that we create a link with
pwd for sharedKey rooms and with `perParticipantE2EE=true` for matrix
encrypted rooms.
Signed-off-by: Timo K <toger5@hotmail.de>
* fix types
Signed-off-by: Timo K <toger5@hotmail.de>
* patch js-sdk for linter
Signed-off-by: Timo K <toger5@hotmail.de>
* ignore ts expect error
Signed-off-by: Timo K <toger5@hotmail.de>
* Fix error in widget mode.
We cannot call client.getRoomSummary in widget mode. The code path needs
to throw before reaching this call. (In general we should never call
getRoomSummary if getRoom returns a room)
Signed-off-by: Timo K <toger5@hotmail.de>
* tempDemo
Signed-off-by: Timo K <toger5@hotmail.de>
* remove wait for invite view
Signed-off-by: Timo K <toger5@hotmail.de>
* yarn i18n
Signed-off-by: Timo K <toger5@hotmail.de>
* reset back mute participant count
* add logic to show error view when getting removed
* include reason whenever someone gets removed from a call.
* fix activeRoom not beeing early enough
* fix lints
* add comment about encryption situation
Signed-off-by: Timo K <toger5@hotmail.de>
* Fix lockfile
* Use (unmerged!) RoomSummary type from the js-sdk
Temporarily change the js-sdk dependency to the PR branch that provides
that type
* review
Signed-off-by: Timo K <toger5@hotmail.de>
* review (remove participant count unknown)
Signed-off-by: Timo K <toger5@hotmail.de>
* remove error for unencrypted calls (allow intentional unencrypted calls)
Signed-off-by: Timo K <toger5@hotmail.de>
* update js-sdk
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: Andrew Ferrazzutti <andrewf@element.io>
* use pull_request event rather than workflow_run
* use default for enable-pull-request-comment and enable-commit-comment
* we dont need prdetails going forward
I discovered that this hook was calling complete on the returned observable almost immediately when it gets mounted. This caused the call view model to never know when the application was switching focuses. At first I thought this was just because I forgot to move the call to complete to the effect's clean-up function, but even with that changed, React still calls the effect twice in strict mode. So, let's just remove the call entirely.
* dont register in widget mode
Signed-off-by: Timo K <toger5@hotmail.de>
* not call registerPasswordlessUser where its called in a widget.
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
It's part of React Spectrum, which we're trying to avoid updating at this time because we're phasing out usage of the libraries and upgrading them is painful.
Because the author of the vitest PR used the semantic commit naming convention, Renovate now thinks our entire repo uses semantic commits and has renamed all of its PRs.
This is a start at implementing the call layouts from the new designs. I've added data types to model the contents of each possible layout, and begun implementing the business logic to produce these layouts in the call view model.
This hack was added in the early days of Element Call, back when we were doing call signaling using non-state room events, and missing part of a room's history could cause calls to fall apart. Nowadays we use state events for signaling, and all this hack is doing is making sync times unnecessarily long, so we can remove it.
I thought that adding isolation: isolate to the React root had fixed the Firefox layering glitches, but today I've started noticing those glitches again.
This turns on a lint rule to require display names for all of our components, which makes it a lot easier to find your way around the component tree in React's dev tools.
As Element Call grows in complexity, it has become a pain point that our business logic remains so tightly coupled to the UI code. In particular, this has made testing difficult, and the complex semantics of React hooks are not a great match for arbitrary business logic. Here, I show the beginnings of what it would look like for us to adopt the MVVM pattern. I've created a CallViewModel and TileViewModel that expose their state to the UI as rxjs Observables, as well as a couple of helper functions for consuming view models in React code.
This should contain no user-visible changes, but we need to watch out for regressions particularly around focus switching and promotion of speakers, because this was the logic I chose to refactor first.
A couple different people (me and Dave) have tried and failed to find an easy way to upgrade these, and in the future we won't need these dependencies at all once the switch to Compound Web is finished, so let's not generate Renovate PRs for them.
* Update dependency @livekit/components-react to v1.4.1
* patch to match new lk api
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Timo K <toger5@hotmail.de>
move "{{count, number}}_one" "participant_count_one"
move "{{count, number}}_other" "participant_count_other"
move "{{count}} stars_one" "star_rating_input_label_one"
move "{{count}} stars_other" "star_rating_input_label_other"
move "{{displayName}} is presenting" "video_tile.presenter_label"
move "{{displayName}}, your call has ended." "call_ended_view.headline"
move "<0></0><1></1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call." "settings.opt_in_description"
move "<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>" "register_auth_links"
move "<0>Create an account</0> Or <2>Access as a guest</2>" "login_auth_links"
move "<0>Oops, something's gone wrong.</0>" "full_screen_view_h1"
move "<0>Submitting debug logs will help us track down the problem.</0>" "full_screen_view_description"
move "<0>Thanks for your feedback!</0>" "call_ended_view.feedback_done"
move "<0>We'd love to hear your feedback so we can improve your experience.</0>" "call_ended_view.feedback_prompt"
move "<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>" "call_ended_view.create_account_prompt"
move "Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log." "rageshake_request_modal.body"
move "Back to recents" "lobby.leave_button"
move "By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy</2> and our <5>Cookie Policy</5>." "analytics_notice"
move "Call not found" "group_call_loader_failed_heading"
move "Calls are now end-to-end encrypted and need to be created from the home page. This helps make sure everyone's using the same encryption key." "group_call_loader_failed_text"
move "Confirm password" "register_confirm_password_label"
move "Connectivity to the server has been lost." "disconnected_banner"
move "Continue in browser" "app_selection_modal.continue_in_browser"
move "Create account" "call_ended_view.create_account_button"
move "Debug log request" "rageshake_request_modal.title"
move "Developer" "settings.developer_tab_title"
move "Developer Settings" "settings.developer_settings_label"
move "Element Call Home" "header_label"
move "End call" "hangup_button_label"
move "Full screen" "fullscreen_button_label"
move "Exit full screen" "exit_fullscreen_button_label"
move "Expose developer settings in the settings window." "settings.developer_settings_label_description"
move "Feedback" "settings.feedback_tab_title"
move "Grid" "layout_grid_label"
move "Spotlight" "layout_spotlight_label"
move "How did it go?" "call_ended_view.survey_prompt"
move "If you are experiencing issues or simply would like to provide some feedback, please send us a short description below." "settings.feedback_tab_body"
move "Include debug logs" "settings.feedback_tab_send_logs_label"
move "Invite to this call" "invite_modal.title"
move "Join call" "lobby.join_button"
move "Join call now" "room_auth_view_join_button"
move "Join existing call?" "join_existing_call_modal.title"
move "Link copied to clipboard" "invite_modal.link_copied_toast"
move "Local volume" "local_volume_label"
move "Logging in…" "logging_in"
move "Login" "login_title"
move "Login to your account" "unauthenticated_view_login_button"
move "Microphone off" "microphone_off"
move "Microphone on" "microphone_on"
move "More" "settings.more_tab_title"
move "Mute microphone" "mute_microphone_button_label"
move "Name of call" "call_name"
move "Not now, return to home screen" "call_ended_view.not_now_button"
move "Open in the app" "app_selection_modal.open_in_app"
move "Not registered yet? <2>Create an account</2>" "unauthenticated_view_body"
move "Participants" "header_participants_label"
move "Passwords must match" "register.passwords_must_match"
move "Ready to join?" "app_selection_modal.text"
move "Recaptcha dismissed" "recaptcha_dismissed"
move "Recaptcha not loaded" "recaptcha_not_loaded"
move "Reconnect" "call_ended_view.reconnect_button"
move "Registering…" "register.registering"
move "Retry sending logs" "rageshake_button_error_caption"
move "Return to home screen" "return_home_button"
move "Select an option" "select_input_unset_button"
move "Select app" "app_selection_modal.title"
move "Send debug logs" "rageshake_send_logs"
move "Sending debug logs…" "rageshake_sending_logs"
move "Sending…" "rageshake_sending"
move "Share screen" "screenshare_button_label"
move "Sharing screen" "stop_screenshare_button_label"
move "Show connection stats" "settings.show_connection_stats_label"
move "Speaker" "settings.speaker_device_selection_label"
move "Start new call" "start_new_call"
move "Start video" "start_video_button_label"
move "Stop video" "stop_video_button_label"
move "Submit feedback" "settings.feedback_tab_h4"
move "Submitting…" "submitting"
move "Thanks, we received your feedback!" "settings.feedback_tab_thank_you"
move "Thanks!" "rageshake_sent"
move "This application has been opened in another tab." "application_opened_another_tab"
move "This call already exists, would you like to join?" "join_existing_call_modal.text"
move "Unmute microphone" "unmute_microphone_button_label"
move "Version: {{version}}" "version"
move "Waiting for other participants…" "waiting_for_participants"
move "Yes, join call" "join_existing_call_modal.join_button"
move "You" "video_tile.sfu_participant_local"
move "You were disconnected from the call" "call_ended_view.body"
move "Your feedback" "settings.feedback_tab_description_label"
move "Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117" "browser_media_e2ee_unsupported"
move "By clicking \"Go\", you agree to our <2>End User Licensing Agreement (EULA)</2>" "unauthenticated_view_eula_caption"
move "By clicking \"Join call now\", you agree to our <2>End User Licensing Agreement (EULA)</2>" "room_auth_view_eula_caption"
move "This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>End User Licensing Agreement (EULA)</12>" "register.recaptcha_caption"
```
reorderTiles was programmed to only place a tile in the speaker section if that tile's previous position was off-screen. But for speakers that started off-screen, this would cause them to oscillate in and out of the speaker section on each render, because the speaker section is, of course, on-screen. The solution I've gone with here is to avoid referencing the previous position, and instead go by the computed natural ordering, which ought to be more stable.
This also removes the use of the useLivekitRoom hook: we had reached
the point where the only thing it was actually doing was disconnecting,
so we now do that in the onClick handler for the leave button (I don't
think we need to disconnect on unmount?). It was otherwise just getting in
the way and causing tracks to be enabled/disabled when we didn't want them
to be. This also removes the need for the blockAudio code.
Fixes https://github.com/vector-im/element-call/issues/1413
Previously it could be either undefined or type None which meant the
same thing: no need to have both, just make it required.
This also means we can move the line to set e2ee enabled into a more
sensible place rather than in the ActiveCall de-nulling wrapper.
The auto ratcheting sets the keys and so looks like it can clobber
us setting a key from the app if they race, so just disable it, at
least for now - we aren't using it.
develop.element.io and Nightly were the final things to depend on this deployment, and they've now been updated to use call.element.dev, so we can disable Netlify deployments.
* Fix mute button not being in sync with actual video/audio feed.
This happens if we toggle the button while waiting for updating the stream.
It is prohibited by checking if the stream state is in sync after the update
is done.
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
Take the room ID from the URL rather than just assuming it's still
the one that was in URL params before: if only the hash changes,
the app won't reload.
Fixes https://github.com/vector-im/element-call/issues/1708
As base64 is fairly obviously not sensible for URLs and we were not
URL encoding it so we were ending up with spaces in the URL.
Also base 64 encode the password in case, as per comment.
We changed our minds: people do copy the URL from the bar and
give that to people and expect it to work: it doesn't make sense
to prioritise shorter URLs over this. There's no security advantage
unless we think there's a risk someone might steal your key by taking
a photo of your monitor over your shoulder and decrypting the calls
they can't already hear by standing behind you.
https://developer.apple.com/videos/play/wwdc2019/717/
```
You'll notice that I specify a question mark and an asterisk as the pattern from the query items value. A pattern consisting of a single asterisk matches any string, including the empty string. And a missing query item has a value equivalent to the empty string. So to match against the string that's at least one character long, I specify a question mark and then any additional characters are matched by the asterisk.
```
This is a bit of a hack, but is the only way I can see that we can
update to using the new default device when the OS-level default
changes. Hopefully the comments explain everything.
It's unused ever since we switched to LiveKit, and we intend to use other telemetry mechanisms going forward to fill this debugging use case, so it can be removed as discussed in today's team meeting.
Apparently the upgrade to i18next-parser v8 came with the deprecation of this 'useKeysAsDefaultValues' option, and this is the new way to configure that behavior.
...instead of monkey patching the console log objects. We use a logging
framework everywhere now (this fixes the times when we didn't...)
so there's not really a reason to do this the hacky way anymore.
This means that log lines now appear to come from whatever else is
intercepting the logger (eg. sentry) rather than rageshake.ts.
Opinions on this welcome on whether it's better or not.
This upgrade came with a number of new lints that needed to be fixed across the code base. Primarily: explicit return types on functions, and explicit visibility modifiers on class members.
Look up the alias manually instead. As hopefully explained by the comment.
We hope this may fix a bug where the room ID appeared instead of the room name.
Make it take a room object rather than a room ID to avoid it depending
on a side effect, ie. if the room object input changes, the hook will be
re-run but if we can't get the room from the room ID for whatever reason,
we'd be stuck.
Also add logging on why we decided a room was e2ee.
The triage board isn't being used, so no reason to have automation (it's also old style and should be modernised if there's interest in using it again)
See comments. I'm not very happy with how this code bounces state in and out of different hooks and useEffect blocks, but as a quick fix this should work.
* fix url by prvidin a last &
everything after the last & will be stripped away
-> hence we loose the last param (usually confined to room...)
-> going home kills the all the params which we need to fix!
---------
Signed-off-by: Timo K <toger5@hotmail.de>
This didn't work with e2e calls and just ended up with everyone who
went to the URL creating their own room because it didn't add the
alias to any of them.
This has it show a very simple 404-esque screen instead. If the call
already exists, it will show it as before, so existing URLs will
continue to work.
Because the height of our header component changed at some point, the hard-coded height values in the CSS were off by a few px and caused the page to overflow slightly.
This was a hack that we did back when we were working on PTT, to make the joining process for PTT more seamless, but it doesn't make much sense to auto-join normal calls without giving the user a chance to turn off / adjust their media. If we want this behavior back eventually, I think it would be better serviced by a separate URL parameter.
Splits out the room locartion parsing from everything else to avoid
one function that fills out different parts of its return struct
depending on its args.
… so that they use the 'on' state when muted, and announce the action that they take rather than the current state, as suggested in internal design guidance.
This attempts to converge all our modals on the new modal component while changing their designs as little as possible. This should reduce the bundle size a bit and make the app generally feel like it's converging on the new designs, even though individual modals still remain to be revamped.
They aren't yet used anywhere, but this will let us move on to implementing specific modal interactions from the new designs.
I made the design decision of making this new Modal component always be controlled by an explicit open state, which was inspired by some work I did with Jetpack Compose recently, where I saw that this makes state management and the behavior of components so much more obvious.
Here, I've begun updating the styles of video tiles to match the new designs. Not yet updated: the local volume option is supposed to go inside an overflow menu now, but I haven't gotten to that yet.
To make the outlines on hovered / speaking tiles show up properly, I have to remove the usePageFocusStyle hack, which was preventing CSS outlines from being used for anything other than focus rings. I honestly can't tell what problem it was solving in the first place: focus rings still appear to behave as expected throughout the application.
I noticed that none of these buttons had accessible labels, which is obviously no good since they rely on icons alone to convey purpose when not focused.
We were manipulating the participant's mute state directly for some
reason, just for setting the mute state directly, which bypased the
mutestates hook.
As per comment, livekit mutates the object that's passed in, so
we ended up re-requesting the devices in the next render because we
effectively passed in different options.
This was causing an extra reconnect cycle when the call was first
joined because it thought the previous SFU config was valid. This was
probably causing some client to fail to connect at all.
As a first step towards adopting the Compound design system and the new Element Call designs, this pulls in Compound's color tokens and applies them to all existing components. I've tried to choose tokens based on the semantics of where they're used, but in some cases, where the new and old design systems differ in semantics, it was necessary to choose tokens based on their resulting color. These hacks can be removed as we implement more of the new designs.
There were a set of environment variables that we used for custom themes, but Compound has way too many design tokens for that approach to still be a good idea, so I decided to replace them all with a single environment variable that just lets you write arbitrary custom CSS.
Rather than the matrixRTC memberships. We're essentially trusting
LiveKit's view of weho is connected here, so we may as well include
the real names of anyone we don't think is a matrixRTC participant,
for whatever reason.
We'll always have matrix-widget-api as a dep through js-sdk so also
specifyin it ourselves just means we'll end up using a different version
when the js-sdk upgrade their copy and get wierd errors. We could add a
peerDependency if we really felt the need?
* Swap out the 3rd party upload-asset which just seems to be broken
for the actual github one which does everything we need here.
* Update version of metadata action to one that supports is_default_branch
By avoiding a method call that was accidentally causing LiveKit to try to publish tracks before the SFU connection was established, resulting in an unclosed stream.
To track media devices, we were previously relying on a combination of LiveKit's useMediaDeviceSelect hook, and an object called UserChoices. Device settings should be accessible from outside a call, but the latter hook should only be used with a room or set of preview tracks, so it couldn't be raised to the app's top level. I also felt that the UserChoices code was hard to follow due to lack of clear ownership of the object.
To bring clarity to media device handling and allow device settings to be shown outside a call, I refactored these things into a single MediaDevicesContext which is instantiated at the top level of the app. Then, I had to manually sync LiveKit's device state with whatever is present in the context. This refactoring ended up fixing a couple other bugs with device handling along the way.
https://github.com/vector-im/element-call/pull/1173 regressed the client loading sequence, such that the app would pretend that you were signed out when it was really just loading your saved session. This makes the proper loading state appear again.
This could fix "muted on join issues" but could introduce issues where the buttons show unmuted even if no device is available.
Signed-off-by: Timo K <toger5@hotmail.de>
This was trying to get the room alias, which causes the config to be
read. We don't need the room alias here though, so pass the flag to
not return it.
* remove unecassary state
Signed-off-by: Timo K <toger5@hotmail.de>
* hotfix
Signed-off-by: Timo K <toger5@hotmail.de>
* remove video/audioAvailableAndEnabled
this is not required anymore since we disable the button.
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
For the most part, at least. If the edge cases where they differ still feel weird, I can iterate on this further.
The diff is unfortunately a bit impenetrable, because I had to change both the fillGaps and cycleTileSize core algorithms used by the big grid layout. But: the main change of significance is the addition of a function vacateArea, which clears out an area within the grid in a specific way that mirrors the motion performed by fillGaps.
So that it doesn't cause unnecessary renders, and interprets a series of three clicks as a double-click followed by a single click, rather than two overlapping double-clicks. (That behavior felt odd to me during testing of NewVideoGrid, which is why I picked up this small change.)
by fixing the cause rather than the symptom: this upgrades the code to use the new, recommended JSX transform mode of React 17+, which no longer requires you to import React manually just to write JSX.
* Change `jwt_service_url` to `livekit_service_url`
* Make it a POST so we can send the openID token sensibly
* Get an OIDC token & pass it with the request
* Read the SFU URL from there too
and convert the auth server accordingly, althugh with no actual OIDC
support yet, it just issues tokens blindly just as before and ignores
the openid token completely.
We'll need to update configs & the JWT service before merging this.
In preparation for adding layouts other than big grid to the NewVideoGrid component, I've abstracted the grid layout system into an interface called Layout. For now, the only implementation of this interface is BigGrid, but this will allow us to easily plug in Spotlight, SplitGrid, and OneOnOne layout systems so we can get rid of the old VideoGrid component and have One Grid to Rule Them All™.
Please do shout if any of this seems obtuse or underdocumented, because I'm not super happy with how approachable the NewVideoGrid code looks right now…
Incidentally, this refactoring made it way easier to save the state of the grid while in fullscreen / another layout, so I went ahead and did that.
We're now using LiveKit's magic RoomAudioRenderer component to make sure everyone's audio is rendered regardless of whether they have a tile in the DOM.
Calls are an environment with high cognitive load, so it's important that we keep extra UI elements like these to a minimum and stick to what's been explicitly designed. I assume that this was here as a developer feature to diagnose reliability of the back end components, which is perfectly fine, so I've kept it behind a developer setting rather than fully removing it.
* respect mute state set in lobby for call
Signed-off-by: Timo K <toger5@hotmail.de>
* move device from lobby to call
Signed-off-by: Timo K <toger5@hotmail.de>
* save device in local storage
Signed-off-by: Timo K <toger5@hotmail.de>
* local storage + fixes
Signed-off-by: Timo K <toger5@hotmail.de>
* device permissions
Signed-off-by: Timo K <toger5@hotmail.de>
---------
Signed-off-by: Timo K <toger5@hotmail.de>
This fixes a couple bugs:
1. That muting your video while screensharing would cause the screensharing feed to be hidden as well
2. That while screensharing, your user media tile would incorrectly show the label that's supposed to appear only on the screenshare tile
This is an attempt to address the feedback in https://github.com/vector-im/element-call/pull/1099#discussion_r1226863404 that the video grid and video tile components have become too tightly coupled. After this change, the only requirements that the video grid makes of its child components are:
- They accept ref, style, and item props
- They attach the ref and styles to a react-spring animated element
Note: I removed the video grid Storybook file, because I'm not aware of anyone using Storybook for development of Element Call beyond Robert, and it would take some effort to fix to work with these changes.
So that we can load SFU with the virtual participants and get them
displayed in the grid layout. Before that only participants who are part
of the Matrix were displayed (i.e. participants who have published
m.call.member event to declare their participation).
The new grid layout has been broken ever since upgrading react-spring, because it was apparently relying on a buggy behavior of react-spring that started transitions automatically even in imperative mode. react-spring 9.5.1 fixed that behavior, which means we now need to manually start the animations.
In GroupCallView we do 'await enter()' when responding to a widget API join request, but it turns out enter wasn't actually returning a promise until now. The consequence of this was that in Element Web, when you click the join button you get shown a blank screen for a moment. This fixes that half-second moment of the UI being broken, allowing Element Web to show the intermediate 'joining' state.
This version is not supposed to properly work, this is a work in
progress.
Main changes:
* Completely removed the PTT logic (for simplicity, it could be
introduced later).
* Abstracted away the work with the media devices.
* Defined confined interfaces of the affected components so that they
only get the data that they need without importing Matris JS SDK or
LiveKit SDK, so that we can exchange their "backend" at any time.
* Started using JS/TS SDK from LiveKit as well as their React SDK to
define the state of the local media devices and local streams.
This one is gonna take some explaining:
When in resist fingerprinting mode, Firefox exhibits some funny behavior: when we ask for the the list of media devices, it gives us fake device IDs. But when the js-sdk requests a stream for any of those devices, Firefox associates the stream with the real device ID.
Now, in order to get the names of devices included in their metadata when you query the device list, you need to be holding a stream. For this reason, useMediaHandler was set up to reload the device list whenever matrix-js-sdk got a new local stream. But because of the inconsistency in device IDs, it would enter an infinite cycle telling matrix-js-sdk to request a stream for the fake device ID, but with matrix-js-sdk always responding with the real device ID.
I already wasn't happy with useMediaHandler's use of @ts-ignore comments to inspect private js-sdk fields, and in the meantime we've come up with a simpler function for requesting device names, so I decided to refactor useMediaHandler to use it instead. Importantly, it doesn't break in resist fingerprinting mode.
This created a new UX issue though: now, when on the lobby screen, useMediaHandler would request microphone access so it could get device names, followed immediately by a *second* pop-up for the lobby screen to request camera access. That's 1 pop-up too many, so I changed useMediaHandler to only request device names when a component is mounted that actually wants to show them. Currently, the settings modal is the only such component, and users normally only open it *after* granting full audio/video access, so this solution works out quite nicely.
Previously we were showing a combination of audio and video status icons on people's name badges, which meant there was no way to tell whether someone who had their video off was muted or not. The designs call for only microphone icons to be shown here.
My dev env suddenly, with no apparent prompt, went into a mode where
it wouldn't display nay video tiles which was because they were 0x0
in the top left corner, which in turn was because the ResizeObserver
was never returning the actual bounds of the video tile container.
As per comment, this uses the native impl in preference to the ponyfill,
although in practice it looks like all our target browsers should support
it, so perhaps we could just remove the ponyfill entirely.
As we are sending a gzipped file. We could make the rageshake server
look for this and gunzip it, but either way this seems like as good a
way as any to signal that the file is gzipped.
Since typeof null is 'object', the flattenVoipEventRecursive function was mistakenly casting nulls to Record<string, unknown> in its typeof v === "object" case, causing Object.entries to explode.
PostHog was expecting the matrix client object to be initialised at
the point it ran its setup, which wasn't the case. Check to see if it's
there on login and add an onLoginStatusChanged hook that to re-check.
Also make a few methods private that didn't need to be public.
Also fix a few instances where the OpenTelemetry group call tried to
report metrics using a tracer which didn't exist anymore, if the user
disabled analytics and then joined the same call again.
Call rejoins will be one of the KPIs we track in PostHog to measure call quality. I've also reverted the previous behavior which logged all OpenTelemetry spans to PostHog, since we should only be sending small, anonymized bits of data there.
Otherwise it starts getting calls being created before the group call
span exists and we get call spans not associated with the group call
span.
(What 74b218af8c should have been)
This is probably conceptually nicer although isn't quite as nice in
the jaeger / stalk UI.
Also this may no loger work with the posthog exporter (unsure what it
will do with events on spans).
Adds an nginx in front of the query endpoint so we can use stalk
without faffing with browser extension to bypass CORS.
Also make the spans correctly have the call membership span as parent,
which they didn't because we hadn't set the span at the point we made
the context.
* e2e: add end-to-end test workflow
- The tests are executed in a Docker container.
- The static users are connected via `matrix-js-sdk Client`.
- A test user connecting to the conference via EC.
* interceptor: add MediaStream feed debug interceptor
- interceptor displays nick name for default and nick name + user id if user gast
- interceptor displays track id + media stream ids
* typescript: increase typescript version
- Use node types `@types/nodes`
- Pin mermaid to pre release "^9.4.0-rc.2"
- Increase linter version
- Increase TS version to `4.9.5`
* build: increase max heap size for Node
Full mesh group calls powered by [Matrix](https://matrix.org), implementing [MatrixRTC](https://github.com/matrix-org/matrix-spec-proposals/blob/matthew/group-voip/proposals/3401-group-voip.md).
Group calls with WebRTC that leverage [Matrix](https://matrix.org) and an open-source WebRTC toolkit from [LiveKit](https://livekit.io/).
For prior version of the Element Call that relied solely on full-mesh logic, check [`full-mesh`](https://github.com/element-hq/element-call/tree/full-mesh) branch.


To try it out, visit our hosted version at [call.element.io](https://call.element.io). You can also find the latest development version continuously deployed to [element-call.netlify.app](https://element-call.netlify.app).
To try it out, visit our hosted version at [call.element.io](https://call.element.io). You can also find the latest development version continuously deployed to [call.element.dev](https://call.element.dev/).
## Host it yourself
## Host it yourself
Until prebuilt tarballs are available, you'll need to build Element Call from source. First, clone and install the package:
Until prebuilt tarballs are available, you'll need to build Element Call from source. First, clone and install the package:
If all went well, you can now find the build output under `dist` as a series of static files. These can be hosted using any web server of your choice.
If all went well, you can now find the build output under `dist` as a series of static files. These can be hosted using any web server that can be configured with custom routes (see below).
You may also wish to add a configuration file (Element Call uses the domain it's hosted on as a Homeserver URL by default,
You may also wish to add a configuration file (Element Call uses the domain it's hosted on as a Homeserver URL by default,
but you can change this in the config file). This goes in `public/config.json` - you can use the sample as a starting point:
but you can change this in the config file). This goes in `public/config.json` - you can use the sample as a starting point:
@@ -48,24 +50,50 @@ Element Call requires a homeserver with registration enabled without any 3pid or
Therefore, to use a self-hosted homeserver, this is recommended to be a new server where any user account created has not joined any normal rooms anywhere in the Matrix federated network. The homeserver used can be setup to disable federation, so as to prevent spam registrations (if you keep registrations open) and to ensure Element Call continues to work in case any user decides to log in to their Element Call account using the standard Element app and joins normal rooms that Element Call cannot handle.
Therefore, to use a self-hosted homeserver, this is recommended to be a new server where any user account created has not joined any normal rooms anywhere in the Matrix federated network. The homeserver used can be setup to disable federation, so as to prevent spam registrations (if you keep registrations open) and to ensure Element Call continues to work in case any user decides to log in to their Element Call account using the standard Element app and joins normal rooms that Element Call cannot handle.
### Features
## Configuration
#### Allow joining group calls without a camera and a microphone
There are currently two different config files. `.env` holds variables that are used at build time, while `public/config.json` holds variables that are used at runtime. Documentation and default values for `public/config.json` can be found in [ConfigOptions.ts](src/config/ConfigOptions.ts).
You can allow joining a group call without video and audio enabling this feature in your `config.json`:
If you're using [Synapse](https://github.com/element-hq/synapse/), you'll need to additionally add the following to `homeserver.yaml` or Element Call won't work:
MSC3266 allows to request a room summary of rooms you are not joined.
The summary contains the room join rules. We need that to decide if the user gets prompted with the option to knock ("ask to join"), a cannot join error or the join view.
Element Call requires a Livekit SFU behind a Livekit jwt service to work. The url to the Livekit jwt service can either be configured in the config of Element Call (fallback/legacy configuration) or be configured by your homeserver via the `.well-known`.
This is the recommended method.
The configuration is a list of Foci configs:
```json
"org.matrix.msc4143.rtc_foci":[
{
"type":"livekit",
"livekit_service_url":"https://someurl.com"
},
{
"type":"livekit",
"livekit_service_url":"https://livekit2.com"
},
{
"type":"another_foci",
"props_for_another_foci":"val"
},
]
```
## Translation
If you'd like to help translate Element Call, head over to [Localazy](https://localazy.com/p/element-call). You're also encouraged to join the [Element Translators](https://matrix.to/#/#translators:element.io) space to discuss and coordinate translation efforts.
## Development
## Development
### Frontend
Element Call is built against [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/2553). To get started, clone, install, and link the package:
Element Call is built against [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/2553). To get started, clone, install, and link the package:
@@ -90,10 +118,57 @@ You're now ready to launch the development server:
yarn dev
yarn dev
```
```
## Configuration
### Backend
There are currently two different config files. `.env` holds variables that are used at build time, while `public/config.json` holds variables that are used at runtime. Documentation and default values for `public/config.json` can be found in [ConfigOptions.ts](src/config/ConfigOptions.ts).
A docker compose file is provided to start a LiveKit server and auth
service for development. These use a test 'secret' published in this
repository, so this must be used only for local development and
**_never be exposed to the public Internet._**
## Translation
To use it, add a SFU parameter in your local config `./public/config.json`:
(Be aware, that this is only the fallback Livekit SFU. If the homeserver
advertises one in the client well-known, this will not be used.)
If you'd like to help translate Element Call, head over to [translate.element.io](https://translate.element.io/engage/element-call/). You're also encouraged to join the [Element Translators](https://matrix.to/#/#translators:element.io) space to discuss and coordinate translation efforts.
To add a new translation key you can do these steps:
1. Add the new key entry to the code where the new key is used: `t("some_new_key")`
1. Run `yarn i18n` to extract the new key and update the translation files. This will add a skeleton entry to the `public/locales/en-GB/app.json` file:
```jsonc
{
...
"some_new_key": "",
...
}
```
1. Update the skeleton entry in the `public/locales/en-GB/app.json` file with the English translation:
```jsonc
{
...
"some_new_key": "Some new key",
...
}
```
## Documentation
Usage and other technical details about the project can be found here:
A few aspects of Element Call's interface can be controlled through a global API on the `window`:
-`controls.canEnterPip(): boolean` Determines whether it's possible to enter picture-in-picture mode.
-`controls.enablePip(): void` Puts the call interface into picture-in-picture mode. Throws if not in a call.
-`controls.disablePip(): void` Takes the call interface out of picture-in-picture mode, restoring it to its natural display mode. Throws if not in a call.
Element call is developed using the js-sdk with matroska mode. This means the app can run either as a standalone app directly connected to a homeserver providing login interfaces or it can be used as a widget.
As a widget the app only uses the core calling (matrixRTC) parts. The rest (authentication, sending events, getting room state updates about calls) is done by the hosting client.
Element Call and the hosting client are connected via the widget api.
Element call detects that it is run as a widget if a widgetId is defined in the url parameters. If `widgetId` is present element call will try to connect to the client via the widget postMessage api using the parameters provided in [Url Format and parameters
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Вече имате акаунт?</0><1><0>Влезте с него</0> или <2>Влезте като гост</2></1>",
"a11y":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Създайте акаунт</0> или <2>Влезте като гост</2>",
"user_menu":"Потребителско меню"
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Защо не настройте парола за да запазите акаунта си?</0><1>Ще можете да запазите името и аватара си за бъдещи разговори</1>",
},
"Accept camera/microphone permissions to join the call.":"Приемете разрешенията за камера/микрофон за да се присъедините в разговора.",
"action":{
"Accept microphone permissions to join the call.":"Приемете разрешението за микрофона за да се присъедините в разговора.",
"close":"Затвори",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Друг потребител в този разговор има проблем. За да диагностицираме този проблем по-добре ни се иска да съберем debug логове.",
"go":"Напред",
"Audio":"Звук",
"no":"Не",
"Avatar":"Аватар",
"register":"Регистрация",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Натискайки \"Напред\" се съгласявате с нашите <2>Правила и условия</2>",
"remove":"Премахни",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Натискайки \"Влез в разговора сега\", се съгласявате с нашите <2>Правила и условия</2>",
"sign_in":"Влез",
"Call link copied":"Връзка към разговора бе копирана",
"sign_out":"Излез"
"Call type menu":"Меню \"тип на разговора\"",
},
"Camera":"Камера",
"call_ended_view":{
"Camera {{n}}":"Камера {{n}}",
"create_account_button":"Създай акаунт",
"Camera/microphone permissions needed to join the call.":"Необходими са разрешения за камера/микрофон за да се присъедините в разговора.",
"create_account_prompt":"<0>Защо не настройте парола за да запазите акаунта си?</0><1>Ще можете да запазите името и аватара си за бъдещи разговори</1>",
"Change layout":"Промени изгледа",
"not_now_button":"Несега, върни се на началния екран"
"Close":"Затвори",
},
"Confirm password":"Потвърди паролата",
"common":{
"Connection lost":"Връзката се изгуби",
"audio":"Звук",
"Copied!":"Копирано!",
"avatar":"Аватар",
"Copy and share this call link":"Копирай и сподели връзка към разговора",
"room_auth_view_join_button":"Влез в разговора сега",
"Not now, return to home screen":"Несега, върни се на началния екран",
"screenshare_button_label":"Сподели екрана",
"Not registered yet? <2>Create an account</2>":"Все още не сте регистрирани? <2>Създайте акаунт</2>",
"select_input_unset_button":"Изберете опция",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Други потребители се опитват да се присъединят в разговора от несъвместими версии. Следните потребители трябва да проверят дали са презаредили браузърите си<1>{userLis}</1>",
"settings":{
"Password":"Парола",
"developer_tab_title":"Разработчик",
"Passwords must match":"Паролите не съвпадат",
"feedback_tab_h4":"Изпрати обратна връзка",
"Press and hold spacebar to talk":"Натиснете и задръжте Space за да говорите",
"Press and hold spacebar to talk over {{name}}":"Натиснете и задръжте Space за да говорите заедно с {{name}}",
"more_tab_title":"Още",
"Press and hold to talk":"Натиснете и задръжте за да говорите",
"speaker_device_selection_label":"Говорител"
"Press and hold to talk over {{name}}":"Натиснете и задръжте за да говорите заедно с {{name}}",
},
"Profile":"Профил",
"unauthenticated_view_body":"Все още не сте регистрирани? <2>Създайте акаунт</2>",
"Recaptcha dismissed":"Recaptcha отхвърлена",
"unauthenticated_view_login_button":"Влезте в акаунта си",
"Recaptcha not loaded":"Recaptcha не е заредена",
"version":"Версия: {{version}}",
"Register":"Регистрация",
"waiting_for_participants":"Изчакване на други участници…"
"Registering…":"Регистриране…",
"Release spacebar key to stop":"Отпуснете Space за да спрете",
"Release to stop":"Отпуснете за да спрете",
"Remove":"Премахни",
"Return to home screen":"Връщане на началния екран",
"Save":"Запази",
"Saving…":"Запазване…",
"Select an option":"Изберете опция",
"Send debug logs":"Изпратете debug логове",
"Sending…":"Изпращане…",
"Settings":"Настройки",
"Share screen":"Сподели екрана",
"Show call inspector":"Покажи инспектора на разговора",
"Sign in":"Влез",
"Sign out":"Излез",
"Spatial audio":"Пространствен звук",
"Speaker":"Говорител",
"Speaker {{n}}":"Говорител {{n}}",
"Spotlight":"Прожектор",
"Stop sharing screen":"Спри споделянето на екрана",
"Submit feedback":"Изпрати обратна връзка",
"Submitting feedback…":"Изпращане на обратна връзка…",
"Take me Home":"Отиди в Начало",
"Talk over speaker":"Говорете заедно с говорителя",
"Talking…":"Говорене…",
"Thanks! We'll get right on it.":"Благодарим! Веднага ще се заемем.",
"This call already exists, would you like to join?":"Този разговор вече съществува, искате ли да се присъедините?",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Този сайт се предпазва от ReCAPTCHA и важат <2>Политиката за поверителност</2> и <6>Условията за ползване на услугата</6> на Google.<9></9>Натискайки \"Регистрация\", се съгласявате с нашите <12>Правила и условия</12>",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Това прави звука на говорителя да изглежда, че излиза от мястото където са позиционирани на екрана. (Експериментална функция: може да повлияе на стабилността на звука.)",
"Turn off camera":"Изключи камерата",
"Turn on camera":"Включи камерата",
"Unmute microphone":"Включи микрофона",
"User ID":"Потребителски идентификатор",
"User menu":"Потребителско меню",
"Username":"Потребителско име",
"Version: {{version}}":"Версия: {{version}}",
"Video":"Видео",
"Video call":"Видео разговор",
"Video call name":"Име на видео разговора",
"Waiting for network":"Изчакване на мрежата",
"Waiting for other participants…":"Изчакване на други участници…",
"Walkie-talkie call":"Уоки-токи разговор",
"Walkie-talkie call name":"Име на уоки-токи разговора",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC не се поддържа или се блокира от браузъра.",
"Yes, join call":"Да, присъедини се",
"You can't talk at the same time":"Не можете да говорите едновременно",
"Your recent calls":"Скорошните ви разговори",
"{{count}} people connected|one":"{{count}} човек се свърза",
"{{count}} people connected|other":"{{count}} човека се звързаха",
"{{displayName}}, your call is now ended":"{{displayName}}, разговорът ви приключи",
"Copy and share this call link":"Zkopírujte a sdílejte odkaz na hovor",
"a11y":{
"Copied!":"Zkopírováno!",
"user_menu":"Uživatelské menu"
"Connection lost":"Připojení ztraceno",
},
"Confirm password":"Potvrdit heslo",
"action":{
"Close":"Zavřít",
"close":"Zavřít",
"Change layout":"Změnit rozložení",
"copy":"Kopírovat",
"Camera/microphone permissions needed to join the call.":"Oprávnění k přístupu ke kameře/mikrofonu jsou nutná pro připojení k hovoru.",
"go":"Pokračovat",
"Camera {{n}}":"Kamera {{n}}",
"no":"Ne",
"Camera":"Kamera",
"register":"Registrace",
"Call link copied":"Odkaz na hovor zkopírován",
"remove":"Odstranit",
"Avatar":"Avatar",
"sign_in":"Přihlásit se",
"Audio":"Audio",
"sign_out":"Odhlásit se"
"Accept microphone permissions to join the call.":"Povolte přístup k mikrofonu pro připojení k hovoru.",
},
"Accept camera/microphone permissions to join the call.":"Povolte přístup ke kameře/mikrofonu pro připojení do hovoru.",
"call_ended_view":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Vytvořit účet</0> Or <2>Jako host</2>",
"create_account_button":"Vytvořit účet",
"Your recent calls":"Vaše nedávné hovory",
"create_account_prompt":"<0>Proč neskončit nastavením hesla, abyste mohli účet použít znovu?</0><1>Budete si moci nechat své jméno a nastavit si avatar pro budoucí hovory </1>",
"You can't talk at the same time":"Teď nemůžete mluvit",
"not_now_button":"Teď ne, vrátit se na domovskou obrazovku"
"Yes, join call":"Ano, připojit se",
},
"WebRTC is not supported or is being blocked in this browser.":"WebRTC není podporováno nebo je zakázáno tímto prohlížečem.",
"common":{
"Waiting for other participants…":"Čekání na další účastníky…",
"camera":"Kamera",
"Waiting for network":"Čekání na připojení",
"copied":"Zkopírováno!",
"Video call name":"Jméno videohovoru",
"display_name":"Zobrazované jméno",
"Video call":"Videohovor",
"home":"Domov",
"Video":"Video",
"loading":"Načítání…",
"Version: {{version}}":"Verze: {{version}}",
"microphone":"Mikrofon",
"Username":"Uživatelské jméno",
"password":"Heslo",
"User menu":"Uživatelské menu",
"profile":"Profil",
"User ID":"ID uživatele",
"settings":"Nastavení",
"Unmute microphone":"Zapnout mikrofon",
"username":"Uživatelské jméno"
"Turn on camera":"Zapnout kameru",
},
"Turn off camera":"Vypnout kameru",
"full_screen_view_description":"<0>Odeslání ladících záznamů nám pomůže diagnostikovat problém.</0>",
"This call already exists, would you like to join?":"Tento hovor již existuje, chcete se připojit?",
"full_screen_view_h1":"<0>Oops, něco se pokazilo.</0>",
"Thanks! We'll get right on it.":"Děkujeme! Hned se na to vrhneme.",
"header_label":"Domov Element Call",
"Take me Home":"Domovská obrazovka",
"join_existing_call_modal":{
"Submitting feedback…":"Odesílání zpětné vazby…",
"join_button":"Ano, připojit se",
"Submit feedback":"Dát feedback",
"text":"Tento hovor již existuje, chcete se připojit?",
"{{displayName}}, your call is now ended":"{{displayName}}, váš hovor je nyní ukončen",
"{{count}} people connected|other":"{{count}} lidí připojeno",
"{{count}} people connected|one":"{{count}} lidí připojeno",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Tato možnost způsobí, že zvuk účastníků hovoru se bude tvářit jako by přicházel z místa, kde jsou umístěni na obrazovce.(Experimentální možnost: může způsobit nestabilitu audia.)",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Tato stárnka je chráněna pomocí ReCAPTCHA a Google <2>zásad ochrany osobních údajů</2> a <6>podmínky služby</6> platí.<9></9>Kliknutím na \"Registrovat\", souhlasíte s <12>Pravidly a podmínkami</12>",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Zapnout jedno-klávesové zkratky, např. 'm' pro vypnutí/zapnutí mikrofonu.",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Toto bude odesílat anonymizovaná data (jako délku a počet účastníků hovoru) týmu Element Call, aby nám pomohly zlepšovat aplikaci podle toho, jak je používaná.",
"Release spacebar key to stop":"Pusťte mezerník pro ukončení",
"Recaptcha not loaded":"Recaptcha se nenačetla",
"Recaptcha dismissed":"Recaptcha byla zamítnuta",
"Press and hold to talk over {{name}}":"Zmáčkněte a držte, abyste mluvili přes {{name}}",
"Press and hold spacebar to talk over {{name}}":"Zmáčkněte a držte mezerník, abyste mluvili přes {{name}}",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Ostatní uživatelé se pokoušejí připojit k tomuto hovoru s nekompatibilních verzí. Tito uživatelé by se měli ujistit, že stránku načetli znovu:<1>{userLis}</1>",
"Not registered yet? <2>Create an account</2>":"Nejste registrovaní? <2>Vytvořit účet</2>",
"More menu":"Další možnosti",
"Join existing call?":"Připojit se k existujícimu hovoru?",
"Include debug logs":"Zahrnout ladící záznamy",
"Home":"Domov",
"Having trouble? Help us fix it.":"Máte problémy? Pomozte nám je spravit.",
"Grid layout menu":"Menu rozložení",
"Go":"Pokračovat",
"Full screen":"Zvětšit na celou obrazovku",
"Freedom":"Volný",
"Fetching group call timed out.":"Vypršel časový limit načítání skupinového hovoru.",
"Exit full screen":"Ukončit režim celé obrazovky",
"Element Call Home":"Domov Element Call",
"Download debug logs":"Stáhnout ladící záznamy",
"Display name":"Zobrazované jméno",
"Developer":"Vývojář",
"Details":"Detaily",
"Description (optional)":"Popis (nepovinný)",
"Debug log request":"Žádost o protokoly ladění",
"Debug log":"Protokoly ladění",
"Create account":"Vytvořit účet",
"Copy":"Kopírovat",
"Call type menu":"Menu typu hovoru",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Kliknutím na \"Připojit se do hovoru\", odsouhlasíte naše <2>Terms and conditions</2>",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Kliknutím na \"Pokračovat\", odsouhlasíte naše <2>Terms and conditions</2>",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Jiný uživatel v tomto hovoru má problémy. Abychom mohli diagnostikovat problém, rádi bychom shromáždili protokoly ladění.",
"Allow analytics":"Povolit analytiku",
"Advanced":"Pokročilé",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Proč neskončit nastavením hesla, abyste mohli účet použít znovu?</0><1>Budete si moci nechat své jméno a nastavit si avatar pro budoucí hovory </1>",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Připojit se</0><1>Or</1><2>Zkopírovat odkaz a připojit se později</2>",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Už máte účet?</0><1><0>Přihlásit se</0> Or <2>Jako host</2></1>",
"{{name}} (Waiting for video...)":"{{name}} (Čekání na video...)",
"This feature is only supported on Firefox.":"Tato funkce je podporována jen ve Firefoxu.",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Odeslání ladících záznamů nám pomůže diagnostikovat problém.</0>",
"<0>Oops, something's gone wrong.</0>":"<0>Oops, něco se pokazilo.</0>"
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Du hast bereits ein Konto?</0><1><0>Anmelden</0> Oder <2>Als Gast betreten</2></1>",
"a11y":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Konto erstellen</0> Oder <2>Als Gast betreten</2>",
"user_menu":"Benutzermenü"
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Warum vergibst du nicht abschließend ein Passwort, um dein Konto zu erhalten?</0><1>Du kannst deinen Namen behalten und ein Profilbild für zukünftige Anrufe festlegen.</1>",
},
"Accept camera/microphone permissions to join the call.":"Erlaube Zugriff auf Kamera/Mikrofon um dem Anruf beizutreten.",
"action":{
"Accept microphone permissions to join the call.":"Erlaube Zugriff auf das Mikrofon um dem Anruf beizutreten.",
"close":"Schließen",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Ein anderer Benutzer dieses Anrufs hat ein Problem. Um es besser diagnostizieren zu können, würden wir gerne ein Debug-Protokoll erstellen.",
"copy":"Kopieren",
"Audio":"Audio",
"copy_link":"Link kopieren",
"Avatar":"Avatar",
"go":"Los geht’s",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Wenn du auf „Los geht’s“ klickst, akzeptierst du unsere <2>Geschäftsbedingungen</2>",
"invite":"Einladen",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Wenn du auf „Anruf beitreten“ klickst, akzeptierst du unsere <2>Geschäftsbedingungen</2>",
"no":"Nein",
"Call link copied":"Anruflink kopiert",
"register":"Registrieren",
"Call type menu":"Anruftyp Menü",
"remove":"Entfernen",
"Camera":"Kamera",
"sign_in":"Anmelden",
"Camera {{n}}":"Kamera {{n}}",
"sign_out":"Abmelden",
"Camera/microphone permissions needed to join the call.":"Für die Teilnahme am Anruf sind Kamera- und Mikrofonberechtigungen erforderlich.",
"submit":"Absenden"
"Change layout":"Layout ändern",
},
"Close":"Schließen",
"analytics_notice":"Mit der Teilnahme an der Beta akzeptierst du die Sammlung von anonymen Daten, die wir zur Verbesserung des Produkts verwenden. Weitere Informationen zu den von uns erhobenen Daten findest du in unserer <2>Datenschutzerklärung</2> und unseren <5>Cookie-Richtlinien</5>.",
"Confirm password":"Passwort bestätigen",
"app_selection_modal":{
"Connection lost":"Verbindung verloren",
"continue_in_browser":"Weiter im Browser",
"Copied!":"Kopiert!",
"open_in_app":"In der App öffnen",
"Copy and share this call link":"Kopiere und teile diesen Anruflink",
"text":"Bereit, beizutreten?",
"Create account":"Konto erstellen",
"title":"App auswählen"
"Debug log":"Debug-Protokoll",
},
"Debug log request":"Debug-Log Anfrage",
"application_opened_another_tab":"Diese Anwendung wurde in einem anderen Tab geöffnet.",
"create_account_prompt":"<0>Warum vergibst du nicht abschließend ein Passwort, um dein Konto zu erhalten?</0><1>Du kannst deinen Namen behalten und ein Profilbild für zukünftige Anrufe festlegen.</1>",
"Freedom":"Freiraum",
"feedback_done":"<0>Danke für deine Rückmeldung!</0>",
"Full screen":"Vollbild",
"feedback_prompt":"<0>Wir würden uns freuen, deine Rückmeldung zu hören, um deine Erfahrung verbessern zu können.</0>",
"Go":"Los geht’s",
"headline":"{{displayName}}, dein Anruf wurde beendet.",
"Grid layout menu":"Grid-Layout-Menü",
"not_now_button":"Nicht jetzt, zurück zur Startseite",
"Having trouble? Help us fix it.":"Du hast ein Problem? Hilf uns, es zu beheben.",
"Login to your account":"Melde dich mit deinem Konto an",
"settings":"Einstellungen",
"Microphone":"Mikrofon",
"unencrypted":"Nicht verschlüsselt",
"Microphone permissions needed to join the call.":"Mikrofon-Berechtigung ist erforderlich, um dem Anruf beizutreten.",
"username":"Benutzername",
"Microphone {{n}}":"Mikrofon {{n}}",
"video":"Video"
"More":"Mehr",
},
"More menu":"Weiteres Menü",
"disconnected_banner":"Die Verbindung zum Server wurde getrennt.",
"Mute microphone":"Mikrofon stummschalten",
"full_screen_view_description":"<0>Übermittelte Problemberichte helfen uns, Fehler zu beheben.</0>",
"No":"Nein",
"full_screen_view_h1":"<0>Hoppla, etwas ist schiefgelaufen.</0>",
"Not now, return to home screen":"Nicht jetzt, zurück zum Startbildschirm",
"group_call_loader_failed_heading":"Anruf nicht gefunden",
"Not registered yet? <2>Create an account</2>":"Noch nicht registriert? <2>Konto erstellen</2>",
"group_call_loader_failed_text":"Anrufe sind nun Ende-zu-Ende-verschlüsselt und müssen auf der Startseite erstellt werden. Damit stellen wir sicher, dass alle denselben Schlüssel verwenden.",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Andere Benutzer versuchen, diesem Aufruf von einer inkompatiblen Softwareversion aus beizutreten. Diese Benutzer sollten ihre Web-Browser Seite neu laden:<1>{userLis}</1>",
"hangup_button_label":"Anruf beenden",
"Password":"Passwort",
"header_label":"Element Call-Startseite",
"Passwords must match":"Passwörter müssen übereinstimmen",
"header_participants_label":"Teilnehmende",
"Press and hold spacebar to talk":"Halte zum Sprechen die Leertaste gedrückt",
"invite_modal":{
"Press and hold spacebar to talk over {{name}}":"Zum Verdrängen von {{name}} und Sprechen die Leertaste gedrückt halten",
"link_copied_toast":"Link in Zwischenablage kopiert",
"Press and hold to talk":"Zum Sprechen gedrückt halten",
"title":"Zu diesem Anruf einladen"
"Press and hold to talk over {{name}}":"Zum Verdrängen von {{name}} und Sprechen gedrückt halten",
},
"Profile":"Profil",
"join_existing_call_modal":{
"Recaptcha dismissed":"Recaptcha abgelehnt",
"join_button":"Ja, Anruf beitreten",
"Recaptcha not loaded":"Recaptcha nicht geladen",
"text":"Dieser Aufruf existiert bereits, möchtest Du teilnehmen?",
"Register":"Registrieren",
"title":"An bestehendem Anruf teilnehmen?"
"Registering…":"Registrierung…",
},
"Release spacebar key to stop":"Leertaste loslassen, um zu stoppen",
"layout_grid_label":"Raster",
"Release to stop":"Loslassen zum Stoppen",
"layout_spotlight_label":"Rampenlicht",
"Remove":"Entfernen",
"lobby":{
"Return to home screen":"Zurück zum Startbildschirm",
"join_button":"Anruf beitreten",
"Save":"Speichern",
"leave_button":"Zurück zu kürzlichen Anrufen"
"Saving…":"Speichere…",
},
"Select an option":"Wähle eine Option",
"log_in":"Anmelden",
"Send debug logs":"Debug-Logs senden",
"logging_in":"Anmelden …",
"Sending…":"Senden…",
"login_auth_links":"<0>Konto erstellen</0> Oder <2>Als Gast betreten</2>",
"Settings":"Einstellungen",
"login_auth_links_prompt":"Noch nicht registriert?",
"Thanks! We'll get right on it.":"Vielen Dank! Wir werden uns sofort darum kümmern.",
"recaptcha_caption":"Diese Seite wird durch reCAPTCHA geschützt und es gelten Googles <2>Datenschutzerklärung</2> und <6>Nutzungsbedingungen</6>. <9></9>Mit einem Klick auf „Registrieren“ akzeptierst du unseren <2>Endbenutzer-Lizenzvertrag (EULA)</2>",
"This call already exists, would you like to join?":"Dieser Aufruf existiert bereits, möchtest Du teilnehmen?",
"recaptcha_dismissed":"Recaptcha abgelehnt",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Diese Website wird durch ReCAPTCHA geschützt und es gelten die <2>Datenschutzerklärung</2> und <6>Nutzungsbedingungen</6> von Google.<9></9>Indem Du auf „Registrieren“ klickst, stimmst du unseren <12>Geschäftsbedingungen</12> zu",
"recaptcha_not_loaded":"Recaptcha nicht geladen",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Dies wird die Audiowiedergabe eines Sprechers wirken lassen, als käme sie von der Stelle des zugehörigen Videobildes. (Experimentelle Funktion: Dies könnte die Stabilität der Audiowiedergabe beeinträchtigen.)",
"{{count}} people connected|other":"{{count}} Personen verbunden",
"feedback_tab_thank_you":"Danke, wir haben deine Rückmeldung erhalten!",
"{{displayName}}, your call is now ended":"{{displayName}}, dein Anruf wurde beendet",
"feedback_tab_title":"Rückmeldung",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"more_tab_title":"Mehr",
"{{name}} is presenting":"{{name}} präsentiert",
"opt_in_description":"<0></0><1></1>Du kannst deine Zustimmung durch Abwählen dieses Kästchens zurückziehen. Falls du dich aktuell in einem Anruf befindest, wird diese Einstellung nach dem Ende des Anrufs wirksam.",
"stop_screenshare_button_label":"Bildschirm wird geteilt",
"Advanced":"Erweitert",
"stop_video_button_label":"Video deaktivieren",
"Copy":"Kopieren",
"submitting":"Sende…",
"Element Call Home":"Element Call-Startseite",
"unauthenticated_view_body":"Noch nicht registriert? <2>Konto erstellen</2>",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Dies wird anonymisierte Daten (wie z.B. die Dauer eines Anrufs und die Zahl der Teilnehmenden) dem Element Call-Team senden, um uns bei der Optimierung der Anwendung basierend auf dem Nutzungsverhalten zu helfen.",
"unauthenticated_view_eula_caption":"Mit einem Klick auf „Los geht’s“ akzeptierst du unseren <2>Endbenutzer-Lizenzvertrag (EULA)</2>",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Ob Tastenkürzel mit nur einer Taste aktiviert sein sollen, z.B. „m“ um das Mikrofon stumm/aktiv zu schalten.",
"unauthenticated_view_login_button":"Melde dich mit deinem Konto an",
"analytics_notice":"Συμμετέχοντας σε αυτή τη δοκιμαστική έκδοση, συναινείτε στη συλλογή ανώνυμων δεδομένων, τα οποία χρησιμοποιούμε για τη βελτίωση του προϊόντος. Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με το ποια δεδομένα καταγράφουμε στην <2>Πολιτική απορρήτου</2> και στην <5>Πολιτική cookies</5>.",
"call_ended_view":{
"create_account_button":"Δημιουργία λογαριασμού",
"create_account_prompt":"<0>Γιατί να μην ολοκληρώσετε με τη δημιουργία ενός κωδικού πρόσβασης για τη διατήρηση του λογαριασμού σας;</0><1>Θα μπορείτε να διατηρήσετε το όνομά σας και να ορίσετε ένα avatar για χρήση σε μελλοντικές κλήσεις.</1>",
"feedback_done":"<0>Ευχαριστώ για τα σχόλιά σας!</0>",
"feedback_prompt":"<0>Θα θέλαμε να ακούσουμε τα σχόλιά σας ώστε να βελτιώσουμε την εμπειρία σας.</0>",
"headline":"{{displayName}}, η κλήση σας τερματίστηκε.",
"not_now_button":"Όχι τώρα, επιστροφή στην αρχική οθόνη",
"survey_prompt":"Πώς σας φάνηκε;"
},
"common":{
"audio":"Ήχος",
"camera":"Κάμερα",
"copied":"Αντιγράφηκε!",
"display_name":"Εμφανιζόμενο όνομα",
"home":"Αρχική",
"loading":"Φόρτωση…",
"microphone":"Μικρόφωνο",
"password":"Κωδικός",
"profile":"Προφίλ",
"settings":"Ρυθμίσεις",
"username":"Όνομα χρήστη",
"video":"Βίντεο"
},
"full_screen_view_description":"<0>Η υποβολή αρχείων καταγραφής σφαλμάτων θα μας βοηθήσει να εντοπίσουμε το πρόβλημα.</0>",
"full_screen_view_h1":"<0>Ωχ, κάτι πήγε στραβά.</0>",
"header_label":"Element Κεντρική Οθόνη Κλήσεων",
"join_existing_call_modal":{
"join_button":"Ναι, συμμετοχή στην κλήση",
"text":"Αυτή η κλήση υπάρχει ήδη, θα θέλατε να συμμετάσχετε;",
"title":"Συμμετοχή στην υπάρχουσα κλήση;"
},
"lobby":{
"join_button":"Συμμετοχή στην κλήση"
},
"logging_in":"Σύνδεση…",
"login_auth_links":"<0>Δημιουργήστε λογαριασμό</0> Ή <2>Συμμετέχετε ως επισκέπτης</2>",
"login_title":"Σύνδεση",
"rageshake_request_modal":{
"body":"Ένας άλλος χρήστης σε αυτή την κλήση έχει ένα πρόβλημα. Για την καλύτερη διάγνωση αυτών των προβλημάτων θα θέλαμε να συλλέξουμε ένα αρχείο καταγραφής σφαλμάτων.",
"developer_settings_label_description":"Εμφάνιση ρυθμίσεων προγραμματιστή στο παράθυρο ρυθμίσεων.",
"developer_tab_title":"Προγραμματιστής",
"feedback_tab_body":"Εάν αντιμετωπίζετε προβλήματα ή απλά θέλετε να μας δώσετε κάποια σχόλια, παρακαλούμε στείλτε μας μια σύντομη περιγραφή παρακάτω.",
"feedback_tab_thank_you":"Ευχαριστούμε, λάβαμε τα σχόλιά σας!",
"feedback_tab_title":"Ανατροφοδότηση",
"more_tab_title":"Περισσότερα",
"opt_in_description":"<0></0><1></1>Μπορείτε να ανακαλέσετε τη συγκατάθεσή σας αποεπιλέγοντας αυτό το πλαίσιο. Εάν βρίσκεστε σε κλήση, η ρύθμιση αυτή θα τεθεί σε ισχύ στο τέλος της.",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>",
"no":"No",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Create an account</0> Or <2>Access as a guest</2>",
"register":"Register",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Submitting debug logs will help us track down the problem.</0>",
"sign_out":"Sign out",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>",
"submit":"Submit",
"Accept camera/microphone permissions to join the call.":"Accept camera/microphone permissions to join the call.",
"upload_file":"Upload file"
"Accept microphone permissions to join the call.":"Accept microphone permissions to join the call.",
},
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.",
"analytics_notice":"By participating in this beta, you consent to the collection of anonymous data, which we use to improve the product. You can find more information about which data we track in our <2>Privacy Policy</2> and our <5>Cookie Policy</5>.",
"Audio":"Audio",
"app_selection_modal":{
"Avatar":"Avatar",
"continue_in_browser":"Continue in browser",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"By clicking \"Go\", you agree to our <2>Terms and conditions</2>",
"open_in_app":"Open in the app",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>",
"text":"Ready to join?",
"By ticking this box you consent to the collection of anonymous data, which we use to improve your experience. You can find more information about which data we track in our ":"By ticking this box you consent to the collection of anonymous data, which we use to improve your experience. You can find more information about which data we track in our ",
"title":"Select app"
"Call link copied":"Call link copied",
},
"Call type menu":"Call type menu",
"application_opened_another_tab":"This application has been opened in another tab.",
"Camera":"Camera",
"browser_media_e2ee_unsupported":"Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117",
"Camera/microphone permissions needed to join the call.":"Camera/microphone permissions needed to join the call.",
"call_ended_view":{
"Change layout":"Change layout",
"body":"You were disconnected from the call",
"Close":"Close",
"create_account_button":"Create account",
"Confirm password":"Confirm password",
"create_account_prompt":"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>",
"Connection lost":"Connection lost",
"feedback_done":"<0>Thanks for your feedback!</0>",
"Copied!":"Copied!",
"feedback_prompt":"<0>We'd love to hear your feedback so we can improve your experience.</0>",
"Copy":"Copy",
"headline":"{{displayName}}, your call has ended.",
"Copy and share this call link":"Copy and share this call link",
"not_now_button":"Not now, return to home screen",
"banned_body":"You have been banned from the room.",
"Logging in…":"Logging in…",
"banned_heading":"Banned",
"Login":"Login",
"call_ended_body":"You have been removed from the call.",
"Login to your account":"Login to your account",
"call_ended_heading":"Call ended",
"Microphone":"Microphone",
"failed_heading":"Failed to join",
"Microphone {{n}}":"Microphone {{n}}",
"failed_text":"Call not found or is not accessible.",
"Microphone permissions needed to join the call.":"Microphone permissions needed to join the call.",
"knock_reject_body":"The room members declined your request to join.",
"More":"More",
"knock_reject_heading":"Not allowed to join",
"More menu":"More menu",
"reason":"Reason"
"Mute microphone":"Mute microphone",
},
"No":"No",
"hangup_button_label":"End call",
"Not now, return to home screen":"Not now, return to home screen",
"header_label":"Element Call Home",
"Not registered yet? <2>Create an account</2>":"Not registered yet? <2>Create an account</2>",
"header_participants_label":"Participants",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>",
"invite_modal":{
"Password":"Password",
"link_copied_toast":"Link copied to clipboard",
"Passwords must match":"Passwords must match",
"title":"Invite to this call"
"Press and hold spacebar to talk":"Press and hold spacebar to talk",
},
"Press and hold spacebar to talk over {{name}}":"Press and hold spacebar to talk over {{name}}",
"join_existing_call_modal":{
"Press and hold to talk":"Press and hold to talk",
"join_button":"Yes, join call",
"Press and hold to talk over {{name}}":"Press and hold to talk over {{name}}",
"text":"This call already exists, would you like to join?",
"Privacy Policy":"Privacy Policy",
"title":"Join existing call?"
"Profile":"Profile",
},
"Recaptcha dismissed":"Recaptcha dismissed",
"layout_grid_label":"Grid",
"Recaptcha not loaded":"Recaptcha not loaded",
"layout_spotlight_label":"Spotlight",
"Register":"Register",
"lobby":{
"Registering…":"Registering…",
"ask_to_join":"Ask to join call",
"Release spacebar key to stop":"Release spacebar key to stop",
"join_button":"Join call",
"Release to stop":"Release to stop",
"leave_button":"Back to recents",
"Remove":"Remove",
"waiting_for_invite":"Request sent"
"Return to home screen":"Return to home screen",
},
"Save":"Save",
"log_in":"Log In",
"Saving…":"Saving…",
"logging_in":"Logging in…",
"Select an option":"Select an option",
"login_auth_links":"<0>Create an account</0> Or <2>Access as a guest</2>",
"body":"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.",
"Stop sharing screen":"Stop sharing screen",
"title":"Debug log request"
"Submit feedback":"Submit feedback",
},
"Submitting feedback…":"Submitting feedback…",
"rageshake_send_logs":"Send debug logs",
"Take me Home":"Take me Home",
"rageshake_sending":"Sending…",
"Talk over speaker":"Talk over speaker",
"rageshake_sending_logs":"Sending debug logs…",
"Talking…":"Talking…",
"rageshake_sent":"Thanks!",
"Thanks! We'll get right on it.":"Thanks! We'll get right on it.",
"recaptcha_caption":"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>End User Licensing Agreement (EULA)</12>",
"This call already exists, would you like to join?":"This call already exists, would you like to join?",
"recaptcha_dismissed":"Recaptcha dismissed",
"This feature is only supported on Firefox.":"This feature is only supported on Firefox.",
"recaptcha_not_loaded":"Recaptcha not loaded",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>",
"register":{
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)",
"passwords_must_match":"Passwords must match",
"Turn off camera":"Turn off camera",
"registering":"Registering…"
"Turn on camera":"Turn on camera",
},
"Unmute microphone":"Unmute microphone",
"register_auth_links":"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>",
"Use the upcoming grid system":"Use the upcoming grid system",
"feedback_tab_body":"If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC is not supported or is being blocked in this browser.",
"feedback_tab_description_label":"Your feedback",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.",
"You can't talk at the same time":"You can't talk at the same time",
"feedback_tab_thank_you":"Thanks, we received your feedback!",
"Your recent calls":"Your recent calls"
"feedback_tab_title":"Feedback",
"more_tab_title":"More",
"opt_in_description":"<0></0><1></1>You may withdraw consent by unchecking this box. If you are currently in a call, this setting will take effect at the end of the call.",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>¿Por qué no mantienes tu cuenta estableciendo una contraseña?</0><1>Podrás mantener tu nombre y establecer un avatar para usarlo en futuras llamadas</1>",
"a11y":{
"Press and hold to talk over {{name}}":"Mantén pulsado para hablar por encima de {{name}}",
"user_menu":"Menú de usuario"
"Your recent calls":"Tus llamadas recientes",
},
"WebRTC is not supported or is being blocked in this browser.":"Tu navegador no soporta o está bloqueando WebRTC.",
"action":{
"This call already exists, would you like to join?":"Esta llamada ya existe, ¿te gustaría unirte?",
"close":"Cerrar",
"Register":"Registrarse",
"copy":"Copiar",
"Not registered yet? <2>Create an account</2>":"¿No estás registrado todavía? <2>Crear una cuenta</2>",
"go":"Comenzar",
"Login to your account":"Iniciarsesión en tu cuenta",
"register":"Registrarse",
"Camera/microphone permissions needed to join the call.":"Se necesitan los permisos de cámara/micrófono para unirse a la llamada.",
"remove":"Eliminar",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Al hacer clic en \"Unirse a la llamada ahora\", aceptarás nuestros <2>Términos y condiciones</2>",
"sign_in":"Iniciar sesión",
"Accept microphone permissions to join the call.":"Acepta el permiso del micrófono para unirte a la llamada.",
"sign_out":"Cerrar sesión",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Al hacer clic en \"Comenzar\" aceptarás nuestros <2>Términos y condiciones</2>",
"submit":"Enviar"
"You can't talk at the same time":"No podéis hablar a la vez",
},
"Yes, join call":"Si, unirse a la llamada",
"analytics_notice":"Al participar en esta beta, consientes a la recogida de datos anónimos, los cuales usaremos para mejorar el producto. Puedes encontrar más información sobre que datos recogemos en nuestra <2>Política de privacidad</2> y en nuestra <5>Política sobre Cookies</5>.",
"Walkie-talkie call name":"Nombre de la llamada Walkie-talkie",
"call_ended_view":{
"Walkie-talkie call":"Llamada Walkie-talkie",
"create_account_button":"Crear cuenta",
"Waiting for other participants…":"Esperando a los otros participantes…",
"create_account_prompt":"<0>¿Por qué no mantienes tu cuenta estableciendo una contraseña?</0><1>Podrás mantener tu nombre y establecer un avatar para usarlo en futuras llamadas</1>",
"Waiting for network":"Esperando a la red",
"feedback_done":"<0>¡Gracias por tus comentarios!</0>",
"Video call name":"Nombre de la videollamada",
"feedback_prompt":"<0>Nos encantaría conocer tu opinión para que podamos mejorar tu experiencia</0>",
"Video call":"Videollamada",
"headline":"{{displayName}}, tu llamada ha finalizado.",
"Video":"Video",
"not_now_button":"Ahora no, volver a la pantalla de inicio",
"Version: {{version}}":"Versión: {{version}}",
"survey_prompt":"¿Cómo ha ido?"
"Username":"Nombre de usuario",
},
"User menu":"Menú de usuario",
"common":{
"User ID":"ID de usuario",
"camera":"Cámara",
"Unmute microphone":"Desilenciar el micrófono",
"copied":"¡Copiado!",
"Turn on camera":"Encender la cámara",
"display_name":"Nombre a mostrar",
"Turn off camera":"Apagar la cámara",
"home":"Inicio",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Esto hará que el audio de la persona que hable parezca que viene de dondé esté posicionado en la pantalla. (Función experimental: esto puede afectar a la estabilidad del audio.)",
"loading":"Cargando…",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Este sitio está protegido por ReCAPTCHA y se aplica <2>la Política de Privacidad</2> y <6>los Términos de Servicio</6> de Google.<9></9>Al hacer clic en \"Registrar\" aceptarás nuestros <12>Términos y condiciones</12>",
"microphone":"Micrófono",
"Thanks! We'll get right on it.":"¡Gracias! Nos encargaremos de ello.",
"password":"Contraseña",
"Talking…":"Hablando…",
"profile":"Perfil",
"Talk over speaker":"Hablar por encima",
"settings":"Ajustes",
"Take me Home":"Volver al inicio",
"username":"Nombre de usuario"
"Submitting feedback…":"Enviando comentarios…",
},
"Submit feedback":"Enviar comentarios",
"full_screen_view_description":"<0>Subir los registros de depuración nos ayudará a encontrar el problema.</0>",
"Stop sharing screen":"Dejar de compartir pantalla",
"full_screen_view_h1":"<0>Ups, algo ha salido mal.</0>",
"Spotlight":"Foco",
"header_label":"Inicio de Element Call",
"Speaker {{n}}":"Altavoz {{n}}",
"join_existing_call_modal":{
"Speaker":"Altavoz",
"join_button":"Si, unirse a la llamada",
"Spatial audio":"Audio espacial",
"text":"Esta llamada ya existe, ¿te gustaría unirte?",
"Sign out":"Cerrar sesión",
"title":"¿Unirse a llamada existente?"
"Sign in":"Iniciar sesión",
},
"Show call inspector":"Mostrar inspector de llamada",
"layout_spotlight_label":"Foco",
"Share screen":"Compartir pantalla",
"lobby":{
"Settings":"Ajustes",
"join_button":"Unirse a la llamada"
"Sending…":"Enviando…",
},
"Sending debug logs…":"Enviando registros de depuración…",
"logging_in":"Iniciando sesión…",
"Send debug logs":"Enviar registros de depuración",
"login_auth_links":"<0>Crear una cuenta</0> o <2>Acceder como invitado</2>",
"Select an option":"Selecciona una opción",
"login_title":"Iniciar sesión",
"Saving…":"Guardando…",
"rageshake_request_modal":{
"Save":"Guardar",
"body":"Otro usuario en esta llamada está teniendo problemas. Para diagnosticar estos problemas nos gustaría recopilar un registro de depuración.",
"Return to home screen":"Volver a la pantalla de inicio",
"title":"Petición de registros de depuración"
"Remove":"Eliminar",
},
"Release to stop":"Suelta para parar",
"rageshake_send_logs":"Enviar registros de depuración",
"Release spacebar key to stop":"Suelta la barra espaciadora para parar",
"rageshake_sending":"Enviando…",
"Registering…":"Registrando…",
"rageshake_sending_logs":"Enviando registros de depuración…",
"Recaptcha not loaded":"No se ha cargado el Recaptcha",
"recaptcha_caption":"Este sitio está protegido por ReCAPTCHA y se aplican la <2>Política de Privacidad</2> y los <6>Términos de Servicio de Google.<9></9>Al hacer clic en \"Registrar\", aceptas nuestro <12>Contrato de Licencia de Usuario Final (CLUF)</12>",
"Recaptchadismissed":"Recaptcha cancelado",
"recaptcha_dismissed":"Recaptcha cancelado",
"Profile":"Perfil",
"recaptcha_not_loaded":"No se ha cargado el Recaptcha",
"Press and hold to talk":"Mantén pulsado para hablar",
"register":{
"Press and hold spacebar to talk over {{name}}":"Mantén pulsada la barra espaciadora para hablar por encima de {{name}}",
"Press and hold spacebar to talk":"Mantén pulsada la barra espaciadora para hablar",
"registering":"Registrando…"
"Passwords must match":"Las contraseñas deben coincidir",
},
"Password":"Contraseña",
"register_auth_links":"<0>¿Ya tienes una cuenta?</0><1><0>Iniciar sesión</0> o <2>Acceder como invitado</2></1>",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Otros usuarios están intentando unirse a la llamada con versiones incompatibles. Estos usuarios deberán asegurarse de que han refrescado sus navegadores:<1>{userLis}</1>",
"feedback_tab_send_logs_label":"Incluir registros de depuración",
"Leave":"Abandonar",
"feedback_tab_thank_you":"¡Gracias, hemos recibido tus comentarios!",
"Join existing call?":"¿Unirse a llamada existente?",
"feedback_tab_title":"Danos tu opinión",
"Join call now":"Unirse a la llamada ahora",
"more_tab_title":"Más",
"Join call":"Unirse a la llamada",
"opt_in_description":"<0></0><1></1>Puedes retirar tu consentimiento desmarcando esta casilla. Si estás en una llamada, este ajuste se aplicará al final de esta.",
"Invite people":"Invitar a gente",
"show_connection_stats_label":"Mostrar estadísticas de conexión",
"Debug log request":"Petición de registros de depuración",
"Debug log":"Registro de depuración",
"Create account":"Crear cuenta",
"Copy and share this call link":"Copiar y compartir el enlace de la llamada",
"Copied!":"¡Copiado!",
"Connection lost":"Conexión perdida",
"Confirm password":"Confirmar contraseña",
"Close":"Cerrar",
"Change layout":"Cambiar distribución",
"Camera {{n}}":"Cámara {{n}}",
"Camera":"Cámara",
"Call type menu":"Menú de tipo de llamada",
"Call link copied":"Enlace de la llamada copiado",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Otro usuario en esta llamada está teniendo problemas. Para diagnosticar estos problemas nos gustaría recopilar un registro de depuración.",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"Audio":"Audio",
"Avatar":"Avatar",
"Accept camera/microphone permissions to join the call.":"Acepta los permisos de cámara/micrófono para unirte a la llamada.",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Crear una cuenta</0> o <2>Acceder como invitado</2>",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Unirse ahora</0><1>Or</1><2>Copiar el enlace y unirse más tarde</2>",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>¿Ya tienes una cuenta?</0><1><0>Iniciar sesión</0> o <2>Acceder como invitado</2></1>",
"{{roomName}} - Walkie-talkie call":"{{roomName}} - Llamada de Walkie-talkie",
"{{name}} is talking…":"{{name}} está hablando…",
"{{name}} is presenting":"{{name}} está presentando",
"{{displayName}}, your call is now ended":"{{displayName}}, tu llamada ha finalizado",
"{{count}} people connected|other":"{{count}} personas conectadas",
"{{count}} people connected|one":"{{count}} persona conectada",
"Allow analytics":"Permitir analíticas",
"Advanced":"Avanzado",
"Element Call Home":"Inicio de Element Call",
"Copy":"Copiar",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Esto enviará datos anónimos (como la duración de la llamada y el número de participantes) al equipo de Element Call para ayudarnos a optimizar la aplicación dependiendo de cómo se use.",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Habilita los atajos de teclado de una sola tecla, por ejemplo 'm' para silenciar/desilenciar el micrófono.",
"Single-key keyboard shortcuts":"Atajos de teclado de una sola tecla",
"{{name}} (Waiting for video...)":"{{name}} (Esperando al video...)",
"This feature is only supported on Firefox.":"Esta característica solo está disponible en Firefox.",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Subir los registros de depuración nos ayudará a encontrar el problema.</0>",
"<0>Oops, something's gone wrong.</0>":"<0>Ups, algo ha salido mal.</0>"
"Accept camera/microphone permissions to join the call.":"Kõnega liitumiseks anna õigused kaamera/mikrofoni kasutamiseks.",
"a11y":{
"Accept microphone permissions to join the call.":"Kõnega liitumiseks anna õigused mikrofoni kasutamiseks.",
"user_menu":"Kasutajamenüü"
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Kas soovid salasõna seadistada ja sellega oma kasutajakonto alles jätta?</0><1>Nii saad säilitada oma nime ja määrata profiilipildi, mida saad kasutada tulevastes kõnedes</1>",
},
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Liitu kõnega kohe</0><1> Või</1><2>Kopeeri kõne link ja liitu hiljem</2>",
"action":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Loo konto</0> Või <2>Sisene külalisena</2>",
"close":"Sulge",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>On sul juba konto?</0><1><0>Logi sisse</0> Või <2>Logi sisse külalisena</2></1>",
"{{displayName}}, your call is now ended":"{{displayName}}, sinu kõne on nüüd lõppenud",
"remove":"Eemalda",
"{{count}} people connected|other":"{{count}} osalejat liitunud",
"sign_in":"Logi sisse",
"{{count}} people connected|one":"{{count}} osaleja liitunud",
"sign_out":"Logi välja",
"Invite people":"Kutsu inimesi",
"submit":"Saada"
"Invite":"Kutsu",
},
"Inspector":"Inspektor",
"analytics_notice":"Nõustudes selle beetaversiooni kasutamisega sa nõustud ka toote arendamiseks kasutatavate anonüümsete andmete kogumisega. Täpsemat teavet kogutavate andmete kohta leiad meie <2>Privaatsuspoliitikast</2> ja meie <5>Küpsiste kasutamise reeglitest</5>.",
"Having trouble? Help us fix it.":"Kas on probleeme? Aita meil asja parandada.",
"title":"Vali rakendus"
"Grid layout menu":"Ruudustikvaate menüü",
},
"Go":"Jätka",
"browser_media_e2ee_unsupported":"Sinu veebibrauser ei toeta meedia läbivat krüptimist. Toetatud brauserid on Chrome, Chromium, Safari ja Firefox >=117",
"Full screen":"Täisekraan",
"call_ended_view":{
"Freedom":"Vaba",
"body":"Sinu ühendus kõnega katkes",
"Fetching group call timed out.":"Grupikõne kättesaamine aegus.",
"create_account_button":"Loo konto",
"Exit full screen":"Välju täisekraanivaatest",
"create_account_prompt":"<0>Kas soovid salasõna seadistada ja sellega oma kasutajakonto alles jätta?</0><1>Nii saad säilitada oma nime ja määrata profiilipildi, mida saad kasutada tulevastes kõnedes</1>",
"Download debug logs":"Lae alla veatuvastuslogid",
"feedback_done":"<0>Täname Sind tagasiside eest!</0>",
"Display name":"Kuvatav nimi",
"feedback_prompt":"<0>Meie rakenduse paremaks muutmiseks me hea meelega ootame Sinu arvamusi.</0>",
"Developer":"Arendaja",
"headline":"{{displayName}}, sinu kõne on lõppenud.",
"Details":"Täpsemalt",
"not_now_button":"Mitte praegu, mine tagasi avalehele",
"Copy and share this call link":"Kopeeri ja jaga selle kõne linki",
"common":{
"Copied!":"Kopeeritud!",
"audio":"Heli",
"Connection lost":"Ühendus on katkenud",
"avatar":"Tunnuspilt",
"Confirm password":"Kinnita salasõna",
"camera":"Kaamera",
"Close":"Sulge",
"copied":"Kopeeritud!",
"Change layout":"Muuda paigutust",
"display_name":"Kuvatav nimi",
"Camera/microphone permissions needed to join the call.":"Kõnega liitumiseks vajalikud kaamera/mikrofoni kasutamise load.",
"encrypted":"Krüptitud",
"Camera {{n}}":"Kaamera {{n}}",
"home":"Avavaatesse",
"Camera":"Kaamera",
"loading":"Laadimine …",
"Call type menu":"Kõnetüübi valik",
"microphone":"Mikrofon",
"Call link copied":"Kõne link on kopeeritud",
"password":"Salasõna",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Klõpsides „Liitu kõnega“nõustud sa meie <2>kasutustingimustega</2>",
"profile":"Profiil",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Klõpsides „Jätka“nõustud sa meie <2>kasutustingimustega</2>",
"settings":"Seadistused",
"Avatar":"Tunnuspilt",
"unencrypted":"Krüptimata",
"Audio":"Heli",
"username":"Kasutajanimi"
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Ühel teisel selles kõnes osalejal on lahenduse kasutamisel tekkinud probleem ning selle põhjuse leidmiseks me sooviksime koguda silumislogisid.",
},
"Press and hold spacebar to talk":"Rääkimiseks vajuta ja hoia all tühikuklahvi",
"disconnected_banner":"Võrguühendus serveriga on katkenud.",
"Passwords must match":"Salasõnad ei klapi",
"full_screen_view_description":"<0>Kui saadad meile vealogid, siis on lihtsam vea põhjust otsida.</0>",
"Password":"Salasõna",
"full_screen_view_h1":"<0>Ohoo, midagi on nüüd katki.</0>",
"Not registered yet? <2>Create an account</2>":"Pole veel registreerunud? <2>Loo kasutajakonto</2>",
"group_call_loader_failed_heading":"Kõnet ei leidu",
"Not now, return to home screen":"Mitte praegu, mine tagasi avalehele",
"group_call_loader_failed_text":"Kõned on nüüd läbivalt krüptitud ning need pead looma kodulehelt. Sellega tagad, et kõik kasutavad samu krüptovõtmeid.",
"No":"Ei",
"hangup_button_label":"Lõpeta kõne",
"Mute microphone":"Summuta mikrofon",
"header_participants_label":"Osalejad",
"Your recent calls":"Hiljutised kõned",
"invite_modal":{
"You can't talk at the same time":"Üheaegselt ei saa rääkida",
"link_copied_toast":"Link on kopeeritud lõikelauale",
"More menu":"Rohkem valikuid",
"title":"Kutsu liituma selle kõnaga"
"More":"Rohkem",
},
"Microphone permissions needed to join the call.":"Kõnega liitumiseks on vaja lubada mikrofoni kasutamine.",
"join_existing_call_modal":{
"Microphone {{n}}":"Mikrofon {{n}}",
"join_button":"Jah, liitu kõnega",
"Microphone":"Mikrofon",
"text":"See kõne on juba olemas, kas soovid liituda?",
"Login to your account":"Logi oma kontosse sisse",
"title":"Liitu juba käimasoleva kõnega?"
"Login":"Sisselogimine",
},
"Logging in…":"Sisselogimine …",
"layout_grid_label":"Ruudustik",
"Local volume":"Kohalik helitugevus",
"layout_spotlight_label":"Rambivalgus",
"Loading…":"Laadimine …",
"lobby":{
"Loading room…":"Ruumi laadimine …",
"join_button":"Kõnega liitumine",
"Leave":"Lahku",
"leave_button":"Tagasi hiljutiste kõnede juurde"
"Join existing call?":"Liitu juba käimasoleva kõnega?",
},
"Join call now":"Kõnega liitumine",
"logging_in":"Sisselogimine …",
"Join call":"Kõnega liitumine",
"login_auth_links":"<0>Loo konto</0> Või <2>Sisene külalisena</2>",
"rageshake_button_error_caption":"Proovi uuesti logisid saata",
"Submit feedback":"Jaga tagasisidet",
"rageshake_request_modal":{
"Stop sharing screen":"Lõpeta ekraani jagamine",
"body":"Ühel teisel selles kõnes osalejal on lahenduse kasutamisel tekkinud probleem ning selle põhjuse leidmiseks me sooviksime koguda silumislogisid.",
"recaptcha_caption":"Selles saidis on kasutusel ReCAPTCHA ja kehtivad Google'i <2>Privaatsuspoliitika</2> ning <6>Teenusetingimused</6>.<9></9>Klõpsides „Registreeru“, sa nõustud meie <12>Lõppkasutaja litsentsilepingu (EULA) tingimustega</12>",
"Share screen":"Jaga ekraani",
"recaptcha_dismissed":"Robotilõks on vahele jäetud",
"Press and hold to talk over {{name}}":"{{name}} ülerääkimiseks vajuta ja hoia all",
"feedback_tab_body":"Kui selle rakenduse kasutamisel tekib sul probleeme või lihtsalt soovid oma arvamust avaldada, siis palun täida alljärgnev lühike kirjeldus.",
"Press and hold to talk":"Rääkimiseks vajuta ja hoia all",
"Press and hold spacebar to talk over {{name}}":"{{name}} ülerääkimiseks vajuta ja hoia all tühikuklahvi",
"feedback_tab_h4":"Jaga tagasisidet",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Teised kasutajad üritavad selle kõnega liituda ühildumatuid versioone kasutades. Need kasutajad peaksid oma brauseris lehe uuestilaadimise tegema:<1>{userLis}</1>",
"Waiting for other participants…":"Ootame teiste osalejate lisandumist…",
"feedback_tab_thank_you":"Tänud, me oleme sinu tagasiside kätte saanud!",
"Waiting for network":"Ootame võrguühendust",
"feedback_tab_title":"Tagasiside",
"Video call name":"Videokõne nimi",
"more_tab_title":"Rohkem",
"Video call":"Videokõne",
"opt_in_description":"<0></0><1></1>Sa võid selle valiku eelmaldamisega alati oma nõusoleku tagasi võtta. Kui sul parasjagu on kõne pooleli, siis seadistuste muudatus jõustub pärast kõne lõppu.",
"Video":"Video",
"show_connection_stats_label":"Näita ühenduse statistikat",
"Version: {{version}}":"Versioon: {{version}}",
"speaker_device_selection_label":"Kõlar"
"Username":"Kasutajanimi",
},
"This call already exists, would you like to join?":"See kõne on juba olemas, kas soovid liituda?",
"stop_screenshare_button_label":"Ekraanivaade on jagamisel",
"User menu":"Kasutajamenüü",
"stop_video_button_label":"Peata videovoog",
"Yes, join call":"Jah, liitu kõnega",
"submitting":"Saadan…",
"Walkie-talkie call":"Walkie-talkie stiilis kõne",
"unauthenticated_view_body":"Sa pole veel registreerunud? <2>Loo kasutajakonto</2>",
"Walkie-talkie call name":"Walkie-talkie stiilis kõne nimi",
"unauthenticated_view_eula_caption":"Klõpsides „Jätka“, nõustud sa meie <2>Lõppkasutaja litsentsilepinguga (EULA)</2>",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC pole kas selles brauseris toetatud või on keelatud.",
"unauthenticated_view_login_button":"Logi oma kontosse sisse",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Muudab kõneleja heli nii, nagu tuleks see sealt, kus on tema pilt ekraanil. (See on katseline funktsionaalsus ja võib mõjutada heli stabiilsust.)",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Siin saidis on kasutusel ReCAPTCHA ning kehtivad Google <2>privaatsuspoliitika</2> ja <6>teenusetingimused</6>.<9></9>Klikkides „Registreeru“, nõustud meie <12>kasutustingimustega</12>",
"version":"Versioon: {{version}}",
"Allow analytics":"Luba analüütika",
"video_tile":{
"Advanced":"Lisaseadistused",
"sfu_participant_local":"Sina"
"Element Call Home":"Element Call Home",
},
"Copy":"Kopeeri",
"waiting_for_participants":"Ootame teiste osalejate lisandumist…"
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Me saadame kõne anonüümsed andmed (nagu kõne kestus ja osalejate arv) meie arendustiimile ja see võimaldab levinud kasutusmustrite alusel arendust optimeerida.",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Kas kasutame üheklahvilisi kiirklahve, näiteks „m“ mikrofoni sisse/välja lülitamiseks.",
"create_account_prompt":"<0>چرا یک رمز عبور برای حساب کاربری خود تنظیم نمیکنید؟</0><1>شما میتوانید نام خود را حفظ کنید و یک آواتار برای تماسهای آینده بسازید</1>",
"Mute microphone":"بیصدا کردن میکروفون",
"not_now_button":"الان نه، به صفحه اصلی برگردید"
"More":"بیشتر",
},
"Microphone":"میکروفون",
"common":{
"Login to your account":"به حساب کاربری خود وارد شوید",
"audio":"صدا",
"Login":"ورود",
"avatar":"آواتار",
"Loading…":"بارگزاری…",
"camera":"دوربین",
"Loading room…":"بارگزاری اتاق…",
"copied":"کپی شد!",
"Leave":"خروج",
"display_name":"نام نمایشی",
"Join existing call?":"پیوست به تماس؟",
"home":"خانه",
"Join call now":"الان به تماس بپیوند",
"loading":"بارگزاری…",
"Join call":"پیوستن به تماس",
"microphone":"میکروفون",
"Invite people":"دعوت از افراد",
"password":"رمز عبور",
"Invite":"دعوت",
"profile":"پروفایل",
"Home":"خانه",
"settings":"تنظیمات",
"Go":"رفتن",
"username":"نام کاربری",
"Full screen":"تمام صحفه",
"video":"ویدیو"
"Freedom":"آزادی",
},
"Exit full screen":"خروج از حالت تمام صفحه",
"header_label":"خانهٔ تماس المنت",
"Download debug logs":"دانلود لاگ عیبیابی",
"join_existing_call_modal":{
"Display name":"نام نمایشی",
"join_button":"بله، به تماس بپیوندید",
"Developer":"توسعه دهنده",
"text":"این تماس از قبل وجود دارد، میخواهید بپیوندید؟",
"Details":"جزئیات",
"title":"پیوست به تماس؟"
"Description (optional)":"توضیحات (اختیاری)",
},
"Debug log request":"درخواست لاگ عیبیابی",
"layout_spotlight_label":"نور افکن",
"Debug log":"لاگ عیبیابی",
"lobby":{
"Create account":"ساخت حساب کاربری",
"join_button":"پیوستن به تماس"
"Copy and share this call link":"لینک تماس را کپی کنید و به اشتراک بگذارید",
},
"Copied!":"کپی شد!",
"logging_in":"ورود…",
"Connection lost":"ارتباط قطع شد",
"login_auth_links":"<0>ساخت حساب کاربری</0> Or <2>دسترسی به عنوان میهمان</2>",
"Confirm password":"تایید رمزعبور",
"login_title":"ورود",
"Close":"بستن",
"rageshake_request_modal":{
"Change layout":"تغییر طرح",
"body":"کاربر دیگری در این تماس مشکلی دارد. برای تشخیص بهتر مشکل، بهتر است ما لاگ عیبیابی را جمعآوری کنیم.",
"Camera/microphone permissions needed to join the call.":"برای پیوستن به تماس، دسترسی به دوربین/ میکروفون نیاز است.",
"title":"درخواست لاگ عیبیابی"
"Camera {{n}}":"دوربین {{n}}",
},
"Camera":"دوربین",
"rageshake_send_logs":"ارسال لاگهای عیبیابی",
"Call type menu":"منوی نوع تماس",
"rageshake_sending":"در حال ارسال…",
"Call link copied":"لینک تماس کپی شد",
"rageshake_sending_logs":"در حال ارسال باگهای عیبیابی…",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"با کلیک بر روی پیوستن به تماس، شما با <2>شرایط و قوانین استفاده</2> موافقت میکنید",
"recaptcha_dismissed":"ریکپچا رد شد",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"با کلیک بر روی برو، شما با <2>شرایط و قوانین استفاده</2> موافقت میکنید",
"recaptcha_not_loaded":"کپچا بارگیری نشد",
"Avatar":"آواتار",
"register":{
"Audio":"صدا",
"passwords_must_match":"رمز عبور باید همخوانی داشته باشد",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"کاربر دیگری در این تماس مشکلی دارد. برای تشخیص بهتر مشکل، بهتر است ما لاگ عیبیابی را جمعآوری کنیم.",
"registering":"ثبتنام…"
"{{names}}, {{name}}":"{{names}}, {{name}}",
},
"Accept microphone permissions to join the call.":"پذیرفتن دسترسی به میکروفون برای پیوستن به تماس.",
"register_auth_links":"<0>از قبل حساب کاربری دارید؟</0><1><0>ورود</0> Or <2>به عنوان یک میهمان وارد شوید</2></1>",
"Accept camera/microphone permissions to join the call.":"پذیرفتن دسترسی دوربین/ میکروفون برای پیوستن به تماس.",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>چرا یک رمز عبور برای حساب کاربری خود تنظیم نمیکنید؟</0><1>شما میتوانید نام خود را حفظ کنید و یک آواتار برای تماسهای آینده بسازید</1>",
"return_home_button":"برگشت به صفحه اصلی",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>ساخت حساب کاربری</0> Or <2>دسترسی به عنوان میهمان</2>",
"room_auth_view_join_button":"الان به تماس بپیوند",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>از قبل حساب کاربری دارید؟</0><1><0>ورود</0> Or <2>به عنوان یک میهمان وارد شوید</2></1>",
"{{count}} people connected|one":"{{count}} فرد متصل هستند",
"more_tab_title":"بیشتر",
"Local volume":"حجم داخلی",
"speaker_device_selection_label":"بلندگو"
"Inspector":"بازرس",
},
"Incompatible versions!":"نسخههای ناسازگار!",
"unauthenticated_view_body":"هنوز ثبتنام نکردهاید؟ <2>ساخت حساب کاربری</2>",
"Incompatible versions":"نسخههای ناسازگار",
"unauthenticated_view_login_button":"به حساب کاربری خود وارد شوید",
"Spotlight":"نور افکن",
"version":"نسخه: {{نسخه}}",
"Speaker {{n}}":"بلندگو {{n}}",
"waiting_for_participants":"در انتظار برای دیگر شرکتکنندگان…"
"Show call inspector":"نمایش بازرس تماس",
"Share screen":"اشتراک گذاری صفحه نمایش",
"Sending…":"در حال ارسال…",
"Sending debug logs…":"در حال ارسال باگهای عیبیابی…",
"Send debug logs":"ارسال لاگهای عیبیابی",
"Select an option":"یک گزینه را انتخاب کنید",
"Saving…":"در حال ذخیره…",
"Return to home screen":"برگشت به صفحه اصلی",
"Remove":"حذف",
"Release to stop":"برای توقف رها کنید",
"Release spacebar key to stop":"اسپیس بار را برای توقف رها کنید",
"Registering…":"ثبتنام…",
"Register":"ثبتنام",
"Recaptcha not loaded":"کپچا بارگیری نشد",
"Recaptcha dismissed":"ریکپچا رد شد",
"Press and hold to talk over {{name}}":"برای صحبت فشار دهید و نگهدارید {{name}}",
"Press and hold to talk":"برای صحبت فشار دهید و نگهدارید",
"Press and hold spacebar to talk over {{name}}":"برای صحبت کردن دکمه اسپیس بار را فشار دهید و نگه دارید {{name}}",
"Press and hold spacebar to talk":"برای صحبت کردن کلید فاصله را فشار داده و نگه دارید",
"Passwords must match":"رمز عبور باید همخوانی داشته باشد",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"کاربران دیگر تلاش میکنند با ورژنهای ناسازگار به مکالمه بپیوندند. این کاربران باید از بروزرسانی مرورگرشان اطمینان داشته باشند:<1>{userLis}</1>",
"Not registered yet? <2>Create an account</2>":"هنوز ثبتنام نکردهاید؟ <2>ساخت حساب کاربری</2>",
"Not now, return to home screen":"الان نه، به صفحه اصلی برگردید",
"More menu":"تنظیمات بیشتر",
"Microphone permissions needed to join the call.":"برای پیوستن به مکالمه دسترسی به میکروفون نیاز است.",
"Microphone {{n}}":"میکروفون {{n}}",
"Logging in…":"ورود…",
"Include debug logs":"شامل لاگهای عیبیابی",
"Having trouble? Help us fix it.":"با مشکلی رو به رو شدید؟ به ما کمک کنید رفعش کنیم.",
"Grid layout menu":"منوی طرحبندی شبکهای",
"Fetching group call timed out.":"زمان اتصال به مکالمه گروهی تمام شد.",
"You can't talk at the same time":"نمی توانید همزمان صحبت کنید",
"Yes, join call":"بله، به تماس بپیوندید",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC (ارتباطات رسانهای بلادرنگ مانند انتقال صدا، ویدئو و داده) در این مرورگر پشتیبانی نمیشود یا در حال مسدود شدن است.",
"Walkie-talkie call name":"نامِ تماسِ واکی-تاکی",
"Walkie-talkie call":"تماسِ واکی-تاکی",
"Waiting for other participants…":"در انتظار برای دیگر شرکتکنندگان…",
"Waiting for network":"در انتظار شبکه",
"Video call name":"نامِ تماسِ تصویری",
"Version: {{version}}":"نسخه: {{نسخه}}",
"User menu":"فهرست کاربر",
"Unmute microphone":"ناخموشی میکروفون",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"این کار باعث میشود به نظر برسد صدای بلندگو از جایی که کاشیاش روی صفحه قرار گرفته میآید (ویژگی آزمایشی: ممکن است بر پایداری صدا تأثیر بگذارد.)",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"این سایت توسط ReCAPTCHA محافظت می شود و <2>خط مشی رازداری</2> و <6>شرایط خدمات</6> Google اعمال می شود.<9></9>با کلیک کردن بر روی \"ثبت نام\"، شما با <12 >شرایط و ضوابط </12> ما موافقت می کنید",
"This call already exists, would you like to join?":"این تماس از قبل وجود دارد، میخواهید بپیوندید؟",
"Thanks! We'll get right on it.":"با تشکر! ما به درستی آن را انجام خواهیم داد.",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"این که میانبرهای صفحهکلید تککلیده مثل m برای خموشی و ناخموشی میکروفون به کار بیفتند یا نه.",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"دادههای ناشناس شده (از اطَلاعاتی مثل طول تماس و شمارهٔ طرفها) را به گروه تماس المنت فرستاده تا در بهینهسازی برنامه بر پایهٔ چگونگی استفادهاش یاریمان کنند.",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>اکنون به تماس پیوسته</0><1>یا</1><2>پیوند تماس را رونوشت کرده و بعداً بپیوندید</2>",
"{{name}} (Waiting for video...)":"{{name}} (منتظر تصویر…)",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Créer un compte</0> Or <2>Accès invité</2>",
"a11y":{
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Pourquoi ne pas créer un mot de passe pour conserver votre compte?</0><1>Vous pourrez garder votre nom et définir un avatar pour vos futurs appels</1>",
"user_menu":"Menu utilisateur"
"Accept camera/microphone permissions to join the call.":"Autorisez l’accès à votre caméra et microphone pour rejoindre l’appel.",
},
"Accept microphone permissions to join the call.":"Autorisez l’accès au microphone pour rejoindre l’appel.",
"action":{
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Un autre utilisateur dans cet appel a un problème. Pour nous permettre de résoudre le problème, nous aimerions récupérer un journal de débogage.",
"close":"Fermer",
"Audio":"Audio",
"copy":"Copier",
"Avatar":"Avatar",
"copy_link":"Copier le lien",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"En cliquant sur «Commencer» vous acceptez nos <2>conditions d’utilisation</2>",
"go":"Commencer",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"En cliquant sur «Rejoindre l’appel» vous acceptez nos <2>conditions d’utilisation</2>",
"invite":"Inviter",
"Call link copied":"Lien de l’appel copié",
"no":"Non",
"Call type menu":"Menu de type d’appel",
"register":"S’enregistrer",
"Camera":"Caméra",
"remove":"Supprimer",
"Camera {{n}}":"Caméra {{n}}",
"sign_in":"Connexion",
"Camera/microphone permissions needed to join the call.":"Accès à la caméra et au microphone requis pour rejoindre l’appel.",
"sign_out":"Déconnexion",
"Change layout":"Changer la disposition",
"submit":"Envoyer"
"Close":"Fermer",
},
"Confirm password":"Confirmer le mot de passe",
"analytics_notice":"En participant à cette beta, vous consentez à la collecte de données anonymes, qui seront utilisées pour améliorer le produit. Vous trouverez plus d’informations sur les données collectées dans notre <2>Politique de vie privée</2> et notre <5>Politique de cookies</5>.",
"Connection lost":"Connexion interrompue",
"app_selection_modal":{
"Copied!":"Copié!",
"continue_in_browser":"Continuer dans le navigateur",
"Copy and share this call link":"Copier et partager le lien de cet appel",
"open_in_app":"Ouvrir dans l’application",
"Create account":"Créer un compte",
"text":"Prêt à rejoindre?",
"Debug log":"Journal de débogage",
"title":"Choisissez l’application"
"Debug log request":"Demande d’un journal de débogage",
"browser_media_e2ee_unsupported":"Votre navigateur web ne prend pas en charge le chiffrement de bout-en-bout des médias. Les navigateurs pris en charge sont Chrome, Safari, Firefox >= 117",
"Details":"Informations",
"call_ended_view":{
"Developer":"Développeur",
"body":"Vous avez été déconnecté de l’appel",
"Display name":"Nom d’affichage",
"create_account_button":"Créer un compte",
"Download debug logs":"Télécharger les journaux de débogage",
"create_account_prompt":"<0>Pourquoi ne pas créer un mot de passe pour conserver votre compte?</0><1>Vous pourrez garder votre nom et définir un avatar pour vos futurs appels</1>",
"Exit full screen":"Quitter le plein écran",
"feedback_done":"<0>Merci pour votre commentaire !</0>",
"Freedom":"Libre",
"feedback_prompt":"<0>Nous aimerions avoir vos commentaires afin que nous puissions améliorer votre expérience.</0>",
"Full screen":"Plein écran",
"headline":"{{displayName}}, votre appel est terminé.",
"Go":"Commencer",
"not_now_button":"Pas maintenant, retourner à l’accueil",
"Grid layout menu":"Menu en grille",
"reconnect_button":"Se reconnecter",
"Having trouble? Help us fix it.":"Un problème? Aidez nous à le résoudre.",
"survey_prompt":"Comment cela s’est-il passé ?"
"Home":"Accueil",
},
"Include debug logs":"Inclure les journaux de débogage",
"Join existing call?":"Rejoindre un appel existant?",
"loading":"Chargement…",
"Leave":"Partir",
"password":"Mot de passe",
"Loading room…":"Chargement du salon…",
"profile":"Profil",
"Loading…":"Chargement…",
"settings":"Paramètres",
"Local volume":"Volume local",
"unencrypted":"Non chiffré",
"Logging in…":"Connexion…",
"username":"Nom d’utilisateur",
"Login":"Connexion",
"video":"Vidéo"
"Login to your account":"Connectez vous à votre compte",
},
"Microphone":"Microphone",
"disconnected_banner":"La connexion avec le serveur a été perdue.",
"Microphone permissions needed to join the call.":"Accès au microphone requis pour rejoindre l’appel.",
"full_screen_view_description":"<0>Soumettre les journaux de débogage nous aidera à déterminer le problème.</0>",
"Microphone {{n}}":"Microphone {{n}}",
"full_screen_view_h1":"<0>Oups, quelque chose s’est mal passé.</0>",
"More":"Plus",
"group_call_loader_failed_heading":"Appel non trouvé",
"More menu":"Menu plus",
"group_call_loader_failed_text":"Les appels sont maintenant chiffrés de bout-en-bout et doivent être créés depuis la page d’accueil. Cela permet d’être sûr que tout le monde utilise la même clé de chiffrement.",
"Mute microphone":"Couper le micro",
"hangup_button_label":"Terminer l’appel",
"No":"Non",
"header_label":"Accueil Element Call",
"Not now, return to home screen":"Pas maintenant, retourner à l’accueil",
"invite_modal":{
"Not registered yet? <2>Create an account</2>":"Pas encore de compte? <2>En créer un</2>",
"link_copied_toast":"Liencopié dans le presse-papier",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Des utilisateurs essayent de rejoindre cet appel à partir de versions incompatibles. Ces utilisateurs doivent rafraîchir la page dans leur navigateur: <1>{userLis}</1>",
"title":"Inviter dans cet appel"
"Password":"Mot de passe",
},
"Passwords must match":"Les mots de passe doivent correspondre",
"join_existing_call_modal":{
"Press and hold spacebar to talk":"Appuyez et maintenez la barre d’espace enfoncée pour parler",
"join_button":"Oui, rejoindre l’appel",
"Press and hold spacebar to talk over {{name}}":"Appuyez et maintenez la barre d’espace enfoncée pour parler par dessus {{name}}",
"text":"Cet appel existe déjà, voulez-vous le rejoindre?",
"Press and hold to talk":"Appuyez et maintenez enfoncé pour parler",
"title":"Rejoindre un appel existant?"
"Press and hold to talk over {{name}}":"Appuyez et maintenez enfoncé pour parler par dessus {{name}}",
},
"Profile":"Profil",
"layout_grid_label":"Grille",
"Recaptcha dismissed":"Recaptcha refusé",
"layout_spotlight_label":"Premier plan",
"Recaptcha not loaded":"Recaptcha non chargé",
"lobby":{
"Register":"S’enregistrer",
"join_button":"Rejoindre l’appel",
"Registering…":"Enregistrement…",
"leave_button":"Revenir à l’historique des appels"
"Release spacebar key to stop":"Relâcher la barre d’espace pour arrêter",
},
"Release to stop":"Relâcher pour arrêter",
"logging_in":"Connexion…",
"Remove":"Supprimer",
"login_auth_links":"<0>Créer un compte</0> Or <2>Accès invité</2>",
"Return to home screen":"Retour à l’accueil",
"login_title":"Connexion",
"Save":"Enregistrer",
"microphone_off":"Microphone éteint",
"Saving…":"Enregistrement…",
"microphone_on":"Microphone allumé",
"Select an option":"Sélectionnez une option",
"mute_microphone_button_label":"Couper le microphone",
"Send debug logs":"Envoyer les journaux de débogage",
"rageshake_button_error_caption":"Réessayer d’envoyer les journaux",
"Sending…":"Envoi…",
"rageshake_request_modal":{
"Settings":"Paramètres",
"body":"Un autre utilisateur dans cet appel a un problème. Pour nous permettre de résoudre le problème, nous aimerions récupérer un journal de débogage.",
"rageshake_send_logs":"Envoyer les journaux de débogage",
"Sign out":"Déconnexion",
"rageshake_sending":"Envoi…",
"Spatial audio":"Audio spatialisé",
"rageshake_sending_logs":"Envoi des journaux de débogage…",
"Spotlight":"Premier plan",
"rageshake_sent":"Merci!",
"Stop sharing screen":"Arrêter le partage d’écran",
"recaptcha_caption":"Ce site est protégé par ReCAPTCHA, la <2>politique de confidentialité</2> et les <6>conditions d’utilisation</6> de Google s’appliquent.<9></9>En cliquant sur « S’enregistrer» vous acceptez également notre <12>Contrat de Licence Utilisateur Final (CLUF)</12>",
"Submit feedback":"Envoyer des retours",
"recaptcha_dismissed":"Recaptcha refusé",
"Submitting feedback…":"Envoi des retours…",
"recaptcha_not_loaded":"Recaptcha non chargé",
"Take me Home":"Retouner à l’accueil",
"register":{
"Talk over speaker":"Parler par dessus l’intervenant",
"passwords_must_match":"Les mots de passe doivent correspondre",
"Thanks! We'll get right on it.":"Merci! Nous allons nous y attaquer.",
"registering":"Enregistrement…"
"This call already exists, would you like to join?":"Cet appel existe déjà, voulez-vous le rejoindre?",
},
"{{name}} is presenting":"{{name}} est le présentateur",
"register_auth_links":"<0>Vous avez déjà un compte?</0><1><0>Se connecter</0> Ou <2>Accès invité</2></1>",
"Fetching group call timed out.":"Échec de connexion à l’appel de groupe dans le temps imparti.",
"register_confirm_password_label":"Confirmer le mot de passe",
"{{name}} is talking…":"{{name}} est en train de parler…",
"room_auth_view_eula_caption":"En cliquant sur «Rejoindre l’appel maintenant», vous acceptez notre <2>Contrat de Licence Utilisateur Final (CLUF)</2>",
"Waiting for other participants…":"En attente d’autres participants…",
"feedback_tab_send_logs_label":"Inclure les journaux de débogage",
"Waiting for network":"En attente du réseau",
"feedback_tab_thank_you":"Merci, nous avons reçu vos commentaires!",
"Video call name":"Nom de l’appel vidéo",
"feedback_tab_title":"Commentaires",
"Video call":"Appel vidéo",
"more_tab_title":"Plus",
"Video":"Vidéo",
"opt_in_description":"<0></0><1></1>Vous pouvez retirer votre consentement en décochant cette case. Si vous êtes actuellement en communication, ce paramètre prendra effet à la fin de l’appel.",
"Version: {{version}}":"Version: {{version}}",
"show_connection_stats_label":"Afficher les statistiques de la connexion",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Cela donnera l’impression que le son de l’intervenant provient de là où leur tuile est positionnée sur l’écran. (Fonctionnalité expérimentale: ceci pourrait avoir un impact sur la stabilité du son.)",
"stop_screenshare_button_label":"L’écran est partagé",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Ce site est protégé par ReCAPTCHA, la <2>politique de confidentialité</2> et les <6>conditions d’utilisation</6> de Google s’appliquent.<9></9>En cliquant sur « S’enregistrer» vous acceptez également nos <12>conditions d’utilisation</12>",
"stop_video_button_label":"Arrêter la vidéo",
"Talking…":"Vous parlez…",
"submitting":"Envoi…",
"Speaker {{n}}":"Intervenant {{n}}",
"unauthenticated_view_body":"Pas encore de compte? <2>En créer un</2>",
"Speaker":"Intervenant",
"unauthenticated_view_eula_caption":"En cliquant sur «Commencer», vous acceptez notre <2>Contrat de Licence Utilisateur Final (CLUF)</2>",
"Invite":"Inviter",
"unauthenticated_view_login_button":"Connectez vous à votre compte",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Vous avez déjà un compte?</0><1><0>Se connecter</0> Ou <2>Accès invité</2></1>",
"unmute_microphone_button_label":"Allumer le microphone",
"Sending debug logs…":"Envoi des journaux de débogage…",
"version":"Version: {{version}}",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Rejoindre l’appel maintenant</0><1>Ou</1><2>Copier le lien de l’appel et rejoindre plus tard</2>",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Cela enverra des données anonymisées (telles que la durée d’un appel et le nombre de participants) à l’équipe de Element Call pour aider à optimiser l’application en fonction de l’utilisation.",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Bascule sur les raccourcis clavier à touche unique, par exemple « m » pour désactiver / activer le micro.",
"Single-key keyboard shortcuts":"Raccourcis clavier en une touche",
"{{name}} (Waiting for video...)":"{{name}} (En attente de vidéo…)",
"This feature is only supported on Firefox.":"Cette fonctionnalité est prise en charge dans Firefox uniquement.",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Soumettre les journaux de débogage nous aidera à déterminer le problème.</0>",
"<0>Oops, something's gone wrong.</0>":"<0>Oups, quelque chose s’est mal passé.</0>"
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Sudah punya akun?</0><1><0>Masuk</0> Atau <2>Akses sebagai tamu</2></1>",
"a11y":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Buat akun</0> Atau <2>Akses sebagai tamu</2>",
"user_menu":"Menu pengguna"
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Kenapa tidak selesaikan dengan mengatur sebuah kata sandi untuk menjaga akun Anda?</0><1>Anda akan dapat tetap menggunakan nama Anda dan atur sebuah avatar untuk digunakan dalam panggilan di masa mendatang</1>",
},
"Accept camera/microphone permissions to join the call.":"Terima izin kamera/mikrofon untuk bergabung ke panggilan.",
"action":{
"Accept microphone permissions to join the call.":"Terima izin mikrofon untuk bergabung ke panggilan.",
"close":"Tutup",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Pengguna yang lain di panggilan ini sedang mengalami masalah. Supaya dapat mendiagnosa masalah ini, kami ingin mengumpulkan sebuah catatan pengawakutuan.",
"copy":"Salin",
"Audio":"Audio",
"copy_link":"Salin tautan",
"Avatar":"Avatar",
"go":"Bergabung",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Dengan mengeklik \"Bergabung\", Anda terima <2>syarat dan ketentuan</2> kami",
"invite":"Undang",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Dengan mengeklik \"Bergabung ke panggilan sekarang\", Anda terima <2>syarat dan ketentuan</2> kami",
"no":"Tidak",
"Call link copied":"Tautan panggilan disalin",
"register":"Daftar",
"Call type menu":"Menu jenis panggilan",
"remove":"Hapus",
"Camera":"Kamera",
"sign_in":"Masuk",
"Camera {{n}}":"Kamera {{n}}",
"sign_out":"Keluar",
"Camera/microphone permissions needed to join the call.":"Izin kamera/mikrofon dibutuhkan untuk bergabung ke panggilan.",
"submit":"Kirim"
"Change layout":"Ubah tata letak",
},
"Close":"Tutup",
"analytics_notice":"Dengan bergabung dalam beta ini, Anda mengizinkan kami untuk mengumpulkan data anonim, yang kami gunakan untuk meningkatkan produk ini. Anda dapat mempelajari lebih lanjut tentang data apa yang kami lacak dalam <2>Kebijakan Privasi</2> dan <5>Kebijakan Kuki</5> kami.",
"Confirm password":"Konfirmasi kata sandi",
"app_selection_modal":{
"Connection lost":"Koneksi hilang",
"continue_in_browser":"Lanjutkan dalam peramban",
"Copied!":"Disalin!",
"open_in_app":"Buka dalam aplikasi",
"Copy and share this call link":"Salin dan bagikan tautan panggilan ini",
"browser_media_e2ee_unsupported":"Peramban web Anda tidak mendukung enkripsi media ujung ke ujung. Peramban yang didukung adalah Chrome, Safari, dan Firefox >=117",
"Description (optional)":"Deskripsi (opsional)",
"call_ended_view":{
"Details":"Detail",
"body":"Anda terputus dari panggilan",
"Developer":"Pengembang",
"create_account_button":"Buat akun",
"Display name":"Nama tampilan",
"create_account_prompt":"<0>Kenapa tidak selesaikan dengan mengatur sebuah kata sandi untuk menjaga akun Anda?</0><1>Anda akan dapat tetap menggunakan nama Anda dan atur sebuah avatar untuk digunakan dalam panggilan di masa mendatang</1>",
"Incompatible versions!":"Versi tidak kompatibel!",
"display_name":"Nama tampilan",
"Inspector":"Inspektur",
"encrypted":"Terenkripsi",
"Invite":"Undang",
"home":"Beranda",
"Invite people":"Undang orang",
"loading":"Memuat…",
"Join call":"Bergabung ke panggilan",
"microphone":"Mikrofon",
"Join call now":"Bergabung ke panggilan sekarang",
"password":"Kata sandi",
"Join existing call?":"Bergabung ke panggilan yang sudah ada?",
"profile":"Profil",
"Leave":"Keluar",
"settings":"Pengaturan",
"Loading room…":"Memuat ruangan…",
"unencrypted":"Tidak terenkripsi",
"Loading…":"Memuat…",
"username":"Nama pengguna"
"Local volume":"Volume lokal",
},
"Logging in…":"Memasuki…",
"disconnected_banner":"Koneksi ke server telah hilang.",
"Login":"Masuk",
"full_screen_view_description":"<0>Mengirim catatan pengawakutuan akan membantu kami melacak masalahnya.</0>",
"Login to your account":"Masuk ke akun Anda",
"full_screen_view_h1":"<0>Aduh, ada yang salah.</0>",
"Microphone":"Mikrofon",
"group_call_loader_failed_heading":"Panggilan tidak ditemukan",
"Microphone permissions needed to join the call.":"Izin mikrofon dibutuhkan untuk bergabung ke panggilan ini.",
"group_call_loader_failed_text":"Panggilan sekarang terenkripsi secara ujung ke ujung dan harus dibuat dari laman beranda. Ini memastikan bahwa semuanya menggunakan kunci enkripsi yang sama.",
"Microphone {{n}}":"Mikrofon {{n}}",
"hangup_button_label":"Akhiri panggilan",
"More":"Lainnya",
"header_label":"Beranda Element Call",
"More menu":"Menu lainnya",
"header_participants_label":"Peserta",
"Mute microphone":"Bisukan mikrofon",
"invite_modal":{
"No":"Tidak",
"link_copied_toast":"Tautan disalin ke papan klip",
"Not now, return to home screen":"Tidak sekarang, kembali ke layar beranda",
"title":"Undang ke panggilan ini"
"Not registered yet? <2>Create an account</2>":"Belum terdaftar? <2>Buat sebuah akun</2>",
},
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Pengguna lain sedang mencoba bergabung ke panggilan ini dari versi yang tidak kompatibel. Pengguna berikut seharusnya memastikan bahwa mereka telah memuat ulang peramban mereka: <1>{userLis}</1>",
"join_existing_call_modal":{
"Password":"Kata sandi",
"join_button":"Ya, bergabung ke panggilan",
"Passwords must match":"Kata sandi harus cocok",
"text":"Panggilan ini sudah ada, apakah Anda ingin bergabung?",
"Press and hold spacebar to talk":"Tekan dan tahan bilah spasi untuk berbicara",
"title":"Bergabung ke panggilan yang sudah ada?"
"Press and hold spacebar to talk over {{name}}":"Tekan dan tahan bilah spasi untuk berbicara pada {{name}}",
},
"Press and hold to talk":"Tekan dan tahan untuk berbicara",
"layout_grid_label":"Kisi",
"Press and hold to talk over {{name}}":"Tekan dan tahan untuk berbicara pada {{name}}",
"layout_spotlight_label":"Sorotan",
"Profile":"Profil",
"lobby":{
"Recaptcha dismissed":"Recaptcha ditutup",
"join_button":"Bergabung ke panggilan",
"Recaptcha not loaded":"Recaptcha tidak dimuat",
"leave_button":"Kembali ke terkini"
"Register":"Daftar",
},
"Registering…":"Mendaftarkan…",
"logging_in":"Memasuki…",
"Release spacebar key to stop":"Lepaskan bilah spasi untuk berhenti",
"login_auth_links":"<0>Buat akun</0> Atau <2>Akses sebagai tamu</2>",
"Release to stop":"Lepaskan untuk berhenti",
"login_title":"Masuk",
"Remove":"Hapus",
"microphone_off":"Mikrofon dimatikan",
"Return to home screen":"Kembali ke layar beranda",
"rageshake_button_error_caption":"Kirim ulang catatan",
"Select an option":"Pilih sebuah opsi",
"rageshake_request_modal":{
"Send debug logs":"Kirim catatan pengawakutuan",
"body":"Pengguna yang lain di panggilan ini sedang mengalami masalah. Supaya dapat mendiagnosa masalah ini, kami ingin mengumpulkan sebuah catatan pengawakutuan.",
"recaptcha_caption":"Situs ini dilindungi oleh reCAPTCHA dan <2>Kebijakan Privasi</2> dan <6>Ketentuan Layanan</6> Google berlaku.<9></9>Dengan mengeklik \"Daftar\", Anda menyetujui <12>Perjanjian Lisensi Pengguna Akhir (EULA)</12> kami",
"register_auth_links":"<0>Sudah punya akun?</0><1><0>Masuk</0> Atau <2>Akses sebagai tamu</2></1>",
"Talk over speaker":"Bicara pada pembicara",
"register_confirm_password_label":"Konfirmasi kata sandi",
"Talking…":"Berbicara…",
"return_home_button":"Kembali ke layar beranda",
"Thanks! We'll get right on it.":"Terima kasih! Kami akan melihatnya.",
"room_auth_view_eula_caption":"Dengan mengeklik \"Bergabung ke panggilan sekarang\", Anda menyetujui <2>Perjanjian Lisensi Pengguna Akhir (EULA)</2> kami",
"This call already exists, would you like to join?":"Panggilan ini sudah ada, apakah Anda ingin bergabung?",
"room_auth_view_join_button":"Bergabung ke panggilan sekarang",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Situs ini dilindungi oleh ReCAPTCHA dan <2>Kebijakan Privasi</2> dan <6>Ketentuan Layanan</6> Google berlaku.<9>Dengan mengeklik \"Daftar\", Anda terima <12>syarat dan ketentuan</12> kami",
"screenshare_button_label":"Bagikan layar",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Ini akan membuat suara pembicara seolah-olah berasal dari tempat ubin mereka diposisikan di layar. (Fitur uji coba: ini dapat memengaruhi stabilitas audio.)",
"feedback_tab_thank_you":"Terima kasih, kami telah menerima masukan Anda!",
"Video call name":"Nama panggilan video",
"feedback_tab_title":"Masukan",
"Waiting for network":"Menunggu jaringan",
"more_tab_title":"Lainnya",
"Waiting for other participants…":"Menunggu peserta lain…",
"opt_in_description":"<0></0><1></1>Anda dapat mengurungkan kembali izin dengan mencentang kotak ini. Jika Anda saat ini dalam panggilan, pengaturan ini akan diterapkan di akhir panggilan.",
"Walkie-talkie call":"Panggilan protofon",
"show_connection_stats_label":"Tampilkan statistik koneksi",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Bergabung panggilan sekarang</0><1>Atau</1><2>Salin tautan dan bergabung nanti</2>",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Ini akan mengirimkan data anonim (seperti durasi dan jumlah peserta panggilan) ke tim Element Call untuk membantu kami mengoptimalkan aplikasi berdasarkan bagaimana penggunaannya.",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Apakah pintasan papan ketik seharusnya diaktifkan, mis. 'm' untuk membisukan/menyuarakan mikrofon.",
"Single-key keyboard shortcuts":"Pintasan papan ketik satu tombol",
"{{name}} (Waiting for video...)":"{{name}} (Menunggu video...)",
"This feature is only supported on Firefox.":"Fitur ini hanya didukung di Firefox.",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Mengirim catatan pengawakutuan akan membantu kami melacak masalahnya.</0>",
"<0>Oops, something's gone wrong.</0>":"<0>Aduh, ada yang salah.</0>"
"analytics_notice":"Partecipando a questa beta, acconsenti alla raccolta di dati anonimi che usiamo per migliorare il prodotto. Puoi trovare più informazioni su quali dati monitoriamo nella nostra <2>informativa sulla privacy</2> e nell'<5>informativa sui cookie</5>.",
"app_selection_modal":{
"continue_in_browser":"Continua nel browser",
"open_in_app":"Apri nell'app",
"text":"Tutto pronto per entrare?",
"title":"Seleziona app"
},
"browser_media_e2ee_unsupported":"Il tuo browser non supporta la crittografia end-to-end dei media. I browser supportati sono Chrome, Safari, Firefox >=117",
"call_ended_view":{
"body":"Sei stato disconnesso dalla chiamata",
"create_account_button":"Crea profilo",
"create_account_prompt":"<0>Ti va di terminare impostando una password per mantenere il profilo?</0><1>Potrai mantenere il tuo nome e impostare un avatar da usare in chiamate future</1>",
"feedback_done":"<0>Grazie per la tua opinione!</0>",
"feedback_prompt":"<0>Vorremmo sapere la tua opinione in modo da migliorare l'esperienza.</0>",
"headline":"{{displayName}}, la chiamata è terminata.",
"not_now_button":"Non ora, torna alla schermata principale",
"reconnect_button":"Riconnetti",
"survey_prompt":"Com'è andata?"
},
"call_name":"Nome della chiamata",
"common":{
"camera":"Fotocamera",
"copied":"Copiato!",
"display_name":"Il tuo nome",
"encrypted":"Cifrata",
"home":"Pagina iniziale",
"loading":"Caricamento…",
"microphone":"Microfono",
"profile":"Profilo",
"settings":"Impostazioni",
"unencrypted":"Non cifrata",
"username":"Nome utente"
},
"disconnected_banner":"La connessione al server è stata persa.",
"full_screen_view_description":"<0>L'invio di registri di debug ci aiuterà ad individuare il problema.</0>",
"full_screen_view_h1":"<0>Ops, qualcosa è andato storto.</0>",
"group_call_loader_failed_heading":"Chiamata non trovata",
"group_call_loader_failed_text":"Le chiamate ora sono cifrate end-to-end e devono essere create dalla pagina principale. Ciò assicura che chiunque usi la stessa chiave di crittografia.",
"hangup_button_label":"Termina chiamata",
"header_label":"Inizio di Element Call",
"header_participants_label":"Partecipanti",
"invite_modal":{
"link_copied_toast":"Collegamento copiato negli appunti",
"title":"Invita a questa chiamata"
},
"join_existing_call_modal":{
"join_button":"Sì, entra in chiamata",
"text":"Questa chiamata esiste già, vuoi entrare?",
"title":"Entrare in una chiamata esistente?"
},
"layout_grid_label":"Griglia",
"layout_spotlight_label":"In primo piano",
"lobby":{
"join_button":"Entra in chiamata",
"leave_button":"Torna ai recenti"
},
"logging_in":"Accesso…",
"login_auth_links":"<0>Crea un profilo</0> o <2>Accedi come ospite</2>",
"login_title":"Accedi",
"microphone_off":"Microfono spento",
"microphone_on":"Microfono acceso",
"mute_microphone_button_label":"Spegni il microfono",
"rageshake_button_error_caption":"Riprova l'invio dei registri",
"rageshake_request_modal":{
"body":"Un altro utente in questa chiamata sta avendo problemi. Per diagnosticare meglio questi problemi, vorremmo raccogliere un registro di debug.",
"title":"Richiesta registro di debug"
},
"rageshake_send_logs":"Invia registri di debug",
"rageshake_sending":"Invio…",
"rageshake_sending_logs":"Invio dei registri di debug…",
"rageshake_sent":"Grazie!",
"recaptcha_caption":"Questo sito è protetto da ReCAPTCHA e si applicano l'<2>informativa sulla privacy</2> e i <6>termini di servizio</6> di Google.<9></9>Cliccando \"Registra\", accetti il nostro <12>accordo di licenza con l'utente finale (EULA)</12>",
"developer_settings_label":"Impostazioni per sviluppatori",
"developer_settings_label_description":"Mostra le impostazioni per sviluppatori nella finestra delle impostazioni.",
"developer_tab_title":"Sviluppatore",
"feedback_tab_body":"Se stai riscontrando problemi o semplicemente vuoi dare un'opinione, inviaci una breve descrizione qua sotto.",
"feedback_tab_description_label":"Il tuo commento",
"feedback_tab_h4":"Invia commento",
"feedback_tab_send_logs_label":"Includi registri di debug",
"feedback_tab_thank_you":"Grazie, abbiamo ricevuto il tuo commento!",
"more_tab_title":"Altro",
"opt_in_description":"<0></0><1></1>Puoi revocare il consenso deselezionando questa casella. Se attualmente sei in una chiamata, avrà effetto al termine di essa.",
"analytics_notice":"Piedalīšanās šajā beta apliecina piekrišanu anonīmu datu ievākšanai, ko mēs izmantojam, lai uzlabotu izstrādājumu. Vairāk informācijas par datiem, ko mēs ievācam, var atrast mūsu <2>privātuma nosacījumos</2> un <5>sīkdatņu nosacījumos</5>.",
"call_ended_view":{
"body":"Tu tiki atvienots no zvana",
"create_account_button":"Izveidot kontu",
"create_account_prompt":"<0>Kādēļ nepabeigt ar paroles iestatīšanu, lai paturētu savu kontu?</0><1>Būs iespējams paturēt savu vārdu un iestatīt attēlu izmantošanai turpmākajos zvanos</1>",
"feedback_done":"<0>Paldies par atsauksmi!</0>",
"feedback_prompt":"<0>Mums patiktu saņemt Tavu atsauksmi, lai mēs varētu uzlabot Tavu pieredzi.</0>",
"headline":"{{displayName}}, Tavs zvans ir beidzies.",
"not_now_button":"Ne tagad, atgriezties sākuma ekrānā",
"reconnect_button":"Atkārtoti savienoties",
"survey_prompt":"Kā Tev veicās?"
},
"common":{
"audio":"Skaņa",
"avatar":"Attēls",
"camera":"Kamera",
"copied":"Ievietots starpliktuvē.",
"display_name":"Attēlojamais vārds",
"home":"Sākums",
"loading":"Lādējas…",
"microphone":"Mikrofons",
"password":"Parole",
"profile":"Profils",
"settings":"Iestatījumi",
"username":"Lietotājvārds"
},
"disconnected_banner":"Ir zaudēts savienojums ar serveri.",
"full_screen_view_description":"<0>Atkļūdošanas žurnāla ierakstu iesūtīšana palīdzēs mums atklāt nepilnību.</0>",
"full_screen_view_h1":"<0>Ak vai, kaut kas nogāja greizi!</0>",
"header_label":"Element Call sākums",
"join_existing_call_modal":{
"join_button":"Jā, pievienoties zvanam",
"text":"Šis zvans jau pastāv. Vai vēlies pievienoties?",
"title":"Pievienoties esošam zvanam?"
},
"layout_spotlight_label":"Starmešu gaisma",
"lobby":{
"join_button":"Pievienoties zvanam"
},
"logging_in":"Piesakās…",
"login_auth_links":"<0>Izveidot kontu</0> vai <2>Piekļūt kā viesim</2>",
"login_title":"Pieteikties",
"rageshake_button_error_caption":"Atkārtoti mēģināt žurnāla ierakstu nosūtīšanu",
"rageshake_request_modal":{
"body":"Citam lietotājam šajā zvanā ir sarežģījumi. Lai labāk atklātu šīs nepilnības, mēs gribētu iegūt atkļūdošanas žurnālu.",
"recaptcha_caption":"Šo vietni aizsargā ReCAPTCHA, un ir attiecināmi Google <2>privātuma nosacījumi</2> un <6>pakalpojuma noteikumi</6>.<9></9>Klikšķināšana uz \"Reģistrēties\" sniedz piekrišanu mūsu <12>galalietotāja licencēšanas nolīgumam (GLLN)</12>",
"recaptcha_dismissed":"ReCaptcha atmesta",
"recaptcha_not_loaded":"ReCaptcha nav ielādēta",
"register":{
"passwords_must_match":"Parolēm ir jāsakrīt",
"registering":"Reģistrē…"
},
"register_auth_links":"<0>Jau ir konts?</0><1><0>Pieteikties</0> vai <2>Piekļūt kā viesim</2></1>",
"feedback_tab_thank_you":"Paldies, mēs saņēmām atsauksmi!",
"feedback_tab_title":"Atsauksmes",
"more_tab_title":"Vairāk",
"opt_in_description":"<0></0><1></1>Savu piekrišanu var atsaukt ar atzīmes noņemšanu no šīs rūtiņas. Ja pašreiz atrodies zvanā, šis iestatījums stāsies spēkā zvana beigās.",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Klikając \"Kontynuuj\", wyrażasz zgodę na nasze <2>Warunki</2>",
"action":{
"{{count}} people connected|other":"{{count}} ludzi połączono",
"close":"Zamknij",
"Your recent calls":"Twoje ostatnie połączenia",
"copy":"Kopiuj",
"You can't talk at the same time":"Nie możesz mówićw tym samym czasie",
"copy_link":"Kopiuj link",
"Yes, join call":"Tak, dołącz do połączenia",
"go":"Przejdź",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC jest niewspierane lub zablokowane w tej przeglądarce.",
"invite":"Zaproś",
"Walkie-talkie call name":"Nazwa połączenia walkie-talkie",
"no":"Nie",
"Walkie-talkie call":"Połączenie walkie-talkie",
"register":"Zarejestruj",
"Waiting for other participants…":"Oczekiwanie na pozostałych uczestników…",
"remove":"Usuń",
"Waiting for network":"Oczekiwanie na sieć",
"sign_in":"Zaloguj się",
"Video call name":"Nazwa połączenia wideo",
"sign_out":"Wyloguj się",
"Video call":"Połączenie wideo",
"submit":"Wyślij"
"Video":"Wideo",
},
"Version: {{version}}":"Wersja: {{version}}",
"analytics_notice":"Uczestnicząc w tej becie, upoważniasz nas do zbierania anonimowych danych, które wykorzystamy do ulepszenia produktu. Dowiedz się więcej na temat danych, które zbieramy w naszej <2>Polityce prywatności</2> i <5>Polityce ciasteczek</5>.",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Sprawi to, że dźwięk mówcy będzie zdawał się dochodzić z jego miejsca na ekranie. (Funkcja eksperymentalna: może mieć wpływ na stabilność dźwięku.)",
"browser_media_e2ee_unsupported":"Twoja przeglądarka nie wspiera szyfrowania end-to-end. Wspierane przeglądarki to Chrome, Safari, Firefox >=117",
"This call already exists, would you like to join?":"Te połączenie już istnieje, czy chcesz do niego dołączyć?",
"call_ended_view":{
"Thanks! We'll get right on it.":"Dziękujemy! Zaraz siętym zajmiemy.",
"body":"Rozłączono Cię z połączenia",
"Talking…":"Mówienie…",
"create_account_button":"Utwórz konto",
"Take me Home":"Zabierz mnie do ekranu startowego",
"create_account_prompt":"<0>Może zechcesz ustawić hasło, aby zachować swoje konto?</0><1>Będziesz w stanie utrzymać swojąnazwę i ustawić awatar do wyświetlania podczas połączeń w przyszłości</1>",
"Submitting feedback…":"Przesyłanie opinii…",
"feedback_done":"<0>Dziękujemy za Twoją opinię!</0>",
"Submit feedback":"Prześlij opinię",
"feedback_prompt":"<0>Z przyjemnością wysłuchamy Twojej opinii, aby poprawić Twoje doświadczenia.</0>",
"Return to home screen":"Powróć do ekranu domowego",
"password":"Hasło",
"Remove":"Usuń",
"profile":"Profil",
"Release to stop":"Puść przycisk, aby przestać",
"settings":"Ustawienia",
"Release spacebar key to stop":"Puść spację, aby przestać",
"unencrypted":"Nie szyfrowane",
"Registering…":"Rejestrowanie…",
"username":"Nazwa użytkownika",
"Register":"Zarejestruj",
"video":"Wideo"
"Recaptcha not loaded":"Recaptcha nie została załadowana",
},
"Recaptcha dismissed":"Recaptcha odrzucona",
"disconnected_banner":"Utracono połączenie z serwerem.",
"Profile":"Profil",
"full_screen_view_description":"<0>Wysłanie dzienników debuggowania pomoże nam ustalić przyczynę problemu.</0>",
"Press and hold to talk over {{name}}":"Przytrzymaj, aby mówić wraz z {{name}}",
"full_screen_view_h1":"<0>Ojej, coś poszło nie tak.</0>",
"Press and hold to talk":"Przytrzymaj, aby mówić",
"group_call_loader_failed_heading":"Nie znaleziono połączenia",
"Press and hold spacebar to talk over {{name}}":"Przytrzymaj spację, aby mówić wraz z {{name}}",
"group_call_loader_failed_text":"Połączenia są teraz szyfrowane end-to-end i muszą zostać utworzone ze strony głównej. Pomaga to upewnić się, że każdy korzysta z tego samego klucza szyfrującego.",
"Press and hold spacebar to talk":"Przytrzymaj spację, aby mówić",
"hangup_button_label":"Zakończ połączenie",
"Passwords must match":"Hasła muszą być identyczne",
"header_label":"Strona główna Element Call",
"Password":"Hasło",
"header_participants_label":"Uczestnicy",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Inni użytkownicy próbujądołączyćdo tego połączenia przy użyciu niekompatybilnych wersji. Powinni oni upewnić się, że odświeżyli stronę w swoich przeglądarkach:<1>{userLis}</1>",
"invite_modal":{
"Not registered yet? <2>Create an account</2>":"Nie masz konta? <2>Utwórz je</2>",
"link_copied_toast":"Skopiowano link do schowka",
"Not now, return to home screen":"Nie teraz, powróć do ekranu domowego",
"title":"Zaproś do połączenia"
"No":"Nie",
},
"Mute microphone":"Wycisz mikrofon",
"join_existing_call_modal":{
"More":"Więcej",
"join_button":"Tak, dołącz do połączenia",
"Microphone permissions needed to join the call.":"Aby dołączyć do połączenia, potrzebne są uprawnienia do mikrofonu.",
"text":"Te połączenie już istnieje, czy chcesz do niego dołączyć?",
"Microphone {{n}}":"Mikrofon {{n}}",
"title":"Dołączyć do istniejącego połączenia?"
"Microphone":"Mikrofon",
},
"Login to your account":"Zaloguj się do swojego konta",
"layout_grid_label":"Siatka",
"Logging in…":"Logowanie…",
"layout_spotlight_label":"Centrum uwagi",
"Local volume":"Lokalna głośność",
"lobby":{
"Loading…":"Ładowanie…",
"join_button":"Dołącz do połączenia",
"Loading room…":"Ładowanie pokoju…",
"leave_button":"Wróć do ostatnie"
"Leave":"Opuść",
},
"Join existing call?":"Dołączyć do istniejącego połączenia?",
"logging_in":"Logowanie…",
"Join call now":"Dołącz do połączenia teraz",
"login_auth_links":"<0>Utwórz konto</0> lub <2>Dołącz jako gość</2>",
"Fetching group call timed out.":"Przekroczono limit czasu na uzyskanie połączenia grupowego.",
"rageshake_sent":"Dziękujemy!",
"Exit full screen":"Zamknij pełny ekran",
"recaptcha_caption":"Ta witryna jest chroniona przez ReCAPTCHA, więc obowiązują <2>Polityka prywatności</2> i <6>Warunki usług</6> Google. Klikając \"Zarejestruj\", zgadzasz się na naszą <12>Umowę licencyjną (EULA)</12>",
"Copy and share this call link":"Skopiuj i podziel się linkiem do połączenia",
"return_home_button":"Powróć do strony głównej",
"Copied!":"Skopiowano!",
"room_auth_view_eula_caption":"Klikając \"Dołącz teraz do rozmowy\", zgadzasz się na naszą <2>Umowę licencyjną (EULA)</2>",
"Connection lost":"Połączenie utracone",
"room_auth_view_join_button":"Dołącz do połączenia teraz",
"Confirm password":"Potwierdź hasło",
"screenshare_button_label":"Udostępnij ekran",
"Close":"Zamknij",
"select_input_unset_button":"Wybierz opcję",
"Change layout":"Zmień układ",
"settings":{
"Camera/microphone permissions needed to join the call.":"Aby dołączyć do tego połączenia, potrzebne są uprawnienia do kamery/mikrofonu.",
"developer_settings_label":"Opcje programisty",
"Camera {{n}}":"Kamera {{n}}",
"developer_settings_label_description":"Wyświetl opcje programisty w oknie ustawień.",
"Camera":"Kamera",
"developer_tab_title":"Programista",
"Call type menu":"Menu rodzaju połączenia",
"feedback_tab_body":"Jeśli posiadasz problemy lub chciałbyś zgłosić swoją opinię, wyślij nam krótki opis.",
"Call link copied":"Skopiowano link do połączenia",
"feedback_tab_description_label":"Twoje opinie",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Klikając \"Dołącz do rozmowy\", wyrażasz zgodę na nasze <2>Warunki</2>",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Inny użytkownik w tym połączeniu napotkał problem. Aby lepiej zdiagnozować tę usterkę, chcielibyśmy zebrać dzienniki debugowania.",
"feedback_tab_title":"Opinia użytkownika",
"Accept microphone permissions to join the call.":"Przyznaj uprawnienia do mikrofonu aby dołączyć do połączenia.",
"more_tab_title":"Więcej",
"Accept camera/microphone permissions to join the call.":"Przyznaj uprawnienia do kamery/mikrofonu aby dołączyć do połączenia.",
"opt_in_description":"<0></0><1></1>Możesz wycofać swoją zgodę poprzez odznaczenie tego pola. Jeśli już jesteś w trakcie rozmowy, opcja zostanie zastosowana po jej zakończeniu.",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Może zechcesz ustawić hasło, aby zachować swoje konto?</0><1>Będziesz w stanie utrzymać swojąnazwę i ustawić awatar do wyświetlania podczas połączeń w przyszłości</1>",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Utwórz konto</0> Albo <2>Dołącz jako gość</2>",
"speaker_device_selection_label":"Głośnik"
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Masz jużkonto?</0><1><0>Zaloguj się</0> Albo <2>Dołącz jako gość</2></1>",
},
"{{roomName}} - Walkie-talkie call":"{{roomName}} - połączenie walkie-talkie",
"{{count}} people connected|one":"{{count}} osoba połączona",
"stop_video_button_label":"Zakończ wideo",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Czy włączyć skróty klawiszowe pojedynczych klawiszy, np. 'm' aby wyciszyć/załączyć mikrofon.",
"submitting":"Wysyłanie…",
"This feature is only supported on Firefox.":"Ta funkcjonalność jest dostępna tylko w Firefox.",
"<0>Submitting debug logs will help us track down the problem.</0>":"<0>Wysłanie logów debuggowania pomoże nam ustalić przyczynę problemu.</0>",
"video_tile":{
"<0>Oops, something's gone wrong.</0>":"<0>Ojej, coś poszło nie tak.</0>",
"sfu_participant_local":"Ty"
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Dołącz do rozmowy teraz</0><1>Or</1><2>Skopiuj link do rozmowy i dołącz później</2>",
},
"{{name}} (Waitingfor video...)":"{{name}} (Oczekiwanie na wideo...)",
"waiting_for_participants":"Oczekiwanie na pozostałych uczestników…"
"Waiting for other participants…":"Ожидание других участников…",
"copy":"Копировать",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Эта функция балансирует звук к расположению плитки на экране. (Экспериментальная функция: может повлиять на стабильность аудио.)",
"go":"Далее",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Этот сайт защищён ReCAPTCHA от Google, ознакомьтесь с их <2>Политикой конфиденциальности</2> и <6>Пользовательским соглашением</6>.<9></9>Нажимая \"Зарегистрироваться\", вы также принимаете наши <12>Положения и условия</12>.",
"no":"Нет",
"This call already exists, would you like to join?":"Этот звонок уже существует, хотите присоединиться?",
"register":"Зарегистрироваться",
"Thanks! We'll get right on it.":"Спасибо! Мы учтём ваш отзыв.",
"remove":"Удалить",
"Talking…":"Говорите…",
"sign_in":"Войти",
"Submitting feedback…":"Отправка отзыва…",
"sign_out":"Выйти",
"Submit feedback":"Отправить отзыв",
"submit":"Отправить"
"Sending debug logs…":"Отправка журнала отладки…",
},
"Select an option":"Выберите вариант",
"analytics_notice":"Участвуя в этой бета-версии, вы соглашаетесь на сбор анонимных данных, которые мы используем для улучшения продукта. Более подробную информацию о том, какие данные мы отслеживаем, вы можете найти в нашей <2> Политике конфиденциальности</2> и нашей <5> Политике использования файлов cookie</5>.",
"Release to stop":"Отпустите, чтобы прекратить вещание",
"call_ended_view":{
"Release spacebar key to stop":"Чтобы прекратить вещание, отпустите [Пробел]",
"create_account_button":"Создать аккаунт",
"Press and hold to talk over {{name}}":"Зажмите, чтобы говорить поверх участника {{name}}",
"create_account_prompt":"<0>Почему бы не задать пароль, тем самым сохранив аккаунт?</0><1>Так вы можете оставить своё имя и задать аватар для будущих звонков.</1>",
"Press and hold spacebar to talk over {{name}}":"Чтобы говорить поверх участника {{name}}, нажмите и удерживайте [Пробел]",
"feedback_done":"<0>Спасибо за обратную связь!</0>",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Другие пользователи пытаются присоединиться с неподдерживаемых версий программы. Этим участникам надо перезагрузить браузер: <1>{userLis}</1>",
"feedback_prompt":"<0>Мы будем рады видеть ваши отзывы, чтобы мы могли улучшить ваш опыт.</0>",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Нажимая \"Присоединиться сейчас\", вы соглашаетесь с нашими <2>положениями и условиями</2>",
"not_now_button":"Не сейчас, вернуться в Начало",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Нажимая \"Далее\", вы соглашаетесь с нашими <2>положениями и условиями</2>",
"survey_prompt":"Как всё прошло?"
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Почему бы не задать пароль, тем самым сохранив аккаунт?</0><1>Так вы можете оставить своё имя и задать аватар для будущих звонков.</1>",
},
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Создать аккаунт</0> или <2>Зайти как гость</2>",
"common":{
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Уже есть аккаунт?</0><1><0>Войти с ним</0> или <2>Зайти как гость</2></1>",
"audio":"Аудио",
"Your recent calls":"Ваши недавние звонки",
"avatar":"Аватар",
"You can't talk at the same time":"Вы не можете говорить одновременно",
"camera":"Камера",
"Yes, join call":"Да, присоединиться",
"copied":"Скопировано!",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC не поддерживается или заблокирован в этом браузере.",
"rageshake_sending_logs":"Отправка журнала отладки…",
"Download debug logs":"Скачать журнал отладки",
"recaptcha_dismissed":"Проверка не пройдена",
"Debug log request":"Запрос журнала отладки",
"recaptcha_not_loaded":"Невозможно начать проверку",
"Debug log":"Журнал отладки",
"register":{
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"У одного из участников звонка есть неполадки. Чтобы лучше диагностировать похожие проблемы, нам нужен журнал отладки.",
"passwords_must_match":"Пароли должны совпадать",
"Send debug logs":"Отправить журнал отладки",
"registering":"Регистрация…"
"Save":"Сохранить",
},
"Return to home screen":"Вернуться в Начало",
"register_auth_links":"<0>Уже есть аккаунт?</0><1><0>Войти с ним</0> или <2>Зайти как гость</2></1>",
"developer_settings_label_description":"Раскрыть настройки разработчика в окне настроек.",
"Not registered yet? <2>Create an account</2>":"Ещё не зарегистрированы? <2>Создайте аккаунт</2>",
"developer_tab_title":"Разработчику",
"Not now, return to home screen":"Не сейчас, вернуться в Начало",
"feedback_tab_body":"Если у вас возникли проблемы или вы просто хотите оставить отзыв, отправьте нам краткое описание ниже.",
"No":"Нет",
"feedback_tab_description_label":"Ваш отзыв",
"Mute microphone":"Отключить микрофон",
"feedback_tab_h4":"Отправить отзыв",
"More":"Больше",
"feedback_tab_send_logs_label":"Приложить журнал отладки",
"Microphone permissions needed to join the call.":"Нужно разрешение на доступ к микрофону для присоединения к звонку.",
"feedback_tab_thank_you":"Спасибо. Мы получили ваш отзыв!",
"Microphone {{n}}":"Микрофон {{n}}",
"feedback_tab_title":"Отзыв",
"Microphone":"Микрофон",
"more_tab_title":"Больше",
"Login to your account":"Войдите в свой аккаунт",
"opt_in_description":"<0></0><1></1>Вы можете отозвать согласие, сняв этот флажок. Если вы в данный момент находитесь в разговоре, эта настройка вступит в силу по окончании разговора.",
"Copy and share this call link":"Скопируйте и поделитесь этой ссылкой на звонок",
"Copied!":"Скопировано!",
"Connection lost":"Соединение потеряно",
"Confirm password":"Подтвердите пароль",
"Close":"Закрыть",
"Change layout":"Изменить расположение",
"Camera/microphone permissions needed to join the call.":"Нужны разрешения на доступ к камере/микрофону для присоединения к звонку.",
"Camera {{n}}":"Камера {{n}}",
"Camera":"Камера",
"Call link copied":"Ссылка на звонок скопирована",
"Avatar":"Аватар",
"Audio":"Аудио",
"Accept microphone permissions to join the call.":"Для присоединения к звонку разрешите доступ к микрофону.",
"Accept camera/microphone permissions to join the call.":"Для присоединения к звонку разрешите доступ к камере/микрофону.",
"{{name}} is talking…":"{{name}} говорит…",
"{{name}} is presenting":"{{name}} показывает",
"{{displayName}}, your call is now ended":"{{displayName}}, ваш звонок завершён",
"{{count}} people connected|other":"{{count}} подключилось",
"{{count}} people connected|one":"{{count}} подключился",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Это даст разрешение на отправку анонимизированных данных (таких, как продолжительность звонка и количество участников) команде Element Call, чтобы помочь нам оптимизировать работу приложения на основании того как оно используется.",
"Element Call Home":"Главная Element Call",
"Copy":"Копировать",
"Allow analytics":"Разрешить аналитику",
"Advanced":"Расширенные",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Присоединиться сейчас</0><1>или<1><2>cкопировать ссылку на звонок и присоединиться позже</2>",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Включить горячие клавиши, например 'm' чтобы отключить/включить микрофон.",
"This feature is only supported on Firefox.":"Эта возможность доступна только в Firefox.",
"Fetching group call timed out.":"Vypršal čas načítania skupinového volania.",
"action":{
"Element Call Home":"Domov Element Call",
"close":"Zatvoriť",
"You can't talk at the same time":"Nemôžete hovoriť naraz",
"copy":"Kopírovať",
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Či chcete povoliť jednotlačidlové klávesové skratky, napr. \"m\" na stlmenie/zapnutie mikrofónu.",
"copy_link":"Kopírovať odkaz",
"Waiting for other participants…":"Čaká sa na ďalších účastníkov…",
"go":"Prejsť",
"Waiting for network":"Čakanie na sieť",
"invite":"Pozvať",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Týmto spôsobom sa budú posielať anonymizované údaje (napríklad trvanie hovoru a počet účastníkov) tímu Element Call, aby nám pomohli optimalizovať aplikáciu na základe toho, ako sa používa.",
"no":"Nie",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Zvuk reproduktora tak bude vyzerať, akoby vychádzal z miesta, kde je na obrazovke umiestnená jeho ikona. (Experimentálna funkcia: môže to mať vplyv na stabilitu zvuku.)",
"register":"Registrovať sa",
"Thanks! We'll get right on it.":"Vďaka! Hneď sa do toho pustíme.",
"analytics_notice":"Účasťou v tejto beta verzii súhlasíte so zhromažďovaním anonymných údajov, ktoré použijeme na zlepšenie produktu. Viac informácií o tom, ktoré údaje sledujeme, nájdete v našich <2>Zásadách ochrany osobných údajov</2> a <5>Zásadách používania súborov cookie</5>.",
"Return to home screen":"Návrat na domovskú obrazovku",
"create_account_prompt":"<0>Prečo neskončiť nastavením hesla, aby ste si zachovali svoj účet? </0><1>Budete si môcť ponechať svoje meno a nastaviť obrázok, ktorý sa bude používať pri budúcich hovoroch</1>",
"Remove":"Odstrániť",
"feedback_done":"<0> Ďakujeme za vašu spätnú väzbu!</0>",
"Release spacebar key to stop":"Pustite medzerník pre ukončenie",
"feedback_prompt":"<0> Radi si vypočujeme vašu spätnú väzbu, aby sme mohli zlepšiť vaše skúsenosti.</0>",
"Release to stop":"Pustite pre ukončenie",
"headline":"{{displayName}}, váš hovor skončil.",
"Registering…":"Registrácia…",
"not_now_button":"Teraz nie, vrátiť sa na domovskú obrazovku",
"Register":"Registrovať sa",
"reconnect_button":"Znovu pripojiť",
"Recaptcha not loaded":"Recaptcha sa nenačítala",
"survey_prompt":"Ako to išlo?"
"Recaptcha dismissed":"Recaptcha zamietnutá",
},
"Profile":"Profil",
"call_name":"Názov hovoru",
"Press and hold to talk over {{name}}":"Stlačte a podržte pre hovor cez {{name}}",
"common":{
"Press and hold to talk":"Stlačte a podržte pre hovor",
"avatar":"Obrázok",
"Press and hold spacebar to talk over {{name}}":"Stlačte a podržte medzerník, ak chcete hovoriť cez {{name}}",
"camera":"Kamera",
"Press and hold spacebar to talk":"Stlačte a podržte medzerník, ak chcete hovoriť",
"copied":"Skopírované!",
"Passwords must match":"Heslá sa musia zhodovať",
"display_name":"Zobrazované meno",
"Password":"Heslo",
"encrypted":"Šifrované",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Ostatní používatelia sa pokúšajú pripojiť k tomuto hovoru z nekompatibilných verzií. Títo používatelia by sa mali uistiť, že si obnovili svoje prehliadače:<1>{userLis}</1>",
"home":"Domov",
"Not registered yet? <2>Create an account</2>":"Ešte nie ste zaregistrovaný? <2>Vytvorte si účet</2>",
"loading":"Načítanie…",
"Not now, return to home screen":"Teraz nie, vrátiť sa na domovskú obrazovku",
"microphone":"Mikrofón",
"No":"Nie",
"password":"Heslo",
"Mute microphone":"Stlmiť mikrofón",
"profile":"Profil",
"More menu":"Ponuka viac",
"settings":"Nastavenia",
"More":"Viac",
"unencrypted":"Nie je zašifrované",
"Microphone permissions needed to join the call.":"Povolenie mikrofónu je potrebné na pripojenie k hovoru.",
"username":"Meno používateľa"
"Microphone {{n}}":"Mikrofón {{n}}",
},
"Microphone":"Mikrofón",
"disconnected_banner":"Spojenie so serverom sa stratilo.",
"Login to your account":"Prihláste sa do svojho konta",
"full_screen_view_description":"<0>Odoslanie záznamov ladenia nám pomôže nájsť problém.</0>",
"Login":"Prihlásiť sa",
"full_screen_view_h1":"<0>Hups, niečo sa pokazilo.</0>",
"Logging in…":"Prihlasovanie…",
"group_call_loader_failed_heading":"Hovor nebol nájdený",
"Loading…":"Načítanie…",
"group_call_loader_failed_text":"Hovory sú teraz end-to-end šifrované a je potrebné ich vytvoriť z domovskej stránky. To pomáha zabezpečiť, aby všetci používali rovnaký šifrovací kľúč.",
"Loading room…":"Načítanie miestnosti…",
"hangup_button_label":"Ukončiť hovor",
"Leave":"Opustiť",
"header_label":"Domov Element Call",
"Join existing call?":"Pripojiť sa k existujúcemu hovoru?",
"header_participants_label":"Účastníci",
"Join call now":"Pripojiť sa k hovoru teraz",
"invite_modal":{
"Join call":"Pripojiť sa k hovoru",
"link_copied_toast":"Odkaz skopírovaný do schránky",
"body":"Ďalší používateľ v tomto hovore má problém. Aby sme mohli lepšie diagnostikovať tieto problémy, chceli by sme získať záznam o ladení.",
"Username":"Meno používateľa",
"title":"Žiadosť o záznam ladenia"
"User menu":"Používateľské menu",
},
"User ID":"ID používateľa",
"rageshake_send_logs":"Odoslať záznamy o ladení",
"Unmute microphone":"Zrušiť stlmenie mikrofónu",
"rageshake_sending":"Odosielanie…",
"Turn on camera":"Zapnúť kameru",
"rageshake_sending_logs":"Odosielanie záznamov o ladení…",
"Turn off camera":"Vypnúť kameru",
"rageshake_sent":"Ďakujeme!",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Táto stránka je chránená systémom ReCAPTCHA a platia na ňu <2>Pravidlá ochrany osobných údajov</2> a <6>Podmienky poskytovania služieb</6> spoločnosti Google.<9></9>Kliknutím na tlačidlo \"Registrovať sa\" vyjadrujete súhlas s našimi <12>Podmienkami poskytovania služieb</12>",
"recaptcha_caption":"Táto stránka je chránená systémom ReCAPTCHA a platia na ňu <2>Pravidlá ochrany osobných údajov spoločnosti Google</2> a <6>Podmienky poskytovania služieb</6>.<9></9>Kliknutím na tlačidlo \"Registrovať sa\" súhlasíte s našou <12>Licenčnou zmluvou s koncovým používateľom (EULA)</12>",
"This call already exists, would you like to join?":"Tento hovor už existuje, chceli by ste sa k nemu pripojiť?",
"recaptcha_dismissed":"Recaptcha zamietnutá",
"Speaker {{n}}":"Reproduktor {{n}}",
"recaptcha_not_loaded":"Recaptcha sa nenačítala",
"Speaker":"Reproduktor",
"register":{
"Spatial audio":"Priestorový zvuk",
"passwords_must_match":"Heslá sa musia zhodovať",
"Sign out":"Odhlásiť sa",
"registering":"Registrácia…"
"Sign in":"Prihlásiť sa",
},
"Settings":"Nastavenia",
"register_auth_links":"<0>Už máte konto?</0><1><0>Prihláste sa</0> Alebo <2>Prihlásiť sa ako hosť</2></1>",
"feedback_tab_send_logs_label":"Zahrnúť záznamy o ladení",
"Camera/microphone permissions needed to join the call.":"Povolenie kamery/mikrofónu je potrebné na pripojenie k hovoru.",
"feedback_tab_thank_you":"Ďakujeme, dostali sme vašu spätnú väzbu!",
"Camera {{n}}":"Kamera {{n}}",
"feedback_tab_title":"Spätná väzba",
"Camera":"Kamera",
"more_tab_title":"Viac",
"Call type menu":"Ponuka typu hovoru",
"opt_in_description":"<0></0><1></1>Súhlas môžete odvolať zrušením označenia tohto políčka. Ak práve prebieha hovor, toto nastavenie nadobudne platnosť po skončení hovoru.",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Kliknutím na \"Pripojiť sa k hovoru\" súhlasíte s našimi <2>Podmienkami</2>",
"speaker_device_selection_label":"Reproduktor"
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Kliknutím na tlačidlo \"Prejsť\" súhlasíte s našimi <2>Podmienkami</2>",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Ďalší používateľ v tomto hovore má problém. Aby sme mohli lepšie diagnostikovať tieto problémy, chceli by sme získať záznam o ladení.",
"Accept camera/microphone permissions to join the call.":"Prijmite povolenia kamery/mikrofónu, aby ste sa mohli pripojiť k hovoru.",
"stop_video_button_label":"Zastaviť video",
"Accept microphone permissions to join the call.":"Prijmite povolenia mikrofónu, aby ste sa mohli pripojiť k hovoru.",
"submitting":"Odosielanie…",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Prečo neskončiť nastavením hesla, aby ste si zachovali svoj účet? </0><1>Budete si môcť ponechať svoje meno a nastaviť obrázok, ktorý sa bude používať pri budúcich hovoroch</1>",
"unauthenticated_view_body":"Ešte nie ste zaregistrovaný? <2>Vytvorte si účet</2>",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Pripojiť sa k hovoru teraz</0><1>alebo</1><2>Kopírovať odkaz na hovor a pripojiť sa neskôr</2>",
"unauthenticated_view_eula_caption":"Kliknutím na tlačidlo \"Prejsť\" vyjadrujete súhlas s našou <2>Licenčnou zmluvou s koncovým používateľom (EULA)</2>",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Vytvoriť konto</0> Alebo <2>Prihlásiť sa ako hosť</2>",
"unauthenticated_view_login_button":"Prihláste sa do svojho konta",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Už máte konto?</0><1><0>Prihláste sa</0> Alebo <2>Prihlásiť sa ako hosť</2></1>",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Hesabınızı tutmak için niye bir parola açmıyorsunuz?</0><1>Böylece ileriki aramalarda adınızı ve avatarınızı kullanabileceksiniz</1>",
"action":{
"Accept camera/microphone permissions to join the call.":"Aramaya katılmanız için kamera/mikrofon erişimine izin verin.",
"close":"Kapat",
"Accept microphone permissions to join the call.":"Aramaya katılmak için mikrofon erişim izni verin.",
"go":"Git",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Bu aramadaki başka bir kullanıcı sorun yaşıyor. Sorunu daha iyi çözebilmemiz için hata ayıklama kütüğünü almak isteriz.",
"no":"Hayır",
"Audio":"Ses",
"register":"Kaydol",
"Avatar":"Avatar",
"remove":"Çıkar",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"\"Git\"e tıklayarak,<2>hükümler ve koşullar</2>ı kabul etmiş sayılırsınız",
"sign_in":"Gir",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"\"Şimdi katıl\"a tıklayarak, <2>hükümler ve koşullar</2>ı kabul etmiş sayılırsınız",
"sign_out":"Çık"
"Call link copied":"Arama bağlantısı kopyalandı",
},
"Call type menu":"Arama tipi menüsü",
"call_ended_view":{
"Camera":"Kamera",
"create_account_button":"Hesap aç",
"Camera {{n}}":"{{n}}. kamera",
"create_account_prompt":"<0>Hesabınızı tutmak için niye bir parola açmıyorsunuz?</0><1>Böylece ileriki aramalarda adınızı ve avatarınızı kullanabileceksiniz</1>",
"Camera/microphone permissions needed to join the call.":"Aramaya katılmak için kamera/mikrofon izinleri gerek.",
"not_now_button":"Şimdi değil, ev ekranına dön"
"Change layout":"Yerleşimi değiştir",
},
"Close":"Kapat",
"common":{
"Confirm password":"Parolayı tekrar edin",
"audio":"Ses",
"Connection lost":"Bağlantı koptu",
"camera":"Kamera",
"Copied!":"Kopyalandı",
"copied":"Kopyalandı",
"Copy and share this call link":"Arama bağlantısını kopyala ve paylaş",
"register_confirm_password_label":"Parolayı tekrar edin",
"Login to your account":"Hesabınıza girin",
"return_home_button":"Ev ekranına geri dön",
"Microphone":"Mikrofon",
"room_auth_view_join_button":"Aramaya katıl",
"Microphone permissions needed to join the call.":"Aramaya katılmak için mikrofon erişim izni gerek.",
"screenshare_button_label":"Ekran paylaş",
"Microphone {{n}}":"{{n}}. mikrofon",
"select_input_unset_button":"Bir seçenek seç",
"More":"Daha",
"settings":{
"More menu":"Daha fazla",
"developer_tab_title":"Geliştirici",
"Mute microphone":"Mikrofonu kapat",
"feedback_tab_h4":"Geri bildirim ver",
"No":"Hayır",
"feedback_tab_send_logs_label":"Hata ayıklama kütüğünü dahil et",
"Not now, return to home screen":"Şimdi değil, ev ekranına dön",
"more_tab_title":"Daha"
"Not registered yet? <2>Create an account</2>":"Kaydolmadınız mı? <2>Hesap açın</2>",
},
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Başka kullanıcılar uyumsuz sürümden katılmaya çalışıyorlar. <1>{userLis}</1> tarayıcılarını mutlaka tazelemeliler.",
"Thanks! We'll get right on it.":"Sağol! Bununla ilgileneceğiz.",
"This call already exists, would you like to join?":"Bu arama zaten var, katılmak ister misiniz?",
"{{count}} people connected|one":"{{count}} kişi bağlı",
"{{count}} people connected|other":"{{count}} kişi bağlı",
"{{displayName}}, your call is now ended":"Aramanız bitti, {{displayName]}!",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"{{name}} is presenting":"{{name}} sunuyor",
"{{name}} is talking…":"{{name}} konuşuyor…",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Hesap oluştur</0> yahut <2>Konuk olarak gir</2>",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Mevcut hesabınız mı var?</0><1><0>Gir</0> yahut <2>Konuk girişi</2></1>"
"You can't talk at the same time":"Не можна говорити одночасно",
},
"Yes, join call":"Так, приєднатися до виклику",
"action":{
"WebRTC is not supported or is being blocked in this browser.":"WebRTC не підтримується або блокується в цьому браузері.",
"close":"Закрити",
"Walkie-talkie call name":"Назва виклику-рації",
"copy":"Копіювати",
"Walkie-talkie call":"Виклик-рація",
"copy_link":"Скопіювати посилання",
"Waiting for other participants…":"Очікування на інших учасників…",
"go":"Далі",
"Waiting for network":"Очікування мережі",
"invite":"Запросити",
"Video call name":"Назва відеовиклику",
"no":"Ні",
"Video call":"Відеовиклик",
"register":"Зареєструватися",
"Video":"Відео",
"remove":"Вилучити",
"Version: {{version}}":"Версія: {{version}}",
"sign_in":"Увійти",
"Username":"Ім'я користувача",
"sign_out":"Вийти",
"User menu":"Меню користувача",
"submit":"Надіслати"
"User ID":"ID користувача",
},
"Unmute microphone":"Увімкнути мікрофон",
"analytics_notice":"Користуючись дочасним доступом, ви даєте згоду на збір анонімних даних, які ми використовуємо для вдосконалення продукту. Ви можете знайти більше інформації про те, які дані ми відстежуємо в нашій <2>Політиці Приватності</2> і нашій <5>Політиці про куки</5>.",
"Turn on camera":"Увімкнути камеру",
"app_selection_modal":{
"Turn off camera":"Вимкнути камеру",
"continue_in_browser":"Продовжити у браузері",
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"Це призведе до того, що звук мовця здаватиметься таким, ніби він надходить з того місця, де розміщено його плитку на екрані. (Експериментальна можливість: це може вплинути на стабільність звуку.)",
"open_in_app":"Відкрити у застосунку",
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"Цей сайт захищений ReCAPTCHA і до нього застосовується <2>Політика приватності</2> і <6>Умови надання послуг</6> Google.<9></9>Натискаючи кнопку «Зареєструватися», ви погоджуєтеся з нашими <12>Умовами та положеннями</12>",
"text":"Готові приєднатися?",
"This call already exists, would you like to join?":"Цей виклик уже існує, бажаєте приєднатися?",
"title":"Вибрати застосунок"
"Thanks! We'll get right on it.":"Дякуємо! Ми зараз же візьмемося за це.",
},
"Talking…":"Говоріть…",
"browser_media_e2ee_unsupported":"Ваш браузер не підтримує наскрізне шифрування мультимедійних даних. Підтримувані браузери: Chrome, Safari, Firefox >=117",
"create_account_prompt":"<0>Чому б не завершити, налаштувавши пароль для збереження свого облікового запису?</0><1>Ви зможете зберегти своє ім'я та встановити аватарку для подальшого користування під час майбутніх викликів</1>",
"Stop sharing screen":"Припинити показ екрана",
"feedback_done":"<0>Дякуємо за ваш відгук!</0>",
"Spotlight":"У центрі уваги",
"feedback_prompt":"<0>Ми будемо раді почути ваші відгуки, щоб поліпшити роботу застосунку.</0>",
"Sending debug logs…":"Надсилання журналу зневадження…",
"camera":"Камера",
"Send debug logs":"Надіслати журнал зневадження",
"copied":"Скопійовано!",
"Select an option":"Вибрати опцію",
"display_name":"Псевдонім",
"Saving…":"Збереження…",
"encrypted":"Зашифровано",
"Save":"Зберегти",
"home":"Домівка",
"Return to home screen":"Повернутися на екран домівки",
"loading":"Завантаження…",
"Remove":"Вилучити",
"microphone":"Мікрофон",
"Release to stop":"Відпустіть, щоб закінчити",
"password":"Пароль",
"Release spacebar key to stop":"Відпустіть пробіл, щоб закінчити",
"profile":"Профіль",
"Registering…":"Реєстрація…",
"settings":"Налаштування",
"Register":"Зареєструватися",
"unencrypted":"Не зашифровано",
"Recaptcha not loaded":"Recaptcha не завантажено",
"username":"Ім'я користувача",
"Recaptcha dismissed":"Recaptcha не пройдено",
"video":"Відео"
"Profile":"Профіль",
},
"Press and hold to talk over {{name}}":"Затисніть, щоб говорити одночасно з {{name}}",
"disconnected_banner":"Втрачено зв'язок з сервером.",
"Press and hold to talk":"Затисніть, щоб говорити",
"full_screen_view_description":"<0>Надсилання журналів налагодження допоможе нам виявити проблему.</0>",
"Press and hold spacebar to talk over {{name}}":"Щоб говорити одночасно з {{name}}, затисніть пробіл",
"full_screen_view_h1":"<0>Йой, щось пішло не за планом.</0>",
"Press and hold spacebar to talk":"Затисніть пробіл, щоб говорити",
"group_call_loader_failed_heading":"Виклик не знайдено",
"Passwords must match":"Паролі відрізняються",
"group_call_loader_failed_text":"Відтепер виклики захищено наскрізним шифруванням, і їх потрібно створювати з домашньої сторінки. Це допомагає переконатися, що всі користувачі використовують один і той самий ключ шифрування.",
"Password":"Пароль",
"hangup_button_label":"Завершити виклик",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"Інші користувачі намагаються приєднатися до цього виклику з несумісних версій. Ці користувачі повинні переконатися, що вони оновили сторінки своїх браузерів:<1>{userLis}</1>",
"header_label":"Домівка Element Call",
"Not registered yet? <2>Create an account</2>":"Ще не зареєстровані? <2>Створіть обліковий запис</2>",
"header_participants_label":"Учасники",
"Not now, return to home screen":"Не зараз, повернутися на екран домівки",
"invite_modal":{
"No":"Ні",
"link_copied_toast":"Посилання скопійовано до буфера обміну",
"Mute microphone":"Заглушити мікрофон",
"title":"Запросити до цього виклику"
"More menu":"Усе меню",
},
"More":"Докладніше",
"join_existing_call_modal":{
"Microphone permissions needed to join the call.":"Для участі у виклику необхідний дозвіл на користування мікрофоном.",
"join_button":"Так, приєднатися до виклику",
"Microphone {{n}}":"Мікрофон {{n}}",
"text":"Цей виклик уже існує, бажаєте приєднатися?",
"Microphone":"Мікрофон",
"title":"Приєднатися до наявного виклику?"
"Login to your account":"Увійдіть до свого облікового запису",
},
"Login":"Увійти",
"layout_grid_label":"Сітка",
"Logging in…":"Вхід…",
"layout_spotlight_label":"У центрі уваги",
"Local volume":"Локальна гучність",
"lobby":{
"Loading room…":"Завантаження кімнати…",
"join_button":"Приєднатися до виклику",
"Leave":"Вийти",
"leave_button":"Повернутися до недавніх"
"Join existing call?":"Приєднатися до наявного виклику?",
},
"Join call now":"Приєднатися до виклику зараз",
"logging_in":"Вхід…",
"Join call":"Приєднатися до виклику",
"login_auth_links":"<0>Створити обліковий запис</0> або <2>Отримати доступ як гість</2>",
"body":"Інший користувач у цьому виклику має проблему. Щоб краще визначити ці проблеми, ми хотіли б зібрати журнал налагодження.",
"Having trouble? Help us fix it.":"Проблеми? Допоможіть нам це виправити.",
"title":"Запит журналу налагодження"
"Grid layout menu":"Меню у вигляді сітки",
},
"Go":"Далі",
"rageshake_send_logs":"Надіслати журнал налагодження",
"Full screen":"Повноекранний режим",
"rageshake_sending":"Надсилання…",
"Freedom":"Свобода",
"rageshake_sending_logs":"Надсилання журналу налагодження…",
"Fetching group call timed out.":"Вичерпано час очікування групового виклику.",
"rageshake_sent":"Дякуємо!",
"Exit full screen":"Вийти з повноекранного режиму",
"recaptcha_caption":"Цей сайт захищений ReCAPTCHA і до нього застосовується <2>Політика приватності</2> і <6>Умови надання послуг</6> Google.<9></9>Натискаючи \"Зареєструватися\", ви погоджуєтеся з нашою <12>Ліцензійною угодою з кінцевим користувачем (EULA)</12>",
"Copy and share this call link":"Скопіювати та поділитися цим посиланням на виклик",
"return_home_button":"Повернутися на екран домівки",
"Copied!":"Скопійовано!",
"room_auth_view_eula_caption":"Натискаючи \"Приєднатися до виклику зараз\", ви погоджуєтеся з нашою <2>Ліцензійною угодою з кінцевим користувачем (EULA)</2>",
"Connection lost":"З'єднання розірвано",
"room_auth_view_join_button":"Приєднатися до виклику зараз",
"Confirm password":"Підтвердити пароль",
"screenshare_button_label":"Поділитися екраном",
"Close":"Закрити",
"select_input_unset_button":"Вибрати опцію",
"Change layout":"Змінити макет",
"settings":{
"Camera/microphone permissions needed to join the call.":"Для приєднання до виклику необхідні дозволи камери/мікрофона.",
"developer_settings_label_description":"Відкрийте налаштування розробника у вікні налаштувань.",
"Camera":"Камера",
"developer_tab_title":"Розробнику",
"Call type menu":"Меню типу виклику",
"feedback_tab_body":"Якщо у вас виникли проблеми або ви просто хочете залишити відгук, надішліть нам короткий опис нижче.",
"Call link copied":"Посилання на виклик скопійовано",
"feedback_tab_description_label":"Ваш відгук",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Натиснувши «Приєднатися до виклику зараз», ви погодитеся з нашими <2>Умовами та положеннями</2>",
"feedback_tab_h4":"Надіслати відгук",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Натиснувши «Далі», ви погодитеся з нашими <2>Умовами та положеннями</2>",
"feedback_tab_thank_you":"Дякуємо, ми отримали ваш відгук!",
"Audio":"Звук",
"feedback_tab_title":"Відгук",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"Інший користувач у цьому виклику має проблему. Щоб краще визначити ці проблеми, ми хотіли б зібрати журнал зневадження.",
"more_tab_title":"Докладніше",
"Accept microphone permissions to join the call.":"Надайте дозволи на використання мікрофонів для приєднання до виклику.",
"opt_in_description":"<0></0><1></1>Ви можете відкликати згоду, прибравши цей прапорець. Якщо ви зараз розмовляєте, це налаштування застосується після завершення виклику.",
"Accept camera/microphone permissions to join the call.":"Надайте дозвіл на використання камери/мікрофона для приєднання до виклику.",
"show_connection_stats_label":"Показати стан з'єднання",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>Чому б не завершити, налаштувавши пароль для збереження свого облікового запису?</0><1>Ви зможете зберегти своє ім'я та встановити аватарку для подальшого користування під час майбутніх викликів</1>",
"speaker_device_selection_label":"Динамік"
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Створити обліковий запис</0> або <2>Отримати доступ як гість</2>",
},
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>Уже маєте обліковий запис?</0><1><0>Увійти</0> Or <2>Отримати доступ як гість</2></1>",
"{{displayName}}, your call is now ended":"{{displayName}}, ваш виклик завершено",
"stop_video_button_label":"Зупинити відео",
"{{count}} people connected|other":"{{count}} під'єдналися",
"submitting":"Надсилання…",
"{{count}} people connected|one":"{{count}} під'єднується",
"unauthenticated_view_body":"Ще не зареєстровані? <2>Створіть обліковий запис</2>",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>Приєднатися до виклику зараз</0><1>Or</1><2>Скопіювати посилання на виклик і приєднатися пізніше</2>",
"unauthenticated_view_eula_caption":"Натискаючи \"Далі\", ви погоджуєтеся з нашою <2>Ліцензійною угодою з кінцевим користувачем (EULA)</2>",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"Це дозволить надсилати анонімні дані (такі як тривалість виклику та кількість учасників) команді Element Call, щоб допомогти нам оптимізувати роботу застосунку на основі того, як він використовується.",
},
"Whether to enable single-key keyboard shortcuts, e.g. 'm' to mute/unmute the mic.":"Чи вмикати/вимикати мікрофон однією клавішею, наприклад, «m» для ввімкнення/вимкнення мікрофона.",
"waiting_for_participants":"Очікування на інших учасників…"
"create_account_prompt":"<0>Tại sao lại không hoàn thiện bằng cách đặt mật khẩu để giữ tài khoản của bạn?</0><1>Bạn sẽ có thể giữ tên và đặt ảnh đại diện cho những cuộc gọi tiếp theo.</1>",
"feedback_done":"<0>Cảm hơn vì đã phản hồi!</0>",
"feedback_prompt":"<0>Chúng tôi muốn nghe phản hồi của bạn để còn cải thiện trải nghiệm cho bạn.</0>",
"headline":"{{displayName}}, cuộc gọi đã kết thúc."
},
"common":{
"audio":"Âm thanh",
"avatar":"Ảnh đại diện",
"camera":"Máy quay",
"copied":"Đã sao chép!",
"display_name":"Tên hiển thị",
"loading":"Đang tải…",
"microphone":"Micrô",
"password":"Mật khẩu",
"profile":"Hồ sơ",
"settings":"Cài đặt",
"username":"Tên người dùng",
"video":"Truyền hình"
},
"full_screen_view_description":"<0>Gửi nhật ký gỡ lỗi sẽ giúp chúng tôi theo dõi vấn đề.</0>",
"full_screen_view_h1":"<0>Ối, có cái gì đó sai.</0>",
"join_existing_call_modal":{
"join_button":"Vâng, tham gia cuộc gọi",
"text":"Cuộc gọi đã tồn tại, bạn có muốn tham gia không?",
"title":"Tham gia cuộc gọi?"
},
"layout_spotlight_label":"Tiêu điểm",
"lobby":{
"join_button":"Tham gia cuộc gọi"
},
"logging_in":"Đang đăng nhập…",
"login_auth_links":"<0>Tạo tài khoản</0> Hay <2>Tham gia dưới tên khác</2>",
"login_title":"Đăng nhập",
"rageshake_request_modal":{
"body":"Một người dùng khác trong cuộc gọi đang gặp vấn đề. Để có thể chẩn đoán tốt hơn chúng tôi muốn thu thập nhật ký gỡ lỗi.",
"title":"Yêu cầu nhật ký gỡ lỗi"
},
"rageshake_sending":"Đang gửi…",
"recaptcha_not_loaded":"Chưa tải được Recaptcha",
"register":{
"passwords_must_match":"Mật khẩu phải khớp",
"registering":"Đang đăng ký…"
},
"register_auth_links":"<0>Đã có tài khoản?</0><1><0>Đăng nhập</0> Hay <2>Tham gia dưới tên Khách</2></1>",
"register_confirm_password_label":"Xác nhận mật khẩu",
"room_auth_view_join_button":"Tham gia cuộc gọi",
"screenshare_button_label":"Chia sẻ màn hình",
"settings":{
"developer_settings_label":"Cài đặt phát triển",
"developer_tab_title":"Nhà phát triển",
"feedback_tab_description_label":"Phản hồi của bạn",
"feedback_tab_h4":"Gửi phản hồi",
"feedback_tab_send_logs_label":"Kèm theo nhật ký gỡ lỗi",
"feedback_tab_thank_you":"Cảm ơn, chúng tôi đã nhận được phản hồi!",
"This will send anonymised data (such as the duration of a call and the number of participants) to the Element Call team to help us optimise the application based on how it is used.":"这将向Element Call团队发送匿名数据(如通话的持续时间和参与者的数量),以帮助我们根据使用方式优化应用程序。",
"title":"选择应用程序"
"This will make a speaker's audio seem as if it is coming from where their tile is positioned on screen. (Experimental feature: this may impact the stability of audio.)":"这将使发言人的音频看起来像是来自他们在屏幕上的位置。(实验性功能:这可能影响音频的稳定性)",
},
"This site is protected by ReCAPTCHA and the Google <2>Privacy Policy</2> and <6>Terms of Service</6> apply.<9></9>By clicking \"Register\", you agree to our <12>Terms and conditions</12>":"本网站受reCaptcha保护,并适用Google<2>隐私政策</2>和<6>服务条款</6>。<9></9>点击\"注册\"则表明您同意我们的<12>条款和条件</12>",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"这个通话中的另一个用户出现了问题。为了更好地诊断这些问题,我们想收集调试日志。",
"copied":"已复制!",
"Allow analytics":"允许进行分析",
"display_name":"显示名称",
"Advanced":"偏好",
"encrypted":"已加密",
"Accept microphone permissions to join the call.":"授予麦克风权限以加入通话。",
"home":"主页",
"Accept camera/microphone permissions to join the call.":"授予摄像头/麦克风权限以加入通话。",
"loading":"加载中……",
"<0>Why not finish by setting up a password to keep your account?</0><1>You'll be able to keep your name and set an avatar for use on future calls</1>":"<0>为什么不设置一个密码来保留你的账户?</0><1>你将可以保留你的名字并设置一个头像,以便在未来的通话中使用。</1>",
"microphone":"麦克风",
"<0>Join call now</0><1>Or</1><2>Copy call link and join later</2>":"<0>现在加入通话</0><1>或</1><2>复制通话链接并稍后加入</2>",
"password":"密码",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>创建账户</0> Or <2>以访客身份继续</2>",
"profile":"个人信息",
"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>":"<0>已有账户?</0><1><0>登录</0> Or <2>以访客身份继续</2></1>",
"login_auth_links":"<0>创建账户</0> Or <2>以访客身份继续</2>",
"Register":"注册",
"login_title":"登录",
"Recaptcha not loaded":"reCaptcha未加载",
"microphone_off":"麦克风关闭",
"Recaptcha dismissed":"reCaptcha验证失败",
"microphone_on":"麦克风开启",
"Profile":"个人信息",
"mute_microphone_button_label":"静音麦克风",
"Press and hold to talk over {{name}}":"按住不放即可与 {{name}} 通话",
"rageshake_button_error_caption":"重传日志",
"Press and hold to talk":"按住不放即可通话",
"rageshake_request_modal":{
"Press and hold spacebar to talk over {{name}}":"按住空格键,与 {{name}} 对话",
"body":"这个通话中的另一个用户出现了问题。为了更好地诊断这些问题,我们想收集调试日志。",
"Press and hold spacebar to talk":"按住空格键发言",
"title":"调试日志请求"
"Passwords must match":"密码必须匹配",
},
"Password":"密码",
"rageshake_send_logs":"发送调试日志",
"Other users are trying to join this call from incompatible versions. These users should ensure that they have refreshed their browsers:<1>{userLis}</1>":"其他用户正试图从不兼容的版本加入这一呼叫。这些用户应该确保已经刷新了浏览器:<1>{userLis}</1>",
"rageshake_sending":"正在发送……",
"Not registered yet? <2>Create an account</2>":"还没有注册? <2>创建账户<2>",
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
.toast{
color:var(--cpd-color-text-on-solid-primary);
background:var(--cpd-color-alpha-gray-1200);
padding-inline:var(--cpd-space-3x);
padding-block:var(--cpd-space-1x);
border:none;
border-radius:var(--cpd-radius-pill-effect);
box-shadow:var(--small-drop-shadow);
display:flex;
align-items:center;
gap:var(--cpd-space-1x);
}
.toast>h3{
margin:0;
}
.toast>svg{
color:var(--cpd-color-icon-on-solid-primary);
flex-shrink:0;
margin-inline-end:calc(-1*var(--cpd-space-1x));
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.