* 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.
* config: add feature in `config.json`
* groupCall: adjust connection state in feed if allowCallWithoutVideoAndAudio
* matrix-js-sdk: update version for allowCallWithoutVideoAndAudio
- I modified the SDK so that mute unmute work without media and check device permission inside the SDK
- allowCallWithoutVideoAndAudio is only checked at one point outside the SDK
* docu: add join group call without media docu in READMe
---------
Co-authored-by: Robin Townsend <robin@robin.town>
Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
* 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
I clarified homeserver requirements (i.e. that Element Call needs a homeserver like Synapse but not necessarily Synapse), and also edited some other parts for clarity. I also updated the recommendation to not log in to an existing homeserver based on my new findings that Element Call *may* allow you to log in to an existing HS but log in is unreliable.
As per comment
Unsure if this is the best fix - ideally we wouldn't go into no-controls
mode at all, but this part doesn't know whether the dialog is open so
the only thing we could really do is tweak the threshold, or possibly
guess based on width instead?
We called the 'unhold' function even if the button wasn't held which
probably will have been generating unmute events even when we weren't
muted.
Also use separate handlers for events so we can have specific log lines
(and also see where the event comes from when caught in the debugger).
Rather than every 30 seconds. This way we'll save logs for sessions
lasting less than 30 seconds which we previously didn't. Also save
on window unload just in case that doesn't catch everything.
Plus remove some more unused params.
* Remove duplicate copyright header
* Remove ts-ignores by just using the objects directly rather than via
event.target
* Use error.message rather than errorCode which TS doesn't know about
and may or may not exist.
* Remove some unused things like the skip rageshake function and
the option to init rageshakes without storage.
* Turn single function with a boolean param to make it take two entirely
separate code paths into two functions.
As per comment, we can't use workers in Vite dev mode. We previously
fell back to the memory store but this ends up with it working significantly
differently in dev mode to production, eg. dev mode would always start
by doing an initial sync, so old to-device messages would arrive again.
There's no need to fall all the way back to the memory store though,
we can use the IndexedDB store without the worker.
Since the app already determines when someone is speaking, we can use that information to make it less obvious when to-device messages are being slow to deliver mute state updates.
This is an Element project (in the vector-im repo) so the Copyright
should be for New Vector: it was incorrectly attributed to the
foundation for some files (and some files were missing headers).
* Pretend to upload source maps to sentry
* Build release not in docker so we can upload source maps sensibly
and also upload the release as a plain tarball while we're at it
* fix yaml
* Try specifying version this way
* test rebuild
* pass secrets through
* Too many sentries
* It's almost 2023 and we're still having BSD vs GNU tar issues
* Maybe get sensible tag name & release identifier
* Wrong plugin, and also try the 'release' option which might the right thing
* Try a different github action
see if github likes that any better
* add contents write permission
and switch to the asset upload plugin that had the helpful doc
* actually put release name in tarball path
* copy docker config to right path
* Prettify vite config
* Only activate sentry plugin if we have secrets
* Use env var for tag name
* Also spelling env correctly would likely help
* Fix variable syntax
* Put env var in correct place
One day maybe I will not find yaml syntax confusing
We only ever used the static instance() method to get to the config
object, so just make a static instance that returns the ConfigOptions
directly, throwing an exception if it's not yet initialised. This way
the types can all be non-optional (plus it's shorter).
The other options are things people usually won't need or want to
set, so just keep it to the basics.
* Rename config sample to match element-web
* Update / simplify build instructions
* Rename nginx config file to differentiate it from EC config
* We don't need to check out the js-sdk separately anymore
* Remove the vite proxying: there's no need since Matrix HSes allow
cross origin requests. This will let us move the default homeserver
config to the config file (in a separate PR...)
* Remove the product name variable which just set it to the default anyway
* load analytics id from url in embedded mode
Signed-off-by: Timo K <timok@element.io>
* add start call in the widget code path
Signed-off-by: Timo K <timok@element.io>
* send group call id instead of call name
Signed-off-by: Timo K <timok@element.io>
* generate analyticsid based on account analyticsid
This make it impossible to find users from the element web posthog instance
in the element call instance
* move registration type setup PosthogAnalytics.ts
* Order identificaition and tracking.
This fixes an issue that the widget version did not identify the user before sneding
the first track event.
Because start call is called right after app startup.
Signed-off-by: Timo K <timok@element.io>
Hopefully explained in comment: we have a heisenbug where we sometimes
lack audio from a certain participant, so this simplifies the audio
path by removing the workaround required to do AEC with spatial audio
on chrome.
See comment, although this is quite hack - I'm torn on whether this
is worth it for the bugfix. Upgrading react-aria doesn't fix it either
(and also breaks everything in React strict mode).
Fixes https://github.com/vector-im/element-call/issues/762
This build script might change more soon (we shouldn't really need
to checkout & link the js-sdk at all) but for now let's just switch
the branch now group-call is merged.
Because useMeasure always returns a width and height of zero on the first render, various call UI elements would flash in and out of existence or animate in from the wrong place when joining a call. This poses an accessibility issue, and is generally unpleasant.
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/).
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).
For prior version of the Element Call that relied solely on full-mesh logic, check [`full-mesh`](https://github.com/vector-im/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 [call.element.dev](https://call.element.dev/).
## Host it yourself
## Host it yourself
@@ -15,19 +19,19 @@ Until prebuilt tarballs are available, you'll need to build Element Call from so
You can now edit the configuration in `.env` to your liking. The most important thing is to set `VITE_DEFAULT_HOMESERVER` to the homeserver that the app should use, such as `https://call.ems.host`.
Next, build the project:
```
yarn build
yarn build
```
```
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 of your choice.
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:
```
cp config/config.sample.json public/config.json
# edit public/config.json
```
Because Element Call uses client-side routing, your server must be able to route any requests to non-existing paths back to `/index.html`. For example, in Nginx you can achieve this with the `try_files` directive:
Because Element Call uses client-side routing, your server must be able to route any requests to non-existing paths back to `/index.html`. For example, in Nginx you can achieve this with the `try_files` directive:
```
```
@@ -40,14 +44,29 @@ server {
}
}
```
```
By default, the app expects you to have a Matrix homeserver (such as [Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html)) installed locally and running on port 8008. If you wish to use a homeserver on a different URL or one that is hosted on a different server, you can add a config file as above, and include the homeserver URL that you'd like to use.
Element Call requires a homeserver with registration enabled without any 3pid or token requirements, if you want it to be used by unregistered users. Furthermore, it is not recommended to use it with an existing homeserver where user accounts have joined normal rooms, as it may not be able to handle those yet and it may behave unreliably.
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.
## Configuration
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).
## 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
Element Call is built against the `robertlong/group-call` branch of [matrix-js-sdk](https://github.com/matrix-org/matrix-js-sdk/pull/2553). To get started, clone, install, and link the package:
### 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:
By default, the app expects you to have [Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html) installed locally and running on port 8008. If you wish to use another homeserver, you can set it in your `.env` file.
You're now ready to launch the development server:
You're now ready to launch the development server:
```
```
yarn dev
yarn dev
```
```
## Config
### Backend
Configuration options are documented in the `.env` file.
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 SFU parameter in your local config `./public/config.yml`:
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.
```yaml
"livekit": {
"jwt_service_url": "http://localhost:8881"
},
```
Run backend components:
```
yarn backend
```
## Documentation
Usage and other technical details about the project can be found here:
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
/<room_name_alias>?roomId=!id:domain&password=1234&<other params see below>
```
The url is split into two sections. The `https://element_call.domain/room/#` contains the app and the intend that the link brings you into a specific room (`https://call.element.io/#` would be the homepage). The fragment is used for query parameters to make sure they never get sent to the element_call.domain server. Here we have the actual matrix roomId and the password which are used to connect all participants with e2ee. This allows that `<room_name_alias>` does not need to be unique. Multiple meetings with the label weekly-sync can be created without collisions.
- **deprecated**
```
https://element_call.domain/<room_name>
```
With this format the livekit alias that will be used is the `<room_name>`. All ppl connecting to this url will end up in the same unencrypted room. This does not scale, is super unsecure (ppl could end up in the same room by accident) and it also is not really possible to support encryption.
The url parameters are spit into two categories: **general** and **widget related**.
### Widget related params
**widgetId**
The id used by the widget. The presence of this parameter inplis that elemetn call will not connect to a homeserver directly and instead tries to establish postMessage communication via the `parentUrl`
```
widgetId: string | null;
```
**parentUrl**
The url used to send widget action postMessages. This should be the domain of the client
or the webview the widget is hosted in. (in case the widget is not in an Iframe but in a
dedicated webview we send the postMessages same webview the widget lives in. Filtering is
done in the widget so it ignores the messages it receives from itself)
```
parentUrl: string | null;
```
**userId**
The user's ID (only used in matryoshka mode).
```
userId: string | null;
```
**deviceId**
The device's ID (only used in matryoshka mode).
```
deviceId: string | null;
```
**baseUrl**
The base URL of the homeserver to use for media lookups in matryoshka mode.
```
baseUrl: string | null;
```
### General url parameters
**roomId**
Anything about what room we're pointed to should be from useRoomIdentifier which
parses the path and resolves alias with respect to the default server name, however
roomId is an exception as we need the room ID in embedded (matroyska) mode, and not
the room alias (or even the via params because we are not trying to join it). This
is also not validated, where it is in useRoomIdentifier().
```
roomId: string | null;
```
**confineToRoom**
Whether the app should keep the user confined to the current call/room.
```
confineToRoom: boolean; (default: false)
```
**appPrompt**
Whether upon entering a room, the user should be prompted to launch the
native mobile app. (Affects only Android and iOS.)
```
appPrompt: boolean; (default: true)
```
**preload**
Whether the app should pause before joining the call until it sees an
io.element.join widget action, allowing it to be preloaded.
```
preload: boolean; (default: false)
```
**hideHeader**
Whether to hide the room header when in a call.
```
hideHeader: boolean; (default: false)
```
**showControls**
Whether to show the buttons to mute, screen-share, invite, hangup are shown when in a call.
```
showControls: boolean; (default: true)
```
**hideScreensharing**
Whether to hide the screen-sharing button.
```
hideScreensharing: boolean; (default: false)
```
**enableE2EE** (Deprecated)
Whether to use end-to-end encryption. This is a legacy flag for the full mesh branch.
It is not used on the livekit branch and has no impact there!
```
enableE2EE: boolean; (default: true)
```
**perParticipantE2EE**
Whether to use per participant encryption.
Keys will be exchanged over encrypted matrix room messages.
```
perParticipantE2EE: boolean; (default: false)
```
**password**
E2EE password when using a shared secret. (For individual sender keys in embedded mode this is not required.)
```
password: string | null;
```
**displayName**
The display name to use for auto-registration.
```
displayName: string | null;
```
**lang**
The BCP 47 code of the language the app should use.
```
lang: string | null;
```
**fonts**
The font/fonts which the interface should use.
There can be multiple font url parameters: `?font=font-one&font=font-two...`
```
font: string;
font: string;
...
```
**fontScale**
The factor by which to scale the interface's font size.
```
fontScale: number | null;
```
**analyticsID**
The Posthog analytics ID. It is only available if the user has given consent for sharing telemetry in element web.
```
analyticsID: string | null;
```
**allowIceFallback**
Whether the app is allowed to use fallback STUN servers for ICE in case the
user's homeserver doesn't provide any.
```
allowIceFallback: boolean; (default: false)
```
**skipLobby**
Setting this flag skips the lobby and brings you in the call directly.
In the widget this can be combined with preload to pass the device settings
"<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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Възникна грешка.</0><1>Изпращнето на debug логове ще ни помогне да открием проблема.</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>Защо не настройте парола за да запазите акаунта си?</0><1>Ще можете да запазите името и аватара си за бъдещи разговори</1>",
"action":{
"Accept camera/microphone permissions to join the call.":"Приемете разрешенията за камера/микрофон за да се присъедините в разговора.",
"close":"Затвори",
"Accept microphone permissions to join the call.":"Приемете разрешението за микрофона за да се присъедините в разговора.",
"go":"Напред",
"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 логове.",
"no":"Не",
"Audio":"Звук",
"register":"Регистрация",
"Avatar":"Аватар",
"remove":"Премахни",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Натискайки \"Напред\" се съгласявате с нашите <2>Правила и условия</2>",
"sign_in":"Влез",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Натискайки \"Влез в разговора сега\", се съгласявате с нашите <2>Правила и условия</2>",
"sign_out":"Излез"
"Call link copied":"Връзка към разговора бе копирана",
},
"Call type menu":"Меню \"тип на разговора\"",
"call_ended_view":{
"Camera":"Камера",
"create_account_button":"Създай акаунт",
"Camera {{n}}":"Камера {{n}}",
"create_account_prompt":"<0>Защо не настройте парола за да запазите акаунта си?</0><1>Ще можете да запазите името и аватара си за бъдещи разговори</1>",
"Camera/microphone permissions needed to join the call.":"Необходими са разрешения за камера/микрофон за да се присъедините в разговора.",
"not_now_button":"Несега, върни се на началния екран"
"Change layout":"Промени изгледа",
},
"Close":"Затвори",
"common":{
"Confirm password":"Потвърди паролата",
"audio":"Звук",
"Connection lost":"Връзката се изгуби",
"avatar":"Аватар",
"Copied!":"Копирано!",
"camera":"Камера",
"Copy and share this call link":"Копирай и сподели връзка към разговора",
"Not now, return to home screen":"Несега, върни се на началния екран",
"room_auth_view_join_button":"Влез в разговора сега",
"Not registered yet? <2>Create an account</2>":"Все още не сте регистрирани? <2>Създайте акаунт</2>",
"screenshare_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>",
"select_input_unset_button":"Изберете опция",
"Password":"Парола",
"settings":{
"Passwords must match":"Паролите не съвпадат",
"developer_tab_title":"Разработчик",
"Press and hold spacebar to talk":"Натиснете и задръжте Space за да говорите",
"feedback_tab_h4":"Изпрати обратна връзка",
"Press and hold spacebar to talk over {{name}}":"Натиснете и задръжте Space за да говорите заедно с {{name}}",
"Press and hold to talk":"Натиснете и задръжте за да говорите",
"more_tab_title":"Още",
"Press and hold to talk over {{name}}":"Натиснете и задръжте за да говорите заедно с {{name}}",
"speaker_device_selection_label":"Говорител"
"Profile":"Профил",
},
"Recaptcha dismissed":"Recaptcha отхвърлена",
"unauthenticated_view_body":"Все още не сте регистрирани? <2>Създайте акаунт</2>",
"Recaptcha not loaded":"Recaptcha не е заредена",
"unauthenticated_view_login_button":"Влезте в акаунта си",
"Register":"Регистрация",
"version":"Версия: {{version}}",
"Registering…":"Регистриране…",
"waiting_for_participants":"Изчакване на други участници…"
"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",
"exit_fullscreen_button_label":"Ukončit režim celé obrazovky",
"This call already exists, would you like to join?":"Tento hovor již existuje, chcete se připojit?",
"full_screen_view_description":"<0>Odeslání ladících záznamů nám pomůže diagnostikovat problém.</0>",
"Thanks! We'll get right on it.":"Děkujeme! Hned se na to vrhneme.",
"full_screen_view_h1":"<0>Oops, něco se pokazilo.</0>",
"Take me Home":"Domovská obrazovka",
"fullscreen_button_label":"Zvětšit na celou obrazovku",
"<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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Hoppla, da ist etwas schief gelaufen.</0><1>Die Übermittlung von Debug-Protokollen wird uns helfen, das Problem zu finden.</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>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>",
"action":{
"Accept camera/microphone permissions to join the call.":"Erlaube Zugriff auf Kamera/Mikrofon um dem Anruf beizutreten.",
"close":"Schließen",
"Accept microphone permissions to join the call.":"Erlaube Zugriff auf das Mikrofon um dem Anruf beizutreten.",
"copy":"Kopieren",
"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_link":"Link kopieren",
"Audio":"Audio",
"go":"Los geht’s",
"Avatar":"Avatar",
"invite":"Einladen",
"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>",
"no":"Nein",
"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>",
"register":"Registrieren",
"Call link copied":"Anruflink kopiert",
"remove":"Entfernen",
"Call type menu":"Anruftyp Menü",
"sign_in":"Anmelden",
"Camera":"Kamera",
"sign_out":"Abmelden",
"Camera {{n}}":"Kamera {{n}}",
"submit":"Absenden"
"Camera/microphone permissions needed to join the call.":"Kamera-/Mikrofonberechtigung für die Teilnahme am Anruf erforderlich.",
},
"Change layout":"Layout ändern",
"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>.",
"Close":"Schließen",
"app_selection_modal":{
"Confirm password":"Passwort bestätigen",
"continue_in_browser":"Weiter im Browser",
"Connection lost":"Verbindung verloren",
"open_in_app":"In der App öffnen",
"Copied!":"Kopiert!",
"text":"Bereit, beizutreten?",
"Copy and share this call link":"Kopiere und teile diesen Anruflink",
"title":"App auswählen"
"Create account":"Konto erstellen",
},
"Debug log":"Debug-Protokoll",
"application_opened_another_tab":"Diese Anwendung wurde in einem anderen Tab geöffnet.",
"Debug log request":"Debug-Log Anfrage",
"browser_media_e2ee_unsupported":"Dein Webbrowser unterstützt keine Medien-Ende-zu-Ende-Verschlüsselung. Unterstützte Browser sind Chrome, Safari, Firefox >=117",
"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>",
"Entering room…":"Betrete Raum…",
"feedback_done":"<0>Danke für deine Rückmeldung!</0>",
"Exit full screen":"Vollbildmodus verlassen",
"feedback_prompt":"<0>Wir würden uns freuen, deine Rückmeldung zu hören, um deine Erfahrung verbessern zu können.</0>",
"Freedom":"Freiraum",
"headline":"{{displayName}}, dein Anruf wurde beendet.",
"Full screen":"Vollbild",
"not_now_button":"Nicht jetzt, zurück zur Startseite",
"Go":"Los geht’s",
"reconnect_button":"Erneut verbinden",
"Grid layout menu":"Grid-Layout-Menü",
"survey_prompt":"Wie ist es gelaufen?"
"Having trouble? Help us fix it.":"Du hast ein Problem? Hilf uns, es zu beheben.",
"full_screen_view_description":"<0>Übermittelte Problemberichte helfen uns, Fehler zu beheben.</0>",
"Mute microphone":"Mikrofon stummschalten",
"full_screen_view_h1":"<0>Hoppla, etwas ist schiefgelaufen.</0>",
"No":"Nein",
"fullscreen_button_label":"Vollbild",
"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",
"local_volume_label":"Lokale Lautstärke",
"Send debug logs":"Debug-Logs senden",
"log_in":"Anmelden",
"Sending…":"Senden…",
"logging_in":"Anmelden…",
"Settings":"Einstellungen",
"login_auth_links":"<0>Konto erstellen</0> Oder <2>Als Gast betreten</2>",
"Share screen":"Bildschirm teilen",
"login_auth_links_prompt":"Noch nicht registriert?",
"Thanks! We'll get right on it.":"Vielen Dank! Wir werden uns sofort darum kümmern.",
"rageshake_sent":"Danke!",
"This call already exists, would you like to join?":"Dieser Aufruf existiert bereits, möchtest Du teilnehmen?",
"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 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_dismissed":"Recaptcha abgelehnt",
"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.)",
"{{displayName}}, your call is now ended":"{{displayName}}, dein Anruf wurde beendet",
"feedback_tab_thank_you":"Danke, wir haben deine Rückmeldung erhalten!",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"feedback_tab_title":"Rückmeldung",
"{{name}} is presenting":"{{name}} präsentiert",
"more_tab_title":"Mehr",
"{{name}} is talking…":"{{name}} spricht…",
"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.",
"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":"Βίντεο"
},
"exit_fullscreen_button_label":"Έξοδος από πλήρη οθόνη",
"full_screen_view_description":"<0>Η υποβολή αρχείων καταγραφής σφαλμάτων θα μας βοηθήσει να εντοπίσουμε το πρόβλημα.</0>",
"full_screen_view_h1":"<0>Ωχ, κάτι πήγε στραβά.</0>",
"fullscreen_button_label":"Πλήρη οθόνη",
"header_label":"Element Κεντρική Οθόνη Κλήσεων",
"join_existing_call_modal":{
"join_button":"Ναι, συμμετοχή στην κλήση",
"text":"Αυτή η κλήση υπάρχει ήδη, θα θέλατε να συμμετάσχετε;",
"title":"Συμμετοχή στην υπάρχουσα κλήση;"
},
"lobby":{
"join_button":"Συμμετοχή στην κλήση"
},
"local_volume_label":"Τοπική ένταση",
"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>",
"invite":"Invite",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Create an account</0> Or <2>Access as a guest</2>",
"no":"No",
"<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>",
"register":"Register",
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>",
"remove":"Remove",
"<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>",
"sign_in":"Sign in",
"Accept camera/microphone permissions to join the call.":"Accept camera/microphone permissions to join the call.",
"sign_out":"Sign out",
"Accept microphone permissions to join the call.":"Accept microphone permissions to join the call.",
"submit":"Submit"
"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.",
},
"Audio":"Audio",
"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>.",
"Avatar":"Avatar",
"app_selection_modal":{
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"By clicking \"Go\", you agree to our <2>Terms and conditions</2>",
"continue_in_browser":"Continue in browser",
"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>",
"open_in_app":"Open in the app",
"Call link copied":"Call link copied",
"text":"Ready to join?",
"Call type menu":"Call type menu",
"title":"Select app"
"Camera":"Camera",
},
"Camera {{n}}":"Camera {{n}}",
"application_opened_another_tab":"This application has been opened in another tab.",
"Camera/microphone permissions needed to join the call.":"Camera/microphone permissions needed to join the call.",
"browser_media_e2ee_unsupported":"Your web browser does not support media end-to-end encryption. Supported Browsers are Chrome, Safari, Firefox >=117",
"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>",
"Copy and share this call link":"Copy and share this call link",
"feedback_done":"<0>Thanks for your feedback!</0>",
"Create account":"Create account",
"feedback_prompt":"<0>We'd love to hear your feedback so we can improve your experience.</0>",
"Debug log":"Debug log",
"headline":"{{displayName}}, your call has ended.",
"Debug log request":"Debug log request",
"not_now_button":"Not now, return to home screen",
"group_call_loader_failed_heading":"Call not found",
"Login to your account":"Login to your account",
"group_call_loader_failed_text":"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.",
"Microphone":"Microphone",
"hangup_button_label":"End call",
"Microphone {{n}}":"Microphone {{n}}",
"header_label":"Element Call Home",
"Microphone permissions needed to join the call.":"Microphone permissions needed to join the call.",
"header_participants_label":"Participants",
"More":"More",
"invite_modal":{
"More menu":"More menu",
"link_copied_toast":"Link copied to clipboard",
"Mute microphone":"Mute microphone",
"title":"Invite to this call"
"No":"No",
},
"Not now, return to home screen":"Not now, return to home screen",
"join_existing_call_modal":{
"Not registered yet? <2>Create an account</2>":"Not registered yet? <2>Create an account</2>",
"join_button":"Yes, join call",
"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>",
"text":"This call already exists, would you like to join?",
"Password":"Password",
"title":"Join existing call?"
"Passwords must match":"Passwords must match",
},
"Press and hold spacebar to talk":"Press and hold spacebar to talk",
"layout_grid_label":"Grid",
"Press and hold spacebar to talk over {{name}}":"Press and hold spacebar to talk over {{name}}",
"layout_spotlight_label":"Spotlight",
"Press and hold to talk":"Press and hold to talk",
"lobby":{
"Press and hold to talk over {{name}}":"Press and hold to talk over {{name}}",
"join_button":"Join call",
"Profile":"Profile",
"leave_button":"Back to recents"
"Recaptcha dismissed":"Recaptcha dismissed",
},
"Recaptcha not loaded":"Recaptcha not loaded",
"local_volume_label":"Local volume",
"Register":"Register",
"log_in":"Log In",
"Registering…":"Registering…",
"logging_in":"Logging in…",
"Release spacebar key to stop":"Release spacebar key to stop",
"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.",
"Show call inspector":"Show call inspector",
"title":"Debug log request"
"Sign in":"Sign in",
},
"Sign out":"Sign out",
"rageshake_send_logs":"Send debug logs",
"Spatial audio":"Spatial audio",
"rageshake_sending":"Sending…",
"Speaker":"Speaker",
"rageshake_sending_logs":"Sending debug logs…",
"Speaker {{n}}":"Speaker {{n}}",
"rageshake_sent":"Thanks!",
"Spotlight":"Spotlight",
"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>",
"Stop sharing screen":"Stop sharing screen",
"recaptcha_dismissed":"Recaptcha dismissed",
"Submit feedback":"Submit feedback",
"recaptcha_not_loaded":"Recaptcha not loaded",
"Submitting feedback…":"Submitting feedback…",
"register":{
"Take me Home":"Take me Home",
"passwords_must_match":"Passwords must match",
"Talk over speaker":"Talk over speaker",
"registering":"Registering…"
"Talking…":"Talking…",
},
"Thanks! We'll get right on it.":"Thanks! We'll get right on it.",
"register_auth_links":"<0>Already have an account?</0><1><0>Log in</0> Or <2>Access as a guest</2></1>",
"This call already exists, would you like to join?":"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>":"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_heading":"Create your account",
"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.)",
"return_home_button":"Return to home screen",
"Turn off camera":"Turn off camera",
"room_auth_view_eula_caption":"By clicking \"Join call now\", you agree to our <2>End User Licensing Agreement (EULA)</2>",
"Turn on camera":"Turn on camera",
"room_auth_view_join_button":"Join call now",
"Unmute microphone":"Unmute microphone",
"screenshare_button_label":"Share screen",
"User ID":"User ID",
"select_input_unset_button":"Select an option",
"User menu":"User menu",
"settings":{
"Username":"Username",
"developer_settings_label":"Developer Settings",
"Version: {{version}}":"Version: {{version}}",
"developer_settings_label_description":"Expose developer settings in the settings window.",
"Video":"Video",
"developer_tab_title":"Developer",
"Video call":"Video call",
"feedback_tab_body":"If you are experiencing issues or simply would like to provide some feedback, please send us a short description below.",
"Video call name":"Video call name",
"feedback_tab_description_label":"Your feedback",
"Waiting for network":"Waiting for network",
"feedback_tab_h4":"Submit feedback",
"Waiting for other participants…":"Waiting for other participants…",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC is not supported or is being blocked in this browser.",
"more_tab_title":"More",
"Yes, join call":"Yes, join call",
"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.",
"You can't talk at the same time":"You can't talk at the same time",
"<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",
"exit_fullscreen_button_label":"Salir de pantalla completa",
"Stop sharing screen":"Dejar de compartir pantalla",
"full_screen_view_description":"<0>Subir los registros de depuración nos ayudará a encontrar el problema.</0>",
"Spotlight":"Foco",
"full_screen_view_h1":"<0>Ups, algo ha salido mal.</0>",
"Speaker {{n}}":"Altavoz {{n}}",
"fullscreen_button_label":"Pantalla completa",
"Speaker":"Altavoz",
"header_label":"Inicio de Element Call",
"Spatial audio":"Audio espacial",
"join_existing_call_modal":{
"Sign out":"Cerrar sesión",
"join_button":"Si, unirse a la llamada",
"Sign in":"Iniciar sesión",
"text":"Esta llamada ya existe, ¿te gustaría unirte?",
"Show call inspector":"Mostrar inspector de llamada",
"title":"¿Unirse a llamada existente?"
"Share screen":"Compartir pantalla",
},
"Settings":"Ajustes",
"layout_spotlight_label":"Foco",
"Sending…":"Enviando…",
"lobby":{
"Sending debug logs…":"Enviando registros de depuración…",
"join_button":"Unirse a la llamada"
"Send debug logs":"Enviar registros de depuración",
},
"Select an option":"Selecciona una opción",
"local_volume_label":"Volumen local",
"Saving…":"Guardando…",
"logging_in":"Iniciando sesión…",
"Save":"Guardar",
"login_auth_links":"<0>Crear una cuenta</0> o <2>Acceder como invitado</2>",
"Return to home screen":"Volver a la pantalla de inicio",
"login_title":"Iniciar sesión",
"Remove":"Eliminar",
"rageshake_request_modal":{
"Release to stop":"Suelta para parar",
"body":"Otro usuario en esta llamada está teniendo problemas. Para diagnosticar estos problemas nos gustaría recopilar un registro de depuración.",
"Release spacebar key to stop":"Suelta la barra espaciadora para parar",
"title":"Petición de registros de depuración"
"Registering…":"Registrando…",
},
"Recaptcha not loaded":"No se ha cargado el Recaptcha",
"rageshake_send_logs":"Enviar registros de depuración",
"Recaptcha dismissed":"Recaptcha cancelado",
"rageshake_sending":"Enviando…",
"Profile":"Perfil",
"rageshake_sending_logs":"Enviando registros de depuración…",
"Press and hold to talk":"Mantén pulsado para hablar",
"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>",
"Press and hold spacebar to talk over {{name}}":"Mantén pulsada la barra espaciadora para hablar por encima de {{name}}",
"recaptcha_dismissed":"Recaptcha cancelado",
"Press and hold spacebar to talk":"Mantén pulsada la barra espaciadora para hablar",
"recaptcha_not_loaded":"No se ha cargado el Recaptcha",
"Passwords must match":"Las contraseñas deben coincidir",
"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>",
"registering":"Registrando…"
"Not now, return to home screen":"Ahora no, volver a la pantalla de inicio",
},
"No":"No",
"register_auth_links":"<0>¿Ya tienes una cuenta?</0><1><0>Iniciar sesión</0> o <2>Acceder como invitado</2></1>",
"Join existing call?":"¿Unirse a llamada existente?",
"feedback_tab_h4":"Enviar comentarios",
"Join call now":"Unirse a la llamada ahora",
"feedback_tab_send_logs_label":"Incluir registros de depuración",
"Join call":"Unirse a la llamada",
"feedback_tab_thank_you":"¡Gracias, hemos recibido tus comentarios!",
"Invite people":"Invitar a gente",
"feedback_tab_title":"Danos tu opinión",
"Invite":"Invitar",
"more_tab_title":"Más",
"Inspector":"Inspector",
"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.",
"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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Ups, algo ha salido mal.</0><1>Enviar los registros de depuración nos ayudará a localizar el problema.</1>",
"<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",
"Accept camera/microphone permissions to join the call.":"Kõnega 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 hoopis tahad salasõna seadistada ja sellega oma kasutajakonto alles jätta?</0><1>Siis saad säilitada oma nime ja määrata tunnuspildi, mida saad kasutada tulevastes kõnedes</1>",
},
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Ups, midagi läks valesti.</0><1>Logide saatmine meile aitab meil probleemi lahendada.</1>",
"action":{
"<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>",
"close":"Sulge",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Loo konto</0> Või <2>Sisene külalisena</2>",
"copy":"Kopeeri",
"<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",
"sign_in":"Logi sisse",
"{{count}} people connected|other":"{{count}} osalejat liitunud",
"sign_out":"Logi välja",
"{{count}} people connected|one":"{{count}} osaleja liitunud",
"submit":"Saada"
"Invite people":"Kutsu inimesi",
},
"Invite":"Kutsu",
"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.",
},
"Grid layout menu":"Ruudustikvaate menüü",
"browser_media_e2ee_unsupported":"Sinu veebibrauser ei toeta meedia läbivat krüptimist. Toetatud brauserid on Chrome, Chromium, Safari ja Firefox >=117",
"Go":"Jätka",
"call_ended_view":{
"Full screen":"Täisekraan",
"body":"Sinu ühendus kõnega katkes",
"Freedom":"Vaba",
"create_account_button":"Loo konto",
"Fetching group call timed out.":"Grupikõne kättesaamine aegus.",
"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>",
"Exit full screen":"Välju täisekraanivaatest",
"feedback_done":"<0>Täname Sind tagasiside eest!</0>",
"Entering room…":"Ruumi sisenemine…",
"feedback_prompt":"<0>Meie rakenduse paremaks muutmiseks me hea meelega ootame Sinu arvamusi.</0>",
"Download debug logs":"Lae alla veatuvastuslogid",
"headline":"{{displayName}}, sinu kõne on lõppenud.",
"Display name":"Kuvatav nimi",
"not_now_button":"Mitte praegu, mine tagasi avalehele",
"Copy and share this call link":"Kopeeri ja jaga selle kõne linki",
"avatar":"Tunnuspilt",
"Copied!":"Kopeeritud!",
"camera":"Kaamera",
"Connection lost":"Ühendus on katkenud",
"copied":"Kopeeritud!",
"Confirm password":"Kinnita salasõna",
"display_name":"Kuvatav nimi",
"Close":"Sulge",
"encrypted":"Krüptitud",
"Change layout":"Muuda paigutust",
"home":"Avavaatesse",
"Camera/microphone permissions needed to join the call.":"Kõnega liitumiseks vajalikud kaamera/mikrofoni kasutamise load.",
"loading":"Laadimine …",
"Camera {{n}}":"Kaamera {{n}}",
"microphone":"Mikrofon",
"Camera":"Kaamera",
"password":"Salasõna",
"Call type menu":"Kõnetüübi valik",
"profile":"Profiil",
"Call link copied":"Kõne link on kopeeritud",
"settings":"Seadistused",
"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>",
"unencrypted":"Krüptimata",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Klõpsides „Jätka“nõustud sa meie <2>kasutustingimustega</2>",
"username":"Kasutajanimi"
"Avatar":"Tunnuspilt",
},
"Audio":"Heli",
"disconnected_banner":"Võrguühendus serveriga on katkenud.",
"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",
"full_screen_view_description":"<0>Kui saadad meile vealogid, siis on lihtsam vea põhjust otsida.</0>",
"Passwords must match":"Salasõnad ei klapi",
"full_screen_view_h1":"<0>Ohoo, midagi on nüüd katki.</0>",
"Password":"Salasõna",
"fullscreen_button_label":"Täisekraan",
"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",
"local_volume_label":"Kohalik helitugevus",
"Join call":"Kõnega liitumine",
"logging_in":"Sisselogimine …",
"User ID":"Kasutajatunnus",
"login_auth_links":"<0>Loo konto</0> Või <2>Sisene külalisena</2>",
"rageshake_button_error_caption":"Proovi uuesti logisid saata",
"Stop sharing screen":"Lõpeta ekraani jagamine",
"rageshake_request_modal":{
"Spotlight":"Rambivalgus",
"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>",
"Settings":"Seadistused",
"recaptcha_dismissed":"Robotilõks on vahele jäetud",
"Press and hold to talk over {{name}}":"{{name}} ülerääkimiseks vajuta ja hoia all",
"developer_tab_title":"Arendaja",
"Press and hold to talk":"Rää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 spacebar to talk over {{name}}":"{{name}} ülerääkimiseks vajuta ja hoia all tühikuklahvi",
"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>",
"feedback_tab_h4":"Jaga tagasisidet",
"Waiting for other participants…":"Ootame teiste osalejate lisandumist…",
"feedback_tab_thank_you":"Tänud, me oleme sinu tagasiside kätte saanud!",
"Video call name":"Videokõne nimi",
"feedback_tab_title":"Tagasiside",
"Video call":"Videokõne",
"more_tab_title":"Rohkem",
"Video":"Video",
"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.",
"Version: {{version}}":"Versioon: {{version}}",
"show_connection_stats_label":"Näita ühenduse statistikat",
"Username":"Kasutajanimi",
"speaker_device_selection_label":"Kõlar"
"This call already exists, would you like to join?":"See kõne on juba olemas, kas soovid liituda?",
},
"Talking…":"Jutt käib…",
"star_rating_input_label_one":"{{count}} tärni",
"Talk over speaker":"Räägi teisest kõnelejast üle",
"stop_screenshare_button_label":"Ekraanivaade on jagamisel",
"Yes, join call":"Jah, liitu kõnega",
"stop_video_button_label":"Peata videovoog",
"Walkie-talkie call":"Walkie-talkie stiilis kõne",
"submitting":"Saadan…",
"Walkie-talkie call name":"Walkie-talkie stiilis kõne nimi",
"unauthenticated_view_body":"Sa pole veel registreerunud? <2>Loo kasutajakonto</2>",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC pole kas selles brauseris toetatud või on keelatud.",
"unauthenticated_view_eula_caption":"Klõpsides „Jätka“, nõustud sa meie <2>Lõppkasutaja litsentsilepinguga (EULA)</2>",
"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.)",
"unauthenticated_view_login_button":"Logi oma kontosse sisse",
"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>"
"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":"آزادی",
},
"Exitfullscreen":"خروج از حالت تمام صفحه",
"exit_fullscreen_button_label":"خروج از حالت تمام صفحه",
"Entering room…":"درحال وارد شدن به اتاق…",
"fullscreen_button_label":"تمام صحفه",
"Download debug logs":"دانلود لاگ عیبیابی",
"header_label":"خانهٔ تماس المنت",
"Display name":"نام نمایشی",
"join_existing_call_modal":{
"Developer":"توسعه دهنده",
"join_button":"بله، به تماس بپیوندید",
"Details":"جزئیات",
"text":"این تماس از قبل وجود دارد، میخواهید بپیوندید؟",
"Description (optional)":"توضیحات (اختیاری)",
"title":"پیوست به تماس؟"
"Debug log request":"درخواست لاگ عیبیابی",
},
"Debug log":"لاگ عیبیابی",
"layout_spotlight_label":"نور افکن",
"Create account":"ساخت حساب کاربری",
"lobby":{
"Copy and share this call link":"لینک تماس را کپی کنید و به اشتراک بگذارید",
"join_button":"پیوستن به تماس"
"Copied!":"کپی شد!",
},
"Connection lost":"ارتباط قطع شد",
"local_volume_label":"حجم داخلی",
"Confirm password":"تایید رمزعبور",
"logging_in":"ورود…",
"Close":"بستن",
"login_auth_links":"<0>ساخت حساب کاربری</0> Or <2>دسترسی به عنوان میهمان</2>",
"Change layout":"تغییر طرح",
"login_title":"ورود",
"Camera/microphone permissions needed to join the call.":"برای پیوستن به تماس، دسترسی به دوربین/ میکروفون نیاز است.",
"rageshake_request_modal":{
"Camera {{n}}":"دوربین {{n}}",
"body":"کاربر دیگری در این تماس مشکلی دارد. برای تشخیص بهتر مشکل، بهتر است ما لاگ عیبیابی را جمعآوری کنیم.",
"Camera":"دوربین",
"title":"درخواست لاگ عیبیابی"
"Call type menu":"منوی نوع تماس",
},
"Call link copied":"لینک تماس کپی شد",
"rageshake_send_logs":"ارسال لاگهای عیبیابی",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"با کلیک بر روی پیوستن به تماس، شما با <2>شرایط و قوانین استفاده</2> موافقت میکنید",
"rageshake_sending":"در حال ارسال…",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"با کلیک بر روی برو، شما با <2>شرایط و قوانین استفاده</2> موافقت میکنید",
"rageshake_sending_logs":"در حال ارسال باگهای عیبیابی…",
"Avatar":"آواتار",
"recaptcha_dismissed":"ریکپچا رد شد",
"Audio":"صدا",
"recaptcha_not_loaded":"کپچا بارگیری نشد",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"کاربر دیگری در این تماس مشکلی دارد. برای تشخیص بهتر مشکل، بهتر است ما لاگ عیبیابی را جمعآوری کنیم.",
"register":{
"{{names}}, {{name}}":"{{names}}, {{name}}",
"passwords_must_match":"رمز عبور باید همخوانی داشته باشد",
"Accept microphone permissions to join the call.":"پذیرفتن دسترسی به میکروفون برای پیوستن به تماس.",
"registering":"ثبتنام…"
"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>",
"register_auth_links":"<0>از قبل حساب کاربری دارید؟</0><1><0>ورود</0> Or <2>به عنوان یک میهمان وارد شوید</2></1>",
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>اوه، مشکلی پیش آمده.</0><1>ثبت کردن لاگ رفع اشکال به پیدا کردن مشکل توسط ما کمک میکند</1>",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>ساخت حساب کاربری</0> Or <2>دسترسی به عنوان میهمان</2>",
"return_home_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>",
"room_auth_view_join_button":"الان به تماس بپیوند",
"unauthenticated_view_body":"هنوز ثبتنام نکردهاید؟ <2>ساخت حساب کاربری</2>",
"Spotlight":"نور افکن",
"unauthenticated_view_login_button":"به حساب کاربری خود وارد شوید",
"Speaker {{n}}":"بلندگو {{n}}",
"version":"نسخه: {{نسخه}}",
"Show call inspector":"نمایش بازرس تماس",
"waiting_for_participants":"در انتظار برای دیگر شرکتکنندگان…"
"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.":"با تشکر! ما به درستی آن را انجام خواهیم داد.",
"<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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Mince, une erreur est survenue.</0><1>Envoyer les journaux de débogage nous aidera à résoudre le problème.</1>",
"user_menu":"Menu utilisateur"
"<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>",
},
"Accept camera/microphone permissions to join the call.":"Autorisez l’accès à votre caméra et microphone pour rejoindre l’appel.",
"action":{
"Accept microphone permissions to join the call.":"Autorisez l’accès au microphone pour rejoindre l’appel.",
"close":"Fermer",
"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.",
"copy":"Copier",
"Audio":"Audio",
"copy_link":"Copier le lien",
"Avatar":"Avatar",
"go":"Commencer",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"En cliquant sur «Commencer» vous acceptez nos <2>conditions d’utilisation</2>",
"invite":"Inviter",
"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>",
"no":"Non",
"Call link copied":"Lien de l’appel copié",
"register":"S’enregistrer",
"Call type menu":"Menu de type d’appel",
"remove":"Supprimer",
"Camera":"Caméra",
"sign_in":"Connexion",
"Camera {{n}}":"Caméra {{n}}",
"sign_out":"Déconnexion",
"Camera/microphone permissions needed to join the call.":"Accès à la caméra et au microphone requis pour rejoindre l’appel.",
"submit":"Envoyer"
"Change layout":"Changer la disposition",
},
"Close":"Fermer",
"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>.",
"Confirm password":"Confirmer le mot de passe",
"app_selection_modal":{
"Connection lost":"Connexion interrompue",
"continue_in_browser":"Continuer dans le navigateur",
"Copied!":"Copié!",
"open_in_app":"Ouvrir dans l’application",
"Copy and share this call link":"Copier et partager le lien de cet appel",
"text":"Prêt à rejoindre?",
"Create account":"Créer un compte",
"title":"Choisissez l’application"
"Debug log":"Journal de débogage",
},
"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",
"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>",
"Download debug logs":"Télécharger les journaux de débogage",
"feedback_done":"<0>Merci pour votre commentaire !</0>",
"Entering room…":"Entrée dans le salon…",
"feedback_prompt":"<0>Nous aimerions avoir vos commentaires afin que nous puissions améliorer votre expérience.</0>",
"Exit full screen":"Quitter le plein écran",
"headline":"{{displayName}}, votre appel est terminé.",
"Freedom":"Libre",
"not_now_button":"Pas maintenant, retourner à l’accueil",
"Full screen":"Plein écran",
"reconnect_button":"Se reconnecter",
"Go":"Commencer",
"survey_prompt":"Comment cela s’est-il passé ?"
"Grid layout menu":"Menu en grille",
},
"Having trouble? Help us fix it.":"Un problème? Aidez nous à le résoudre.",
"call_name":"Nom de l’appel",
"Home":"Accueil",
"common":{
"Include debug logs":"Inclure les journaux de débogage",
"Join existing call?":"Rejoindre un appel existant?",
"profile":"Profil",
"Leave":"Partir",
"settings":"Paramètres",
"Loading room…":"Chargement du salon…",
"unencrypted":"Non chiffré",
"Loading…":"Chargement…",
"username":"Nom d’utilisateur",
"Local volume":"Volume local",
"video":"Vidéo"
"Logging in…":"Connexion…",
},
"Login":"Connexion",
"disconnected_banner":"La connexion avec le serveur a été perdue.",
"Login to your account":"Connectez vous à votre compte",
"exit_fullscreen_button_label":"Quitter le plein écran",
"Microphone":"Microphone",
"full_screen_view_description":"<0>Soumettre les journaux de débogage nous aidera à déterminer le problème.</0>",
"Microphone permissions needed to join the call.":"Accès au microphone requis pour rejoindre l’appel.",
"full_screen_view_h1":"<0>Oups, quelque chose s’est mal passé.</0>",
"Microphone {{n}}":"Microphone {{n}}",
"fullscreen_button_label":"Plein écran",
"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",
"local_volume_label":"Volume local",
"Remove":"Supprimer",
"logging_in":"Connexion…",
"Return to home screen":"Retour à l’accueil",
"login_auth_links":"<0>Créer un compte</0> Or <2>Accès invité</2>",
"Save":"Enregistrer",
"login_title":"Connexion",
"Saving…":"Enregistrement…",
"microphone_off":"Microphone éteint",
"Select an option":"Sélectionnez une option",
"microphone_on":"Microphone allumé",
"Send debug logs":"Envoyer les journaux de débogage",
"mute_microphone_button_label":"Couper le microphone",
"Sending…":"Envoi…",
"rageshake_button_error_caption":"Réessayer d’envoyer les journaux",
"Settings":"Paramètres",
"rageshake_request_modal":{
"Share screen":"Partage d’écran",
"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",
"Spatial audio":"Audio spatialisé",
"rageshake_sending":"Envoi…",
"Spotlight":"Premier plan",
"rageshake_sending_logs":"Envoi des journaux de débogage…",
"Stop sharing screen":"Arrêter le partage d’écran",
"rageshake_sent":"Merci!",
"Submit feedback":"Envoyer des retours",
"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>",
"Submitting feedback…":"Envoi des retours…",
"recaptcha_dismissed":"Recaptcha refusé",
"Take me Home":"Retouner à l’accueil",
"recaptcha_not_loaded":"Recaptcha non chargé",
"Talk over speaker":"Parler par dessus l’intervenant",
"register":{
"Thanks! We'll get right on it.":"Merci! Nous allons nous y attaquer.",
"passwords_must_match":"Les mots de passe doivent correspondre",
"This call already exists, would you like to join?":"Cet appel existe déjà, voulez-vous le rejoindre?",
"registering":"Enregistrement…"
"{{name}} is presenting":"{{name}} est le présentateur",
},
"Fetching group call timed out.":"Échec de connexion à l’appel de groupe dans le temps imparti.",
"register_auth_links":"<0>Vous avez déjà un compte?</0><1><0>Se connecter</0> Ou <2>Accès invité</2></1>",
"register_confirm_password_label":"Confirmer le mot de passe",
"{{name}} is talking…":"{{name}} est en train de parler…",
"return_home_button":"Retour à l’accueil",
"{{names}}, {{name}}":"{{names}}, {{name}}",
"room_auth_view_eula_caption":"En cliquant sur «Rejoindre l’appel maintenant», vous acceptez notre <2>Contrat de Licence Utilisateur Final (CLUF)</2>",
"{{displayName}}, your call is now ended":"{{displayName}}, votre appel est désormais terminé",
"Waiting for other participants…":"En attente d’autres participants…",
"feedback_tab_h4":"Envoyer un commentaire",
"Waiting for network":"En attente du réseau",
"feedback_tab_send_logs_label":"Inclure les journaux de débogage",
"Video call name":"Nom de l’appel vidéo",
"feedback_tab_thank_you":"Merci, nous avons reçu vos commentaires!",
"Video call":"Appel vidéo",
"feedback_tab_title":"Commentaires",
"Video":"Vidéo",
"more_tab_title":"Plus",
"Version: {{version}}":"Version: {{version}}",
"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.",
"Username":"Nom d’utilisateur",
"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.)",
"start_video_button_label":"Démarrer la vidéo",
"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_screenshare_button_label":"L’écran est partagé",
"Talking…":"Vous parlez…",
"stop_video_button_label":"Arrêter la vidéo",
"Speaker {{n}}":"Intervenant {{n}}",
"submitting":"Envoi…",
"Speaker":"Intervenant",
"unauthenticated_view_body":"Pas encore de compte? <2>En créer un</2>",
"Invite":"Inviter",
"unauthenticated_view_eula_caption":"En cliquant sur «Commencer», vous acceptez notre <2>Contrat de Licence Utilisateur Final (CLUF)</2>",
"<0>Already have an account?</0><1><0>Login</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>",
"unauthenticated_view_login_button":"Connectez vous à votre compte",
"Sending debug logs…":"Envoi des journaux de débogage…",
"unmute_microphone_button_label":"Allumer le microphone",
"<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>",
"<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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Aduh, ada yang salah.</0><1>Mengirimkan catatan pengawakutuan akan membantu kami melacak masalahnya.</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>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>",
"action":{
"Accept camera/microphone permissions to join the call.":"Terima izin kamera/mikrofon untuk bergabung ke panggilan.",
"close":"Tutup",
"Accept microphone permissions to join the call.":"Terima izin mikrofon untuk bergabung ke panggilan.",
"copy":"Salin",
"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_link":"Salin tautan",
"Audio":"Audio",
"go":"Bergabung",
"Avatar":"Avatar",
"invite":"Undang",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Dengan mengeklik \"Bergabung\", Anda terima <2>syarat dan ketentuan</2> kami",
"no":"Tidak",
"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",
"register":"Daftar",
"Call link copied":"Tautan panggilan disalin",
"remove":"Hapus",
"Call type menu":"Menu jenis panggilan",
"sign_in":"Masuk",
"Camera":"Kamera",
"sign_out":"Keluar",
"Camera {{n}}":"Kamera {{n}}",
"submit":"Kirim"
"Camera/microphone permissions needed to join the call.":"Izin kamera/mikrofon dibutuhkan untuk bergabung ke panggilan.",
},
"Change layout":"Ubah tata letak",
"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.",
"Close":"Tutup",
"app_selection_modal":{
"Confirm password":"Konfirmasi kata sandi",
"continue_in_browser":"Lanjutkan dalam peramban",
"Connection lost":"Koneksi hilang",
"open_in_app":"Buka dalam aplikasi",
"Copied!":"Disalin!",
"text":"Siap untuk bergabung?",
"Copy and share this call link":"Salin dan bagikan tautan panggilan ini",
"title":"Pilih plikasi"
"Create account":"Buat akun",
},
"Debug log":"Catatan pengawakutuan",
"browser_media_e2ee_unsupported":"Peramban web Anda tidak mendukung enkripsi media ujung ke ujung. Peramban yang didukung adalah Chrome, Safari, dan Firefox >=117",
"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>",
"Display name":"Nama tampilan",
"feedback_done":"<0>Terima kasih atas masukan Anda!</0>",
"Incompatible versions!":"Versi tidak kompatibel!",
"home":"Beranda",
"Inspector":"Inspektur",
"loading":"Memuat…",
"Invite":"Undang",
"microphone":"Mikrofon",
"Invite people":"Undang orang",
"password":"Kata sandi",
"Join call":"Bergabung ke panggilan",
"profile":"Profil",
"Join call now":"Bergabung ke panggilan sekarang",
"settings":"Pengaturan",
"Join existing call?":"Bergabung ke panggilan yang sudah ada?",
"unencrypted":"Tidak terenkripsi",
"Leave":"Keluar",
"username":"Nama pengguna"
"Loading room…":"Memuat ruangan…",
},
"Loading…":"Memuat…",
"disconnected_banner":"Koneksi ke server telah hilang.",
"Local volume":"Volume lokal",
"exit_fullscreen_button_label":"Keluar dari layar penuh",
"Logging in…":"Memasuki…",
"full_screen_view_description":"<0>Mengirim catatan pengawakutuan akan membantu kami melacak masalahnya.</0>",
"Login":"Masuk",
"full_screen_view_h1":"<0>Aduh, ada yang salah.</0>",
"Login to your account":"Masuk ke akun Anda",
"fullscreen_button_label":"Layar penuh",
"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…",
"local_volume_label":"Volume lokal",
"Release spacebar key to stop":"Lepaskan bilah spasi untuk berhenti",
"logging_in":"Memasuki…",
"Release to stop":"Lepaskan untuk berhenti",
"login_auth_links":"<0>Buat akun</0> Atau <2>Akses sebagai tamu</2>",
"Remove":"Hapus",
"login_title":"Masuk",
"Return to home screen":"Kembali ke layar beranda",
"rageshake_button_error_caption":"Kirim ulang catatan",
"Send debug logs":"Kirim catatan pengawakutuan",
"rageshake_request_modal":{
"Sending…":"Mengirimkan…",
"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>",
"Talking…":"Berbicara…",
"register_confirm_password_label":"Konfirmasi kata sandi",
"Thanks! We'll get right on it.":"Terima kasih! Kami akan melihatnya.",
"return_home_button":"Kembali ke layar beranda",
"This call already exists, would you like to join?":"Panggilan ini sudah ada, apakah Anda ingin bergabung?",
"room_auth_view_eula_caption":"Dengan mengeklik \"Bergabung ke panggilan sekarang\", Anda menyetujui <2>Perjanjian Lisensi Pengguna Akhir (EULA)</2> kami",
"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",
"room_auth_view_join_button":"Bergabung ke panggilan sekarang",
"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!",
"Waiting for network":"Menunggu jaringan",
"feedback_tab_title":"Masukan",
"Waiting for other participants…":"Menunggu peserta lain…",
"more_tab_title":"Lainnya",
"Walkie-talkie call":"Panggilan protofon",
"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.",
"unauthenticated_view_login_button":"Masuk ke akun Anda",
"<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>",
"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.",
"exit_fullscreen_button_label":"Esci da schermo intero",
"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>",
"fullscreen_button_label":"Schermo intero",
"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"
},
"local_volume_label":"Volume locale",
"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.",
"exit_fullscreen_button_label":"Iziet no pilnekrāna",
"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>",
"fullscreen_button_label":"Pilnekrāns",
"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"
},
"local_volume_label":"Vietējais skaļums",
"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>",
"Press and hold to talk over {{name}}":"Przytrzymaj, aby mówić wraz z {{name}}",
"full_screen_view_description":"<0>Wysłanie dzienników debuggowania pomoże nam ustalić przyczynę problemu.</0>",
"Press and hold to talk":"Przytrzymaj, aby mówić",
"full_screen_view_h1":"<0>Ojej, coś poszło nie tak.</0>",
"Press and hold spacebar to talk over {{name}}":"Przytrzymaj spację, aby mówić wraz z {{name}}",
"fullscreen_button_label":"Pełny ekran",
"Press and hold spacebar to talk":"Przytrzymaj spację, aby mówić",
"group_call_loader_failed_heading":"Nie znaleziono połączenia",
"Passwords must match":"Hasła muszą być identyczne",
"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.",
"Password":"Hasło",
"hangup_button_label":"Zakończ połączenie",
"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>",
"header_label":"Strona główna Element Call",
"Not registered yet? <2>Create an account</2>":"Nie masz konta? <2>Utwórz je</2>",
"header_participants_label":"Uczestnicy",
"Not now, return to home screen":"Nie teraz, powróć do ekranu domowego",
"invite_modal":{
"No":"Nie",
"link_copied_toast":"Skopiowano link do schowka",
"Mute microphone":"Wycisz mikrofon",
"title":"Zaproś do połączenia"
"More":"Więcej",
},
"Microphone permissions needed to join the call.":"Aby dołączyć do połączenia, potrzebne są uprawnienia do mikrofonu.",
"join_existing_call_modal":{
"Microphone {{n}}":"Mikrofon {{n}}",
"join_button":"Tak, dołącz do połączenia",
"Microphone":"Mikrofon",
"text":"Te połączenie już istnieje, czy chcesz do niego dołączyć?",
"Login to your account":"Zaloguj się do swojego konta",
"title":"Dołączyć do istniejącego połączenia?"
"Logging in…":"Logowanie…",
},
"Local volume":"Lokalna głośność",
"layout_grid_label":"Siatka",
"Loading…":"Ładowanie…",
"layout_spotlight_label":"Centrum uwagi",
"Loading room…":"Ładowanie pokoju…",
"lobby":{
"Leave":"Opuść",
"join_button":"Dołącz do połączenia",
"Join existing call?":"Dołączyć do istniejącego połączenia?",
"leave_button":"Wróć do ostatnie"
"Join call now":"Dołącz do połączenia teraz",
},
"Join call":"Dołącz do połączenia",
"local_volume_label":"Głośność lokalna",
"Invite people":"Zaproś ludzi",
"logging_in":"Logowanie…",
"Invite":"Zaproś",
"login_auth_links":"<0>Utwórz konto</0> lub <2>Dołącz jako gość</2>",
"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>",
"Developer":"Deweloper",
"recaptcha_dismissed":"Recaptcha odrzucona",
"Details":"Szczegóły",
"recaptcha_not_loaded":"Recaptcha nie została załadowana",
"Description (optional)":"Opis (opcjonalny)",
"register":{
"Debug log request":"Prośba o dzienniki debugowania",
"passwords_must_match":"Hasła muszą pasować",
"Debug log":"Dzienniki debugowania",
"registering":"Rejestrowanie…"
"Create account":"Utwórz konto",
},
"Copy and share this call link":"Skopiuj i podziel się linkiem do połączenia",
"register_auth_links":"<0>Masz jużkonto?</0><1><0>Zaloguj się</0> lub <2>Dołącz jako gość</2></1>",
"room_auth_view_eula_caption":"Klikając \"Dołącz teraz do rozmowy\", zgadzasz się na naszą <2>Umowę licencyjną (EULA)</2>",
"Close":"Zamknij",
"room_auth_view_join_button":"Dołącz do połączenia teraz",
"Change layout":"Zmień układ",
"screenshare_button_label":"Udostępnij ekran",
"Camera/microphone permissions needed to join the call.":"Aby dołączyć do tego połączenia, potrzebne są uprawnienia do kamery/mikrofonu.",
"select_input_unset_button":"Wybierz opcję",
"Camera {{n}}":"Kamera {{n}}",
"settings":{
"Camera":"Kamera",
"developer_settings_label":"Opcje programisty",
"Call type menu":"Menu rodzaju połączenia",
"developer_settings_label_description":"Wyświetl opcje programisty w oknie ustawień.",
"Call link copied":"Skopiowano link do połączenia",
"developer_tab_title":"Programista",
"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>",
"feedback_tab_body":"Jeśli posiadasz problemy lub chciałbyś zgłosić swoją opinię, wyślij nam krótki opis.",
"Avatar":"Awatar",
"feedback_tab_description_label":"Twoje opinie",
"Audio":"Dźwięk",
"feedback_tab_h4":"Prześlij opinię",
"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.",
"Accept camera/microphone permissions to join the call.":"Przyznaj uprawnienia do kamery/mikrofonu aby dołączyć do połączenia.",
"feedback_tab_title":"Opinia użytkownika",
"<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>",
"more_tab_title":"Więcej",
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Ups, coś poszło nie tak.</0><1>Przesłanie dzienników debugowania pomoże nam odnaleźć ten błąd.</1>",
"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>Create an account</0> Or <2>Access as a guest</2>":"<0>Utwórz konto</0> Albo <2>Dołącz jako gość</2>",
"<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>",
"speaker_device_selection_label":"Głośnik"
"{{roomName}} - Walkie-talkie call":"{{roomName}} - połączenie walkie-talkie",
"Waiting for other participants…":"Ожидание других участников…",
"go":"Далее",
"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.)":"Эта функция балансирует звук к расположению плитки на экране. (Экспериментальная функция: может повлиять на стабильность аудио.)",
"no":"Нет",
"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>.",
"register":"Зарегистрироваться",
"This call already exists, would you like to join?":"Этот звонок уже существует, хотите присоединиться?",
"remove":"Удалить",
"Thanks! We'll get right on it.":"Спасибо! Мы учтём ваш отзыв.",
"sign_in":"Войти",
"Talking…":"Говорите…",
"sign_out":"Выйти",
"Submitting feedback…":"Отправка отзыва…",
"submit":"Отправить"
"Submit feedback":"Отправить отзыв",
},
"Sending debug logs…":"Отправка журнала отладки…",
"analytics_notice":"Участвуя в этой бета-версии, вы соглашаетесь на сбор анонимных данных, которые мы используем для улучшения продукта. Более подробную информацию о том, какие данные мы отслеживаем, вы можете найти в нашей <2> Политике конфиденциальности</2> и нашей <5> Политике использования файлов cookie</5>.",
"Select an option":"Выберите вариант",
"call_ended_view":{
"Release to stop":"Отпустите, чтобы прекратить вещание",
"create_account_button":"Создать аккаунт",
"Release spacebar key to stop":"Чтобы прекратить вещание, отпустите [Пробел]",
"create_account_prompt":"<0>Почему бы не задать пароль, тем самым сохранив аккаунт?</0><1>Так вы можете оставить своё имя и задать аватар для будущих звонков.</1>",
"Press and hold to talk over {{name}}":"Зажмите, чтобы говорить поверх участника {{name}}",
"feedback_done":"<0>Спасибо за обратную связь!</0>",
"Press and hold spacebar to talk over {{name}}":"Чтобы говорить поверх участника {{name}}, нажмите и удерживайте [Пробел]",
"feedback_prompt":"<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>",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Нажимая \"Присоединиться сейчас\", вы соглашаетесь с нашими <2>положениями и условиями</2>",
"survey_prompt":"Как всё прошло?"
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Нажимая \"Далее\", вы соглашаетесь с нашими <2>положениями и условиями</2>",
},
"<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>",
"common":{
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Создать аккаунт</0> или <2>Зайти как гость</2>",
"audio":"Аудио",
"<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>",
"avatar":"Аватар",
"Your recent calls":"Ваши недавние звонки",
"camera":"Камера",
"You can't talk at the same time":"Вы не можете говорить одновременно",
"copied":"Скопировано!",
"Yes, join call":"Да, присоединиться",
"display_name":"Видимое имя",
"WebRTC is not supported or is being blocked in this browser.":"WebRTC не поддерживается или заблокирован в этом браузере.",
"rageshake_sending_logs":"Отправка журнала отладки…",
"Debug log":"Журнал отладки",
"recaptcha_dismissed":"Проверка не пройдена",
"Another user on this call is having an issue. In order to better diagnose these issues we'd like to collect a debug log.":"У одного из участников звонка есть неполадки. Чтобы лучше диагностировать похожие проблемы, нам нужен журнал отладки.",
"recaptcha_not_loaded":"Невозможно начать проверку",
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Ой, что-то пошло не так.</0><1>Отправив журнал отладки, вы поможете нам найти проблемный участок.</1>",
"register":{
"Send debug logs":"Отправить журнал отладки",
"passwords_must_match":"Пароли должны совпадать",
"Save":"Сохранить",
"registering":"Регистрация…"
"Return to home screen":"Вернуться в Начало",
},
"Remove":"Удалить",
"register_auth_links":"<0>Уже есть аккаунт?</0><1><0>Войти с ним</0> или <2>Зайти как гость</2></1>",
"Recaptcha not loaded":"Невозможно начать проверку",
"Not registered yet? <2>Create an account</2>":"Ещё не зарегистрированы? <2>Создайте аккаунт</2>",
"developer_settings_label_description":"Раскрыть настройки разработчика в окне настроек.",
"Not now, return to home screen":"Не сейчас, вернуться в Начало",
"developer_tab_title":"Разработчику",
"No":"Нет",
"feedback_tab_body":"Если у вас возникли проблемы или вы просто хотите оставить отзыв, отправьте нам краткое описание ниже.",
"Mute microphone":"Отключить микрофон",
"feedback_tab_description_label":"Ваш отзыв",
"More":"Больше",
"feedback_tab_h4":"Отправить отзыв",
"Microphone permissions needed to join the call.":"Нужно разрешение на доступ к микрофону для присоединения к звонку.",
"feedback_tab_send_logs_label":"Приложить журнал отладки",
"Microphone {{n}}":"Микрофон {{n}}",
"feedback_tab_thank_you":"Спасибо. Мы получили ваш отзыв!",
"Microphone":"Микрофон",
"feedback_tab_title":"Отзыв",
"Login to your account":"Войдите в свой аккаунт",
"more_tab_title":"Больше",
"Login":"Вход",
"opt_in_description":"<0></0><1></1>Вы можете отозвать согласие, сняв этот флажок. Если вы в данный момент находитесь в разговоре, эта настройка вступит в силу по окончании разговора.",
"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>.",
"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>",
"feedback_done":"<0> Ďakujeme za vašu spätnú väzbu!</0>",
"feedback_prompt":"<0> Radi si vypočujeme vašu spätnú väzbu, aby sme mohli zlepšiť vaše skúsenosti.</0>",
"headline":"{{displayName}}, váš hovor skončil.",
"not_now_button":"Teraz nie, vrátiť sa na domovskú obrazovku",
"reconnect_button":"Znovu pripojiť",
"survey_prompt":"Ako to išlo?"
},
"call_name":"Názov hovoru",
"common":{
"avatar":"Obrázok",
"camera":"Kamera",
"copied":"Skopírované!",
"display_name":"Zobrazované meno",
"encrypted":"Šifrované",
"home":"Domov",
"loading":"Načítanie…",
"microphone":"Mikrofón",
"password":"Heslo",
"profile":"Profil",
"settings":"Nastavenia",
"unencrypted":"Nie je zašifrované",
"username":"Meno používateľa"
},
"disconnected_banner":"Spojenie so serverom sa stratilo.",
"exit_fullscreen_button_label":"Ukončiť zobrazenie na celú obrazovku",
"full_screen_view_description":"<0>Odoslanie záznamov ladenia nám pomôže nájsť problém.</0>",
"full_screen_view_h1":"<0>Hups, niečo sa pokazilo.</0>",
"fullscreen_button_label":"Zobrazenie na celú obrazovku",
"group_call_loader_failed_heading":"Hovor nebol nájdený",
"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ľúč.",
"hangup_button_label":"Ukončiť hovor",
"header_label":"Domov Element Call",
"header_participants_label":"Účastníci",
"invite_modal":{
"link_copied_toast":"Odkaz skopírovaný do schránky",
"title":"Pozvať na tento hovor"
},
"join_existing_call_modal":{
"join_button":"Áno, pripojiť sa k hovoru",
"text":"Tento hovor už existuje, chceli by ste sa k nemu pripojiť?",
"title":"Pripojiť sa k existujúcemu hovoru?"
},
"layout_grid_label":"Sieť",
"layout_spotlight_label":"Stredobod",
"lobby":{
"join_button":"Pripojiť sa k hovoru",
"leave_button":"Späť k nedávnym"
},
"local_volume_label":"Lokálna hlasitosť",
"logging_in":"Prihlasovanie…",
"login_auth_links":"<0>Vytvoriť konto</0> Alebo <2>Prihlásiť sa ako hosť</2>",
"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í.",
"title":"Žiadosť o záznam ladenia"
},
"rageshake_send_logs":"Odoslať záznamy o ladení",
"rageshake_sending":"Odosielanie…",
"rageshake_sending_logs":"Odosielanie záznamov o ladení…",
"rageshake_sent":"Ďakujeme!",
"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>",
"recaptcha_dismissed":"Recaptcha zamietnutá",
"recaptcha_not_loaded":"Recaptcha sa nenačítala",
"register":{
"passwords_must_match":"Heslá sa musia zhodovať",
"registering":"Registrácia…"
},
"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í",
"feedback_tab_thank_you":"Ďakujeme, dostali sme vašu spätnú väzbu!",
"feedback_tab_title":"Spätná väzba",
"more_tab_title":"Viac",
"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.",
"unauthenticated_view_body":"Ešte nie ste zaregistrovaný? <2>Vytvorte si účet</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>",
"unauthenticated_view_login_button":"Prihláste sa do svojho konta",
"<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ş",
"display_name":"Ekran adı",
"Create account":"Hesap aç",
"home":"Ev",
"Debug log":"Hata ayıklama kütüğü",
"loading":"Yükleniyor…",
"Debug log request":"Hata ayıklama kütük istemi",
"microphone":"Mikrofon",
"Description (optional)":"Tanım (isteğe bağlı)",
"password":"Parola",
"Details":"Ayrıntı",
"settings":"Ayarlar"
"Developer":"Geliştirici",
},
"Display name":"Ekran adı",
"exit_fullscreen_button_label":"Tam ekranı terk et",
"register_confirm_password_label":"Parolayı tekrar edin",
"Microphone permissions needed to join the call.":"Aramaya katılmak için mikrofon erişim izni gerek.",
"return_home_button":"Ev ekranına geri dön",
"Microphone {{n}}":"{{n}}. mikrofon",
"room_auth_view_join_button":"Aramaya katıl",
"More":"Daha",
"screenshare_button_label":"Ekran paylaş",
"More menu":"Daha fazla",
"select_input_unset_button":"Bir seçenek seç",
"Mute microphone":"Mikrofonu kapat",
"settings":{
"No":"Hayır",
"developer_tab_title":"Geliştirici",
"Not now, return to home screen":"Şimdi değil, ev ekranına dön",
"feedback_tab_h4":"Geri bildirim ver",
"Not registered yet? <2>Create an account</2>":"Kaydolmadınız mı? <2>Hesap açın</2>",
"feedback_tab_send_logs_label":"Hata ayıklama kütüğünü dahil et",
"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>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Hoop, bir şeyler yanlış.</0><1>Hata ayıklama kütüğünü göndermek sorunu incelememize yardımcı olur.</1>",
"<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":"Затисніть, щоб говорити",
"exit_fullscreen_button_label":"Вийти з повноекранного режиму",
"Press and hold spacebar to talk over {{name}}":"Щоб говорити одночасно з {{name}}, затисніть пробіл",
"full_screen_view_description":"<0>Надсилання журналів налагодження допоможе нам виявити проблему.</0>",
"Press and hold spacebar to talk":"Затисніть пробіл, щоб говорити",
"full_screen_view_h1":"<0>Йой, щось пішло не за планом.</0>",
"Passwords must match":"Паролі відрізняються",
"fullscreen_button_label":"Повноекранний режим",
"Password":"Пароль",
"group_call_loader_failed_heading":"Виклик не знайдено",
"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>",
"group_call_loader_failed_text":"Відтепер виклики захищено наскрізним шифруванням, і їх потрібно створювати з домашньої сторінки. Це допомагає переконатися, що всі користувачі використовують один і той самий ключ шифрування.",
"Not registered yet? <2>Create an account</2>":"Ще не зареєстровані? <2>Створіть обліковий запис</2>",
"hangup_button_label":"Завершити виклик",
"Not now, return to home screen":"Не зараз, повернутися на екран домівки",
"header_label":"Домівка Element Call",
"No":"Ні",
"header_participants_label":"Учасники",
"Mute microphone":"Заглушити мікрофон",
"invite_modal":{
"More menu":"Усе меню",
"link_copied_toast":"Посилання скопійовано до буфера обміну",
"More":"Докладніше",
"title":"Запросити до цього виклику"
"Microphone permissions needed to join the call.":"Для участі у виклику необхідний дозвіл на користування мікрофоном.",
},
"Microphone {{n}}":"Мікрофон {{n}}",
"join_existing_call_modal":{
"Microphone":"Мікрофон",
"join_button":"Так, приєднатися до виклику",
"Login to your account":"Увійдіть до свого облікового запису",
"text":"Цей виклик уже існує, бажаєте приєднатися?",
"Login":"Увійти",
"title":"Приєднатися до наявного виклику?"
"Logging in…":"Вхід…",
},
"Local volume":"Локальна гучність",
"layout_grid_label":"Сітка",
"Loading room…":"Завантаження кімнати…",
"layout_spotlight_label":"У центрі уваги",
"Leave":"Вийти",
"lobby":{
"Join existing call?":"Приєднатися до наявного виклику?",
"join_button":"Приєднатися до виклику",
"Join call now":"Приєднатися до виклику зараз",
"leave_button":"Повернутися до недавніх"
"Join call":"Приєднатися до виклику",
},
"Invite people":"Запросити людей",
"local_volume_label":"Локальна гучність",
"Invite":"Запросити",
"logging_in":"Вхід…",
"Inspector":"Інспектор",
"login_auth_links":"<0>Створити обліковий запис</0> або <2>Отримати доступ як гість</2>",
"recaptcha_caption":"Цей сайт захищений ReCAPTCHA і до нього застосовується <2>Політика приватності</2> і <6>Умови надання послуг</6> Google.<9></9>Натискаючи \"Зареєструватися\", ви погоджуєтеся з нашою <12>Ліцензійною угодою з кінцевим користувачем (EULA)</12>",
"Developer":"Розробнику",
"recaptcha_dismissed":"Recaptcha не пройдено",
"Details":"Подробиці",
"recaptcha_not_loaded":"Recaptcha не завантажено",
"Description (optional)":"Опис (необов'язково)",
"register":{
"Debug log request":"Запит журналу зневадження",
"passwords_must_match":"Паролі відрізняються",
"Debug log":"Журнал зневадження",
"registering":"Реєстрація…"
"Create account":"Створити обліковий запис",
},
"Copy and share this call link":"Скопіювати та поділитися цим посиланням на виклик",
"register_auth_links":"<0>Уже маєте обліковий запис?</0><1><0>Увійти</0> Or <2>Отримати доступ як гість</2></1>",
"return_home_button":"Повернутися на екран домівки",
"Confirm password":"Підтвердити пароль",
"room_auth_view_eula_caption":"Натискаючи \"Приєднатися до виклику зараз\", ви погоджуєтеся з нашою <2>Ліцензійною угодою з кінцевим користувачем (EULA)</2>",
"Close":"Закрити",
"room_auth_view_join_button":"Приєднатися до виклику зараз",
"Change layout":"Змінити макет",
"screenshare_button_label":"Поділитися екраном",
"Camera/microphone permissions needed to join the call.":"Для приєднання до виклику необхідні дозволи камери/мікрофона.",
"developer_settings_label_description":"Відкрийте налаштування розробника у вікні налаштувань.",
"Call link copied":"Посилання на виклик скопійовано",
"developer_tab_title":"Розробнику",
"By clicking \"Join call now\", you agree to our <2>Terms and conditions</2>":"Натиснувши «Приєднатися до виклику зараз», ви погодитеся з нашими <2>Умовами та положеннями</2>",
"feedback_tab_body":"Якщо у вас виникли проблеми або ви просто хочете залишити відгук, надішліть нам короткий опис нижче.",
"By clicking \"Go\", you agree to our <2>Terms and conditions</2>":"Натиснувши «Далі», ви погодитеся з нашими <2>Умовами та положеннями</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.":"Інший користувач у цьому виклику має проблему. Щоб краще визначити ці проблеми, ми хотіли б зібрати журнал зневадження.",
"feedback_tab_thank_you":"Дякуємо, ми отримали ваш відгук!",
"Accept microphone permissions to join the call.":"Надайте дозволи на використання мікрофонів для приєднання до виклику.",
"feedback_tab_title":"Відгук",
"Accept camera/microphone permissions to join the call.":"Надайте дозвіл на використання камери/мікрофона для приєднання до виклику.",
"more_tab_title":"Докладніше",
"<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>",
"opt_in_description":"<0></0><1></1>Ви можете відкликати згоду, прибравши цей прапорець. Якщо ви зараз розмовляєте, це налаштування застосується після завершення виклику.",
"<0>Oops, something's gone wrong.</0><1>Submitting debug logs will help us track down the problem.</1>":"<0>Халепа, щось пішло не так.</0><1>Надсилання журналів зневадження допоможе нам виявити проблему.</1>",
"show_connection_stats_label":"Показати стан з'єднання",
"<0>Create an account</0> Or <2>Access as a guest</2>":"<0>Створити обліковий запис</0> або <2>Отримати доступ як гість</2>",
"speaker_device_selection_label":"Динамік"
"<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|other":"{{count}} під'єдналися",
"stop_video_button_label":"Зупинити відео",
"{{count}} people connected|one":"{{count}} під'єднується",
"submitting":"Надсилання…",
"<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_body":"Ще не зареєстровані? <2>Створіть обліковий запис</2>",
"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"
},
"exit_fullscreen_button_label":"Rời chế độ toàn mà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>",
"fullscreen_button_label":"Toàn màn hình",
"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!",
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.