diff --git a/README.md b/README.md index 3e0fb463f..4e3b309c5 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,9 @@ Below are the servers you are using for free, they may change over time. If you | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| Ukraine (Kyiv) | dc.volia (2VM) | 2 vCPU / 4GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dev Container diff --git a/docs/README-EO.md b/docs/README-EO.md index fdde88f11..4bca4a793 100644 --- a/docs/README-EO.md +++ b/docs/README-EO.md @@ -27,8 +27,9 @@ Malsupre estas la serviloj, kiuj vi uzas senpage, ĝi povas ŝanĝi laŭlonge de | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dependantaĵoj diff --git a/docs/README-ES.md b/docs/README-ES.md index b7b828f13..66fc609fb 100644 --- a/docs/README-ES.md +++ b/docs/README-ES.md @@ -34,8 +34,9 @@ A continuación se muestran los servidores gratuitos, pueden cambiar a medida qu | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dependencias diff --git a/docs/README-FI.md b/docs/README-FI.md index d110e195a..8674bc1b3 100644 --- a/docs/README-FI.md +++ b/docs/README-FI.md @@ -27,8 +27,9 @@ Alla on palvelimia, joita voit käyttää ilmaiseksi, ne saattavat muuttua ajan | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Riippuvuudet diff --git a/docs/README-HU.md b/docs/README-HU.md index 62ba33482..9582cf1c6 100644 --- a/docs/README-HU.md +++ b/docs/README-HU.md @@ -35,8 +35,9 @@ Ezalatt az üzenet alatt találhatóak azok a publikus szerverek, amelyeket ingy | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dependencies diff --git a/docs/README-ID.md b/docs/README-ID.md index 2fdcd3646..702966566 100644 --- a/docs/README-ID.md +++ b/docs/README-ID.md @@ -27,8 +27,9 @@ Di bawah ini adalah server yang bisa Anda gunakan secara gratis, dapat berubah s | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dependencies diff --git a/docs/README-IT.md b/docs/README-IT.md index 0b628f90d..2dec27e40 100644 --- a/docs/README-IT.md +++ b/docs/README-IT.md @@ -27,8 +27,9 @@ Qui sotto trovate i server che possono essere usati gratuitamente, la lista potr | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Dipendenze diff --git a/docs/README-NL.md b/docs/README-NL.md index 422890827..4a5372e67 100644 --- a/docs/README-NL.md +++ b/docs/README-NL.md @@ -27,8 +27,9 @@ Onderstaande servers zijn de servers die je gratis kunt gebruiken, ze kunnen op | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Afhankelijkheden diff --git a/docs/README-PL.md b/docs/README-PL.md index 05e6d8da5..df8254f3d 100644 --- a/docs/README-PL.md +++ b/docs/README-PL.md @@ -27,8 +27,9 @@ Poniżej znajdują się serwery, z których można korzystać za darmo, może si | Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM | | Germany | Hetzner | 2 vCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Zależności diff --git a/docs/README-UA.md b/docs/README-UA.md index 5d4a0a1ad..6e933cea9 100644 --- a/docs/README-UA.md +++ b/docs/README-UA.md @@ -35,8 +35,9 @@ RustDesk вітає внесок кожного. Дивіться [`docs/CONTRIB | Даллас | Vultr | 1 vCPU / 1GB RAM Німеччина | Hetzner | 2 vCPU / 4GB RAM | 2 VCPU / 4GB RAM | Німеччина | Hetzner | 2 VCPU / 4GB RAM | | Germany | Codext | 4 vCPU / 8GB RAM | -| Finland (Helsinki) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | -| USA (Ashburn) | 0x101 Cyber Security | 4 vCPU / 8GB RAM | +| Finland (Helsinki) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| USA (Ashburn) | [Netlock](https://netlockendpoint.com) | 4 vCPU / 8GB RAM | +| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM | ## Залежності diff --git a/flutter/lib/common/widgets/chat_page.dart b/flutter/lib/common/widgets/chat_page.dart index c1991633a..9460f4f41 100644 --- a/flutter/lib/common/widgets/chat_page.dart +++ b/flutter/lib/common/widgets/chat_page.dart @@ -73,7 +73,7 @@ class ChatPage extends StatelessWidget implements PageShape { ? InputDecoration( isDense: true, hintText: - "${translate('Write a message')}...", + "${translate('Write a message')}", filled: true, fillColor: Theme.of(context).colorScheme.background, @@ -88,7 +88,7 @@ class ChatPage extends StatelessWidget implements PageShape { ) : defaultInputDecoration( hintText: - "${translate('Write a message')}...", + "${translate('Write a message')}", fillColor: Theme.of(context).colorScheme.background), sendButtonBuilder: defaultSendButton( diff --git a/flutter/lib/common/widgets/peer_card.dart b/flutter/lib/common/widgets/peer_card.dart index 5a7f2bfa7..7d2d0cd2d 100644 --- a/flutter/lib/common/widgets/peer_card.dart +++ b/flutter/lib/common/widgets/peer_card.dart @@ -890,13 +890,10 @@ class DiscoveredPeerCard extends BasePeerCard { menuItems.add(_createShortCutAction(peer.id)); } - final inRecent = await bind.mainIsInRecentPeers(id: peer.id); - if (inRecent) { - if (!favs.contains(peer.id)) { - menuItems.add(_addFavAction(peer.id)); - } else { - menuItems.add(_rmFavAction(peer.id, () async {})); - } + if (!favs.contains(peer.id)) { + menuItems.add(_addFavAction(peer.id)); + } else { + menuItems.add(_rmFavAction(peer.id, () async {})); } if (gFFI.userModel.userName.isNotEmpty) { diff --git a/flutter/lib/desktop/widgets/remote_menubar.dart b/flutter/lib/desktop/widgets/remote_menubar.dart index 081cd1649..173ed038c 100644 --- a/flutter/lib/desktop/widgets/remote_menubar.dart +++ b/flutter/lib/desktop/widgets/remote_menubar.dart @@ -509,7 +509,10 @@ class _MonitorMenu extends StatelessWidget { @override Widget build(BuildContext context) { - if (stateGlobal.displaysCount.value < 2) return Offstage(); + if (PrivacyModeState.find(id).isTrue || + stateGlobal.displaysCount.value < 2) { + return Offstage(); + } return _IconSubmenuButton( icon: icon(), ffi: ffi, @@ -1546,6 +1549,16 @@ class _DisplayMenuState extends State<_DisplayMenu> { value: rxValue.value, onChanged: (value) { if (value == null) return; + if (widget.ffi.ffiModel.pi.currentDisplay != 0) { + msgBox( + widget.id, + 'custom-nook-nocancel-hasclose', + 'info', + 'Please switch to Display 1 first', + '', + widget.ffi.dialogManager); + return; + } bind.sessionToggleOption(id: widget.id, value: option); }, ffi: widget.ffi, diff --git a/flutter/lib/models/server_model.dart b/flutter/lib/models/server_model.dart index 7ee23ec40..40aa68d20 100644 --- a/flutter/lib/models/server_model.dart +++ b/flutter/lib/models/server_model.dart @@ -456,7 +456,8 @@ class ServerModel with ChangeNotifier { Future.delayed(Duration.zero, () async { if (!hideCm) window_on_top(null); }); - if (client.authorized) { + // Only do the hidden task when on Desktop. + if (client.authorized && isDesktop) { cmHiddenTimer = Timer(const Duration(seconds: 3), () { if (!hideCm) windowManager.minimize(); cmHiddenTimer = null; diff --git a/libs/scrap/src/dxgi/mag.rs b/libs/scrap/src/dxgi/mag.rs index b2bea1dd1..62e90c08b 100644 --- a/libs/scrap/src/dxgi/mag.rs +++ b/libs/scrap/src/dxgi/mag.rs @@ -127,15 +127,6 @@ impl MagInterface { }; s.init_succeeded = false; unsafe { - if GetSystemMetrics(SM_CMONITORS) != 1 { - // Do not try to use the magnifier in multi-screen setup (where the API - // crashes sometimes). - return Err(Error::new( - ErrorKind::Other, - "Magnifier capturer cannot work on multi-screen system.", - )); - } - // load lib let lib_file_name = "Magnification.dll"; let lib_file_name_c = CString::new(lib_file_name).unwrap(); diff --git a/res/com.rustdesk.RustDesk.policy b/res/com.rustdesk.RustDesk.policy index a77223120..55f13629b 100644 --- a/res/com.rustdesk.RustDesk.policy +++ b/res/com.rustdesk.RustDesk.policy @@ -11,6 +11,7 @@ Authentication is required to change RustDesk options 要更改RustDesk选项, 需要您先通过身份验证 要變更RustDesk選項, 需要您先通過身份驗證 + Authentifizierung zum Ändern der RustDesk-Optionen /usr/share/rustdesk/files/polkit true diff --git a/src/flutter_ffi.rs b/src/flutter_ffi.rs index e5b24fa53..2a3baad95 100644 --- a/src/flutter_ffi.rs +++ b/src/flutter_ffi.rs @@ -10,7 +10,7 @@ use crate::{ }; use flutter_rust_bridge::{StreamSink, SyncReturn}; use hbb_common::{ - config::{self, LocalConfig, PeerConfig, ONLINE}, + config::{self, LocalConfig, PeerConfig, PeerInfoSerde, ONLINE}, fs, log, message_proto::KeyboardMode, ResultType, @@ -21,6 +21,7 @@ use std::{ ffi::{CStr, CString}, os::raw::c_char, str::FromStr, + time::SystemTime, }; // use crate::hbbs_http::account::AuthResult; @@ -726,10 +727,6 @@ pub fn main_peer_has_password(id: String) -> bool { peer_has_password(id) } -pub fn main_is_in_recent_peers(id: String) -> bool { - PeerConfig::peers().iter().any(|e| e.0 == id) -} - pub fn main_load_recent_peers() { if !config::APP_DIR.read().unwrap().is_empty() { let peers: Vec> = PeerConfig::peers() @@ -756,7 +753,28 @@ pub fn main_load_recent_peers() { pub fn main_load_fav_peers() { if !config::APP_DIR.read().unwrap().is_empty() { let favs = get_fav(); - let peers: Vec> = PeerConfig::peers() + let mut recent = PeerConfig::peers(); + let mut lan = config::LanPeers::load() + .peers + .iter() + .filter(|d| recent.iter().all(|r| r.0 != d.id)) + .map(|d| { + ( + d.id.clone(), + SystemTime::UNIX_EPOCH, + PeerConfig { + info: PeerInfoSerde { + username: d.username.clone(), + hostname: d.hostname.clone(), + platform: d.platform.clone(), + }, + ..Default::default() + }, + ) + }) + .collect(); + recent.append(&mut lan); + let peers: Vec> = recent .into_iter() .filter_map(|(id, _, p)| { if favs.contains(&id) { @@ -1361,7 +1379,7 @@ pub fn send_url_scheme(_url: String) { #[cfg(target_os = "android")] pub mod server_side { - use hbb_common::{log, config}; + use hbb_common::{config, log}; use jni::{ objects::{JClass, JString}, sys::jstring, diff --git a/src/lang/ca.rs b/src/lang/ca.rs index 89cc46920..c4bc10bb4 100644 --- a/src/lang/ca.rs +++ b/src/lang/ca.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 3f4f6d25c..163c50e1b 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "编解码"), ("Resolution", "分辨率"), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/cs.rs b/src/lang/cs.rs index a2813815b..e3ddc5db8 100644 --- a/src/lang/cs.rs +++ b/src/lang/cs.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/da.rs b/src/lang/da.rs index 2760f94fb..f37f30a61 100644 --- a/src/lang/da.rs +++ b/src/lang/da.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index 36493f747..7a935d299 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -125,7 +125,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Good image quality", "Hohe Bildqualität"), ("Balanced", "Ausgeglichen"), ("Optimize reaction time", "Geschwindigkeit"), - ("Custom", "Individuell"), + ("Custom", "Benutzerdefiniert"), ("Show remote cursor", "Entfernten Cursor anzeigen"), ("Show quality monitor", "Qualitätsüberwachung anzeigen"), ("Disable clipboard", "Zwischenablage deaktivieren"), @@ -152,7 +152,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Configure", "Konfigurieren"), ("config_acc", "Um Ihren PC aus der Ferne zu steuern, müssen Sie RustDesk Zugriffsrechte erteilen."), ("config_screen", "Um aus der Ferne auf Ihren PC zugreifen zu können, müssen Sie RustDesk die Berechtigung \"Bildschirmaufnahme\" erteilen."), - ("Installing ...", "Installiere …"), + ("Installing ...", " Wird installiert …"), ("Install", "Installieren"), ("Installation", "Installation"), ("Installation Path", "Installationspfad"), @@ -230,8 +230,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Add Tag", "Stichwort hinzufügen"), ("Unselect all tags", "Alle Stichworte abwählen"), ("Network error", "Netzwerkfehler"), - ("Username missed", "Benutzernamen vergessen"), - ("Password missed", "Passwort vergessen"), + ("Username missed", "Benutzername fehlt"), + ("Password missed", "Passwort fehlt"), ("Wrong credentials", "Falsche Anmeldedaten"), ("Edit Tag", "Schlagwort bearbeiten"), ("Unremember Password", "Gespeichertes Passwort löschen"), @@ -299,7 +299,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Help", "Hilfe"), ("Failed", "Fehlgeschlagen"), ("Succeeded", "Erfolgreich"), - ("Someone turns on privacy mode, exit", "Jemand hat den Datenschutzmodus aktiviert, beende …"), + ("Someone turns on privacy mode, exit", "Jemand hat den Datenschutzmodus aktiviert, wird beendet …"), ("Unsupported", "Nicht unterstützt"), ("Peer denied", "Die Gegenstelle hat die Verbindung abgelehnt."), ("Please install plugins", "Bitte installieren Sie Plugins"), @@ -407,7 +407,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("One-time Password", "Einmalpasswort"), ("Use one-time password", "Einmalpasswort verwenden"), ("One-time password length", "Länge des Einmalpassworts"), - ("Request access to your device", "Zugriff zu Ihrem Gerät erbitten"), + ("Request access to your device", "Zugriff auf Ihr Gerät anfordern"), ("Hide connection management window", "Fenster zur Verwaltung der Verbindung verstecken"), ("hide_cm_tip", "Dies ist nur möglich, wenn der Zugriff über ein permanentes Passwort erfolgt."), ("wayland_experiment_tip", "Die Unterstützung von Wayland ist nur experimentell. Bitte nutzen Sie X11, wenn Sie einen unbeaufsichtigten Zugriff benötigen."), @@ -442,7 +442,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Medium", "Mittel"), ("Strong", "Stark"), ("Switch Sides", "Seiten wechseln"), - ("Please confirm if you want to share your desktop?", "Bitte bestätigen Sie, ob Sie Ihren Desktop freigeben möchten."), + ("Please confirm if you want to share your desktop?", "Bitte bestätigen Sie, wenn Sie Ihren Desktop freigeben möchten."), ("Display", "Anzeige"), ("Default View Style", "Standard-Ansichtsstil"), ("Default Scroll Style", "Standard-Scroll-Stil"), @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Codec"), ("Resolution", "Auflösung"), ("No transfers in progress", "Keine Übertragungen im Gange"), - ].iter().cloned().collect(); + ("Set one-time password length", "Länge des Einmalpassworts festlegen"), + ].iter().cloned().collect(); } diff --git a/src/lang/eo.rs b/src/lang/eo.rs index 7a191f05d..ed64addf8 100644 --- a/src/lang/eo.rs +++ b/src/lang/eo.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/es.rs b/src/lang/es.rs index b290c7696..3270ae26c 100644 --- a/src/lang/es.rs +++ b/src/lang/es.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Códec"), ("Resolution", "Resolución"), ("No transfers in progress", "No hay transferencias en curso"), - ].iter().cloned().collect(); + ("Set one-time password length", "Establecer contraseña de un solo uso"), + ].iter().cloned().collect(); } diff --git a/src/lang/fa.rs b/src/lang/fa.rs index 7fe279a1b..e2a7e9516 100644 --- a/src/lang/fa.rs +++ b/src/lang/fa.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "کدک"), ("Resolution", "وضوح"), ("No transfers in progress", "هیچ انتقالی در حال انجام نیست"), - ].iter().cloned().collect(); + ("Set one-time password length", "طول رمز یکبار مصرف را تعیین کنید"), + ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index dd436831e..c0d739f91 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/gr.rs b/src/lang/gr.rs index 8629879ca..819c257c3 100644 --- a/src/lang/gr.rs +++ b/src/lang/gr.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Κωδικοποίηση"), ("Resolution", "Ανάλυση"), ("No transfers in progress", "Δεν υπάρχει μεταφορά σε εξέλιξη"), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/hu.rs b/src/lang/hu.rs index 8727c53c2..46750eb13 100644 --- a/src/lang/hu.rs +++ b/src/lang/hu.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/id.rs b/src/lang/id.rs index b363a2ae8..4133f136f 100644 --- a/src/lang/id.rs +++ b/src/lang/id.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index 340794ceb..17f066eef 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Codec"), ("Resolution", "Risoluzione"), ("No transfers in progress", "Nessun trasferimento in corso"), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ja.rs b/src/lang/ja.rs index 260c27607..b8031573a 100644 --- a/src/lang/ja.rs +++ b/src/lang/ja.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ko.rs b/src/lang/ko.rs index f101ae20b..fe6a0bfe9 100644 --- a/src/lang/ko.rs +++ b/src/lang/ko.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/kz.rs b/src/lang/kz.rs index fe0937a65..4b1e92cad 100644 --- a/src/lang/kz.rs +++ b/src/lang/kz.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/nl.rs b/src/lang/nl.rs index 63d3cee7b..7888eed8e 100644 --- a/src/lang/nl.rs +++ b/src/lang/nl.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Codec"), ("Resolution", "Resolutie"), ("No transfers in progress", "Geen overdrachten in uitvoering"), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/pl.rs b/src/lang/pl.rs index 162dec052..b997267f1 100644 --- a/src/lang/pl.rs +++ b/src/lang/pl.rs @@ -459,7 +459,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Reconnect", "Połącz ponownie"), ("Codec", "Kodek"), ("Resolution", "Rozdzielczość"), - ("Key", "Klucz"), ("No transfers in progress", "Brak transferów w toku"), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs index 8eb4df2ad..98b8035a4 100644 --- a/src/lang/pt_PT.rs +++ b/src/lang/pt_PT.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index 973048f3d..18c9168c1 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ro.rs b/src/lang/ro.rs index 9e252aa8a..225fa7277 100644 --- a/src/lang/ro.rs +++ b/src/lang/ro.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index 4c1f9ae34..59957a2cd 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -349,7 +349,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Security", "Безопасность"), ("Theme", "Тема"), ("Dark Theme", "Тёмная тема"), - ("Light Theme", ""), + ("Light Theme", "Светлая тема"), ("Dark", "Тёмная"), ("Light", "Светлая"), ("Follow System", "Системная"), @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "Кодек"), ("Resolution", "Разрешение"), ("No transfers in progress", "Передача не осуществляется"), - ].iter().cloned().collect(); + ("Set one-time password length", "Установить длину одноразового пароля"), + ].iter().cloned().collect(); } diff --git a/src/lang/sk.rs b/src/lang/sk.rs index d60384286..cec9e5b3d 100644 --- a/src/lang/sk.rs +++ b/src/lang/sk.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/sl.rs b/src/lang/sl.rs index bd07b1acb..295cd28a1 100755 --- a/src/lang/sl.rs +++ b/src/lang/sl.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/sq.rs b/src/lang/sq.rs index b8f9203ca..ebbdf4a28 100644 --- a/src/lang/sq.rs +++ b/src/lang/sq.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/sr.rs b/src/lang/sr.rs index 4a9b73374..67fb49799 100644 --- a/src/lang/sr.rs +++ b/src/lang/sr.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/sv.rs b/src/lang/sv.rs index f73154e3e..9da1f1071 100644 --- a/src/lang/sv.rs +++ b/src/lang/sv.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/template.rs b/src/lang/template.rs index e51a095c0..cbbd65b4c 100644 --- a/src/lang/template.rs +++ b/src/lang/template.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/th.rs b/src/lang/th.rs index 3214c3452..97a8725e3 100644 --- a/src/lang/th.rs +++ b/src/lang/th.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/tr.rs b/src/lang/tr.rs index 82f95ef84..3b1137cb7 100644 --- a/src/lang/tr.rs +++ b/src/lang/tr.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index d0f12cdfa..72a38afcd 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", "編解碼"), ("Resolution", "分辨率"), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/ua.rs b/src/lang/ua.rs index 793d1e147..4665d7c39 100644 --- a/src/lang/ua.rs +++ b/src/lang/ua.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); } diff --git a/src/lang/vn.rs b/src/lang/vn.rs index fc665834d..0130b11cf 100644 --- a/src/lang/vn.rs +++ b/src/lang/vn.rs @@ -460,5 +460,6 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Codec", ""), ("Resolution", ""), ("No transfers in progress", ""), - ].iter().cloned().collect(); + ("Set one-time password length", ""), + ].iter().cloned().collect(); }