Merge remote-tracking branch 'upstream/master' into sort-favorites
This commit is contained in:
commit
d40aed6ac2
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 |
|
||||
|
||||
## Залежності
|
||||
|
||||
|
@ -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(
|
||||
|
@ -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) {
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -11,6 +11,7 @@
|
||||
<message>Authentication is required to change RustDesk options</message>
|
||||
<message xml:lang="zh_CN">要更改RustDesk选项, 需要您先通过身份验证</message>
|
||||
<message xml:lang="zh_TW">要變更RustDesk選項, 需要您先通過身份驗證</message>
|
||||
<message xml:lang="de">Authentifizierung zum Ändern der RustDesk-Optionen</message>
|
||||
<annotate key="org.freedesktop.policykit.exec.path">/usr/share/rustdesk/files/polkit</annotate>
|
||||
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
|
||||
<defaults>
|
||||
|
@ -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<HashMap<&str, String>> = 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<HashMap<&str, String>> = 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<HashMap<&str, String>> = 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,
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user