mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-10-19 16:17:03 +00:00
* hbb_common: bump to the port-forward-mux proto Also latches PortForward.multiplex into login_scope_digest, which destructures PortForward's fields exhaustively by design (a new field must be latched or deliberately ignored to compile). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: window accounting and channel frame builders Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: fix RecvWindow counter overflow on long transfers Replace cumulative accounting (granted/received) with remaining credit tracking to prevent u32 overflow after 4 GiB of data on a single channel. Wire behavior is identical, but the fix allows large file transfers without mid-stream channel closure. Add regression test for 8 GiB transfer to verify fix. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: credit-windowed relay halves and channel coordinator Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * server: PortForwardMux channel table and per-channel tasks Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * server: multiplexed port-forward connections stay in the protobuf loop Wire PortForwardMux into Connection: take the multiplexed path at login when the controller sets PortForward.multiplex, route PortForwardChannel frames to it from on_message, sweep the channel table's targets after open/close, and clean it up on connection close. Introduce is_port_forward() (socket-based or multiplexed) and use it at the four sites that classify the connection, so a multiplexed connection stays in the message loop, gets TestDelay keepalives, and reports features.port_forward_mux in PeerInfo. The three sites that break into the raw pipe loop or gate the keepalive still check port_forward_socket specifically, since a multiplexed connection must not take that path. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * cm: update a port-forward row's targets as tunnel channels come and go Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: controller tunnel with a single-writer stream loop Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: publish Muxed before spawning the tunnel loop Publishing after spawn let a loop that dies immediately reset the state first, so the later publish pinned it at Muxed with a dead handle forever. Also adds a test pinning open-before-data ordering across many concurrently opened channels, and drops an unused Clone derive. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: share one multiplexed tunnel across a window's listeners Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: fix round 1 review findings Drop the mux default-false assignment now that definite-assignment proves every path that reads it has set it; the enable-port-forward-mux config commit picks up the missing attribution trailers; the default-on test pins the enable- prefix itself rather than option2bool's weaker fallback. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: end-to-end tests over a loopback tunnel Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: fix bulk test's premature half-close, pin the half-close limitation many_channels_echo_concurrently_and_a_bulk_one_does_not_starve_them dropped its bulk write half as soon as writing finished, which shuts down the write side of the socket and, by design (see the design doc's TCP half-close non-goal; today's run_forward does the same), ends the whole channel. Keep the write half alive until the reader is done so the test measures starvation, not half-close. Add a_local_half_close_ends_the_whole_channel to pin that limitation in code. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: cap send credit and other final review fixes Fix 1 (critical): clamp SendCredit to MAX_SEND_CREDIT (= CHANNEL_WINDOW) in both new() and add(), so a peer with tunnel permission can no longer advertise an unbounded window and force the controlled side's unbounded FrameSink::Direct sink to buffer unlimited target data per channel. Fix 2: rename the "starve" test to many_channels_echo_concurrently and drop its (untrue) starvation claim, since it opens every channel before the bulk transfer starts. Add a_channel_opened_during_a_bulk_transfer_ is_served_promptly, which opens the small channel while the bulk one is demonstrably mid-flight. Fix 3: only look up the tunnel permission for `open` frames in the PortForwardChannel arm of on_message, instead of once per data frame. Fix 4: two rustfmt deviations in connection.rs (matches! wrapping and a tuple literal), fixed by hand without a blanket cargo fmt run. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: report a refused channel's reason as an error dialog The controlled side already answers a refused port-forward channel with opened { success: false, message }; on the multiplexed path TunnelHandle:: on_frame only logged that message at debug and closed the channel, so the user saw a closed connection with no explanation, worst on the RDP path where only the RDP client's own error remained. on_frame now returns the message the window should show, deduplicated per distinct reason (capped at MAX_REPORTED_OPEN_ERRORS) so one page load's dozen refused connections surface one dialog per reason instead of a dozen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * Use on_error for refused-channel dialog in tunnel_loop Redirect the refused-channel error through the standard on_error path instead of calling msgbox directly, for consistency with other errors in the port-forward flow. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: apply the whole-branch review Correctness: - listen(): the Legacy arm is merged with the Claimed arm. On its own it ignored outcome.local_eof, so a client that hung up during login still got a target connect, an audit record and a CM row on the controlled side, and ignored outcome.mux, so a peer upgraded while a legacy window stayed open answered as a tunnel while the controller went raw. - Refusal dialogs are deduplicated per quiet spell (10 s) rather than per tunnel lifetime; the lifetime set went silent for the rest of a long-lived window after the first burst. - Android's CM listener handles UpdatePortForward; it fell into `_ => {}`. - relay_socket_to_tunnel reads into one scratch buffer per channel and sends an exact-size copy. A frame owning its 64 KiB read allocation pinned it until sent, once per byte on interactive traffic. Consistency and cleanups: - The controlled side's refusal text is the raw pipe's wording, RDP substitution included. - connection.rs: the PortForwardChannel arm is a one-line hook, the CM label is pushed from the 1 s tick alone, and the unreachable inner.tx fall-through is gone. - The Ready enum is removed; wait_ready() returns Option<Claim>. - SendCredit::add wakes with notify_one alone. - on_ui_command() replaces the two ui_receiver handlers in listen(). - TunnelHandle is no longer re-exported (unused-import warning). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a legacy window stays legacy until it is reopened Review: the merged `Claimed | Legacy` arm gave a legacy window a hot transition to a tunnel — every accept re-negotiated, and a peer upgraded while the window stayed open was promoted underneath live connections. The product does not need a mode switch inside a window's lifetime, and the transition was extra state-machine surface for nothing: reopening the window picks up an upgraded peer. The two arms are separate again. `Claimed` negotiates once and the peer's answer fixes the window's mode. `Legacy` logs in for every accept as before, asks for no tunnel — `LoginConfigHandler::port_forward_mux` carries the request per login, so the raw pipe never has to talk to a peer that thinks it agreed to multiplex — and ignores what the peer reports. Both arms keep skipping a local socket that hung up during login. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * hbb_common: bump to main with rustdesk/hbb_common#594 merged Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * server: admit only INITIAL_WINDOW on a channel before opened The demultiplexer accepted CHANNEL_WINDOW into a pending channel's unbounded queue, four times the bound the channel task enforces once it polls. The window now starts at INITIAL_WINDOW and is widened right before `opened` advertises the rest. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: a tunnel ends when its window drops the Tunnel The loop held its own handle and state sender, so once the window closed nothing was left to stop it: it kept answering TestDelay and the peer connection, CM row included, lived on until the peer went away. `Tunnel` now owns a watch sender nobody sends on; the loop's receiver errors when the last `Tunnel` drops, and the loop ends. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: one tunnel per mapping, bound to the authenticated target The login latches `PortForward.host`/`port` into the session scope and approval is shown that target, but a window-wide tunnel let any later `open` name another target with only `enable-tunnel` rechecked. A tunnel now belongs to one listener and serves the one target its login authenticated: the controlled side refuses an `open` for any other target, and a window with several targets uses one connection each, approved on its own. With one owner per tunnel the claim needs no waiters: `Establishing`, `Claim::Wait` and `wait_ready` go, and `try_claim` becomes a plain read. The CM label that followed a tunnel's targets goes with them; a row shows its mapping's target, as before. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the legacy comment names the mapping, not the window Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: a window violation drops the channel on the spot Both demultiplexers only queued a `Violation` and left the entry until the channel task woke and exited, so a peer that kept sending past the window queued one more entry per frame in the meantime, bounded by nothing. The entry now goes the moment `accept` fails; later frames for that id are unknown-channel noise. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the login's target travels with the accept, not the handler `listen()` wrote `lc.port_forward` (and, on this branch, `port_forward_mux`) into the window's shared `LoginConfigHandler` before connecting, and `create_login_msg` read them back only when the peer's `Hash` arrived. Two mappings logging in at the same time could therefore swap targets: on master that bridged a local socket to the wrong target, and with a tunnel bound to its login's target it also left the mapping refusing every later accept until it was recreated. The target is now a `PortForward` carried by the interface clone that handles one accept, passed explicitly down to `create_login_msg`; the handler no longer has a field to race on. No lock spans the login. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port_forward_mux: pin permission revocation and whole-tunnel failure in tests Both already hold; the review asked for them to be stated. `enable-tunnel` turned off mid-session refuses the next `open` while the live channel keeps relaying, and a dead tunnel ends every channel on it together, after which the next accept establishes again on the same `Tunnel`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the legacy comment names re-adding the mapping only Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the raw pipe runs the code it always ran The multiplexed login had replaced `connect_and_login`, so a mapping with the setting off, a peer without the feature, or a listener latched `Legacy` still went through the tunnel's state machine, the capped pre-read and the changed local-EOF rule. Feature off now means the old code: `listen()` keeps its accept arm and `connect_and_login` as they were, and the tunnel is a branch taken only when the setting is on, in `establish_tunnel` with its own `connect_and_login_mux`. The one line the raw path does differently is the target riding with the accept's interface clone instead of the shared handler. `get_port_forward_mux_enabled` had one caller and moves in here, so `common.rs` is untouched. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a UI login answers the challenge its own connection was given `handle_login_from_ui` hashed the typed password against `lc.hash`, the window's shared handler field, and the window's password prompt is broadcast to every listener. With two mappings both waiting on that prompt, the `Hash` that arrived last had overwritten the other's, so one of the two answered the wrong challenge and failed to log in. Master shares the same state and broadcasts the same way. The `Hash` is now a parameter of the login; `Session` keeps it beside the connection it belongs to, and the per-accept clone that `with_port_forward` makes gets a slot of its own. `lc.hash` stays for `handle_peer_info`, which only needs the salt, and that is per peer. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a mapping without its hash waits for it before answering the prompt The window's password prompt is broadcast to every mapping, and can reach one whose own connection has not received its `Hash` yet. That mapping used to answer anyway, with a digest over an empty challenge: the peer refused it and counted a failed attempt, and the empty-salt result was written into the shared `lc.password`, where the mapping that prompted had just stored the right one and the next `handle_peer_info` would persist whatever was there. The connection's challenge is now `Option<Hash>`, `None` until `handle_hash` runs, and `handle_login_from_ui` sends nothing without it. The mapping that prompted stores the salted password in the shared handler, and the waiting one logs in with that against its own challenge when its `Hash` arrives, without prompting again. Test: A answers its prompt, the same broadcast reaches B before its hash, B sends nothing, B's hash arrives and its login carries B's challenge and B's target with no dialog. It runs the real `handle_hash` for B. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the tunnel's login is the raw pipe's, asked for by a window flag Master's fix for the shared login slots (#16069) keeps the target and the challenge in the window's `LoginConfigHandler` and serializes the mappings' logins with a turn lock, all inside `port_forward.rs`. This branch had carried a broader shape of the same fix, a `with_port_forward` on `Interface` and the target and `Hash` as parameters through the login functions, which every caller had to follow. That is gone: `Interface`, `Session`, `create_login_msg`, `send_login`, `handle_hash` and `handle_login_from_ui` are as on master. What the tunnel needs on top is one bit in the login, `multiplex`. It is a window flag beside `port_forward` in the handler, set once in `io_loop` before the window's mappings start, so an accept's claim and its login read the same value; the setting takes effect for windows opened after it changes. `connect_and_login_mux` is now master's `connect_and_login` with the tunnel's three differences and the same `hash_arrived` and `login_from_ui` calls. The raw pipe is master's, line for line. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * hbb_common: bump to main with rustdesk/hbb_common#595 merged 840c8ec..f94e3fe is that one merge: the five local settings custom clients could not preset. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the off switch gets a checkbox in Settings → General `enable-port-forward-mux` was readable only by editing the config file. It is a local setting of the controlling side, so it sits with the other outgoing ones, after "Open connection in new tab", with a tooltip saying what it does. The two new keys are translated in every language. The three that the mobile file manager added, "Export", "Export Logs" and "Import Folder", were empty everywhere but five languages; they are filled in too, and Korean's "xdp-portal-unavailable" with them. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * Urdu: fill the backlog of empty and missing translations ur.rs had fallen behind: 104 keys carried an empty value and 35 keys the other languages have were absent altogether. Both are filled in, the missing ones in the order template.rs lists them. Eight entries stay empty on purpose. They are keys that only ur.rs still carries, absent from template.rs and from every other language, so their English source cannot be recovered and nothing reads them: remember_account_tip, os_account_desk_tip, another_user_login_*_tip, xorg_not_found_*_tip and no_desktop_*_tip. Twelve more dead keys keep the values they have; removing either group is a separate decision. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * Urdu: drop the keys template.rs no longer lists The twenty keys removed here are absent from template.rs and from every other language file; ur.rs was the only one still carrying them, eight of them with no value at all. They are leftovers of features that are gone: the plugin menu, the OS-account login prompts, the Xorg and no-desktop errors. ur.rs now holds exactly the template's key set, all of it translated. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: closing the tunnel reaches channels parked on their socket A channel whose far end neither reads nor writes has both relays parked on the socket, not on the inbound queue, so `close_all` dropping the queue's sender woke neither: the socket and both tasks lived on until the far end hung up. Both sides now hold a per-tunnel teardown signal that `run_channel` selects on beside its own cancel, and `close_all` sends it after clearing the map. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a mapping latched to the raw pipe logs in without asking for the tunnel The login copied the window's `port_forward_mux` into `multiplex`, so a mapping that had latched to the raw pipe on an old peer kept asking for the tunnel. Once that peer was upgraded it answered with a tunnel while the controller switched to raw framing, and every later connection on the mapping was dead until it was re-added. The login now carries its own `port_forward_multiplex`, filled with the target under the turn lock: the probe asks, the raw pipe does not. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a channel opened as its tunnel closes still gets the teardown `open` can straddle `close_all`: the claim passed, the frame receiver was still alive, and the channel subscribed after the signal had gone out. `watch::subscribe` marks earlier sends as seen, and the entry sits in a map that was already cleared, so nothing would ever end it. The signal is now a level: `close_all` raises it with `send_replace`, which stores even with no channel live, and `run_channel` waits for the value rather than for a change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: the connect guard counts a live tunnel as connected `connect_port_forward_if_needed` returned early only for a raw-pipe socket; called again with a tunnel up it would have built a second `PortForwardMux` and dropped every channel of the first. Not reachable today, since the logon response is sent once, but the other checks in this change already read `is_port_forward()`. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * Urdu: the two terminal clipboard keys master added Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a tunnel's TCP stream refuses packets over twice MAX_FRAME The codec takes a header declaring up to 1 GiB and hands the packet up only once it has all arrived, so the channel window bounded what the peer may send, not what this side buffers. Both sides now cap the codec at 2 * MAX_FRAME as soon as multiplexing is agreed: a data frame with its envelope and MAC fits with room to spare, and a header over the cap ends the tunnel before a byte of payload is read. TCP only; the WebSocket and WebRTC codecs carry caps of their own. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab * port forward: a channel id still live when the counter comes round is skipped The controller handed out `next_id` unchecked. 2^32 opens later it lands on a channel still up: the entry here was replaced, while the peer, which ignores an `open` for a live id, kept routing that id to the old socket, so the new local connection's bytes went into the old target connection. The id is now taken under the map's lock and advanced past any id in use. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EZ49AbZJYfm8NTp5yDPMab --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
773 lines
52 KiB
Rust
773 lines
52 KiB
Rust
lazy_static::lazy_static! {
|
||
pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
||
[
|
||
("Status", "Stav"),
|
||
("Your Desktop", "Vaše plocha"),
|
||
("desk_tip", "Pomocí tohoto ID a hesla lze přistupovat k pracovní ploše."),
|
||
("Password", "Heslo"),
|
||
("Ready", "Připraveno"),
|
||
("Established", "Navázáno"),
|
||
("connecting_status", "Připojování k RustDesk síti..."),
|
||
("Enable service", "Povolit službu"),
|
||
("Start service", "Spustit službu"),
|
||
("Service is running", "Služba je spuštěná"),
|
||
("Service is not running", "Služba není spuštěná"),
|
||
("not_ready_status", "Nepřipraveno. Zkontrolujte své připojení."),
|
||
("Control Remote Desktop", "Ovládat vzdálenou plochu"),
|
||
("Transfer file", "Přenos souborů"),
|
||
("Connect", "Připojit"),
|
||
("Recent sessions", "Nedávné relace"),
|
||
("Address book", "Adresář kontaktů"),
|
||
("Confirmation", "Potvrzení"),
|
||
("TCP tunneling", "TCP tunelování"),
|
||
("Remove", "Odebrat"),
|
||
("Refresh random password", "Vytvořit nové náhodné heslo"),
|
||
("Set your own password", "Nastavte si své vlastní heslo"),
|
||
("Enable keyboard/mouse", "Povolit klávesnici/myš"),
|
||
("Enable clipboard", "Povolit schránku"),
|
||
("Enable file transfer", "Povolit přenos souborů"),
|
||
("Enable TCP tunneling", "Povolit TCP tunelování"),
|
||
("IP Whitelisting", "Povolování pouze z daných IP adres"),
|
||
("ID/Relay Server", "ID/předávací server"),
|
||
("Import server config", "Importovat konfiguraci serveru"),
|
||
("Export Server Config", "Exportovat konfiguraci serveru"),
|
||
("Import server configuration successfully", "Konfigurace serveru úspěšně importována"),
|
||
("Export server configuration successfully", "Konfigurace serveru úspěšně exportována"),
|
||
("Invalid server configuration", "Neplatná konfigurace serveru"),
|
||
("Clipboard is empty", "Schránka je prázdná"),
|
||
("Stop service", "Zastavit službu"),
|
||
("Change ID", "Změnit ID"),
|
||
("Your new ID", "Vaše nové ID"),
|
||
("length %min% to %max%", "délka mezi %min% a %max%"),
|
||
("starts with a letter", "začíná písmenem"),
|
||
("allowed characters", "povolené znaky"),
|
||
("id_change_tip", "Použít je možné pouze znaky a-z, A-Z, 0-9, - (dash) a _ (podtržítko). Dále je třeba aby začínalo písmenem a-z, A-Z. Délka mezi 6 a 16 znaky."),
|
||
("Website", "Webové stránky"),
|
||
("About", "O aplikaci"),
|
||
("Slogan_tip", "Vytvořeno srdcem v tomto chaotickém světě!"),
|
||
("Privacy Statement", "Prohlášení o ochraně osobních údajů"),
|
||
("Mute", "Ztlumit zvuk"),
|
||
("Build Date", "Datum sestavení"),
|
||
("Version", "Verze"),
|
||
("Home", "Domů"),
|
||
("Audio Input", "Vstup zvuku"),
|
||
("Enhancements", "Vylepšení"),
|
||
("Hardware Codec", "Hardwarový kodek"),
|
||
("Adaptive bitrate", "Adaptivní datový tok"),
|
||
("ID Server", "ID Server"),
|
||
("Relay Server", "Předávací server"),
|
||
("API Server", "API Server"),
|
||
("invalid_http", "Je třeba, aby začínalo na http:// nebo https://"),
|
||
("Invalid IP", "Neplatná IP"),
|
||
("Invalid format", "Neplatný formát"),
|
||
("server_not_support", "Server zatím nepodporuje"),
|
||
("Not available", "Není k dispozici"),
|
||
("Too frequent", "Příliš časté"),
|
||
("Cancel", "Storno"),
|
||
("Skip", "Přeskočit"),
|
||
("Close", "Zavřít"),
|
||
("Retry", "Zkusit znovu"),
|
||
("OK", "OK"),
|
||
("Password Required", "Vyžadováno heslo"),
|
||
("Please enter your password", "Zadejte své heslo"),
|
||
("Remember password", "Zapamatovat heslo"),
|
||
("Wrong Password", "Nesprávné heslo"),
|
||
("Do you want to enter again?", "Chcete se znovu připojit?"),
|
||
("Connection Error", "Chyba spojení"),
|
||
("Error", "Chyba"),
|
||
("Reset by the peer", "Resetováno protistranou"),
|
||
("Connecting...", "Připojování..."),
|
||
("Connection in progress. Please wait.", "Probíhá připojování, vyčkejte prosím."),
|
||
("Please try 1 minute later", "Zkuste to prosím o 1 minutu později"),
|
||
("Login Error", "Chyba přihlášení se"),
|
||
("Successful", "Úspěšné"),
|
||
("Connected, waiting for image...", "Připojeno, čeká se na obraz..."),
|
||
("Name", "Název"),
|
||
("Type", "Typ"),
|
||
("Modified", "Změněno"),
|
||
("Size", "Velikost"),
|
||
("Show Hidden Files", "Zobrazit skryté soubory"),
|
||
("Receive", "Přijmout"),
|
||
("Send", "Odeslat"),
|
||
("Refresh File", "Znovu načíst soubor"),
|
||
("Local", "Místní"),
|
||
("Remote", "Vzdálené"),
|
||
("Remote Computer", "Vzdálený počítač"),
|
||
("Local Computer", "Místní počítač"),
|
||
("Confirm Delete", "Potvrdit smazání"),
|
||
("Delete", "Smazat"),
|
||
("Properties", "Vlastnosti"),
|
||
("Multi Select", "Vícenásobný výběr"),
|
||
("Select All", "Vybrat vše"),
|
||
("Unselect All", "Zrušit výběr všech"),
|
||
("Empty Directory", "Prázdná složka"),
|
||
("Not an empty directory", "Neprázdná složka"),
|
||
("Are you sure you want to delete this file?", "Opravdu chcete tento soubor vymazat?"),
|
||
("Are you sure you want to delete this empty directory?", "Opravdu chcete tuto prázdnou složku smazat?"),
|
||
("Are you sure you want to delete the file of this directory?", "Opravdu chcete vymazat soubor z této složky?"),
|
||
("Do this for all conflicts", "Naložit takto se všemi konflikty"),
|
||
("This is irreversible!", "Toto nelze vzít zpět"),
|
||
("Deleting", "Mazání"),
|
||
("files", "soubory"),
|
||
("Waiting", "Čeká se"),
|
||
("Finished", "Dokončeno"),
|
||
("Speed", "Rychlost"),
|
||
("Custom Image Quality", "Uživatelsky určená kvalita obrazu"),
|
||
("Privacy mode", "Režim ochrany soukromí"),
|
||
("Block user input", "Blokovat vstupní zařízení uživatele"),
|
||
("Unblock user input", "Odblokovat vstupní zařízení uživatele"),
|
||
("Adjust Window", "Přizpůsobit velikost okna"),
|
||
("Original", "Původní"),
|
||
("Shrink", "Oříznout"),
|
||
("Stretch", "Roztáhnout"),
|
||
("Scrollbar", "Posuvník"),
|
||
("ScrollAuto", "Automatické rolování"),
|
||
("Good image quality", "Dobrá kvalita obrazu"),
|
||
("Balanced", "Vyvážená"),
|
||
("Optimize reaction time", "Optimalizovat reakční dobu"),
|
||
("Custom", "Vlastní"),
|
||
("Show remote cursor", "Zobrazit vzdálený kurzor"),
|
||
("Show quality monitor", "Zobrazit monitor kvality"),
|
||
("Disable clipboard", "Vypnout schránku"),
|
||
("Lock after session end", "Po ukončení relace zamknout plochu"),
|
||
("Insert Ctrl + Alt + Del", "Vložit Ctrl + Alt + Del"),
|
||
("Insert Lock", "Zamknout"),
|
||
("Refresh", "Načíst znovu"),
|
||
("ID does not exist", "Toto ID neexistuje"),
|
||
("Failed to connect to rendezvous server", "Nepodařilo se připojit ke zprostředkovávajícímu serveru"),
|
||
("Please try later", "Zkuste to později"),
|
||
("Remote desktop is offline", "Vzdálená plocha není připojená ke službě"),
|
||
("Key mismatch", "Neshoda klíčů"),
|
||
("Timeout", "Překročen časový limit pro navázání spojení"),
|
||
("Failed to connect to relay server", "Nepodařilo se připojit k předávacímu serveru"),
|
||
("Failed to connect via rendezvous server", "Nepodařilo se připojit prostřednictvím zprostředkovávajícího serveru"),
|
||
("Failed to connect via relay server", "Nepodařilo se připojit prostřednictvím předávacího serveru"),
|
||
("Failed to make direct connection to remote desktop", "Nepodařilo s navázat přímé připojení ke vzdálené ploše"),
|
||
("Set Password", "Nastavit heslo"),
|
||
("OS Password", "Heslo do operačního systému"),
|
||
("install_tip", "Kvůli řízení oprávnění v systému (UAC), RustDesk v některých případech na protistraně nefunguje správně. Abyste se UAC vyhnuli, klikněte na níže uvedené tlačítko a nainstalujte tak RustDesk do systému."),
|
||
("Click to upgrade", "Aktualizovat"),
|
||
("Configure", "Nastavit"),
|
||
("config_acc", "Aby bylo možné na dálku ovládat vaši plochu, je třeba aplikaci RustDesk udělit oprávnění pro \"Zpřístupnění pro hendikepované\"."),
|
||
("config_screen", "Aby bylo možné přistupovat k vaší ploše na dálku, je třeba aplikaci RustDesk udělit oprávnění pro \"Nahrávání obsahu obrazovky\"."),
|
||
("Installing ...", "Instaluje se ..."),
|
||
("Install", "Nainstalovat"),
|
||
("Installation", "Instalace"),
|
||
("Installation Path", "Umístění instalace"),
|
||
("Create start menu shortcuts", "Vytvořit zástupce v nabídce Start"),
|
||
("Create desktop icon", "Vytvořit ikonu na ploše"),
|
||
("agreement_tip", "Spuštěním instalace přijímáte licenční ujednání."),
|
||
("Accept and Install", "Přijmout a nainstalovat"),
|
||
("End-user license agreement", "Licenční ujednání s koncovým uživatelem"),
|
||
("Generating ...", "Vytváření ..."),
|
||
("Your installation is lower version.", "Máte nainstalovanou starší verzi"),
|
||
("not_close_tcp_tip", "Po dobu, po kterou tunel potřebujete, nezavírejte toto okno"),
|
||
("Listening ...", "Očekávaní spojení ..."),
|
||
("Remote Host", "Vzdálený hostitel"),
|
||
("Remote Port", "Vzdálený port"),
|
||
("Action", "Akce"),
|
||
("Add", "Přidat"),
|
||
("Local Port", "Místní port"),
|
||
("Local Address", "Místní adresa"),
|
||
("Change Local Port", "Změnit místní port"),
|
||
("setup_server_tip", "Rychlejší připojení získáte vytvořením si svého vlastního serveru"),
|
||
("Too short, at least 6 characters.", "Příliš krátké, alespoň 6 znaků."),
|
||
("The confirmation is not identical.", "Kontrolní zadání se neshoduje."),
|
||
("Permissions", "Oprávnění"),
|
||
("Accept", "Přijmout"),
|
||
("Dismiss", "Zahodit"),
|
||
("Disconnect", "Odpojit"),
|
||
("Enable file copy and paste", "Povolit kopírování a vkládání souborů"),
|
||
("Connected", "Připojeno"),
|
||
("Direct and encrypted connection", "Přímé a šifrované spojení"),
|
||
("Relayed and encrypted connection", "Předávané a šifrované spojení"),
|
||
("Direct and unencrypted connection", "Přímé a nešifrované spojení"),
|
||
("Relayed and unencrypted connection", "Předávané a nešifrované spojení"),
|
||
("Enter Remote ID", "Zadejte ID protistrany"),
|
||
("Enter your password", "Zadejte své heslo"),
|
||
("Logging in...", "Přihlašování..."),
|
||
("Enable RDP session sharing", "Povolit sdílení relace RDP"),
|
||
("Auto Login", "Automatické přihlášení"),
|
||
("Enable direct IP access", "Povolit přímý přístup k IP"),
|
||
("Rename", "Přejmenovat"),
|
||
("Space", "Mezera"),
|
||
("Create desktop shortcut", "Vytvořit zástupce na ploše"),
|
||
("Change Path", "Změnit umístění"),
|
||
("Create Folder", "Vytvořit složku"),
|
||
("Please enter the folder name", "Zadejte název pro složku"),
|
||
("Fix it", "Opravit to"),
|
||
("Warning", "Upozornění"),
|
||
("Login screen using Wayland is not supported", "Přihlašovací obrazovka pomocí systému Wayland není podporována"),
|
||
("Reboot required", "Je vyžadován restart"),
|
||
("Unsupported display server", "Nepodporovaný zobrazovací server"),
|
||
("x11 expected", "očekávaný x11"),
|
||
("Port", "Port"),
|
||
("Settings", "Nastavení"),
|
||
("Username", "Uživatelské jméno"),
|
||
("Invalid port", "Neplatné číslo portu"),
|
||
("Closed manually by the peer", "Ručně ukončeno protistranou"),
|
||
("Enable remote configuration modification", "Povolit vzdálenou úpravu konfigurace"),
|
||
("Run without install", "Spustit bez instalace"),
|
||
("Connect via relay", "Připojení přes předávací server"),
|
||
("Always connect via relay", "Vždy se připojovat prostřednictvím předávacího serveru"),
|
||
("whitelist_tip", "Přístup je umožněn pouze z IP adres, nacházejících se na seznamu povolených"),
|
||
("Login", "Přihlásit se"),
|
||
("Verify", "Ověřit"),
|
||
("Remember me", "Zapamatovat si"),
|
||
("Trust this device", "Důvěřovat tomuto zařízení"),
|
||
("Verification code", "Ověřovací kód"),
|
||
("verification_tip", "Na registrovanou e-mailovou adresu byl zaslán ověřovací kód, zadejte jej a pokračujte v přihlašování."),
|
||
("Logout", "Odhlásit se"),
|
||
("Tags", "Štítky"),
|
||
("Search ID", "Hledat ID"),
|
||
("whitelist_sep", "Oddělené čárkou, středníkem, mezerami, nebo novým řádkem."),
|
||
("Add ID", "Přidat ID"),
|
||
("Add Tag", "Přidat štítek"),
|
||
("Unselect all tags", "Zrušit výběr všech štítků"),
|
||
("Network error", "Chyba sítě"),
|
||
("Username missed", "Chybí uživatelské jméno"),
|
||
("Password missed", "Chybí heslo"),
|
||
("Wrong credentials", "Nesprávné přihlašovací údaje"),
|
||
("The verification code is incorrect or has expired", "Ověřovací kód je nesprávný, nebo jeho platnost vypršela"),
|
||
("Edit Tag", "Upravit štítek"),
|
||
("Forget Password", "Přestat si pamatovat heslo"),
|
||
("Favorites", "Oblíbené"),
|
||
("Add to Favorites", "Přidat do oblíbených"),
|
||
("Remove from Favorites", "Odebrat z oblíbených"),
|
||
("Empty", "Prázdné"),
|
||
("Invalid folder name", "Neplatný název složky"),
|
||
("Socks5 Proxy", "Socks5 proxy"),
|
||
("Socks5/Http(s) Proxy", "Socks5/Http(s) proxy"),
|
||
("Discovered", "Objeveno"),
|
||
("install_daemon_tip", "Pokud má být spouštěno při startu systému, je třeba nainstalovat systémovou službu."),
|
||
("Remote ID", "Vzdálené ID"),
|
||
("Paste", "Vložit"),
|
||
("Paste here?", "Vložit zde?"),
|
||
("Are you sure to close the connection?", "Opravdu chcete spojení uzavřít?"),
|
||
("Download new version", "Stáhnout novou verzi"),
|
||
("Touch mode", "Režim dotyku"),
|
||
("Mouse mode", "Režim myši"),
|
||
("One-Finger Tap", "Klepnutí jedním prstem"),
|
||
("Left Mouse", "Levé tlačítko myši"),
|
||
("One-Long Tap", "Jedno dlouhé klepnutí"),
|
||
("Two-Finger Tap", "Klepnutí dvěma prsty"),
|
||
("Right Mouse", "Pravé tlačítko myši"),
|
||
("One-Finger Move", "Přesouvání jedním prstem"),
|
||
("Double Tap & Move", "Dvojité klepnutí a přesun"),
|
||
("Mouse Drag", "Přetažení myší"),
|
||
("Three-Finger vertically", "Třemi prsty svisle"),
|
||
("Mouse Wheel", "Kolečko myši"),
|
||
("Two-Finger Move", "Posun dvěma prsty"),
|
||
("Canvas Move", "Posun zobrazení"),
|
||
("Pinch to Zoom", "Přiblížíte roztažením dvěma prsty"),
|
||
("Canvas Zoom", "Přiblížení zobrazení"),
|
||
("Reset canvas", "Vrátit měřítko zobrazení na výchozí"),
|
||
("No permission of file transfer", "Žádné oprávnění k přenosu souborů"),
|
||
("Note", "Poznámka"),
|
||
("Connection", "Připojení"),
|
||
("Share screen", "Sdílet obrazovku"),
|
||
("Chat", "Chat"),
|
||
("Total", "Celkem"),
|
||
("items", "Položek"),
|
||
("Selected", "Vybráno"),
|
||
("Screen Capture", "Zachytávání obrazovky"),
|
||
("Input Control", "Ovládání vstupních zařízení"),
|
||
("Audio Capture", "Zachytávání zvuku"),
|
||
("Do you accept?", "Přijímáte?"),
|
||
("Open System Setting", "Otevřít nastavení systému"),
|
||
("How to get Android input permission?", "Jak v systému Android získat oprávnění pro vstupní zařízení?"),
|
||
("android_input_permission_tip1", "Aby vzdálené zařízení mohlo ovládat vaše Android zařízení prostřednictví myši či dotyků, je třeba povolit, aby RustDesk mohlo používat službu „Zpřístupnění hendikepovaným“."),
|
||
("android_input_permission_tip2", "Přejděte na následující stránku nastavení systému, najděte a přejděte do [Nainstalované služby] a zapněte službu [RustDesk vstup]."),
|
||
("android_new_connection_tip", "Obdržen nový požadavek na řízení zařízení, který chce ovládat vaše stávající zařízení."),
|
||
("android_service_will_start_tip", "Zapnutí „Zachytávání obsahu obrazovky“ automaticky spustí službu, což umožní ostatním zařízením žádat o připojení k vašemu zařízení."),
|
||
("android_stop_service_tip", "Zastavení služby automaticky ukončí veškerá navázaná spojení."),
|
||
("android_version_audio_tip", "Vámi nyní používaná verze systému Android nepodporuje zachytávání zvuku – přejděte na Android 10, nebo novější."),
|
||
("android_start_service_tip", "Klepnutím na možnost [Spustit službu], nebo povolením oprávnění [Snímání obrazovky] spustíte službu sdílení obrazovky."),
|
||
("android_permission_may_not_change_tip", "Oprávnění pro navázaná připojení lze změnit až po opětovném připojení."),
|
||
("Account", "Účet"),
|
||
("Overwrite", "Přepsat"),
|
||
("This file exists, skip or overwrite this file?", "Tento soubor existuje, přeskočit, nebo přepsat tento soubor?"),
|
||
("Quit", "Ukončit"),
|
||
("Help", "Nápověda"),
|
||
("Failed", "Nepodařilo se"),
|
||
("Succeeded", "Úspěšný"),
|
||
("Someone turns on privacy mode, exit", "Někdo zapne režim ochrany soukromí, ukončete ho"),
|
||
("Unsupported", "Nepodporováno"),
|
||
("Peer denied", "Protistrana odmítla"),
|
||
("Peer exit", "Ukončení protistrany"),
|
||
("Failed to turn off", "Nepodařilo se vypnout"),
|
||
("Turned off", "Vypnutý"),
|
||
("Language", "Jazyk"),
|
||
("Keep RustDesk background service", "Zachovat službu RustDesk na pozadí"),
|
||
("Ignore Battery Optimizations", "Ignorovat optimalizaci baterie"),
|
||
("android_open_battery_optimizations_tip", "Pokud chcete tuto funkci zakázat, přejděte na další stránku nastavení aplikace RustDesk, najděte a zadejte [Baterie], zrušte zaškrtnutí [Neomezeno]."),
|
||
("Start on boot", "Spustit při startu systému"),
|
||
("Start the screen sharing service on boot, requires special permissions", "Spuštění služby sdílení obrazovky při spuštění systému, vyžaduje zvláštní oprávnění"),
|
||
("Connection not allowed", "Připojení není povoleno"),
|
||
("Legacy mode", "Režim Legacy"),
|
||
("Map mode", "Režim mapování"),
|
||
("Translate mode", "Režim překladu"),
|
||
("Use permanent password", "Použít trvalé heslo"),
|
||
("Use both passwords", "Použít obě hesla"),
|
||
("Set permanent password", "Nastavit trvalé heslo"),
|
||
("Enable remote restart", "Povolit vzdálené restartování"),
|
||
("Restart remote device", "Restartovat vzdálené zařízení"),
|
||
("Are you sure you want to restart", "Jste si jisti, že chcete restartovat"),
|
||
("Restarting remote device", "Restartování vzdáleného zařízení"),
|
||
("remote_restarting_tip", "Vzdálené zařízení se restartuje, zavřete prosím toto okno a po chvíli se znovu připojte pomocí trvalého hesla."),
|
||
("Copied", "Zkopírováno"),
|
||
("Exit Fullscreen", "Ukončit celou obrazovku"),
|
||
("Fullscreen", "Celá obrazovka"),
|
||
("Mobile Actions", "Mobilní akce"),
|
||
("Select Monitor", "Vybrat monitor"),
|
||
("Control Actions", "Ovládací akce"),
|
||
("Display Settings", "Nastavení obrazovky"),
|
||
("Ratio", "Poměr"),
|
||
("Image Quality", "Kvalita obrazu"),
|
||
("Scroll Style", "Styl posouvání"),
|
||
("Show Toolbar", "Zobrazit panel nástrojů"),
|
||
("Hide Toolbar", "Skrýt panel nástrojů"),
|
||
("Direct Connection", "Přímé spojení"),
|
||
("Relay Connection", "Připojení předávací server"),
|
||
("Secure Connection", "Zabezpečené připojení"),
|
||
("Insecure Connection", "Nezabezpečené připojení"),
|
||
("Scale original", "Originální měřítko"),
|
||
("Scale adaptive", "Adaptivní měřítko"),
|
||
("General", "Obecné"),
|
||
("Security", "Zabezpečení"),
|
||
("Theme", "Motiv"),
|
||
("Dark Theme", "Tmavý motiv"),
|
||
("Light Theme", "Světlý motiv"),
|
||
("Dark", "Tmavý"),
|
||
("Light", "Světlý"),
|
||
("Follow System", "Podle systému"),
|
||
("Enable hardware codec", "Povolit hardwarový kodek"),
|
||
("Unlock Security Settings", "Odemknout nastavení zabezpečení"),
|
||
("Enable audio", "Povolit zvuk"),
|
||
("Unlock Network Settings", "Odemknout nastavení sítě"),
|
||
("Server", "Server"),
|
||
("Direct IP Access", "Přímý IP přístup"),
|
||
("Proxy", "Proxy"),
|
||
("Apply", "Použít"),
|
||
("Disconnect all devices?", "Odpojit všechna zařízení?"),
|
||
("Clear", "Smazat"),
|
||
("Audio Input Device", "Vstupní zvukové zařízení"),
|
||
("Use IP Whitelisting", "Použít bílou listinu IP"),
|
||
("Network", "Síť"),
|
||
("Pin Toolbar", "Připnout panel nástrojů"),
|
||
("Unpin Toolbar", "Odepnout panel nástrojů"),
|
||
("Recording", "Nahrávání"),
|
||
("Directory", "Adresář"),
|
||
("Automatically record incoming sessions", "Automaticky nahrávat příchozí relace"),
|
||
("Automatically record outgoing sessions", "Automaticky nahrávat odchozí relace"),
|
||
("Change", "Změnit"),
|
||
("Start session recording", "Spustit záznam relace"),
|
||
("Stop session recording", "Zastavit záznam relace"),
|
||
("Enable recording session", "Povolit nahrávání relace"),
|
||
("Enable LAN discovery", "Povolit zjišťování sítě LAN"),
|
||
("Deny LAN discovery", "Zakázat zjišťování sítě LAN"),
|
||
("Write a message", "Napsat zprávu"),
|
||
("Prompt", "Výzva"),
|
||
("Please wait for confirmation of UAC...", "Počkejte prosím na potvrzení UAC..."),
|
||
("elevated_foreground_window_tip", "Aktuální okno vzdálené plochy vyžaduje vyšší oprávnění, takže dočasně nemůže používat myš a klávesnici. Můžete vzdáleného uživatele požádat, aby aktuální okno minimalizoval, nebo kliknout na tlačítko pro zvýšení v okně správy připojení. Chcete-li se tomuto problému vyhnout, doporučujeme nainstalovat software na vzdálené zařízení."),
|
||
("Disconnected", "Odpojeno"),
|
||
("Other", "Jiné"),
|
||
("Confirm before closing multiple tabs", "Potvrdit před zavřením více karet"),
|
||
("Keyboard Settings", "Nastavení klávesnice"),
|
||
("Full Access", "Úplný přístup"),
|
||
("Screen Share", "Sdílení obrazovky"),
|
||
("ubuntu-21-04-required", "Wayland vyžaduje Ubuntu 21.04, nebo vyšší verzi."),
|
||
("wayland-requires-higher-linux-version", "Wayland vyžaduje vyšší verzi linuxové distribuce. Zkuste prosím X11 desktop, nebo změňte OS."),
|
||
("xdp-portal-unavailable", "Záznam obrazovky ve Waylandu selhal. XDG Desktop Portal mohl spadnout nebo je nedostupný. Zkuste jej restartovat příkazem `systemctl --user restart xdg-desktop-portal`."),
|
||
("JumpLink", "JumpLink"),
|
||
("Please Select the screen to be shared(Operate on the peer side).", "Vyberte prosím obrazovku, kterou chcete sdílet (Ovládejte na straně protistrany)."),
|
||
("Show RustDesk", "Zobrazit RustDesk"),
|
||
("This PC", "Tento počítač"),
|
||
("or", "nebo"),
|
||
("Elevate", "Zvýšit"),
|
||
("Zoom cursor", "Kurzor přiblížení"),
|
||
("Accept sessions via password", "Přijímat relace pomocí hesla"),
|
||
("Accept sessions via click", "Přijímat relace kliknutím"),
|
||
("Accept sessions via both", "Přijímat relace prostřednictvím obou"),
|
||
("Please wait for the remote side to accept your session request...", "Počkejte prosím, až vzdálená strana přijme váš požadavek na relaci..."),
|
||
("One-time Password", "Jednorázové heslo"),
|
||
("Use one-time password", "Použít jednorázové heslo"),
|
||
("One-time password length", "Délka jednorázového hesla"),
|
||
("Request access to your device", "Žádost o přístup k vašemu zařízení"),
|
||
("Hide connection management window", "Skrýt okno správy připojení"),
|
||
("hide_cm_tip", "Povolit skrývání pouze v případě, že přijímáte relace pomocí hesla a používáte trvalé heslo."),
|
||
("wayland_experiment_tip", "Podpora Waylandu je v experimentální fázi, pokud potřebujete bezobslužný přístup, použijte prosím X11."),
|
||
("Right click to select tabs", "Výběr karet kliknutím pravým tlačítkem myši"),
|
||
("Skipped", "Vynecháno"),
|
||
("Add to address book", "Přidat do adresáře"),
|
||
("Group", "Skupina"),
|
||
("Search", "Vyhledávání"),
|
||
("Closed manually by web console", "Uzavřeno ručně pomocí webové konzole"),
|
||
("Local keyboard type", "Typ místní klávesnice"),
|
||
("Select local keyboard type", "Výběr typu místní klávesnice"),
|
||
("software_render_tip", "Pokud používáte grafickou kartu Nvidia v systému Linux a vzdálené okno se po připojení ihned zavře, může vám pomoci přepnutí na open-source ovladač Nouveau a volba softwarového vykreslování. Je nutný restart softwaru."),
|
||
("Always use software rendering", "Vždy použít softwarové vykreslování"),
|
||
("config_input", "Chcete-li ovládat vzdálenou plochu pomocí klávesnice, musíte udělit oprávnění RustDesk \"Sledování vstupu\"."),
|
||
("config_microphone", "Abyste mohli mluvit na dálku, musíte udělit oprávnění RustDesk \"Nahrávat zvuk\"."),
|
||
("request_elevation_tip", "Můžete také požádat o zvýšení, pokud je někdo na vzdálené straně."),
|
||
("Wait", "Počkejte"),
|
||
("Elevation Error", "Chyba navýšení"),
|
||
("Ask the remote user for authentication", "Požádat vzdáleného uživatele o ověření"),
|
||
("Choose this if the remote account is administrator", "Tuto možnost vyberte, pokud je vzdálený účet správce"),
|
||
("Transmit the username and password of administrator", "Přenos uživatelského jména a hesla správce"),
|
||
("still_click_uac_tip", "Stále vyžaduje, aby vzdálený uživatel kliknul na OK v okně UAC spuštěného RustDesku."),
|
||
("Request Elevation", "Žádost o navýšení"),
|
||
("wait_accept_uac_tip", "Počkejte, až vzdálený uživatel přijme dialogové okno UAC."),
|
||
("Elevate successfully", "Úspěšné navýšení"),
|
||
("uppercase", "velká písmena"),
|
||
("lowercase", "malá písmena"),
|
||
("digit", "číslice"),
|
||
("special character", "speciální znak"),
|
||
("length>=8", "délka>=8"),
|
||
("Weak", "Slabé"),
|
||
("Medium", "Střední"),
|
||
("Strong", "Silné"),
|
||
("Switch Sides", "Přepínání stran"),
|
||
("Please confirm if you want to share your desktop?", "Potvrďte prosím, zda chcete sdílet svou plochu?"),
|
||
("Display", "Obrazovka"),
|
||
("Default View Style", "Výchozí styl zobrazení"),
|
||
("Default Scroll Style", "Výchozí styl rolování"),
|
||
("Default Image Quality", "Výchozí kvalita obrazu"),
|
||
("Default Codec", "Výchozí kodek"),
|
||
("Bitrate", "Datový tok"),
|
||
("FPS", "FPS"),
|
||
("Auto", "Auto"),
|
||
("Other Default Options", "Ostatní výchozí možnosti"),
|
||
("Voice call", "Hlasové volání"),
|
||
("Text chat", "Textový chat"),
|
||
("Stop voice call", "Zastavit hlasové volání"),
|
||
("relay_hint_tip", "Přímé připojení nemusí být možné, můžete se zkusit připojit přes předávací server. Pokud navíc chcete při prvním pokusu použít předávací server, můžete k ID přidat příponu \"/r\", nebo v kartě posledních relací vybrat možnost \"Vždy se připojovat přes bránu\", pokud existuje."),
|
||
("Reconnect", "Znovu připojit"),
|
||
("Codec", "Kodek"),
|
||
("Resolution", "Rozlišení"),
|
||
("No transfers in progress", "Žádné probíhající přenosy"),
|
||
("Set one-time password length", "Nastavení délky jednorázového hesla"),
|
||
("RDP Settings", "Nastavení RDP"),
|
||
("Sort by", "Seřadit podle"),
|
||
("New Connection", "Nové připojení"),
|
||
("Restore", "Obnovit"),
|
||
("Minimize", "Minimalizovat"),
|
||
("Maximize", "Maximalizovat"),
|
||
("Your Device", "Vaše zařízení"),
|
||
("empty_recent_tip", "Jejda, žádná nedávná relace!\nČas naplánovat novou."),
|
||
("empty_favorite_tip", "Ještě nemáte oblíbené protistrany?\nNajděte někoho, s kým se můžete spojit, a přidejte si ho do oblíbených!"),
|
||
("empty_lan_tip", "Ale ne, vypadá, že jsme ještě neobjevili žádné protistrany."),
|
||
("empty_address_book_tip", "Ach bože, zdá se, že ve vašem adresáři nejsou v současné době uvedeni žádní kolegové."),
|
||
("Empty Username", "Prázdné uživatelské jméno"),
|
||
("Empty Password", "Prázdné heslo"),
|
||
("Me", "Já"),
|
||
("identical_file_tip", "Tento soubor je totožný se souborem partnera."),
|
||
("show_monitors_tip", "Zobrazit monitory na panelu nástrojů"),
|
||
("View Mode", "Režim zobrazení"),
|
||
("verify_rustdesk_password_tip", "Ověření hesla RustDesk"),
|
||
("No need to elevate", "Není třeba navýšení"),
|
||
("System Sound", "Systémový zvuk"),
|
||
("Default", "Výchozí"),
|
||
("New RDP", "Nové RDP"),
|
||
("Fingerprint", "Otisk"),
|
||
("Copy Fingerprint", "Kopírovat otisk"),
|
||
("no fingerprints", "žádný otisk"),
|
||
("Update", "Aktualizovat"),
|
||
("resolution_original_tip", "Původní rozlišení"),
|
||
("resolution_fit_local_tip", "Přizpůsobit místní rozlišení"),
|
||
("resolution_custom_tip", "Vlastní rozlišení"),
|
||
("Collapse toolbar", "Sbalit panel nástrojů"),
|
||
("Accept and Elevate", "Přijmout navýšení"),
|
||
("accept_and_elevate_btn_tooltip", "Přijměte připojení a zvyšte oprávnění UAC."),
|
||
("clipboard_wait_response_timeout_tip", "Vypršel čas čekání odpovědi na kopii."),
|
||
("Incoming connection", "Příchozí připojení"),
|
||
("Outgoing connection", "Odchozí připojení"),
|
||
("Exit", "Ukončit"),
|
||
("Open", "Otevřít"),
|
||
("logout_tip", "Opravdu se chcete odhlásit?"),
|
||
("Service", "Služba"),
|
||
("Start", "Spustit"),
|
||
("Stop", "Zastavit"),
|
||
("exceed_max_devices", "Dosáhli jste maximálního počtu spravovaných zařízení."),
|
||
("Sync with recent sessions", "Synchronizace s posledními relacemi"),
|
||
("Sort tags", "Seřadit štítky"),
|
||
("Open connection in new tab", "Otevřít připojení na nové kartě"),
|
||
("Move tab to new window", "Přesunout kartu do nového okna"),
|
||
("Can not be empty", "Nemůže být prázdné"),
|
||
("Already exists", "Již existuje"),
|
||
("Change Password", "Změnit heslo"),
|
||
("Refresh Password", "Obnovit heslo"),
|
||
("ID", "ID"),
|
||
("Grid View", "Mřížka"),
|
||
("List View", "Seznam"),
|
||
("Select", "Vybrat"),
|
||
("Toggle Tags", "Přepnout štítky"),
|
||
("pull_ab_failed_tip", "Nepodařilo se obnovit adresář"),
|
||
("push_ab_failed_tip", "Nepodařilo se synchronizovat adresář se serverem"),
|
||
("synced_peer_readded_tip", "Zařízení, která byla přítomna v posledních relacích, budou synchronizována zpět do adresáře."),
|
||
("Change Color", "Změna barvy"),
|
||
("Primary Color", "Základní barva"),
|
||
("HSV Color", "HSV barva"),
|
||
("Installation Successful!", "Instalace úspěšná!"),
|
||
("Installation failed!", "Instalace se nezdařila!"),
|
||
("Reverse mouse wheel", "Reverzní kolečko myši"),
|
||
("{} sessions", "{} sezení"),
|
||
("scam_title", "Možná vás někdo PODVEDL!"),
|
||
("scam_text1", "Pokud telefonujete s někým, koho NEZNÁTE a komu NEDŮVĚŘUJETE a kdo vás požádal o použití služby RustDesk a její spuštění, nepokračujte v hovoru a okamžitě zavěste."),
|
||
("scam_text2", "Pravděpodobně se jedná o podvodníka, který se snaží ukrást vaše peníze nebo jiné soukromé informace."),
|
||
("Don't show again", "Znovu se neukázat"),
|
||
("I Agree", "Souhlasím"),
|
||
("Decline", "Odmítnout"),
|
||
("Timeout in minutes", "Časový limit v minutách"),
|
||
("auto_disconnect_option_tip", "Automatické ukončení příchozích relací při nečinnosti uživatele"),
|
||
("Connection failed due to inactivity", "Připojení se nezdařilo z důvodu nečinnosti"),
|
||
("Check for software update on startup", "Kontrola aktualizace softwaru při spuštění"),
|
||
("upgrade_rustdesk_server_pro_to_{}_tip", "Aktualizujte prosím RustDesk Server Pro na verzi {} nebo novější!"),
|
||
("pull_group_failed_tip", "Nepodařilo se obnovit skupinu"),
|
||
("Filter by intersection", "Filtrovat podle průsečíku"),
|
||
("Remove wallpaper during incoming sessions", "Odstranit tapetu během příchozích relací"),
|
||
("Test", "Test"),
|
||
("display_is_plugged_out_msg", "Obrazovka je odpojena, přepněte na první obrazovku."),
|
||
("No displays", "Žádné obrazovky"),
|
||
("Open in new window", "Otevřít v novém okně"),
|
||
("Show displays as individual windows", "Zobrazit obrazovky jako jednotlivá okna"),
|
||
("Use all my displays for the remote session", "Použít všechny mé obrazovky pro vzdálenou relaci"),
|
||
("selinux_tip", "Na vašem zařízení je povolen SELinux, což může bránit správnému běhu RustDesku jako řízené strany."),
|
||
("Change view", "Změnit pohled"),
|
||
("Big tiles", "Velké dlaždice"),
|
||
("Small tiles", "Malé dlaždice"),
|
||
("List", "Seznam"),
|
||
("Virtual display", "Virtuální obrazovka"),
|
||
("Plug out all", "Odpojit všechny"),
|
||
("True color (4:4:4)", "Skutečné barvy (4:4:4)"),
|
||
("Enable blocking user input", "Povolit blokování uživatelského vstupu"),
|
||
("id_input_tip", "Můžete zadat ID, přímou IP adresu nebo doménu s portem (<doména>:<port>).\nPokud chcete přistupovat k zařízení na jiném serveru, připojte adresu serveru (<id>@<adresa_serveru>?key=<hodnota_klíče>), například,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nPokud chcete přistupovat k zařízení na veřejném serveru, zadejte \"<id>@public\", klíč není pro veřejný server potřeba."),
|
||
("privacy_mode_impl_mag_tip", "Režim 1"),
|
||
("privacy_mode_impl_virtual_display_tip", "Režim 2"),
|
||
("Enter privacy mode", "Vstup do režimu soukromí"),
|
||
("Exit privacy mode", "Ukončit režim soukromí"),
|
||
("idd_not_support_under_win10_2004_tip", "Ovladač nepřímého zobrazení není podporován. Je vyžadován systém Windows 10, verze 2004 nebo novější."),
|
||
("input_source_1_tip", "Vstupní zdroj 1"),
|
||
("input_source_2_tip", "Vstupní zdroj 2"),
|
||
("Swap control-command key", "Prohození klávesy control-command"),
|
||
("swap-left-right-mouse", "Prohodit levé a pravé tlačítko myši"),
|
||
("2FA code", "2FA kód"),
|
||
("More", "Více"),
|
||
("enable-2fa-title", "Povolit dvoufaktorové ověřování"),
|
||
("enable-2fa-desc", "Prosím, nastavte si svůj autentizátor. Na svém telefonu nebo počítači můžete použít ověřovací aplikaci, jako je Authy, Microsoft nebo Google Authenticator.\n\nNaskenujte pomocí aplikace QR kód a zadejte kód, který aplikace zobrazí, abyste aktivovali dvoufaktorové ověření."),
|
||
("wrong-2fa-code", "Kód nelze ověřit. Zkontrolujte správnost nastavení kódu a místního času"),
|
||
("enter-2fa-title", "Dvoufaktorová autentizace"),
|
||
("Email verification code must be 6 characters.", "E-mailový ověřovací kód musí mít 6 znaků."),
|
||
("2FA code must be 6 digits.", "Kód 2FA musí mít 6 číslic."),
|
||
("Multiple Windows sessions found", "Bylo nalezeno více relací Windows"),
|
||
("Please select the session you want to connect to", "Vyberte relaci, ke které se chcete připojit"),
|
||
("powered_by_me", "Poháněno společností RustDesk"),
|
||
("outgoing_only_desk_tip", "Toto je přizpůsobená edice.\nMůžete se připojit k jiným zařízením, ale jiná zařízení se k vašemu zařízení připojit nemohou."),
|
||
("preset_password_warning", "Tato upravená edice je dodávána s přednastaveným heslem. Každý, kdo zná toto heslo, může získat plnou kontrolu nad vaším zařízením. Pokud jste to nečekali, okamžitě software odinstalujte."),
|
||
("Security Alert", "Bezpečnostní výstraha"),
|
||
("My address book", "Můj adresář"),
|
||
("Personal", "Osobní"),
|
||
("Owner", "Majitel"),
|
||
("Set shared password", "Nastavit sdílené heslo"),
|
||
("Exist in", "Existuje v"),
|
||
("Read-only", "Pouze ke čtení"),
|
||
("Read/Write", "Režim čtení/zápisu"),
|
||
("Full Control", "Plná kontrola"),
|
||
("share_warning_tip", "Výše uvedená pole jsou sdílená a viditelná pro ostatní."),
|
||
("Everyone", "Každý"),
|
||
("ab_web_console_tip", "Více na webové konzoli"),
|
||
("allow-only-conn-window-open-tip", "Povolit připojení pouze v případě, že je otevřené okno RustDesk"),
|
||
("no_need_privacy_mode_no_physical_displays_tip", "Žádné fyzické displeje, není třeba používat režim soukromí."),
|
||
("Follow remote cursor", "Sledovat dálkový kurzor"),
|
||
("Follow remote window focus", "Sledovat zaměření vzdáleného okna"),
|
||
("default_proxy_tip", "Výchozí protokol a port jsou Socks5 a 1080"),
|
||
("no_audio_input_device_tip", "Nebylo nalezeno žádné vstupní zvukové zařízení."),
|
||
("Incoming", "Příchozí"),
|
||
("Outgoing", "Odchozí"),
|
||
("Clear Wayland screen selection", "Vymazat výběr obrazovky Wayland"),
|
||
("clear_Wayland_screen_selection_tip", "Po vymazání výběru obrazovky můžete znovu vybrat obrazovku, kterou chcete sdílet."),
|
||
("confirm_clear_Wayland_screen_selection_tip", "Opravdu chcete vymazat výběr obrazovky Wayland?"),
|
||
("android_new_voice_call_tip", "Byl přijat nový požadavek na hlasové volání. Pokud hovor přijmete, přepne se zvuk na hlasovou komunikaci."),
|
||
("texture_render_tip", "Použít vykreslování textur, aby byly obrázky hladší."),
|
||
("Use texture rendering", "Použít vykreslování textur"),
|
||
("Floating window", "Plovoucí okno"),
|
||
("floating_window_tip", "Pomáhá udržovat službu RustDesk na pozadí"),
|
||
("Keep screen on", "Ponechat obrazovku zapnutou"),
|
||
("Never", "Nikdy"),
|
||
("During controlled", "Během řízeného"),
|
||
("During service is on", "Během služby je v provozu"),
|
||
("Capture screen using DirectX", "Snímání obrazovky pomocí DirectX"),
|
||
("Back", "Zpět"),
|
||
("Apps", "Aplikace"),
|
||
("Volume up", "Zvýšit hlasitost"),
|
||
("Volume down", "Snížit hlasitost"),
|
||
("Power", "Napájení"),
|
||
("Telegram bot", "Telegram bot"),
|
||
("enable-bot-tip", "Pokud tuto funkci povolíte, můžete od svého bota obdržet kód 2FA. Může také fungovat jako oznámení o připojení."),
|
||
("enable-bot-desc", "1, Otevřete chat s @BotFather.\n2, Pošlete příkaz \"/newbot\". Po dokončení tohoto kroku obdržíte token.\n3, Spusťte chat s nově vytvořeným botem. Pro jeho aktivaci odešlete zprávu začínající lomítkem vpřed (\"/\"), například \"/hello\".\n"),
|
||
("cancel-2fa-confirm-tip", "Jste si jisti, že chcete zrušit 2FA?"),
|
||
("cancel-bot-confirm-tip", "Jste si jisti, že chcete zrušit bota Telegramu?"),
|
||
("About RustDesk", "O RustDesk"),
|
||
("Send clipboard keystrokes", "Odesílat stisky kláves schránky"),
|
||
("network_error_tip", "Zkontrolujte prosím připojení k síti a klikněte na tlačítko Opakovat."),
|
||
("Unlock with PIN", "Odemknout PINem"),
|
||
("Requires at least {} characters", "Vyžadováno aspoň {} znaků"),
|
||
("Wrong PIN", "Nesprávný PIN"),
|
||
("Set PIN", "Nastavit PIN"),
|
||
("Enable trusted devices", "Povolit důvěryhodná zařízení"),
|
||
("Manage trusted devices", "Spravovat důvěryhodná zařízení"),
|
||
("Platform", "Platforma"),
|
||
("Days remaining", "Zbývajících dnů"),
|
||
("enable-trusted-devices-tip", "Přeskočte 2FA ověření na důvěryhodných zařízeních"),
|
||
("Parent directory", "Rodičovský adresář"),
|
||
("Resume", "Pokračovat"),
|
||
("Invalid file name", "Nesprávný název souboru"),
|
||
("one-way-file-transfer-tip", "Na ovládané straně je povolen jednosměrný přenos souborů."),
|
||
("Authentication Required", "Vyžadováno ověření"),
|
||
("Authenticate", "Ověřit"),
|
||
("web_id_input_tip", "Můžete zadat ID na stejném serveru, přímý přístup přes IP není ve webovém klientovi podporován.\nPokud chcete přistupovat k zařízení na jiném serveru, připojte adresu serveru (<id>@<server_address>?key=<key_value>), například,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nPokud chcete přistupovat k zařízení na veřejném serveru, zadejte \"<id>@public\", pro veřejný server není klíč potřeba."),
|
||
("Download", "Stáhnout"),
|
||
("Upload folder", "Nahrát složku"),
|
||
("Upload files", "Nahrát soubory"),
|
||
("Clipboard is synchronized", "Schránka je synchronizována"),
|
||
("Update client clipboard", "Aktualizovat schránku klienta"),
|
||
("Untagged", "Bez štítku"),
|
||
("new-version-of-{}-tip", "Je k dispozici nová verze {}"),
|
||
("Accessible devices", "Přístupná zařízení"),
|
||
("upgrade_remote_rustdesk_client_to_{}_tip", "Upgradujte prosím klienta RustDesk na verzi {} nebo novější na vzdálené straně!"),
|
||
("d3d_render_tip", "Když je povoleno vykreslování D3D, může být obrazovka vzdáleného ovládání na některých počítačích černá."),
|
||
("Use D3D rendering", "Použít vykreslování D3D"),
|
||
("Printer", "Tiskárna"),
|
||
("printer-os-requirement-tip", "Funkce odchozího tisku vyžaduje Windows 10 nebo novější."),
|
||
("printer-requires-installed-{}-client-tip", "Aby bylo možné používat vzdálený tisk, musí být na tomto zařízení nainstalován {}."),
|
||
("printer-{}-not-installed-tip", "Tiskárna {} není nainstalována."),
|
||
("printer-{}-ready-tip", "Tiskárna {} je nainstalována a připravena k použití."),
|
||
("Install {} Printer", "Nainstalovat tiskárnu {}"),
|
||
("Outgoing Print Jobs", "Odchozí tiskové úlohy"),
|
||
("Incoming Print Jobs", "Příchozí tiskové úlohy"),
|
||
("Incoming Print Job", "Příchozí tisková úloha"),
|
||
("use-the-default-printer-tip", "Použít výchozí tiskárnu"),
|
||
("use-the-selected-printer-tip", "Použít vybranou tiskárnu"),
|
||
("auto-print-tip", "Tisknout automaticky pomocí vybrané tiskárny."),
|
||
("print-incoming-job-confirm-tip", "Obdrželi jste tiskovou úlohu ze vzdáleného počítače. Chcete ji provést na své straně?"),
|
||
("remote-printing-disallowed-tile-tip", "Vzdálený tisk není povolen"),
|
||
("remote-printing-disallowed-text-tip", "Nastavení oprávnění ovládané strany zakazuje vzdálený tisk."),
|
||
("save-settings-tip", "Uložit nastavení"),
|
||
("dont-show-again-tip", "Toto již nezobrazovat"),
|
||
("Take screenshot", "Pořídit snímek obrazovky"),
|
||
("Taking screenshot", "Pořizuje se snímek obrazovky"),
|
||
("screenshot-merged-screen-not-supported-tip", "Sloučení snímků obrazovky z více displejů aktuálně není podporováno. Přepněte na jeden displej a zkuste to znovu."),
|
||
("screenshot-action-tip", "Vyberte, jak pokračovat se snímkem obrazovky."),
|
||
("Save as", "Uložit jako"),
|
||
("Export", "Exportovat"),
|
||
("Export Logs", "Exportovat protokoly"),
|
||
("Import Folder", "Importovat složku"),
|
||
("Copy to clipboard", "Kopírovat do schránky"),
|
||
("Enable remote printer", "Povolit vzdálenou tiskárnu"),
|
||
("Downloading {}", "Stahuje se {}"),
|
||
("{} Update", "Aktualizace {}"),
|
||
("{}-to-update-tip", "{} se nyní zavře a nainstaluje novou verzi."),
|
||
("download-new-version-failed-tip", "Stahování se nezdařilo. Můžete to zkusit znovu nebo kliknout na tlačítko \"Stáhnout\" pro stažení ze stránky vydání a ruční aktualizaci."),
|
||
("Auto update", "Automatická aktualizace"),
|
||
("update-failed-check-msi-tip", "Kontrola metody instalace se nezdařila. Klikněte na tlačítko \"Stáhnout\" pro stažení ze stránky vydání a ruční aktualizaci."),
|
||
("websocket_tip", "Při použití WebSocket jsou podporována pouze přenosová (relay) připojení."),
|
||
("Use WebSocket", "Použít WebSocket"),
|
||
("Trackpad speed", "Rychlost trackpadu"),
|
||
("Default trackpad speed", "Výchozí rychlost trackpadu"),
|
||
("Numeric one-time password", "Číselné jednorázové heslo"),
|
||
("Enable IPv6 P2P connection", "Povolit připojení IPv6 P2P"),
|
||
("Enable UDP hole punching", "Povolit UDP hole punching"),
|
||
("View camera", "Zobrazit kameru"),
|
||
("Enable camera", "Povolit kameru"),
|
||
("No cameras", "Žádné kamery"),
|
||
("view_camera_unsupported_tip", "Vzdálené zařízení nepodporuje zobrazení kamery."),
|
||
("Terminal", "Terminál"),
|
||
("Enable terminal", "Povolit terminál"),
|
||
("New tab", "Nová karta"),
|
||
("Keep terminal sessions on disconnect", "Zachovat relace terminálu při odpojení"),
|
||
("Terminal (Run as administrator)", "Terminál (Spustit jako správce)"),
|
||
("terminal-admin-login-tip", "Zadejte uživatelské jméno a heslo správce ovládané strany."),
|
||
("Failed to get user token.", "Nepodařilo se získat uživatelský token."),
|
||
("Incorrect username or password.", "Nesprávné uživatelské jméno nebo heslo."),
|
||
("The user is not an administrator.", "Uživatel není správce."),
|
||
("Failed to check if the user is an administrator.", "Nepodařilo se ověřit, zda je uživatel správce."),
|
||
("Supported only in the installed version.", "Podporováno pouze v nainstalované verzi."),
|
||
("elevation_username_tip", "Zadejte uživatelské jméno nebo doména\\uživatelské jméno"),
|
||
("Preparing for installation ...", "Příprava instalace ..."),
|
||
("Show my cursor", "Zobrazit můj kurzor"),
|
||
("Scale custom", "Vlastní měřítko"),
|
||
("Custom scale slider", "Posuvník vlastního měřítka"),
|
||
("Decrease", "Zmenšit"),
|
||
("Increase", "Zvětšit"),
|
||
("Show virtual mouse", "Zobrazit virtuální myš"),
|
||
("Virtual mouse size", "Velikost virtuální myši"),
|
||
("Small", "Malá"),
|
||
("Large", "Velká"),
|
||
("Show virtual joystick", "Zobrazit virtuální joystick"),
|
||
("Edit note", "Upravit poznámku"),
|
||
("Alias", "Alias"),
|
||
("ScrollEdge", "ScrollEdge"),
|
||
("Allow insecure TLS fallback", "Povolit nezabezpečené záložní řešení TLS"),
|
||
("allow-insecure-tls-fallback-tip", "Ve výchozím nastavení RustDesk ověřuje certifikát serveru u protokolů používajících TLS.\nKdyž je tato možnost povolena, RustDesk v případě selhání ověření přejde k přeskočení kroku ověření a bude pokračovat."),
|
||
("Disable UDP", "Zakázat UDP"),
|
||
("disable-udp-tip", "Určuje, zda se má používat pouze TCP.\nKdyž je tato možnost povolena, RustDesk již nebude používat UDP 21116, místo toho se použije TCP 21116."),
|
||
("server-oss-not-support-tip", "POZNÁMKA: RustDesk server OSS tuto funkci neobsahuje."),
|
||
("input note here", "sem zadejte poznámku"),
|
||
("note-at-conn-end-tip", "Požádat o poznámku na konci připojení"),
|
||
("Show terminal extra keys", "Zobrazit další klávesy terminálu"),
|
||
("Relative mouse mode", "Relativní režim myši"),
|
||
("rel-mouse-not-supported-peer-tip", "Připojený protějšek nepodporuje relativní režim myši."),
|
||
("rel-mouse-not-ready-tip", "Relativní režim myši ještě není připraven. Zkuste to znovu."),
|
||
("rel-mouse-lock-failed-tip", "Nepodařilo se uzamknout kurzor. Relativní režim myši byl zakázán."),
|
||
("rel-mouse-exit-{}-tip", "Stiskněte {} pro ukončení."),
|
||
("rel-mouse-permission-lost-tip", "Oprávnění ke klávesnici bylo odebráno. Relativní režim myši byl zakázán."),
|
||
("Changelog", "Seznam změn"),
|
||
("keep-awake-during-outgoing-sessions-label", "Udržovat obrazovku aktivní během odchozích relací"),
|
||
("keep-awake-during-incoming-sessions-label", "Udržovat obrazovku aktivní během příchozích relací"),
|
||
("Continue with {}", "Pokračovat s {}"),
|
||
("Display Name", "Zobrazované jméno"),
|
||
("password-hidden-tip", "Trvalé heslo je nastaveno (skryto)."),
|
||
("preset-password-in-use-tip", "Aktuálně se používá přednastavené heslo."),
|
||
("Enable privacy mode", "Povolit režim ochrany soukromí"),
|
||
("allow-remote-toolbar-docking-any-edge", "Povolit ukotvení vzdáleného panelu nástrojů k libovolnému okraji okna"),
|
||
("API Token", "API token"),
|
||
("Deploy", "Nasadit"),
|
||
("Custom ID (optional)", "Vlastní ID (volitelné)"),
|
||
("server_requires_deployment_tip", "Server vyžaduje, aby bylo toto zařízení výslovně nasazeno. Nasadit nyní?"),
|
||
("The server does not require explicit deployment.", "Server nevyžaduje výslovné nasazení."),
|
||
("Unknown response.", "Neznámá odpověď."),
|
||
("wayland-keyboard-input-disabled-tip", "Povolit vstup z klávesnice?"),
|
||
("wayland-keyboard-input-consent-tip", "To, co píšete na tomto vzdáleném počítači (včetně hesel), mohou číst jiné aplikace na něm."),
|
||
("wayland-keyboard-input-applies-to-tip", "Tato volba platí pro:"),
|
||
("wayland-soft-keyboard-input-label", "Vstup ze softwarové klávesnice"),
|
||
("wayland-keyboard-input-reset-choice-tip", "Resetovat volbu vstupu z klávesnice"),
|
||
("remember-wayland-keyboard-choice-tip", "Pro tento vzdálený počítač se již neptat"),
|
||
("Why this happens", "Proč k tomu dochází"),
|
||
("Switch display", "Přepnout obrazovku"),
|
||
("Show monitor switch button on the main toolbar", "Zobrazit tlačítko přepnutí monitoru na hlavním panelu nástrojů"),
|
||
("Show on the minimized toolbar", "Zobrazit na minimalizovaném panelu nástrojů"),
|
||
("All monitors", "Všechny monitory"),
|
||
("#{} monitor", "Monitor č. {}"),
|
||
("conn-e2ee-unavailable-tip", "Nepodařilo se ověřit koncové šifrování.\nVzdálené zařízení se možná stále nastavuje. Zkuste to znovu později.\nPokud se to bude opakovat, server nemusí být důvěryhodný.\nPřesto pokračovat?"),
|
||
("ID whitelisting", "Povolování pouze z daných ID"),
|
||
("Use ID whitelisting", "Použít bílou listinu ID"),
|
||
("id_whitelist_tip", "Přístup je umožněn pouze z ID, nacházejících se na seznamu povolených"),
|
||
("id_whitelist_wildcard_tip", "Jsou podporovány zástupné znaky: '*' odpovídá libovolnému počtu znaků, '?' právě jednomu znaku"),
|
||
("Invalid ID", "Neplatné ID"),
|
||
("Your ID is blocked by the peer", "Vaše ID je protistranou blokováno"),
|
||
("Your ip is blocked by the peer", "Vaše IP adresa je protistranou blokována"),
|
||
("id_whitelist_caveat_tip", "ID je hlášeno připojujícím se klientem. Tento seznam snižuje vystavení a nenahrazuje heslo ani 2FA"),
|
||
("whitelist_cidr_tip", "Je podporován zápis CIDR, například 192.168.1.0/24"),
|
||
("Continue", "Pokračovat"),
|
||
("Browser didn't open? Use the url below to sign in.", "Neotevřel se prohlížeč? Pro přihlášení použijte URL níže."),
|
||
("Lock canvas", "Zamknout zobrazení"),
|
||
("Sync clipboard between sessions", "Synchronizovat schránku mezi relacemi"),
|
||
("sync-clipboard-between-sessions-tip", "Text nebo obrázky zkopírované v jedné vzdálené relaci se odešlou i do schránky ostatních připojených relací."),
|
||
("terminal-clipboard-write-tip", ""),
|
||
("Allow terminal apps to copy to clipboard", ""),
|
||
("Enable", "Povolit"),
|
||
("Reuse one connection for port forwarding", "Znovu použít jedno připojení pro přesměrování portů"),
|
||
("port-forward-mux-tip", "Vede všechna připojení jednoho přesměrování portů přes jediné připojení k protějšku místo opakovaného připojování a přihlašování pro každé z nich."),
|
||
].iter().cloned().collect();
|
||
}
|