mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-11-04 08:34:12 +00:00
* fix web break introduced in 38f130071 fix(linux): enable mouse side buttons in remote sessions (#14848)
* feat(shortcuts): user-configurable keyboard shortcuts for session actions
Adds a keyboard shortcut feature (Rust matcher + Dart UI + cross-language
parity tests) that lets users bind combinations like Ctrl+Alt+Shift+P to
session actions. Bindings are stored in LocalConfig under
`keyboard-shortcuts`; the matcher gates dispatch on `enabled` and
`pass_through` flags so flipping the master switch off is a hard stop.
Wire-up summary:
- src/keyboard/shortcuts.rs: matcher, default bindings, parity test against
flutter/test/fixtures/default_keyboard_shortcuts.json
- src/keyboard.rs: shortcut intercept in process_event{,_with_session},
feature-gated to `flutter`; runs before key swapping so users bind to
physical keys
- src/flutter_ffi.rs: main_reload_keyboard_shortcuts +
main_get_default_keyboard_shortcuts; reload_from_config seeded in main_init
- flutter/lib/common/widgets/keyboard_shortcuts/: shared config page body,
recording dialog, shortcut display formatter, action group registry
- flutter/lib/desktop/pages/desktop_keyboard_shortcuts_page.dart and
flutter/lib/mobile/pages/mobile_keyboard_shortcuts_page.dart: platform
shells around the shared body
- flutter/lib/models/shortcut_model.dart: per-session ShortcutModel +
registerSessionShortcutActions for actions with no toolbar TToggleMenu /
TRadioMenu (fullscreen, switch display/tab, close tab, voice call, etc.)
- flutter/lib/common/widgets/toolbar.dart: optional `actionId` field on
TToggleMenu / TRadioMenu, plus per-helper auto-register pass that wires
tagged entries' existing onChanged into the ShortcutModel
- flutter/test/keyboard_shortcuts_test.dart + fixtures: cross-language
parity (default bindings, supported key vocabulary)
Design principles applied during review:
1. Additions are fine; modifications to original logic must be deliberate.
Tagging an existing TToggleMenu entry with `actionId:` is an addition.
Rewriting its onChanged to satisfy a new contract is a modification —
and was reverted for every case where the original click behavior was
working. Four closures were touched and then reverted (mobile View
Mode, Privacy mode multi-impl, Relative mouse mode, Reverse mouse
wheel); their shortcuts are wired via standalone closures in
shortcut_model.dart instead.
2. Toolbar auto-register is reserved for entries whose onChanged is
inherently self-flipping — typically `sessionToggleOption(name)` where
the named option is flipped in place and the input bool is unused. The
register pass passes `!menu.value` from registration time, which is
harmless under self-flipping but wrong for closures that consume the
input bool directly. Tagging a non-self-flipping entry forces a closure
rewrite; choose non-toolbar registration in that case.
3. When shortcuts are disabled, toolbar behavior must be bit-for-bit
unchanged. The matcher's `enabled`-gate already guarantees no
dispatch; the auto-register pass is left unconditional (its only effect
is HashMap operations on a separate ShortcutModel) so mid-session
enable works without a reconnect. The trade-off is intentional and
documented at the top of toolbarControls.
4. Comments stay terse. Rationale lives in one place — the doc comment of
the helper or registration site, not duplicated at every call site.
5. Where an existing helper needs a new optional behavior (e.g.
`_OptionCheckBox` gaining a tooltip slot), the new branch must reduce
to byte-identical output for existing callers (`trailing == null`
case → original `Expanded(Text)` layout). Verified.
6. Action IDs and labels stay consistent. Renamed `reset_cursor` →
`reset_canvas` so the action ID matches its user-facing label
("Reset canvas") and capability flag.
Out-of-scope but included:
- AGENTS.md: documents flutter_rust_bridge no-codegen workflow and the
Web target's hand-written TS client, since both are load-bearing for
any new FFI work.
- remote_toolbar.dart: i18n fix for the per-monitor tooltip ("All
monitors" / "Monitor #N"), unrelated to shortcuts but kept here.
* langs
* fix(keyboard): shortcuts, harden config and callback lifecycle
Signed-off-by: fufesou <linlong1266@gmail.com>
* feat(keyboard): shortcuts, color of "Reset to defaults"
Signed-off-by: fufesou <linlong1266@gmail.com>
* feat(keyboard): shortcuts, release keys before shortcut callback
Signed-off-by: fufesou <linlong1266@gmail.com>
* feat(keyboard): shortcuts, debug web
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(keyboard): iPad, icon
Signed-off-by: fufesou <linlong1266@gmail.com>
* langs: add shortcut keys to az, gl, ur
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, keep local modifiers and release keys on the right session
When a chord fired, the shortcut path reused release_remote_keys(), which
replays synthetic releases through process_event(). That cleared the local
MODIFIERS_STATE while the user still held the modifiers, so the next key of
a held chord no longer matched and leaked to the remote, and it sent the
releases to the globally current session instead of the one that typed the
chord.
The shortcut path now releases the remote keys itself: it sends through the
caller's session, and restores the modifiers it released on the remote as
still held locally. The press that fired is remembered until its release,
so its auto repeats and its release are consumed instead of reaching the
remote.
Also state the contract for unavailable actions: a bound chord always
belongs to RustDesk and is a no-op when the session has no handler.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, record the physical key
The recording dialog and the Web Flutter matcher named keys by
LogicalKeyboardKey, while the native matcher sees the physical key through
its USB HID usage and the Web JS matcher through KeyboardEvent.code. On
AZERTY, QWERTZ, Dvorak and similar layouts a recorded binding then did not
fire, or fired from another key.
Name keys by their physical position everywhere: physicalKeyName maps the
USB HID usage to the stored name. A new fixture pins every name to its USB
HID usage, checked on the Dart side and against rdev::usb_hid_key_from_code
on the Rust side, and a test covers AZERTY and QWERTZ events.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, keep an empty binding list on re-enable
setEnabled seeded the defaults whenever the binding list was empty, so a
user who cleared every binding got all defaults back after disable and
enable. Seed only when the config has never held a bindings list.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, track every fired key until its release
FIRED_KEY held a single key, so overlapping shortcut keys broke it: with the
chord held, P then C overwrote P, P's release reached the remote, and a P
repeat could fire the screenshot again. A repeat after the modifiers were
released was also treated as a new press and leaked to the remote.
Keep a set of fired keys instead. Once a press fires, every event of that
key belongs to RustDesk until its release: repeats are consumed without
dispatching, whatever the modifiers do, and the release removes the key.
Entries whose release never arrives are dropped when a session view is
entered or a session is closed, not by guessing from the modifiers.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, keep fired keys per session
FIRED_KEYS was process-global while dispatch is per session. Closing or
entering any session cleared the fired keys of all of them, so a key still
held in another session leaked its release to that remote, and a key fired
in one session made the same key in another session look like a repeat.
Key the fired set by session: try_dispatch resolves the session first and
only looks at that session's keys, and session_close clears only the
closing session. Entering a session view no longer clears anything: it is
a pointer enter, and a fired key may still be physically held across it.
A key whose release is missed otherwise heals itself: its next press is
consumed as a repeat and that release removes it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(shortcuts): preserve input state and refresh action availability
* fix(keyboard): shortcuts, keep a fired key owned across session close
Close tab is itself a shortcut, so the session that consumed the key press
is gone before the key is released. Both matchers dropped the key with the
session: the Flutter dispatcher removed its own entries in clear(), and the
Rust set was keyed by session and cleared in session_close. The release,
and the repeats while the key stayed held, then reached the next session's
remote as ordinary input.
Ownership of a fired key is physical, so it is now one set shared by every
session on each side, and closing a session no longer touches it: clear()
only drops the pending action and modifier replay, and the Rust session
state only tracks released modifiers. A key whose release is missed heals
itself on its next press. Entering view-only with the Flutter input source
still clears the Rust set, since that source stops routing key events to it.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, drop the Toggle Input Source action
The action switches the key capture backend between key down and key up.
Fired-key ownership lives in whichever matcher saw the press, the Flutter
dispatcher or the Rust set, and there is no handoff between them: after the
switch the repeats and the release of the held key reach the other backend,
which forwards them to the remote and, while the chord is held, matches the
action again and toggles the source back. Remove the shortcut instead of
building a handoff for one action. The toolbar radio menu is unchanged.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* perf(keyboard): shortcuts, parse the config once per stored value
The Flutter matcher read the local config three times and parsed its JSON
three times on every key press in legacy mode, on Web and in view-only.
Keep one parsed snapshot keyed by the raw stored string, so a key press
costs one config read and no parsing while the config is unchanged. The
existing readers are thin views of the same snapshot.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix(keyboard): shortcuts, run focus-changing actions on key release
Close tab and tab switching move keyboard focus to another session before
the key that fired them is released. On Linux the Flutter input source
routes map-mode sessions through the Rust matcher and legacy-mode sessions
through the Dart matcher, and neither knows the other's fired keys, so
after such an action the repeats and the release of the held key reached
the next session's remote, and the key stayed recorded as fired in the
matcher that saw the press.
Routing Linux legacy mode through the Rust FFI path instead is not a drop-in
change: the raw key handler builds its event with no unicode, so Rust's
legacy mode would fall back to US key names and lose the layout-aware
characters the Dart path sends today, and it would take modifiers from the
X11 key state instead of Flutter's.
Run these three actions when the fired key is released. The matcher that
consumed the press then also sees the repeats and the release, the remote
modifiers are still released on the press, and a session that closes drops
the action it owed. Both matchers keep the same list of actions.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* test(keyboard): shortcuts, pin the key-up action list on both sides
kShortcutActionsRunOnKeyUp and runs_on_release are two hand-kept lists of
the actions that run on key release. Add a shared fixture and check each
side against it, the way the key vocabulary and the default bindings are
already checked, so adding a focus-changing action on one side breaks a
test until the other side follows. The Dart test also checks that every
listed id is a configurable action.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ra4my61t8q1FN5n59wB16D
* fix: prevent lost input after remote session shortcuts
Avoid synthetic Alt presses that activate the Windows system menu
and swallow the next character.
Trigger restart, switch-sides, and chat actions on key release so
focus changes cannot leave subsequent shortcut presses ignored.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(mobile): correct Chat keyboard and input helper behavior
- Keep soft keyboard and helper hidden when Chat opens via shortcut
- Restore soft input on touch and remote focus after Chat closes
- Handle modifier releases while Chat owns focus
- Clear hidden virtual modifiers while preserving held keys and Pin behavior
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): prevent recording non-simultaneous key combinations
Build new captures from currently held keys instead of reusing released
letters. Preserve the last valid chord after release so it can be saved.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): isolate window actions and prevent duplicate Alt presses
- Dispatch shortcut actions only to the originating session window.
- Clear local modifier state on focus loss without resending modifiers
already released to Windows peers, preventing lost following input.
- Strengthen the regression assertion against extra Alt keydown events
Signed-off-by: fufesou <linlong1266@gmail.com>
* refact(shortcuts): empty default shortcuts for Cmd+Option+Shift+Del on macOS and iOS
Because Del may be ambiguous for new macOS users.
Cmd+Option+Shift+Backspace is "Empty Trash without confirmation" shortcut on macOS.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: use session peer platform for Ctrl+Alt+Del events
Fix Android-to-Linux Ctrl+Alt+Del delivery by using the session's peer
platform instead of the desktop global session, which defaults to Windows
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: hide relative mouse mode shortcuts on Wayland
Separate relative mouse mode availability from screenshot support.
Filter unsupported actions and defaults while preserving saved bindings
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: align shortcut availability with platform support
- Hide unsupported mobile and web shortcut actions
- Enable mobile scaling and Android voice call shortcuts
- Use openMonitorInTheSameTab() for display switching
- Preserve cursor position when switching displays on desktop and web
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: prevent held-key shortcut recording bypass
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: preserve keyboard input after shortcut dialogs
Run native clipboard shortcuts on key release and wait for remote modifier releases before dispatching.
Release remote modifiers when mobile local UI takes focus, and document the tested iPad Bluetooth Mute shortcut limitation.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: preserve remote key state during local shortcuts
Keep unrelated held keys pressed for session actions that retain input. Preserve key release when focus or input handling changes, and avoid synthetic Alt taps during shortcut dispatch.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: suspend saved relative mouse shortcuts on Wayland
Filter the native active binding cache without changing stored configuration, so the binding becomes available again under X11.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: exclude unsupported Wayland shortcuts from Flutter matching
Keep saved bindings intact while filtering the active config used by the Flutter matcher. Cover stored bindings and enable/pass-through flags in the existing shortcut tests.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: retain forwarded key ownership across shortcut repeats
Ignore repeat presses for keys already forwarded to the peer, and release ordinary held keys before Show My Cursor enables view-only. Cover both paths with converter-level regressions.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: release Flutter-held keys before view-only shortcuts
Track ordinary keys forwarded by the Dart matcher paths and await their releases before View Only or Show My Cursor disables input. Keep Mute key ownership and existing empty-cleanup timing unchanged.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: filter active Flutter shortcuts by platform capabilities
Reuse the Settings action filter for saved bindings while preserving storage, default-seeding behavior and configurable Apple Ctrl+Alt+Del bindings.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: filter native shortcut caches for mobile controllers
Suspend saved desktop-only actions on Android and iOS and hide unavailable iOS actions without changing persisted bindings. Keep native cache filtering aligned with Flutter platform capabilities.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: share filtered shortcut bindings with the Web matcher
Pass the active platform config to JavaScript at startup and after settings changes, preserving unsupported saved bindings in local storage.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: release Flutter-held keys before focus-changing shortcuts
Drain ordinary keys owned by the original session before run-on-key-up
actions and native clipboard callbacks. Preserve Mute holds, pending-action
cancellation and Web clipboard key-down activation.
Document the required Web matcher counterpart in the bridge:
rustdesk/rustdesk-web-js@94abe431d6
Validation: 61 native Flutter tests, 32 Chrome/HTML tests, targeted analysis
and Windows debug build.
Signed-off-by: fufesou <linlong1266@gmail.com>
* refact: remove the useless comments
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: prevent Windows menu activation from Alt-only shortcuts
Neutralize the forwarded Alt with a balanced temporary Ctrl press when a consumed local shortcut releases its only modifier in Windows Map mode. Keep physical modifier tracking and normal Alt pass-through unchanged.
Add a regression covering both Alt keys, trigger repeats and the eventual physical release. Verified with 36 native shortcut tests and real Windows menu/input checks.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: prevent Alt menu activation in all keyboard modes
Extend Windows Alt-only shortcut neutralization to Translate and Legacy. Keep the temporary Ctrl packets in Map mode so Legacy modifier synchronization cannot release Alt before Ctrl.
Extend the existing regression across keyboard modes and decode scan, virtual and control-key events. Verify 36 native tests and 34 Windows menu replay cases.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: initialize outgoing chat before shortcut dispatch
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: guard Windows Alt release in Flutter legacy shortcuts
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: coordinate Web shortcut dispatch and Alt modifier cleanup
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: distinguish AltGraph from ordinary Alt shortcuts
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: dispatch macOS Web shortcuts without waiting for keyup
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: support legacy peers in privacy mode shortcut
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: exclude AltGraph from Flutter shortcut matching
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix: exclude GTK AltGr input from raw shortcut matching
Signed-off-by: fufesou <linlong1266@gmail.com>
* test: trim redundant keyboard shortcut coverage
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(keyboard): prevent Cmd shortcuts from opening remote Start
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): guard Windows menu keys after Ctrl/Cmd swapping
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): align recording and display routing
Reject non-Apple AltGraph captures to match runtime filtering. Honor individual-display windows for next, previous, and all-display shortcuts.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): reject GTK AltGr chords in recorder
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(android): restore keyboard focus for modifier-first input
Focus the existing FlutterView when a modifier is pressed without native view focus. This restores shortcut-first input after returning to RustDesk while preserving focused inputs and normal key dispatch.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): release held keys before keyboard mode changes
Drain Flutter-forwarded keys before keyboard-mode shortcut actions so releases use the original encoding. This prevents held keys from remaining down after a Web Input source 2 mode change.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(i18n): use sentence case for shortcut labels
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(mobile): preserve touch modifiers in the input helper
Keep touch-selected modifiers visible after hiding the keyboard. Clear physical modifier releases locally in view-only mode so they do not reopen the helper.
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(web): preserve modifiers across Legacy-to-Map shortcuts
Signed-off-by: fufesou <linlong1266@gmail.com>
* fix(shortcuts): check support before registering all displays view
Signed-off-by: fufesou <linlong1266@gmail.com>
---------
Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
818 lines
52 KiB
Rust
818 lines
52 KiB
Rust
lazy_static::lazy_static! {
|
|
pub static ref T: std::collections::HashMap<&'static str, &'static str> =
|
|
[
|
|
("Status", "Status"),
|
|
("Your Desktop", "Ditt skrivbord"),
|
|
("desk_tip", "Ditt skrivbord kan delas med hjälp av detta ID och lösenord"),
|
|
("Password", "Lösenord"),
|
|
("Ready", "Redo"),
|
|
("Established", "Uppkopplad"),
|
|
("connecting_status", "Ansluter till RustDesk..."),
|
|
("Enable service", "Sätt på tjänsten"),
|
|
("Start service", "Starta tjänsten"),
|
|
("Service is running", "Tjänsten är startad"),
|
|
("Service is not running", "Tjänsten är ej startad"),
|
|
("not_ready_status", "Ej redo. Kontrollera din nätverksanslutning"),
|
|
("Control Remote Desktop", "Kontrollera fjärrskrivbord"),
|
|
("Transfer file", "Överför fil"),
|
|
("Connect", "Anslut"),
|
|
("Recent sessions", "Dina senaste sessioner"),
|
|
("Address book", "Addressbok"),
|
|
("Confirmation", "Bekräftelse"),
|
|
("TCP tunneling", "TCP Tunnel"),
|
|
("Remove", "Ta bort"),
|
|
("Refresh random password", "Skapa nytt slumpmässigt lösenord"),
|
|
("Set your own password", "Skapa ditt eget lösenord"),
|
|
("Enable keyboard/mouse", "Tillåt tangentbord/mus"),
|
|
("Enable clipboard", "Tillåt urklipp"),
|
|
("Enable file transfer", "Tillåt filöverföring"),
|
|
("Enable TCP tunneling", "Tillåt TCP tunnel"),
|
|
("IP Whitelisting", "IP Vitlisting"),
|
|
("ID/Relay Server", "ID/Relay Server"),
|
|
("Import server config", "Importera Server config"),
|
|
("Export Server Config", "Exportera Server config"),
|
|
("Import server configuration successfully", "Importering lyckades"),
|
|
("Export server configuration successfully", "Exportering lyckades"),
|
|
("Invalid server configuration", "Ogiltig server config"),
|
|
("Clipboard is empty", "Urklippet är tomt"),
|
|
("Stop service", "Avsluta tjänsten"),
|
|
("Change ID", "Byt ID"),
|
|
("Your new ID", "Ditt nya ID"),
|
|
("length %min% to %max%", "längd %min% till %max%"),
|
|
("starts with a letter", "börjar med en bokstav"),
|
|
("allowed characters", "tillåtna tecken"),
|
|
("id_change_tip", "Bara a-z, A-Z, 0-9, - (dash) och _ (understräck) tecken är tillåtna. Den första bokstaven måste vara a-z, A-Z. Längd mellan 6 och 16."),
|
|
("Website", "Hemsida"),
|
|
("About", "Om"),
|
|
("Slogan_tip", "Gjord med hjärta i denna kaotiska värld!"),
|
|
("Privacy Statement", "Integritetspolicy"),
|
|
("Mute", "Tyst"),
|
|
("Build Date", "Byggdatum"),
|
|
("Version", "Version"),
|
|
("Home", "Hem"),
|
|
("Audio Input", "Ljud input"),
|
|
("Enhancements", "Förbättringar"),
|
|
("Hardware Codec", "Hårdvarucodec"),
|
|
("Adaptive bitrate", "Adaptiv Bitrate"),
|
|
("ID Server", "ID server"),
|
|
("Relay Server", "Relay Server"),
|
|
("API Server", "API Server"),
|
|
("invalid_http", "måste börja med http:// eller https://"),
|
|
("Invalid IP", "Ogiltig IP"),
|
|
("Invalid format", "Ogiltigt format"),
|
|
("server_not_support", "Stöds ännu inte av servern"),
|
|
("Not available", "Ej tillgänglig"),
|
|
("Too frequent", "För ofta"),
|
|
("Cancel", "Avbryt"),
|
|
("Skip", "Hoppa över"),
|
|
("Close", "Stäng"),
|
|
("Retry", "Försök igen"),
|
|
("OK", "OK"),
|
|
("Password Required", "Lösenord krävs"),
|
|
("Please enter your password", "Skriv in ditt lösenord"),
|
|
("Remember password", "Kom ihåg lösenord"),
|
|
("Wrong Password", "Fel lösenord"),
|
|
("Do you want to enter again?", "Vill du skriva in igen?"),
|
|
("Connection Error", "Anslutningsfel"),
|
|
("Error", "Ett fel uppstod"),
|
|
("Reset by the peer", "Återställt av klienten"),
|
|
("Connecting...", "Ansluter..."),
|
|
("Connection in progress. Please wait.", "Anslutning pågår. Var god vänta."),
|
|
("Please try 1 minute later", "Försök igen om en minut"),
|
|
("Login Error", "Inloggningsfel"),
|
|
("Successful", "Lyckat"),
|
|
("Connected, waiting for image...", "Ansluten, väntar på bild..."),
|
|
("Name", "Namn"),
|
|
("Type", "Typ"),
|
|
("Modified", "Modifierad"),
|
|
("Size", "Storlek"),
|
|
("Show Hidden Files", "Visa gömda filer"),
|
|
("Receive", "Ta emot"),
|
|
("Send", "Skicka"),
|
|
("Refresh File", "Uppdatera fil"),
|
|
("Local", "Lokalt"),
|
|
("Remote", "Fjärr"),
|
|
("Remote Computer", "Fjärrdator"),
|
|
("Local Computer", "Lokal dator"),
|
|
("Confirm Delete", "Bekräfta borttagning"),
|
|
("Delete", "Ta bort"),
|
|
("Properties", "Egenskaper"),
|
|
("Multi Select", "Välj flera"),
|
|
("Select All", "Markera alla "),
|
|
("Unselect All", "Avmärkera alla"),
|
|
("Empty Directory", "Tom mapp"),
|
|
("Not an empty directory", "Inte en tom mapp"),
|
|
("Are you sure you want to delete this file?", "Är du säker att du vill ta bort filen?"),
|
|
("Are you sure you want to delete this empty directory?", "Är du säker att du vill ta bort den tomma mappen?"),
|
|
("Are you sure you want to delete the file of this directory?", "Är du säker att du vill ta bort filen ur mappen?"),
|
|
("Do this for all conflicts", "Gör för alla konflikter"),
|
|
("This is irreversible!", "Detta går ej att ångra!"),
|
|
("Deleting", "Tar bort"),
|
|
("files", "filer"),
|
|
("Waiting", "Väntnar"),
|
|
("Finished", "Klar"),
|
|
("Speed", "Hastighet"),
|
|
("Custom Image Quality", "Anpassad bildkvalitet"),
|
|
("Privacy mode", "Säkerhetsläge"),
|
|
("Block user input", "Blokera användarinput"),
|
|
("Unblock user input", "Tillåt användarinput"),
|
|
("Adjust Window", "Ändra fönster"),
|
|
("Original", "Orginal"),
|
|
("Shrink", "Krymp"),
|
|
("Stretch", "Sträck ut"),
|
|
("Scrollbar", "Scrollbar"),
|
|
("ScrollAuto", "ScrollAuto"),
|
|
("Good image quality", "Bra bildkvalitet"),
|
|
("Balanced", "Balanserad"),
|
|
("Optimize reaction time", "Optimera reaktionstid"),
|
|
("Custom", "Anpassat"),
|
|
("Show remote cursor", "Visa fjärrmus"),
|
|
("Show quality monitor", "Visa bildkvalitet"),
|
|
("Disable clipboard", "Stäng av urklipp"),
|
|
("Lock after session end", "Lås efter sessionens slut"),
|
|
("Insert Ctrl + Alt + Del", "Insert Ctrl + Alt + Del"),
|
|
("Insert Lock", "Insert lås"),
|
|
("Refresh", "Uppdatera"),
|
|
("ID does not exist", "Detta ID existerar inte"),
|
|
("Failed to connect to rendezvous server", "Lyckades inte ansluta till randezvous servern"),
|
|
("Please try later", "Försök igen senare"),
|
|
("Remote desktop is offline", "Fjärrskrivbordet är offline"),
|
|
("Key mismatch", "Nyckeln stämmer inte"),
|
|
("Timeout", "Timeout"),
|
|
("Failed to connect to relay server", "Lyckades inte ansluta till relay servern"),
|
|
("Failed to connect via rendezvous server", "Lyckades inte ansluta via randezvous servern"),
|
|
("Failed to connect via relay server", "Lyckades inte ansluta via relay servern"),
|
|
("Failed to make direct connection to remote desktop", "Lyckades inte ansluta direkt till fjärrskrivbordet"),
|
|
("Set Password", "Välj lösenord"),
|
|
("OS Password", "OS lösenord"),
|
|
("install_tip", "På grund av UAC, kan inte RustDesk fungera ordentligt på klientsidan. För att undvika problem med UAC, tryck på knappen nedan för att installera RustDesk på systemet."),
|
|
("Click to upgrade", "Klicka för att nedgradera"),
|
|
("Configure", "Konfigurera"),
|
|
("config_acc", "För att kontrollera din dator på distans måste du ge RustDesk \"Tillgänglighets\" rättigheter."),
|
|
("config_screen", "För att kontrollera din dator på distans måste du ge RustDesk \"Skärminspelnings\" rättigheter."),
|
|
("Installing ...", "Installerar..."),
|
|
("Install", "Installera"),
|
|
("Installation", "Installation"),
|
|
("Installation Path", "Installationsplats"),
|
|
("Create start menu shortcuts", "Skapa startmeny genväg"),
|
|
("Create desktop icon", "Skapa ikon på skrivbordet"),
|
|
("agreement_tip", "Genom att starta installationen accepterar du licensavtalet."),
|
|
("Accept and Install", "Acceptera och installera"),
|
|
("End-user license agreement", "End-user license agreement"),
|
|
("Generating ...", "Genererar..."),
|
|
("Your installation is lower version.", "Ditt skrivbord har en lägre version"),
|
|
("not_close_tcp_tip", "Stäng inde detta fönster när du använder tunneln"),
|
|
("Listening ...", "Lyssnar..."),
|
|
("Remote Host", "Fjärrhost"),
|
|
("Remote Port", "Fjärrport"),
|
|
("Action", "Handling"),
|
|
("Add", "Lägg till"),
|
|
("Local Port", "Lokal port"),
|
|
("Local Address", "Lokal adress"),
|
|
("Change Local Port", "Ändra lokal port"),
|
|
("setup_server_tip", "Sätt upp din egen server för en snabbare anslutning"),
|
|
("Too short, at least 6 characters.", "För kort, minst 6 tecken."),
|
|
("The confirmation is not identical.", "Bekräftelsen stämmer inte."),
|
|
("Permissions", "Rättigheter"),
|
|
("Accept", "Acceptera"),
|
|
("Dismiss", "Tillåt inte"),
|
|
("Disconnect", "Koppla ifrån"),
|
|
("Enable file copy and paste", "Tillåt kopiering av filer"),
|
|
("Connected", "Ansluten"),
|
|
("Direct and encrypted connection", "Direkt och krypterad anslutning"),
|
|
("Relayed and encrypted connection", "Vidarebefodrad och krypterad anslutning"),
|
|
("Direct and unencrypted connection", "Direkt och okrypterad anslutning"),
|
|
("Relayed and unencrypted connection", "Vidarebefodrad och okrypterad anslutning"),
|
|
("Enter Remote ID", "Skriv in fjärr-ID"),
|
|
("Enter your password", "Skriv in ditt lösenord"),
|
|
("Logging in...", "Loggar in..."),
|
|
("Enable RDP session sharing", "Tillåt RDP sessionsdelning"),
|
|
("Auto Login", "Auto Login (Bara giltigt om du sätter \"Lås efter sessionens slut\")"),
|
|
("Enable direct IP access", "Tillåt direkt IP anslutningar"),
|
|
("Rename", "Byt namn"),
|
|
("Space", "Mellanslag"),
|
|
("Create desktop shortcut", "Skapa skrivbordsgenväg"),
|
|
("Change Path", "Ändra plats"),
|
|
("Create Folder", "Skapa mapp"),
|
|
("Please enter the folder name", "Skriv in namnet på mappen"),
|
|
("Fix it", "Fixa det"),
|
|
("Warning", "Varning"),
|
|
("Login screen using Wayland is not supported", "Login med Wayland stöds inte"),
|
|
("Reboot required", "Omstart krävs"),
|
|
("Unsupported display server", "Displayserver stöds inte "),
|
|
("x11 expected", "x11 förväntades"),
|
|
("Port", "Port"),
|
|
("Settings", "Inställningar"),
|
|
("Username", "Användarnamn"),
|
|
("Invalid port", "Ogiltig port"),
|
|
("Closed manually by the peer", "Stängd manuellt av klienten"),
|
|
("Enable remote configuration modification", "Tillåt fjärrkonfigurering"),
|
|
("Run without install", "Kör utan installation"),
|
|
("Connect via relay", "Anslut via relay"),
|
|
("Always connect via relay", "Anslut alltid via relay"),
|
|
("whitelist_tip", "Bara vitlistade IPs kan koppla upp till mig"),
|
|
("Login", "Logga in"),
|
|
("Verify", "Verifiera"),
|
|
("Remember me", "Kom ihåg mig"),
|
|
("Trust this device", "Lita på denna enhet"),
|
|
("Verification code", "Verifikationskod"),
|
|
("verification_tip", "verifikation_tips"),
|
|
("Logout", "Logga ut"),
|
|
("Tags", "Taggar"),
|
|
("Search ID", "Sök ID"),
|
|
("whitelist_sep", "Separerat av ett comma, semikolon, mellanslag eller ny linje"),
|
|
("Add ID", "Lägg till ID"),
|
|
("Add Tag", "Lägg till Tagg"),
|
|
("Unselect all tags", "Avmarkera alla taggar"),
|
|
("Network error", "Nätverksfel"),
|
|
("Username missed", "Användarnamn saknas"),
|
|
("Password missed", "Lösenord saknas"),
|
|
("Wrong credentials", "Fel användarnamn eller lösenord"),
|
|
("The verification code is incorrect or has expired", "Verifikationskoden är felaktig eller har löpt ut"),
|
|
("Edit Tag", "Ändra Tagg"),
|
|
("Forget Password", "Glöm lösenord"),
|
|
("Favorites", "Favoriter"),
|
|
("Add to Favorites", "Lägg till favorit"),
|
|
("Remove from Favorites", "Ta bort från favoriter"),
|
|
("Empty", "Tom"),
|
|
("Invalid folder name", "Ogiltigt mappnamn"),
|
|
("Socks5 Proxy", "Socks5 Proxy"),
|
|
("Socks5/Http(s) Proxy", "Socks5/Http(s) Proxy"),
|
|
("Discovered", "Upptäckt"),
|
|
("install_daemon_tip", "För att starta efter boot måste du installera systemtjänsten."),
|
|
("Remote ID", "Fjärr ID"),
|
|
("Paste", "Klistra in"),
|
|
("Paste here?", "Klistra in här?"),
|
|
("Are you sure to close the connection?", "Är du säker att du vill avsluta anslutningen?"),
|
|
("Download new version", "Ladda ner ny version"),
|
|
("Touch mode", "Touchläge"),
|
|
("Mouse mode", "Musläge"),
|
|
("One-Finger Tap", "En fingers tryck"),
|
|
("Left Mouse", "Vänster mus"),
|
|
("One-Long Tap", "Långt tryck"),
|
|
("Two-Finger Tap", "Långt tryck med två fingrar"),
|
|
("Right Mouse", "Höger mus"),
|
|
("One-Finger Move", "En fingers drag"),
|
|
("Double Tap & Move", "Dubbeltryck och flytta"),
|
|
("Mouse Drag", "Dra med musen"),
|
|
("Three-Finger vertically", "Tre fingrar vertikalt"),
|
|
("Mouse Wheel", "Scrollhjul"),
|
|
("Two-Finger Move", "Två fingers flytt"),
|
|
("Canvas Move", "Flytta canvas"),
|
|
("Pinch to Zoom", "Nyp för zoom"),
|
|
("Canvas Zoom", "Canvas zoom"),
|
|
("Reset canvas", "Återställ canvas"),
|
|
("No permission of file transfer", "Rättigheter saknas"),
|
|
("Note", "Notering"),
|
|
("Connection", "Anslutning"),
|
|
("Share screen", "Dela skärm"),
|
|
("Chat", "Chatt"),
|
|
("Total", "Totalt"),
|
|
("items", "föremål"),
|
|
("Selected", "Valda"),
|
|
("Screen Capture", "Skärminspelning"),
|
|
("Input Control", "Inputkontroll"),
|
|
("Audio Capture", "Ljudinspelning"),
|
|
("Do you accept?", "Accepterar du?"),
|
|
("Open System Setting", "Öppna systeminställnig"),
|
|
("How to get Android input permission?", "Hur får man Android rättigheter?"),
|
|
("android_input_permission_tip1", "Android rättigheter saknas"),
|
|
("android_input_permission_tip2", "Gå till systeminställningarna, hitta [Installed Services], sätt på [RustDesk Input] tjänsten."),
|
|
("android_new_connection_tip", "Ny kontrollförfrågan mottagen, denna vill kontrollera din enhet."),
|
|
("android_service_will_start_tip", "Sätter du på \"Skärminspelning\" kommer tjänsten automatiskt att starta. Detta tillåter andra enheter att kontrollera din enhet."),
|
|
("android_stop_service_tip", "Genom att stänga av tjänsten kommer alla enheter att kopplas ifrån."),
|
|
("android_version_audio_tip", "Din version av Android stödjer inte ljudinspelning, Android 10 eller nyare krävs"),
|
|
("android_start_service_tip", "android_start_service_tips"),
|
|
("android_permission_may_not_change_tip", "Behörigheter för befintliga anslutningar kanske inte ändras direkt förrän anslutningen återupprättas."),
|
|
("Account", "Konto"),
|
|
("Overwrite", "Skriv över"),
|
|
("This file exists, skip or overwrite this file?", "Filen finns redan, hoppa över eller skriv över filen?"),
|
|
("Quit", "Avsluta"),
|
|
("Help", "Hjälp"),
|
|
("Failed", "Misslyckades"),
|
|
("Succeeded", "Lyckades"),
|
|
("Someone turns on privacy mode, exit", "Någon sätter på säkerhetesläge, avsluta"),
|
|
("Unsupported", "Stöds inte"),
|
|
("Peer denied", "Klienten nekade"),
|
|
("Peer exit", "Avsluta klient"),
|
|
("Failed to turn off", "Misslyckades med avstängning"),
|
|
("Turned off", "Avstängd"),
|
|
("Language", "Språk"),
|
|
("Keep RustDesk background service", "Behåll RustDesk i bakgrunden"),
|
|
("Ignore Battery Optimizations", "Ignorera batterioptimering"),
|
|
("android_open_battery_optimizations_tip", "Om du vill stänga av denna funktion, gå till nästa RustDesk programs inställningar, hitta [Batteri], Checka ur [Obegränsad]"),
|
|
("Start on boot", "Starta vid uppstart"),
|
|
("Start the screen sharing service on boot, requires special permissions", "Starta skärmdelningstjänsten vid uppstart, kräver särskilda rättigheter"),
|
|
("Connection not allowed", "Anslutning ej tillåten"),
|
|
("Legacy mode", "Legacy mode"),
|
|
("Map mode", "Kartläge"),
|
|
("Translate mode", "Översättningsläge"),
|
|
("Use permanent password", "Använd permanent lösenord"),
|
|
("Use both passwords", "Använd båda lösenorden"),
|
|
("Set permanent password", "Ställ in permanent lösenord"),
|
|
("Enable remote restart", "Sätt på fjärromstart"),
|
|
("Restart remote device", "Starta om fjärrenheten"),
|
|
("Are you sure you want to restart", "Är du säker att du vill starta om?"),
|
|
("Restarting remote device", "Startar om fjärrenheten"),
|
|
("remote_restarting_tip", "Enheten startar om, stäng detta meddelande och anslut igen om en liten stund"),
|
|
("Copied", "Kopierad"),
|
|
("Exit Fullscreen", "Gå ur fullskärmsläge"),
|
|
("Fullscreen", "Fullskärm"),
|
|
("Mobile Actions", "Mobila återgärder"),
|
|
("Select Monitor", "Välj skärm"),
|
|
("Control Actions", "Kontroller"),
|
|
("Display Settings", "Skärminställningar"),
|
|
("Ratio", "Ratio"),
|
|
("Image Quality", "Bildkvalitet"),
|
|
("Scroll Style", "Scrollstil"),
|
|
("Show Toolbar", "Visa verktygsfältet"),
|
|
("Hide Toolbar", "Dölj verktygsfältet"),
|
|
("Direct Connection", "Direktanslutning"),
|
|
("Relay Connection", "Relayanslutning"),
|
|
("Secure Connection", "Säker anslutning"),
|
|
("Insecure Connection", "Osäker anslutning"),
|
|
("Scale original", "Skala orginal"),
|
|
("Scale adaptive", "Skala adaptivt"),
|
|
("General", "Generellt"),
|
|
("Security", "Säkerhet"),
|
|
("Theme", "Tema"),
|
|
("Dark Theme", "Mörkt tema"),
|
|
("Light Theme", "Ljust tema"),
|
|
("Dark", "Mörk"),
|
|
("Light", "Ljus"),
|
|
("Follow System", "Följ system"),
|
|
("Enable hardware codec", "Aktivera hårdvarucodec"),
|
|
("Unlock Security Settings", "Lås upp säkerhetsinställningar"),
|
|
("Enable audio", "Sätt på ljud"),
|
|
("Unlock Network Settings", "Lås upp nätverksinställningar"),
|
|
("Server", "Server"),
|
|
("Direct IP Access", "Direkt IP åtkomst"),
|
|
("Proxy", "Proxy"),
|
|
("Apply", "Tillämpa"),
|
|
("Disconnect all devices?", "Koppla ifrån alla enheter?"),
|
|
("Clear", "Töm"),
|
|
("Audio Input Device", "Inmatningsenhet för ljud"),
|
|
("Use IP Whitelisting", "Använd IP-Vitlistning"),
|
|
("Network", "Nätverk"),
|
|
("Pin Toolbar", "Fäst verktygsfältet"),
|
|
("Unpin Toolbar", "Ta bort verktygsfältet"),
|
|
("Recording", "Spelar in"),
|
|
("Directory", "Katalog"),
|
|
("Automatically record incoming sessions", "Spela in inkommande sessioner automatiskt"),
|
|
("Automatically record outgoing sessions", "Spela in utgående sessioner automatiskt"),
|
|
("Change", "Byt"),
|
|
("Start session recording", "Starta inspelning"),
|
|
("Stop session recording", "Avsluta inspelning"),
|
|
("Enable recording session", "Sätt på sessionsinspelning"),
|
|
("Enable LAN discovery", "Sätt på LAN upptäckt"),
|
|
("Deny LAN discovery", "Neka LAN upptäckt"),
|
|
("Write a message", "Skriv ett meddelande"),
|
|
("Prompt", "Prompt"),
|
|
("Please wait for confirmation of UAC...", "Var god vänta för UAC bekräftelse..."),
|
|
("elevated_foreground_window_tip", "Detta fönster hos klienten kräver en högre behörighet. Du kan be användaren att minimera fönstret, eller att ge högre behörigheter i fönstret för anslutningsinställningar. För att undvika detta problem i framtiden, installera programmet på klientens sida."),
|
|
("Disconnected", "Frånkopplad"),
|
|
("Other", "Övrigt"),
|
|
("Confirm before closing multiple tabs", "Bekräfta innan du stänger flera flikar"),
|
|
("Keyboard Settings", "Tangentbordsinställningar"),
|
|
("Full Access", "Full tillgång"),
|
|
("Screen Share", "Skärmdelning"),
|
|
("ubuntu-21-04-required", "Wayland kräver Ubuntu 21.04 eller högre."),
|
|
("wayland-requires-higher-linux-version", "Wayland kräver en högre version av linux. Försök igen eller byt OS."),
|
|
("xdp-portal-unavailable", "Skärminspelning med Wayland misslyckades. XDG Desktop Portal kan ha kraschat eller är otillgänglig. Försök starta om den med `systemctl --user restart xdg-desktop-portal`."),
|
|
("JumpLink", "JumpLink"),
|
|
("Please Select the screen to be shared(Operate on the peer side).", "Välj skärm att dela"),
|
|
("Show RustDesk", "Visa RustDesk"),
|
|
("This PC", "Denna dator"),
|
|
("or", "eller"),
|
|
("Elevate", "Höj upp"),
|
|
("Zoom cursor", "Zoom"),
|
|
("Accept sessions via password", "Acceptera sessioner via lösenord"),
|
|
("Accept sessions via click", "Acceptera sessioner via klick"),
|
|
("Accept sessions via both", "Acceptera sessioner via båda"),
|
|
("Please wait for the remote side to accept your session request...", "Var god vänta på att klienten accepterar din förfrågan..."),
|
|
("One-time Password", "En-gångs lösenord"),
|
|
("Use one-time password", "Använd en-gångs lösenord"),
|
|
("One-time password length", "Längd på en-gångs lösenord"),
|
|
("Request access to your device", "Begär åtkomst till din enhet"),
|
|
("Hide connection management window", "Göm hanteringsfönster"),
|
|
("hide_cm_tip", "Tillåt att gömma endast om accepterande sessioner med lösenord och permanenta lösenord"),
|
|
("wayland_experiment_tip", "Stödet för Wayland är på experimentstadiet. Använd X11 om du behöver obevakad åtkomst."),
|
|
("Right click to select tabs", "Högerklicka för att välja flikar"),
|
|
("Skipped", "Hoppade över"),
|
|
("Add to address book", "Lägg till i adressboken"),
|
|
("Group", "Grupp"),
|
|
("Search", "Sök"),
|
|
("Closed manually by web console", "Stängt manuellt av webkonsolen"),
|
|
("Local keyboard type", "Lokal tangentbordstyp"),
|
|
("Select local keyboard type", "Välj lokal tangentbordstyp"),
|
|
("software_render_tip", "Om du använder ett Nvidia-grafikkort under Linux och fjärrfönstret stängs direkt efter anslutning kan det hjälpa att byta till den öppna källkodsdrivrutinen Nouveau och välja mjukvarurendering. En omstart av programvaran krävs."),
|
|
("Always use software rendering", "Använd alltid mjukvarurendering"),
|
|
("config_input", "För att kunna styra fjärrskrivbordet med tangentbordet måste du ge RustDesk behörigheten \"Övervaka inmatning\"."),
|
|
("config_microphone", "För att kunna tala på distans måste du ge RustDesk behörigheten \"Spela in ljud\"."),
|
|
("request_elevation_tip", "Du kan även begära förhöjd behörighet om någon finns på den andra sidan."),
|
|
("Wait", "Vänta"),
|
|
("Elevation Error", "Fel vid behörighetshöjning"),
|
|
("Ask the remote user for authentication", "Fråga fjärranvändaren för autentisering"),
|
|
("Choose this if the remote account is administrator", "Välj detta om fjärrkontot är administratör"),
|
|
("Transmit the username and password of administrator", "Skicka administratörens användarnamn och lösenord"),
|
|
("still_click_uac_tip", "Kräver fortfarande att fjärranvändaren klickar på OK i UAC-fönstret för RustDesk."),
|
|
("Request Elevation", "Begär förhöjd behörighet"),
|
|
("wait_accept_uac_tip", "Vänta tills fjärranvändaren accepterar UAC-dialogrutan."),
|
|
("Elevate successfully", "Behörigheten höjdes"),
|
|
("uppercase", "versal"),
|
|
("lowercase", "gemen"),
|
|
("digit", "siffra"),
|
|
("special character", "specialtecken"),
|
|
("length>=8", "längd>=8"),
|
|
("Weak", "Svag"),
|
|
("Medium", "Medium"),
|
|
("Strong", "Stark"),
|
|
("Switch Sides", "Byt sidor"),
|
|
("Please confirm if you want to share your desktop?", "Vänligen bekräfta att du vill dela ditt skrivbord?"),
|
|
("Display", "Display"),
|
|
("Default View Style", "Standardvisningsstil"),
|
|
("Default Scroll Style", "Standardscrollstil"),
|
|
("Default Image Quality", "Standardbildkvalitet"),
|
|
("Default Codec", "Standard Kodek"),
|
|
("Bitrate", "Bithastighet"),
|
|
("FPS", "FPS"),
|
|
("Auto", "Auto"),
|
|
("Other Default Options", "Andra Standardinställningar"),
|
|
("Voice call", "Röstsamtal"),
|
|
("Text chat", "Meddelandechatt"),
|
|
("Stop voice call", "Stoppa röstsamtal"),
|
|
("relay_hint_tip", "Det kanske inte går att ansluta direkt; du kan försöka ansluta via relä. Om du vill använda en relä redan vid första försöket kan du lägga till suffixet \"/r\" efter ID:t eller välja alternativet \"Anslut alltid via relä\" i kortet för senaste sessioner om det finns."),
|
|
("Reconnect", "Återanslut"),
|
|
("Codec", "Kodek"),
|
|
("Resolution", "Upplösning"),
|
|
("No transfers in progress", "Inga överförningar pågår"),
|
|
("Set one-time password length", "Ställ in engångslösenordets längd"),
|
|
("RDP Settings", "RDP inställningar"),
|
|
("Sort by", "Sortera efter"),
|
|
("New Connection", "Ny Anslutning"),
|
|
("Restore", "Återställ"),
|
|
("Minimize", "Minimera"),
|
|
("Maximize", "Maximera"),
|
|
("Your Device", "Din Enhet"),
|
|
("empty_recent_tip", "Hoppsan, inga senaste sessioner!\nDags att planera en ny."),
|
|
("empty_favorite_tip", "Inga favoritklienter ännu?\nLåt oss hitta någon att ansluta till och lägga till bland dina favoriter!"),
|
|
("empty_lan_tip", "Åh nej, det verkar som att vi inte har upptäckt några klienter ännu."),
|
|
("empty_address_book_tip", "Kära nån, det verkar inte finnas några klienter i din adressbok just nu."),
|
|
("Empty Username", "Tomt användarnamn"),
|
|
("Empty Password", "Tomt lösenord"),
|
|
("Me", "Jag"),
|
|
("identical_file_tip", "Den här filen är identisk med klientens."),
|
|
("show_monitors_tip", "Visa skärmar i verktygsfältet"),
|
|
("View Mode", "Visningsläge"),
|
|
("verify_rustdesk_password_tip", "Verifiera RustDesk-lösenord"),
|
|
("No need to elevate", "Ingen behörighetshöjning behövs"),
|
|
("System Sound", "Systemljud"),
|
|
("Default", "Standard"),
|
|
("New RDP", "Ny RDP"),
|
|
("Fingerprint", "Fingeravtryck"),
|
|
("Copy Fingerprint", "Kopiera fingeravtryck"),
|
|
("no fingerprints", "inga fingeravtryck"),
|
|
("Update", "Uppdatera"),
|
|
("resolution_original_tip", "Ursprunglig upplösning"),
|
|
("resolution_fit_local_tip", "Anpassa till lokal upplösning"),
|
|
("resolution_custom_tip", "Anpassad upplösning"),
|
|
("Collapse toolbar", "Komprimera verktygsfältet"),
|
|
("Accept and Elevate", "Acceptera och höj behörighet"),
|
|
("accept_and_elevate_btn_tooltip", "Acceptera anslutningen och höj UAC-behörigheter."),
|
|
("clipboard_wait_response_timeout_tip", "Tidsgränsen för att vänta på kopieringssvar överskreds."),
|
|
("Incoming connection", "Inkommande anslutning"),
|
|
("Outgoing connection", "Utgående anslutning"),
|
|
("Exit", "Stäng"),
|
|
("Open", "Öppna"),
|
|
("logout_tip", "Är du säker på att du vill logga ut?"),
|
|
("Service", "Tjänst"),
|
|
("Start", "Start"),
|
|
("Stop", "Stopp"),
|
|
("exceed_max_devices", "Du har nått det maximala antalet hanterade enheter."),
|
|
("Sync with recent sessions", "Synkronisera med senaste sessioner"),
|
|
("Sort tags", "Sortera taggar"),
|
|
("Open connection in new tab", "Öppna anslutning i ny flik"),
|
|
("Move tab to new window", "Flytta flik till nytt fönster"),
|
|
("Can not be empty", "Kan ej vara tom"),
|
|
("Already exists", "Existerar redan"),
|
|
("Change Password", "Byt lösenord"),
|
|
("Refresh Password", "Uppdatera lösenord"),
|
|
("ID", "ID"),
|
|
("Grid View", "Rutnätsvy"),
|
|
("List View", "Listvy"),
|
|
("Select", "Välj"),
|
|
("Toggle Tags", "Växla flikar"),
|
|
("pull_ab_failed_tip", "Det gick inte att uppdatera adressboken"),
|
|
("push_ab_failed_tip", "Det gick inte att synkronisera adressboken till servern"),
|
|
("synced_peer_readded_tip", "De enheter som fanns i de senaste sessionerna synkroniseras tillbaka till adressboken."),
|
|
("Change Color", "Byt färg"),
|
|
("Primary Color", "Primärfärg"),
|
|
("HSV Color", "HSV färg"),
|
|
("Installation Successful!", "Installationen lyckades!"),
|
|
("Installation failed!", "Installationen misslyckades!"),
|
|
("Reverse mouse wheel", "Ändra riktning för scrollhjulet"),
|
|
("{} sessions", "{} sessioner"),
|
|
("scam_title", "Du kan vara utsatt för BEDRÄGERI!"),
|
|
("scam_text1", "Om du talar i telefon med någon du INTE känner OCH litar på, som har bett dig använda RustDesk och starta tjänsten, fortsätt inte och lägg på omedelbart."),
|
|
("scam_text2", "De är troligen bedragare som försöker stjäla dina pengar eller annan privat information."),
|
|
("Don't show again", "Visa inte igen"),
|
|
("I Agree", "Jag godkänner"),
|
|
("Decline", "Avböj"),
|
|
("Timeout in minutes", "Timeout i minuter"),
|
|
("auto_disconnect_option_tip", "Stäng inkommande sessioner automatiskt vid användarinaktivitet"),
|
|
("Connection failed due to inactivity", "Anslutningen misslyckades på grund av inaktivitet"),
|
|
("Check for software update on startup", "Kolla efter mjukvaruuppdateringar vid start"),
|
|
("upgrade_rustdesk_server_pro_to_{}_tip", "Uppgradera RustDesk Server Pro till version {} eller senare!"),
|
|
("pull_group_failed_tip", "Det gick inte att uppdatera gruppen"),
|
|
("Filter by intersection", "Filtrera efter snitt"),
|
|
("Remove wallpaper during incoming sessions", "Dölj bakgrunden vid inkommande sessioner"),
|
|
("Test", "Test"),
|
|
("display_is_plugged_out_msg", "Skärmen har kopplats ur, byter till den första skärmen."),
|
|
("No displays", "Inga skärmar"),
|
|
("Open in new window", "Öppna i nytt fönster"),
|
|
("Show displays as individual windows", "Visa skärmar som enskilda fönster"),
|
|
("Use all my displays for the remote session", "Använd alla mina skärmar för fjärrsessionen"),
|
|
("selinux_tip", "SELinux är aktiverat på din enhet, vilket kan hindra RustDesk från att fungera korrekt som kontrollerad sida."),
|
|
("Change view", "Byt vy"),
|
|
("Big tiles", "Stora rutor"),
|
|
("Small tiles", "Små rutor"),
|
|
("List", "Lista"),
|
|
("Virtual display", "Virtuell skärm"),
|
|
("Plug out all", "Koppla ur alla"),
|
|
("True color (4:4:4)", "Sann färg (4:4:4)"),
|
|
("Enable blocking user input", "Aktivera blockering av användarinmatning"),
|
|
("id_input_tip", "Du kan ange ett ID, en direkt IP-adress eller en domän med port (<domain>:<port>).\nOm du vill nå en enhet på en annan server lägger du till serveradressen (<id>@<server_address>?key=<key_value>), till exempel,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nOm du vill nå en enhet på en offentlig server anger du \"<id>@public\"; nyckeln behövs inte för en offentlig server.\n\nOm du vill tvinga fram en reläanslutning vid första anslutningen lägger du till \"/r\" i slutet av ID:t, till exempel \"9123456234/r\"."),
|
|
("privacy_mode_impl_mag_tip", "Läge 1"),
|
|
("privacy_mode_impl_virtual_display_tip", "Läge 2"),
|
|
("Enter privacy mode", "Aktivera privatläge"),
|
|
("Exit privacy mode", "Inaktivera privatläge"),
|
|
("idd_not_support_under_win10_2004_tip", "Indirekt skärmdrivrutin stöds inte. Windows 10 version 2004 eller senare krävs."),
|
|
("input_source_1_tip", "Inmatningskälla 1"),
|
|
("input_source_2_tip", "Inmatningskälla 2"),
|
|
("Swap control-command key", "Byt control-command knapp"),
|
|
("swap-left-right-mouse", "Byt plats på vänster och höger musknapp"),
|
|
("2FA code", "Tvåstegsverifieringskod"),
|
|
("More", "Mer"),
|
|
("enable-2fa-title", "Aktivera tvåstegsverifiering"),
|
|
("enable-2fa-desc", "Konfigurera din autentiseringsapp nu. Du kan använda en autentiseringsapp som Authy, Microsoft Authenticator eller Google Authenticator på din telefon eller dator.\n\nSkanna QR-koden med din app och ange koden som appen visar för att aktivera tvåstegsverifiering."),
|
|
("wrong-2fa-code", "Det går inte att verifiera koden. Kontrollera att koden och de lokala tidsinställningarna är korrekta"),
|
|
("enter-2fa-title", "Tvåstegsverifiering"),
|
|
("Email verification code must be 6 characters.", "Mailverifikationskoden måste vara 6 tecken."),
|
|
("2FA code must be 6 digits.", "Tvåstegsverifikationskoden måste vara 6 siffor."),
|
|
("Multiple Windows sessions found", "Flera Windows sessioner hittades"),
|
|
("Please select the session you want to connect to", "Välj den session du vill ansluta till"),
|
|
("powered_by_me", "Drivs av RustDesk"),
|
|
("outgoing_only_desk_tip", "Detta är en anpassad utgåva.\nDu kan ansluta till andra enheter, men andra enheter kan inte ansluta till din enhet."),
|
|
("preset_password_warning", "Denna anpassade utgåva levereras med ett förinställt lösenord. Vem som helst som känner till lösenordet kan få full kontroll över din enhet. Om du inte förväntade dig detta, avinstallera programvaran omedelbart."),
|
|
("Security Alert", "Säkerhetsvarning"),
|
|
("My address book", "Min adressbok"),
|
|
("Personal", "Personlig"),
|
|
("Owner", "Ägare"),
|
|
("Set shared password", "Välj delat lösenord"),
|
|
("Exist in", "Existerar i"),
|
|
("Read-only", "Skrivskyddad"),
|
|
("Read/Write", "Läs/Skriv"),
|
|
("Full Control", "Full kontroll"),
|
|
("share_warning_tip", "Fälten ovan delas och är synliga för andra."),
|
|
("Everyone", "Alla"),
|
|
("ab_web_console_tip", "Mer i webbkonsolen"),
|
|
("allow-only-conn-window-open-tip", "Tillåt endast anslutning om RustDesk-fönstret är öppet"),
|
|
("no_need_privacy_mode_no_physical_displays_tip", "Inga fysiska skärmar, inget behov av att använda säkerhetsläget."),
|
|
("Follow remote cursor", "Följ fjärrpekaren"),
|
|
("Follow remote window focus", "Följ fjärrfönstrets fokus"),
|
|
("default_proxy_tip", "Standardprotokoll och port är Socks5 och 1080"),
|
|
("no_audio_input_device_tip", "Ingen ljudinmatningsenhet hittades."),
|
|
("Incoming", "Inkommande"),
|
|
("Outgoing", "Utgående"),
|
|
("Clear Wayland screen selection", "Rensa wayland-skärmens val"),
|
|
("clear_Wayland_screen_selection_tip", "När du har rensat skärmvalet kan du välja om skärmen som ska delas."),
|
|
("confirm_clear_Wayland_screen_selection_tip", "Är du säker på att du vill rensa Wayland-skärmvalet?"),
|
|
("android_new_voice_call_tip", "En ny begäran om röstsamtal togs emot. Om du accepterar växlar ljudet till röstkommunikation."),
|
|
("texture_render_tip", "Använd texturrendering för att göra bilderna jämnare. Du kan prova att inaktivera detta alternativ om du stöter på renderingsproblem."),
|
|
("Use texture rendering", "Använd texturrendering"),
|
|
("Floating window", "Flytande fönster"),
|
|
("floating_window_tip", "Det hjälper till att hålla RustDesk-bakgrundstjänsten igång"),
|
|
("Keep screen on", "Behåll skärmen på"),
|
|
("Never", "Aldrig"),
|
|
("During controlled", "Under fjärrstyrning"),
|
|
("During service is on", "Medan tjänsten är på"),
|
|
("Capture screen using DirectX", "Spela in skärmen med DirectX"),
|
|
("Back", "Bak"),
|
|
("Apps", "Appar"),
|
|
("Volume up", "Volym upp"),
|
|
("Volume down", "Volym ner"),
|
|
("Power", "Strömbrytare"),
|
|
("Telegram bot", "Telegram bot"),
|
|
("enable-bot-tip", "Om du aktiverar den här funktionen kan du ta emot 2FA-koden från din bot. Den kan även fungera som en anslutningsavisering."),
|
|
("enable-bot-desc", "1. Öppna en chatt med @BotFather.\n2. Skicka kommandot \"/newbot\". Du får en token efter att ha slutfört detta steg.\n3. Starta en chatt med din nyskapade bot. Skicka ett meddelande som börjar med ett snedstreck (\"/\"), till exempel \"/hello\", för att aktivera den.\n"),
|
|
("cancel-2fa-confirm-tip", "Är du säker på att du vill avbryta 2FA?"),
|
|
("cancel-bot-confirm-tip", "Är du säker på att du vill avbryta Telegram-boten?"),
|
|
("About RustDesk", "Om RustDesk"),
|
|
("Send clipboard keystrokes", "Skicka knappkombination för urklipp"),
|
|
("network_error_tip", "Kontrollera din nätverksanslutning och klicka sedan på försök igen."),
|
|
("Unlock with PIN", "Lås upp med PIN"),
|
|
("Requires at least {} characters", "Kräver minst {} tecken}"),
|
|
("Wrong PIN", "Fel PIN"),
|
|
("Set PIN", "Välj PIN"),
|
|
("Enable trusted devices", "Tillåt betrodda enheter"),
|
|
("Manage trusted devices", "Hantera betrodda enheter"),
|
|
("Platform", "Plattform"),
|
|
("Days remaining", "Dagar kvar"),
|
|
("enable-trusted-devices-tip", "Hoppa över 2FA-verifiering på betrodda enheter"),
|
|
("Parent directory", "Föräldrakatalog"),
|
|
("Resume", "Återuppta"),
|
|
("Invalid file name", "Felaktigt filnamn"),
|
|
("one-way-file-transfer-tip", "Enkelriktad filöverföring är aktiverad på den kontrollerade sidan."),
|
|
("Authentication Required", "Autentisering krävs"),
|
|
("Authenticate", "Autentisera"),
|
|
("web_id_input_tip", "Du kan ange ett ID på samma server; direkt IP-åtkomst stöds inte i webbklienten.\nOm du vill nå en enhet på en annan server lägger du till serveradressen (<id>@<server_address>?key=<key_value>), till exempel,\n9123456234@192.168.16.1:21117?key=5Qbwsde3unUcJBtrx9ZkvUmwFNoExHzpryHuPUdqlWM=.\nOm du vill nå en enhet på en offentlig server anger du \"<id>@public\"; nyckeln behövs inte för en offentlig server."),
|
|
("Download", "Ladda ner"),
|
|
("Upload folder", "Ladda upp mapp"),
|
|
("Upload files", "Ladda upp filer"),
|
|
("Clipboard is synchronized", "Urklippet är synkroniserat"),
|
|
("Update client clipboard", "Uppdatera klientens urklipp"),
|
|
("Untagged", "Otaggad"),
|
|
("new-version-of-{}-tip", "Det finns en ny version av {} tillgänglig"),
|
|
("Accessible devices", "Tillgängliga enheter"),
|
|
("upgrade_remote_rustdesk_client_to_{}_tip", "Uppgradera RustDesk-klienten till version {} eller senare på fjärrsidan!"),
|
|
("d3d_render_tip", "När D3D-rendering är aktiverat kan fjärrstyrningsskärmen vara svart på vissa maskiner."),
|
|
("Use D3D rendering", "Använd D3D rendering"),
|
|
("Printer", "Skrivare"),
|
|
("printer-os-requirement-tip", "Funktionen för utgående utskrift kräver Windows 10 eller senare."),
|
|
("printer-requires-installed-{}-client-tip", "För att kunna använda fjärrutskrift måste {} vara installerat på den här enheten."),
|
|
("printer-{}-not-installed-tip", "Skrivaren {} är inte installerad."),
|
|
("printer-{}-ready-tip", "Skrivaren {} är installerad och klar att användas."),
|
|
("Install {} Printer", "Installera {} skrivare"),
|
|
("Outgoing Print Jobs", "Utgående skrivarjobb"),
|
|
("Incoming Print Jobs", "Inkommande skrivarjobb"),
|
|
("Incoming Print Job", "Inkommande skrivarjobb"),
|
|
("use-the-default-printer-tip", "Använd standardskrivaren"),
|
|
("use-the-selected-printer-tip", "Använd den valda skrivaren"),
|
|
("auto-print-tip", "Skriv ut automatiskt med den valda skrivaren."),
|
|
("print-incoming-job-confirm-tip", "Du har tagit emot ett utskriftsjobb från fjärrsidan. Vill du köra det på din sida?"),
|
|
("remote-printing-disallowed-tile-tip", "Fjärrutskrift tillåts inte"),
|
|
("remote-printing-disallowed-text-tip", "Behörighetsinställningarna på den kontrollerade sidan nekar fjärrutskrift."),
|
|
("save-settings-tip", "Spara inställningar"),
|
|
("dont-show-again-tip", "Visa inte detta igen"),
|
|
("Take screenshot", "Ta skärmbild"),
|
|
("Taking screenshot", "Tar skärmbild"),
|
|
("screenshot-merged-screen-not-supported-tip", "Sammanslagning av skärmdumpar från flera skärmar stöds för närvarande inte. Byt till en enda skärm och försök igen."),
|
|
("screenshot-action-tip", "Välj hur du vill fortsätta med skärmdumpen."),
|
|
("Save as", "Spara som"),
|
|
("Export", "Exportera"),
|
|
("Export Logs", "Exportera loggar"),
|
|
("Import Folder", "Importera mapp"),
|
|
("Copy to clipboard", "Kppiera till urklipp"),
|
|
("Enable remote printer", "Aktivera fjärrskrivare"),
|
|
("Downloading {}", "Laddar ner {}"),
|
|
("{} Update", "{} Uppdatera"),
|
|
("{}-to-update-tip", "{} stängs nu och installerar den nya versionen."),
|
|
("download-new-version-failed-tip", "Nedladdningen misslyckades. Du kan försöka igen eller klicka på knappen \"Ladda ner\" för att ladda ner från utgivningssidan och uppgradera manuellt."),
|
|
("Auto update", "Automatisk uppdatering"),
|
|
("update-failed-check-msi-tip", "Kontrollen av installationsmetoden misslyckades. Klicka på knappen \"Ladda ner\" för att ladda ner från utgivningssidan och uppgradera manuellt."),
|
|
("websocket_tip", "Vid användning av WebSocket stöds endast reläanslutningar."),
|
|
("Use WebSocket", "Använd WebSocket"),
|
|
("Trackpad speed", "Styrplattans hastighet"),
|
|
("Default trackpad speed", "Standardhastighet för styrplattan"),
|
|
("Numeric one-time password", "Numeriskt engångslösenord"),
|
|
("Enable IPv6 P2P connection", "Aktivera IPv6 P2P anslutning"),
|
|
("Enable UDP hole punching", "Aktivera UDP hålslagning"),
|
|
("View camera", "Visa kamera"),
|
|
("Enable camera", "Aktivera kamera"),
|
|
("No cameras", "Inga kameror"),
|
|
("view_camera_unsupported_tip", "Fjärrenheten stöder inte visning av kameran."),
|
|
("Terminal", "Terminal"),
|
|
("Enable terminal", "Aktivera terminal"),
|
|
("New tab", "Ny flik"),
|
|
("Keep terminal sessions on disconnect", "Behåll terminalsessioner vid frånkpppling"),
|
|
("Terminal (Run as administrator)", "Terminal (Kör som administratör)"),
|
|
("terminal-admin-login-tip", "Ange administratörens användarnamn och lösenord för den kontrollerade sidan."),
|
|
("Failed to get user token.", "Misslyckades med att hämta användartoken."),
|
|
("Incorrect username or password.", "Felaktigt användarnamn eller lösenord."),
|
|
("The user is not an administrator.", "Användaren är inte en administratör."),
|
|
("Failed to check if the user is an administrator.", "Misslyckades med att kontrollera om användaren är administratör."),
|
|
("Supported only in the installed version.", "Stöds endast i den installerade versionen."),
|
|
("elevation_username_tip", "Ange användarnamn eller domän\\användarnamn"),
|
|
("Preparing for installation ...", "Förbereder för installation ..."),
|
|
("Show my cursor", "Visa min muspekare"),
|
|
("Scale custom", "Anpassad skalning"),
|
|
("Custom scale slider", "Reglage för anpassad skalning"),
|
|
("Decrease", "Minska"),
|
|
("Increase", "Öka"),
|
|
("Show virtual mouse", "Visa virtuell mus"),
|
|
("Virtual mouse size", "Storlek på virtuell mus"),
|
|
("Small", "Liten"),
|
|
("Large", "Stor"),
|
|
("Show virtual joystick", "Visa virtuell styrspak"),
|
|
("Edit note", "Redigera anteckning"),
|
|
("Alias", "Alias"),
|
|
("ScrollEdge", "Skrolla vid kant"),
|
|
("Allow insecure TLS fallback", "Tillåt osäker TLS-reserv"),
|
|
("allow-insecure-tls-fallback-tip", "Som standard verifierar RustDesk serverns certifikat för protokoll som använder TLS.\nMed detta alternativ aktiverat hoppar RustDesk över verifieringssteget och fortsätter om verifieringen misslyckas."),
|
|
("Disable UDP", "Inaktivera UDP"),
|
|
("disable-udp-tip", "Styr om endast TCP ska användas.\nNär detta alternativ är aktiverat använder RustDesk inte längre UDP 21116, utan TCP 21116 används i stället."),
|
|
("server-oss-not-support-tip", "OBS: RustDesk server OSS inkluderar inte denna funktion."),
|
|
("input note here", "ange anteckning här"),
|
|
("note-at-conn-end-tip", "Be om anteckning vid anslutningens slut"),
|
|
("Show terminal extra keys", "Visa extra terminaltangenter"),
|
|
("Relative mouse mode", "Relativt musläge"),
|
|
("rel-mouse-not-supported-peer-tip", "Relativt musläge stöds inte av den anslutna klienten."),
|
|
("rel-mouse-not-ready-tip", "Relativt musläge är inte klart ännu. Försök igen."),
|
|
("rel-mouse-lock-failed-tip", "Det gick inte att låsa muspekaren. Relativt musläge har inaktiverats."),
|
|
("rel-mouse-exit-{}-tip", "Tryck på {} för att avsluta."),
|
|
("rel-mouse-permission-lost-tip", "Tangentbordsbehörigheten återkallades. Relativt musläge har inaktiverats."),
|
|
("Changelog", "Ändringslogg"),
|
|
("keep-awake-during-outgoing-sessions-label", "Håll skärmen vaken under utgående sessioner"),
|
|
("keep-awake-during-incoming-sessions-label", "Håll skärmen vaken under inkommande sessioner"),
|
|
("Continue with {}", "Fortsätt med {}"),
|
|
("Display Name", "Visningsnamn"),
|
|
("password-hidden-tip", "Permanent lösenord är inställt (dolt)."),
|
|
("preset-password-in-use-tip", "Förinställt lösenord används för närvarande."),
|
|
("Enable privacy mode", "Aktivera säkerhetsläge"),
|
|
("allow-remote-toolbar-docking-any-edge", "Tillåt dockning av fjärrverktygsfältet vid valfri fönsterkant"),
|
|
("API Token", "API-token"),
|
|
("Deploy", "Distribuera"),
|
|
("Custom ID (optional)", "Anpassat ID (valfritt)"),
|
|
("server_requires_deployment_tip", "Servern kräver att den här enheten distribueras uttryckligen. Distribuera nu?"),
|
|
("The server does not require explicit deployment.", "Servern kräver inte uttrycklig distribution."),
|
|
("Unknown response.", "Okänt svar."),
|
|
("wayland-keyboard-input-disabled-tip", "Tillåt tangentbordsinmatning?"),
|
|
("wayland-keyboard-input-consent-tip", "Det du skriver på den här fjärrdatorn (inklusive lösenord) kan läsas av andra appar på den."),
|
|
("wayland-keyboard-input-applies-to-tip", "Detta val gäller för:"),
|
|
("wayland-soft-keyboard-input-label", "Inmatning med skärmtangentbord"),
|
|
("wayland-keyboard-input-reset-choice-tip", "Återställ val av tangentbordsinmatning"),
|
|
("remember-wayland-keyboard-choice-tip", "Fråga inte igen för den här fjärrdatorn"),
|
|
("Why this happens", "Varför detta händer"),
|
|
("Switch display", "Växla skärm"),
|
|
("Show monitor switch button on the main toolbar", "Visa knapp för skärmväxling i huvudverktygsfältet"),
|
|
("Show on the minimized toolbar", "Visa i det minimerade verktygsfältet"),
|
|
("All monitors", "Alla skärmar"),
|
|
("#{} monitor", "Skärm {}"),
|
|
("conn-e2ee-unavailable-tip", "End-to-end-kryptering kunde inte verifieras.\nFjärrenheten kan fortfarande konfigureras. Försök igen senare.\nOm detta fortsätter kan servern vara opålitlig.\nFortsätta ändå?"),
|
|
("ID whitelisting", "ID-vitlistning"),
|
|
("Use ID whitelisting", "Använd ID-vitlistning"),
|
|
("id_whitelist_tip", "Bara vitlistade ID:n kan koppla upp till mig"),
|
|
("id_whitelist_wildcard_tip", "Jokertecken stöds: '*' matchar valfritt antal tecken, '?' matchar exakt ett tecken"),
|
|
("Invalid ID", "Ogiltigt ID"),
|
|
("Your ID is blocked by the peer", "Ditt ID är blockerat av motparten"),
|
|
("Your ip is blocked by the peer", "Din IP-adress är blockerad av motparten"),
|
|
("id_whitelist_caveat_tip", "ID:t rapporteras av klienten som ansluter. Vitlistan minskar exponeringen och ersätter inte lösenord eller 2FA"),
|
|
("whitelist_cidr_tip", "CIDR-notation stöds, till exempel 192.168.1.0/24"),
|
|
("Continue", "Fortsätt"),
|
|
("Browser didn't open? Use the url below to sign in.", "Öppnades inte webbläsaren? Använd URL:en nedan för att logga in."),
|
|
("Lock canvas", "Lås canvas"),
|
|
("Sync clipboard between sessions", "Synkronisera urklipp mellan sessioner"),
|
|
("sync-clipboard-between-sessions-tip", "Text eller bilder som kopieras i en fjärrsession skickas även till urklipp i dina andra anslutna sessioner."),
|
|
("terminal-clipboard-write-tip", ""),
|
|
("Allow terminal apps to copy to clipboard", ""),
|
|
("Enable", "Aktivera"),
|
|
("Reuse one connection for port forwarding", "Återanvänd en anslutning för portvidarebefordran"),
|
|
("port-forward-mux-tip", "Låt alla anslutningar i en portvidarebefordran gå via en enda anslutning till motparten, i stället för att ansluta och logga in på nytt för varje anslutning."),
|
|
("Enable WebRTC P2P connection", "Aktivera WebRTC P2P anslutning"),
|
|
("Enable TCP hole punching", "Aktivera TCP hålslagning"),
|
|
("The screen sharing request was declined on the remote device", "Begäran om skärmdelning avvisades på fjärrenheten"),
|
|
("The screen sharing request timed out on the remote device", "Begäran om skärmdelning nådde tidsgränsen på fjärrenheten"),
|
|
("RustDesk cannot reach the desktop session on the remote device, check that a desktop session is running and that RustDesk can use it", "RustDesk kan inte nå skrivbordssessionen på fjärrenheten, kontrollera att en session körs och att RustDesk kan använda den"),
|
|
("The desktop portal on the remote device is missing a capability needed for screen sharing or remote control, its backend may not be installed", "Skrivbordsportalen på fjärrenheten saknar en funktion som krävs för skärmdelning eller fjärrstyrning, dess bakände är kanske inte installerad"),
|
|
("Screen sharing was approved on the remote device, but the PipeWire connection could not be opened", "Skärmdelning godkändes på fjärrenheten, men PipeWire-anslutningen kunde inte öppnas"),
|
|
("The screen sharing request ended without completing on the remote device", "Begäran om skärmdelning på fjärrenheten avslutades utan att slutföras"),
|
|
("RustDesk could not obtain a usable screen from the XDG Desktop Portal, the PipeWire library may be too old", "RustDesk fick ingen användbar skärm från XDG Desktop Portal, PipeWire-biblioteket kan vara för gammalt"),
|
|
("RustDesk could not load a GStreamer component needed for screen capture ({})", "RustDesk kunde inte läsa in en GStreamer-komponent som krävs för skärminspelning ({})"),
|
|
("Relay fallback delay in seconds", "Fördröjning innan relä används i sekunder"),
|
|
("relay-fallback-delay-tip", "Hur länge en redan upprättad reläanslutning väntar på den direkta WebRTC-anslutningen innan den används i stället. Öka värdet för att ge en långsam direktanslutning mer tid; sänk det för att snabbare falla tillbaka på reläet i nätverk där direktanslutning inte är möjlig. Lämna tomt för standardvärdet 2.5 sekunder."),
|
|
("To start a voice call, enable \"Audio capture\" on the \"Share screen\" page.", ""),
|
|
("Keyboard shortcuts", ""),
|
|
("Configure shortcuts...", ""),
|
|
("Enable keyboard shortcuts in remote session", ""),
|
|
("shortcut-page-description", ""),
|
|
("shortcut-passthrough-tip", ""),
|
|
("Pass-through to remote", ""),
|
|
("Reset to defaults", ""),
|
|
("shortcut-reset-confirm-tip", ""),
|
|
("Monitor", ""),
|
|
("Keyboard", ""),
|
|
("Toggle fullscreen", ""),
|
|
("Switch to next display", ""),
|
|
("Switch to previous display", ""),
|
|
("Switch to next tab", ""),
|
|
("Switch to previous tab", ""),
|
|
("Toggle session recording", ""),
|
|
("Close tab", ""),
|
|
("Toggle toolbar", ""),
|
|
("Toggle input source", ""),
|
|
("Edit", ""),
|
|
("Save", ""),
|
|
("Set shortcut", ""),
|
|
("shortcut-recording-instruction", ""),
|
|
("shortcut-recording-press-keys-tip", ""),
|
|
("shortcut-must-include-modifiers", ""),
|
|
("shortcut-already-bound-to", ""),
|
|
("Replace", ""),
|
|
("Valid", ""),
|
|
("shortcut-mobile-physical-keyboard-tip", ""),
|
|
("shortcut-key-not-supported", ""),
|
|
("On", ""),
|
|
("Off", ""),
|
|
].iter().cloned().collect();
|
|
}
|