diff --git a/flutter/lib/common/widgets/dialog.dart b/flutter/lib/common/widgets/dialog.dart index 4562e519c..569d64428 100644 --- a/flutter/lib/common/widgets/dialog.dart +++ b/flutter/lib/common/widgets/dialog.dart @@ -456,7 +456,7 @@ void enterPasswordDialog(String id, OverlayDialogManager dialogManager) async { await _connectDialog( id, dialogManager, - peerPasswordController: TextEditingController(), + passwordController: TextEditingController(), ); } @@ -464,8 +464,8 @@ void enterUserLoginDialog(String id, OverlayDialogManager dialogManager) async { await _connectDialog( id, dialogManager, - usernameController: TextEditingController(), - passwordController: TextEditingController(), + osUsernameController: TextEditingController(), + osPasswordController: TextEditingController(), ); } @@ -474,20 +474,27 @@ void enterUserLoginAndPasswordDialog( await _connectDialog( id, dialogManager, - usernameController: TextEditingController(), + osUsernameController: TextEditingController(), + osPasswordController: TextEditingController(), passwordController: TextEditingController(), - peerPasswordController: TextEditingController(), ); } _connectDialog( String id, OverlayDialogManager dialogManager, { - TextEditingController? usernameController, + TextEditingController? osUsernameController, + TextEditingController? osPasswordController, TextEditingController? passwordController, - TextEditingController? peerPasswordController, }) async { - var remember = await bind.sessionGetRemember(id: id) ?? false; + var rememberPassword = false; + if (passwordController != null) { + rememberPassword = await bind.sessionGetRemember(id: id) ?? false; + } + var rememberAccount = false; + if (osUsernameController != null) { + rememberAccount = await bind.sessionGetRemember(id: id) ?? false; + } dialogManager.dismissAll(); dialogManager.show((setState, close) { cancel() { @@ -501,77 +508,125 @@ _connectDialog( // If the remote side is headless. // The client side should login to remote OS account, to enable X desktop session. // `username` and `password` will be used in the near future. - final username = usernameController?.text.trim() ?? ''; + final osUsername = osUsernameController?.text.trim() ?? ''; + final osPassword = osPasswordController?.text.trim() ?? ''; final password = passwordController?.text.trim() ?? ''; - final peerPassword = peerPasswordController?.text.trim() ?? ''; - if (peerPasswordController != null && peerPassword.isEmpty) return; + if (passwordController != null && password.isEmpty) return; gFFI.login( - username, - password, + osUsername, + osPassword, id, - peerPassword, - remember, + password, + rememberPassword, ); close(); dialogManager.showLoading(translate('Logging in...'), onCancel: closeConnection); } + descWidget(String text) { + return Column( + children: [ + Align( + alignment: Alignment.centerLeft, + child: Text( + text, + maxLines: 3, + softWrap: true, + overflow: TextOverflow.ellipsis, + style: TextStyle(fontSize: 16), + ), + ), + Container( + height: 8, + ), + ], + ); + } + + rememberWidget( + String desc, + bool remember, + ValueChanged? onChanged, + ) { + return CheckboxListTile( + contentPadding: const EdgeInsets.all(0), + dense: true, + controlAffinity: ListTileControlAffinity.leading, + title: Text(desc), + value: remember, + onChanged: onChanged, + ); + } + + osAccountWidget() { + if (osUsernameController == null || osPasswordController == null) { + return Offstage(); + } + return Column( + children: [ + descWidget(translate('login_linux_tooltip_tip')), + DialogTextField( + title: translate(DialogTextField.kUsernameTitle), + controller: osUsernameController, + prefixIcon: DialogTextField.kUsernameIcon, + errorText: null, + ), + PasswordWidget( + controller: osPasswordController, + autoFocus: false, + ), + rememberWidget( + translate('remember_account_tip'), + rememberAccount, + (v) { + if (v != null) { + setState(() => rememberAccount = v); + } + }, + ), + ], + ); + } + + passwdWidget() { + if (passwordController == null) { + return Offstage(); + } + return Column( + children: [ + descWidget(translate('verify_rustdesk_password_tip')), + PasswordWidget( + controller: passwordController, + autoFocus: osUsernameController == null, + ), + rememberWidget( + translate('remember_password_tip'), + rememberPassword, + (v) { + if (v != null) { + setState(() => rememberPassword = v); + } + }, + ), + ], + ); + } + return CustomAlertDialog( title: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.password_rounded, color: MyTheme.accent), - (usernameController == null - ? Text(translate('Password Required')) - : Tooltip( - message: translate('login_linux_tooltip_tip'), - child: Text(translate('login_linux_tip')), - )) - .paddingOnly(left: 10), + Text(translate('Password Required')).paddingOnly(left: 10), ], ), content: Column(mainAxisSize: MainAxisSize.min, children: [ - usernameController == null + osAccountWidget(), + osUsernameController == null || passwordController == null ? Offstage() - : DialogTextField( - title: translate(DialogTextField.kUsernameTitle), - controller: usernameController, - prefixIcon: DialogTextField.kUsernameIcon, - errorText: null, - ), - passwordController == null - ? Offstage() - : PasswordWidget( - controller: passwordController, - autoFocus: false, - ), - usernameController == null || peerPasswordController == null - ? Offstage() - : const Divider(), - peerPasswordController == null - ? Offstage() - : PasswordWidget( - controller: peerPasswordController, - autoFocus: usernameController == null, - hintText: 'enter_rustdesk_passwd_tip', - ), - peerPasswordController == null - ? Offstage() - : CheckboxListTile( - contentPadding: const EdgeInsets.all(0), - dense: true, - controlAffinity: ListTileControlAffinity.leading, - title: Text( - translate('remember_rustdesk_passwd_tip'), - ), - value: remember, - onChanged: (v) { - if (v != null) { - setState(() => remember = v); - } - }, - ), + : Container(height: 10), + passwdWidget(), ]), actions: [ dialogButton( diff --git a/flutter/lib/desktop/pages/connection_page.dart b/flutter/lib/desktop/pages/connection_page.dart index a593810fd..63d6b9c7b 100644 --- a/flutter/lib/desktop/pages/connection_page.dart +++ b/flutter/lib/desktop/pages/connection_page.dart @@ -233,7 +233,12 @@ class _ConnectionPageState extends State const SizedBox( width: 17, ), - Button(onTap: onConnect, text: "Connect"), + Button( + onTap: () => enterUserLoginAndPasswordDialog( + 'fdsfd', + gFFI.dialogManager, + ), + text: "Connect"), ], ), ) diff --git a/src/lang/ca.rs b/src/lang/ca.rs index 162a48883..af744d153 100644 --- a/src/lang/ca.rs +++ b/src/lang/ca.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Tancar"), ("Retry", "Reintentar"), ("OK", ""), - ("Password Required", "Es necessita la contrasenya"), + ("remember_password_tip", "Es necessita la contrasenya"), ("Please enter your password", "Si us plau, introdueixi la seva contrasenya"), ("Remember password", "Recordar contrasenya"), ("Wrong Password", "Contrasenya incorrecta"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cn.rs b/src/lang/cn.rs index 250f9a5b6..584be4333 100644 --- a/src/lang/cn.rs +++ b/src/lang/cn.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "关闭"), ("Retry", "再试"), ("OK", "确认"), - ("Password Required", "需要密码"), + ("remember_password_tip", "需要密码"), ("Please enter your password", "请输入密码"), ("Remember password", "记住密码"), ("Wrong Password", "密码错误"), @@ -483,6 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", "请输入 RustDesk 密码"), ("remember_rustdesk_passwd_tip", "记住 RustDesk 密码"), ("login_linux_tip", "登录被控端的 Linux 账户"), - ("login_linux_tooltip_tip", "登录被控端的 Linux 账户,才能启用 X 桌面"), + ("login_linux_tooltip_tip", "登录被控端的 Linux 账户,才能启用 X 桌面。"), + ("verify_rustdesk_password_tip", "验证 RustDesk 密码"), + ("remember_account_tip", "记住此账户"), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/cs.rs b/src/lang/cs.rs index 2f9e52f6c..cb882277e 100644 --- a/src/lang/cs.rs +++ b/src/lang/cs.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Zavřít"), ("Retry", "Zkusit znovu"), ("OK", "OK"), - ("Password Required", "Vyžadováno heslo"), + ("remember_password_tip", "Vyžadováno heslo"), ("Please enter your password", "Zadejte své heslo"), ("Remember password", "Zapamatovat heslo"), ("Wrong Password", "Nesprávné heslo"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/da.rs b/src/lang/da.rs index a9ca8e8a6..ad6ddfc48 100644 --- a/src/lang/da.rs +++ b/src/lang/da.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Luk"), ("Retry", "Prøv igen"), ("OK", "OK"), - ("Password Required", "Adgangskode påkrævet"), + ("remember_password_tip", "Adgangskode påkrævet"), ("Please enter your password", "Indtast venligst dit kodeord"), ("Remember password", "Husk kodeord"), ("Wrong Password", "Forkert kodeord"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/de.rs b/src/lang/de.rs index b70e9f872..263664d4c 100644 --- a/src/lang/de.rs +++ b/src/lang/de.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Schließen"), ("Retry", "Erneut versuchen"), ("OK", "OK"), - ("Password Required", "Passwort erforderlich"), + ("remember_password_tip", "Passwort erforderlich"), ("Please enter your password", "Bitte geben Sie Ihr Passwort ein"), ("Remember password", "Passwort merken"), ("Wrong Password", "Falsches Passwort"), @@ -484,5 +484,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("remember_rustdesk_passwd_tip", "RustDesk-Passwort merken."), ("login_linux_tip", "Anmeldung am entfernten Linux-Konto"), ("login_linux_tooltip_tip", "Sie müssen sich an einem entfernten Linux-Konto anmelden, um eine X-Desktop-Sitzung zu eröffnen."), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/el.rs b/src/lang/el.rs index 85c269d29..9597ae158 100644 --- a/src/lang/el.rs +++ b/src/lang/el.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Κλείσιμο"), ("Retry", "Δοκίμασε ξανά"), ("OK", "ΟΚ"), - ("Password Required", "Απαιτείται κωδικός πρόσβασης"), + ("remember_password_tip", "Απαιτείται κωδικός πρόσβασης"), ("Please enter your password", "Παρακαλώ εισάγετε τον κωδικό πρόσβασης"), ("Remember password", "Απομνημόνευση κωδικού πρόσβασης"), ("Wrong Password", "Λάθος κωδικός πρόσβασης"), @@ -484,5 +484,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("remember_rustdesk_passwd_tip", "Να θυμάσαι τον κωδικό του RustDesk."), ("login_linux_tip", "Είσοδος σε απομακρυσμένο λογαριασμό Linux"), ("login_linux_tooltip_tip", "Απαιτείται είσοδος σε απομακρυσμένο λογαριασμό Linux για την ενεργοποίηση του περιβάλλον εργασίας Χ."), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/en.rs b/src/lang/en.rs index 8a981564b..95186325f 100644 --- a/src/lang/en.rs +++ b/src/lang/en.rs @@ -56,7 +56,10 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("show_monitors_tip", "Show monitors in toolbar."), ("enter_rustdesk_passwd_tip", "Enter RustDesk password."), ("remember_rustdesk_passwd_tip", "Remember RustDesk password."), - ("login_linux_tip", "Login to remote Linux account"), + ("login_linux_tip", "Login to remote Linux account."), ("login_linux_tooltip_tip", "You need to login to remote Linux account to enable a X desktop session."), + ("verify_rustdesk_password_tip", "Veryfy RustDesk password."), + ("remember_account_tip", "Remember this account."), + ("remember_password_tip", "Remember password."), ].iter().cloned().collect(); } diff --git a/src/lang/eo.rs b/src/lang/eo.rs index e430f8f67..aeee842f7 100644 --- a/src/lang/eo.rs +++ b/src/lang/eo.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Fermi"), ("Retry", "Reprovi"), ("OK", "Konfermi"), - ("Password Required", "Pasvorto deviga"), + ("remember_password_tip", "Pasvorto deviga"), ("Please enter your password", "Bonvolu tajpi vian pasvorton"), ("Remember password", "Memori pasvorton"), ("Wrong Password", "Erara pasvorto"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/es.rs b/src/lang/es.rs index a85a5e491..3b998ae7d 100644 --- a/src/lang/es.rs +++ b/src/lang/es.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Cerrar"), ("Retry", "Reintentar"), ("OK", ""), - ("Password Required", "Se requiere contraseña"), + ("remember_password_tip", "Se requiere contraseña"), ("Please enter your password", "Por favor, introduzca su contraseña"), ("Remember password", "Recordar contraseña"), ("Wrong Password", "Contraseña incorrecta"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", "Introduzca la contraseña de RustDesk"), ("remember_rustdesk_passwd_tip", "Recordar la contraseña de RustDesk"), ("login_linux_tip", "Iniciar sesión para la cuenta remota de Linux"), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fa.rs b/src/lang/fa.rs index e4d026586..e2137c3e2 100644 --- a/src/lang/fa.rs +++ b/src/lang/fa.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "بستن"), ("Retry", "تلاش مجدد"), ("OK", "قبول"), - ("Password Required", "رمز عبور لازم است"), + ("remember_password_tip", "رمز عبور لازم است"), ("Please enter your password", "رمز عبور خود را وارد کنید"), ("Remember password", "رمز عبور را به خاطر بسپار"), ("Wrong Password", "رمز عبور اشتباه است"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/fr.rs b/src/lang/fr.rs index 3279b9175..71c0f6728 100644 --- a/src/lang/fr.rs +++ b/src/lang/fr.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Fermer"), ("Retry", "Réessayer"), ("OK", "Valider"), - ("Password Required", "Mot de passe requis"), + ("remember_password_tip", "Mot de passe requis"), ("Please enter your password", "Veuillez saisir votre mot de passe"), ("Remember password", "Mémoriser le mot de passe"), ("Wrong Password", "Mauvais mot de passe"), diff --git a/src/lang/hu.rs b/src/lang/hu.rs index 2e6a20b56..7c7fb2468 100644 --- a/src/lang/hu.rs +++ b/src/lang/hu.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Bezárás"), ("Retry", "Újra"), ("OK", "OK"), - ("Password Required", "Jelszó megadása kötelező"), + ("remember_password_tip", "Jelszó megadása kötelező"), ("Please enter your password", "Kérem írja be a jelszavát"), ("Remember password", "Jelszó megjegyzése"), ("Wrong Password", "Hibás jelszó"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/id.rs b/src/lang/id.rs index cca4ba6c1..174d970b6 100644 --- a/src/lang/id.rs +++ b/src/lang/id.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Tutup"), ("Retry", "Ulangi"), ("OK", "Oke"), - ("Password Required", "Kata sandi dibutuhkan"), + ("remember_password_tip", "Kata sandi dibutuhkan"), ("Please enter your password", "Silahkan masukkan kata sandi anda"), ("Remember password", "Ingat Password"), ("Wrong Password", "Kata sandi Salah"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/it.rs b/src/lang/it.rs index 3c5973053..94b7d10a9 100644 --- a/src/lang/it.rs +++ b/src/lang/it.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Chiudi"), ("Retry", "Riprova"), ("OK", "OK"), - ("Password Required", "Password Richiesta"), + ("remember_password_tip", "Password Richiesta"), ("Please enter your password", "Inserisci la tua password"), ("Remember password", "Ricorda password"), ("Wrong Password", "Password Errata"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", "Inserisci la password di RustDesk."), ("remember_rustdesk_passwd_tip", "Ricorda la passowrd di RustDesk."), ("login_linux_tip", "Effettua l'accesso sul tuo account Linux"), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ja.rs b/src/lang/ja.rs index 29bf3c346..95395c516 100644 --- a/src/lang/ja.rs +++ b/src/lang/ja.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "閉じる"), ("Retry", "再試行"), ("OK", "OK"), - ("Password Required", "パスワードが必要"), + ("remember_password_tip", "パスワードが必要"), ("Please enter your password", "パスワードを入力してください"), ("Remember password", "パスワードを記憶する"), ("Wrong Password", "パスワードが間違っています"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ko.rs b/src/lang/ko.rs index 929934016..4e3b52ea2 100644 --- a/src/lang/ko.rs +++ b/src/lang/ko.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "닫기"), ("Retry", "재시도"), ("OK", "확인"), - ("Password Required", "비밀번호 입력"), + ("remember_password_tip", "비밀번호 입력"), ("Please enter your password", "비밀번호를 입력해주세요"), ("Remember password", "이 비밀번호 기억하기"), ("Wrong Password", "틀린 비밀번호"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/kz.rs b/src/lang/kz.rs index a2c7c5983..bfe312e02 100644 --- a/src/lang/kz.rs +++ b/src/lang/kz.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Жабу"), ("Retry", "Қайтадан көру"), ("OK", "OK"), - ("Password Required", "Құпия сөз Қажет"), + ("remember_password_tip", "Құпия сөз Қажет"), ("Please enter your password", "Құпия сөзіңізді еңгізуді өтінеміз"), ("Remember password", "Құпия сөзді есте сақтау"), ("Wrong Password", "Бұрыс Құпия сөз"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/nl.rs b/src/lang/nl.rs index f31135c6c..4a3c9c062 100644 --- a/src/lang/nl.rs +++ b/src/lang/nl.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Sluit"), ("Retry", "Probeer opnieuw"), ("OK", "OK"), - ("Password Required", "Wachtwoord vereist"), + ("remember_password_tip", "Wachtwoord vereist"), ("Please enter your password", "Geef uw wachtwoord in"), ("Remember password", "Wachtwoord onthouden"), ("Wrong Password", "Verkeerd wachtwoord"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", "Geef het RustDesk-wachtwoord op."), ("remember_rustdesk_passwd_tip", "RustDesk Wachtwoord onthouden."), ("login_linux_tip", "Je moet inloggen op een Linux Account op afstand om een X desktop sessie te openen."), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/pl.rs b/src/lang/pl.rs index 852aa520d..f68d37866 100644 --- a/src/lang/pl.rs +++ b/src/lang/pl.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Zamknij"), ("Retry", "Ponów"), ("OK", "OK"), - ("Password Required", "Wymagane jest hasło"), + ("remember_password_tip", "Wymagane jest hasło"), ("Please enter your password", "Wpisz proszę twoje hasło"), ("Remember password", "Zapamiętaj hasło"), ("Wrong Password", "Błędne hasło"), diff --git a/src/lang/pt_PT.rs b/src/lang/pt_PT.rs index 45226dec6..04689f713 100644 --- a/src/lang/pt_PT.rs +++ b/src/lang/pt_PT.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Fechar"), ("Retry", "Tentar novamente"), ("OK", "Confirmar"), - ("Password Required", "Palavra-chave Necessária"), + ("remember_password_tip", "Palavra-chave Necessária"), ("Please enter your password", "Por favor introduza a sua palavra-chave"), ("Remember password", "Memorizar palavra-chave"), ("Wrong Password", "Palavra-chave inválida"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ptbr.rs b/src/lang/ptbr.rs index 8cf8ca6ef..6f6302a59 100644 --- a/src/lang/ptbr.rs +++ b/src/lang/ptbr.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Fechar"), ("Retry", "Tentar novamente"), ("OK", "OK"), - ("Password Required", "Senha necessária"), + ("remember_password_tip", "Senha necessária"), ("Please enter your password", "Por favor informe sua senha"), ("Remember password", "Lembrar senha"), ("Wrong Password", "Senha incorreta"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ro.rs b/src/lang/ro.rs index e81fa0cfd..ade2e3c36 100644 --- a/src/lang/ro.rs +++ b/src/lang/ro.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Închide"), ("Retry", "Reîncearcă"), ("OK", "OK"), - ("Password Required", "Parolă necesară"), + ("remember_password_tip", "Parolă necesară"), ("Please enter your password", "Introdu parola"), ("Remember password", "Memorează parola"), ("Wrong Password", "Parolă incorectă"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/ru.rs b/src/lang/ru.rs index 12c3dfb34..c85582e86 100644 --- a/src/lang/ru.rs +++ b/src/lang/ru.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Закрыть"), ("Retry", "Повторить"), ("OK", "ОК"), - ("Password Required", "Требуется пароль"), + ("remember_password_tip", "Требуется пароль"), ("Please enter your password", "Введите пароль"), ("Remember password", "Запомнить пароль"), ("Wrong Password", "Неправильный пароль"), @@ -484,5 +484,8 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("remember_rustdesk_passwd_tip", "Запомнить пароль RustDesk"), ("login_linux_tip", "Вход в удалённый аккаунт Linux"), ("login_linux_tooltip_tip", "Чтобы включить сеанс рабочего стола X, необходимо войти в удалённый аккаунт Linux."), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sk.rs b/src/lang/sk.rs index 7d28cfb72..e7c108a8c 100644 --- a/src/lang/sk.rs +++ b/src/lang/sk.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Zatvoriť"), ("Retry", "Zopakovať"), ("OK", "OK"), - ("Password Required", "Vyžaduje sa heslo"), + ("remember_password_tip", "Vyžaduje sa heslo"), ("Please enter your password", "Zadajte vaše heslo"), ("Remember password", "Zapamätať heslo"), ("Wrong Password", "Chybné heslo"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sl.rs b/src/lang/sl.rs index 544e544f7..0e5265b87 100755 --- a/src/lang/sl.rs +++ b/src/lang/sl.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Zapri"), ("Retry", "Ponovi"), ("OK", "V redu"), - ("Password Required", "Potrebno je geslo"), + ("remember_password_tip", "Potrebno je geslo"), ("Please enter your password", "Vnesite vaše geslo"), ("Remember password", "Zapomni si geslo"), ("Wrong Password", "Napačno geslo"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sq.rs b/src/lang/sq.rs index afd5c2c2d..68ef47be9 100644 --- a/src/lang/sq.rs +++ b/src/lang/sq.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Mbyll"), ("Retry", "Riprovo"), ("OK", "OK"), - ("Password Required", "Fjalëkalimi i detyrueshëm"), + ("remember_password_tip", "Fjalëkalimi i detyrueshëm"), ("Please enter your password", "Ju lutem vendosni fjalëkalimin tuaj"), ("Remember password", "Mbani mend fjalëkalimin"), ("Wrong Password", "Fjalëkalim i gabuar"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sr.rs b/src/lang/sr.rs index 05204f728..ccb328e3e 100644 --- a/src/lang/sr.rs +++ b/src/lang/sr.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Zatvori"), ("Retry", "Ponovi"), ("OK", "Ok"), - ("Password Required", "Potrebna lozinka"), + ("remember_password_tip", "Potrebna lozinka"), ("Please enter your password", "Molimo unesite svoju lozinku"), ("Remember password", "Zapamti lozinku"), ("Wrong Password", "Pogrešna lozinka"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/sv.rs b/src/lang/sv.rs index 7941c2f58..496c882bc 100644 --- a/src/lang/sv.rs +++ b/src/lang/sv.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Stäng"), ("Retry", "Försök igen"), ("OK", "OK"), - ("Password Required", "Lösenord krävs"), + ("remember_password_tip", "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"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/template.rs b/src/lang/template.rs index 56508d80a..6ec149289 100644 --- a/src/lang/template.rs +++ b/src/lang/template.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", ""), ("Retry", ""), ("OK", ""), - ("Password Required", ""), + ("remember_password_tip", ""), ("Please enter your password", ""), ("Remember password", ""), ("Wrong Password", ""), @@ -484,5 +484,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/th.rs b/src/lang/th.rs index 4f178bf1d..92ae279c9 100644 --- a/src/lang/th.rs +++ b/src/lang/th.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "ปิด"), ("Retry", "ลองใหม่อีกครั้ง"), ("OK", "ตกลง"), - ("Password Required", "ต้องใช้รหัสผ่าน"), + ("remember_password_tip", "ต้องใช้รหัสผ่าน"), ("Please enter your password", "กรุณาใส่รหัสผ่านของคุณ"), ("Remember password", "จดจำรหัสผ่าน"), ("Wrong Password", "รหัสผ่านไม่ถูกต้อง"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tr.rs b/src/lang/tr.rs index f5209129b..b423a021b 100644 --- a/src/lang/tr.rs +++ b/src/lang/tr.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Kapat"), ("Retry", "Tekrar Dene"), ("OK", "Tamam"), - ("Password Required", "Şifre Gerekli"), + ("remember_password_tip", "Şifre Gerekli"), ("Please enter your password", "Lütfen şifrenizi giriniz"), ("Remember password", "Şifreyi hatırla"), ("Wrong Password", "Hatalı şifre"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/tw.rs b/src/lang/tw.rs index 870105b09..e8685747e 100644 --- a/src/lang/tw.rs +++ b/src/lang/tw.rs @@ -1,488 +1,491 @@ -lazy_static::lazy_static! { -pub static ref T: std::collections::HashMap<&'static str, &'static str> = - [ - ("Status", "狀態"), - ("Your Desktop", "您的桌面"), - ("desk_tip", "您可以透過此 ID 及密碼存取您的桌面"), - ("Password", "密碼"), - ("Ready", "就緒"), - ("Established", "已建立"), - ("connecting_status", "正在連線到 RustDesk 網路 ..."), - ("Enable Service", "啟用服務"), - ("Start Service", "啟動服務"), - ("Service is running", "服務正在執行"), - ("Service is not running", "服務尚未執行"), - ("not_ready_status", "尚未就緒,請檢查您的網路連線。"), - ("Control Remote Desktop", "控制遠端桌面"), - ("Transfer File", "傳輸檔案"), - ("Connect", "連線"), - ("Recent Sessions", "近期的工作階段"), - ("Address Book", "通訊錄"), - ("Confirmation", "確認"), - ("TCP Tunneling", "TCP 通道"), - ("Remove", "移除"), - ("Refresh random password", "重新產生隨機密碼"), - ("Set your own password", "自行設定密碼"), - ("Enable Keyboard/Mouse", "啟用鍵盤和滑鼠"), - ("Enable Clipboard", "啟用剪貼簿"), - ("Enable File Transfer", "啟用檔案傳輸"), - ("Enable TCP Tunneling", "啟用 TCP 通道"), - ("IP Whitelisting", "IP 白名單"), - ("ID/Relay Server", "ID / 轉送伺服器"), - ("Import Server Config", "匯入伺服器設定"), - ("Export Server Config", "匯出伺服器設定"), - ("Import server configuration successfully", "匯入伺服器設定成功"), - ("Export server configuration successfully", "匯出伺服器設定成功"), - ("Invalid server configuration", "無效的伺服器設定"), - ("Clipboard is empty", "剪貼簿是空的"), - ("Stop service", "停止服務"), - ("Change ID", "更改 ID"), - ("Your new ID", "您的新 ID"), - ("length %min% to %max%", "長度在 %min% 與 %max% 之間"), - ("starts with a letter", "以字母開頭"), - ("allowed characters", "使用允許的字元"), - ("id_change_tip", "僅能使用以下字元:a-z、A-Z、0-9、_ (底線)。首字元必須為 a-z 或 A-Z。長度介於 6 到 16 之間。"), - ("Website", "網站"), - ("About", "關於"), - ("Slogan_tip", ""), - ("Privacy Statement", "隱私權聲明"), - ("Mute", "靜音"), - ("Build Date", "構建日期"), - ("Version", "版本"), - ("Home", "首頁"), - ("Audio Input", "音訊輸入"), - ("Enhancements", "增強功能"), - ("Hardware Codec", "硬體編解碼器"), - ("Adaptive Bitrate", "自適應位元速率"), - ("ID Server", "ID 伺服器"), - ("Relay Server", "轉送伺服器"), - ("API Server", "API 伺服器"), - ("invalid_http", "開頭必須為 http:// 或 https://"), - ("Invalid IP", "IP 無效"), - ("Invalid format", "格式無效"), - ("server_not_support", "伺服器暫不支持"), - ("Not available", "無法使用"), - ("Too frequent", "修改過於頻繁,請稍後再試。"), - ("Cancel", "取消"), - ("Skip", "跳過"), - ("Close", "關閉"), - ("Retry", "重試"), - ("OK", "確定"), - ("Password Required", "需要密碼"), - ("Please enter your password", "請輸入您的密碼"), - ("Remember password", "記住密碼"), - ("Wrong Password", "密碼錯誤"), - ("Do you want to enter again?", "您要重新輸入嗎?"), - ("Connection Error", "連線錯誤"), - ("Error", "錯誤"), - ("Reset by the peer", "對方重設了連線"), - ("Connecting...", "正在連線 ..."), - ("Connection in progress. Please wait.", "正在連線,請稍候。"), - ("Please try 1 minute later", "請於 1 分鐘後再試"), - ("Login Error", "登入錯誤"), - ("Successful", "成功"), - ("Connected, waiting for image...", "已連線,等待畫面傳輸 ..."), - ("Name", "名稱"), - ("Type", "類型"), - ("Modified", "修改時間"), - ("Size", "大小"), - ("Show Hidden Files", "顯示隱藏檔案"), - ("Receive", "接收"), - ("Send", "傳送"), - ("Refresh File", "重新整理檔案"), - ("Local", "本地"), - ("Remote", "遠端"), - ("Remote Computer", "遠端電腦"), - ("Local Computer", "本地電腦"), - ("Confirm Delete", "確認刪除"), - ("Delete", "刪除"), - ("Properties", "屬性"), - ("Multi Select", "多選"), - ("Select All", "全選"), - ("Unselect All", "取消全選"), - ("Empty Directory", "空資料夾"), - ("Not an empty directory", "不是一個空資料夾"), - ("Are you sure you want to delete this file?", "您確定要刪除此檔案嗎?"), - ("Are you sure you want to delete this empty directory?", "您確定要刪除此空資料夾嗎?"), - ("Are you sure you want to delete the file of this directory?", "您確定要刪除此資料夾中的檔案嗎?"), - ("Do this for all conflicts", "套用到其他衝突"), - ("This is irreversible!", "此操作不可逆!"), - ("Deleting", "正在刪除 ..."), - ("files", "檔案"), - ("Waiting", "正在等候 ..."), - ("Finished", "已完成"), - ("Speed", "速度"), - ("Custom Image Quality", "自訂畫面品質"), - ("Privacy mode", "隱私模式"), - ("Block user input", "封鎖使用者輸入"), - ("Unblock user input", "取消封鎖使用者輸入"), - ("Adjust Window", "調整視窗"), - ("Original", "原始"), - ("Shrink", "縮減"), - ("Stretch", "延展"), - ("Scrollbar", "滾動條"), - ("ScrollAuto", "自動滾動"), - ("Good image quality", "最佳化畫面品質"), - ("Balanced", "平衡"), - ("Optimize reaction time", "最佳化反應時間"), - ("Custom", "自訂"), - ("Show remote cursor", "顯示遠端游標"), - ("Show quality monitor", "顯示質量監測"), - ("Disable clipboard", "停用剪貼簿"), - ("Lock after session end", "工作階段結束後鎖定電腦"), - ("Insert", "插入"), - ("Insert Lock", "鎖定遠端電腦"), - ("Refresh", "重新載入"), - ("ID does not exist", "ID 不存在"), - ("Failed to connect to rendezvous server", "無法連線到 rendezvous 伺服器"), - ("Please try later", "請稍候再試"), - ("Remote desktop is offline", "遠端桌面已離線"), - ("Key mismatch", "金鑰不符"), - ("Timeout", "逾時"), - ("Failed to connect to relay server", "無法連線到轉送伺服器"), - ("Failed to connect via rendezvous server", "無法透過 rendezvous 伺服器連線"), - ("Failed to connect via relay server", "無法透過轉送伺服器連線"), - ("Failed to make direct connection to remote desktop", "無法直接連線到遠端桌面"), - ("Set Password", "設定密碼"), - ("OS Password", "作業系統密碼"), - ("install_tip", "UAC 會導致 RustDesk 在某些情況下無法正常以遠端電腦執行。若要避開 UAC,請點擊下方按鈕將 RustDesk 安裝到系統中。"), - ("Click to upgrade", "點擊以升級"), - ("Click to download", "點擊以下載"), - ("Click to update", "點擊以更新"), - ("Configure", "設定"), - ("config_acc", "您需要授予 RustDesk「協助工具」權限才能存取遠端電腦。"), - ("config_screen", "您需要授予 RustDesk「畫面錄製」權限才能存取遠端電腦。"), - ("Installing ...", "正在安裝 ..."), - ("Install", "安裝"), - ("Installation", "安裝"), - ("Installation Path", "安裝路徑"), - ("Create start menu shortcuts", "新增開始功能表捷徑"), - ("Create desktop icon", "新增桌面捷徑"), - ("agreement_tip", "開始安裝即表示接受許可協議"), - ("Accept and Install", "接受並安裝"), - ("End-user license agreement", "使用者授權合約"), - ("Generating ...", "正在產生 ..."), - ("Your installation is lower version.", "您安裝的版本過舊。"), - ("not_close_tcp_tip", "使用通道時請不要關閉此視窗"), - ("Listening ...", "正在等待通道連線 ..."), - ("Remote Host", "遠端主機"), - ("Remote Port", "遠端連線端口"), - ("Action", "操作"), - ("Add", "新增"), - ("Local Port", "本機連線端口"), - ("Local Address", "本機地址"), - ("Change Local Port", "修改本機連線端口"), - ("setup_server_tip", "若您需要更快的連線速度,可以選擇自行建立伺服器"), - ("Too short, at least 6 characters.", "過短,至少需要 6 個字元。"), - ("The confirmation is not identical.", "兩次輸入不相符"), - ("Permissions", "權限"), - ("Accept", "接受"), - ("Dismiss", "關閉"), - ("Disconnect", "中斷連線"), - ("Allow using keyboard and mouse", "允許使用鍵盤和滑鼠"), - ("Allow using clipboard", "允許使用剪貼簿"), - ("Allow hearing sound", "允許分享音訊"), - ("Allow file copy and paste", "允許檔案複製和貼上"), - ("Connected", "已連線"), - ("Direct and encrypted connection", "加密直接連線"), - ("Relayed and encrypted connection", "加密轉送連線"), - ("Direct and unencrypted connection", "未加密直接連線"), - ("Relayed and unencrypted connection", "未加密轉送連線"), - ("Enter Remote ID", "輸入遠端 ID"), - ("Enter your password", "輸入您的密碼"), - ("Logging in...", "正在登入 ..."), - ("Enable RDP session sharing", "啟用 RDP 工作階段共享"), - ("Auto Login", "自動登入 (鎖定將在設定關閉後套用)"), - ("Enable Direct IP Access", "允許 IP 直接存取"), - ("Rename", "重新命名"), - ("Space", "空白"), - ("Create Desktop Shortcut", "新增桌面捷徑"), - ("Change Path", "更改路徑"), - ("Create Folder", "新增資料夾"), - ("Please enter the folder name", "請輸入資料夾名稱"), - ("Fix it", "修復"), - ("Warning", "警告"), - ("Login screen using Wayland is not supported", "不支援使用 Wayland 的登入畫面"), - ("Reboot required", "需要重新啟動"), - ("Unsupported display server", "不支援顯示伺服器"), - ("x11 expected", "預期 x11"), - ("Port", "端口"), - ("Settings", "設定"), - ("Username", "使用者名稱"), - ("Invalid port", "連線端口無效"), - ("Closed manually by the peer", "遠端使用者關閉了工作階段"), - ("Enable remote configuration modification", "允許遠端使用者更改設定"), - ("Run without install", "跳過安裝直接執行"), - ("Connect via relay", "中繼連線"), - ("Always connect via relay", "一律透過轉送連線"), - ("whitelist_tip", "只有白名單中的 IP 可以存取"), - ("Login", "登入"), - ("Verify", "驗證"), - ("Remember me", "記住我"), - ("Trust this device", "信任此裝置"), - ("Verification code", "驗證碼"), - ("verification_tip", "檢測到新裝置登入,已向註冊電子信箱發送了登入驗證碼,請輸入驗證碼以繼續登入"), - ("Logout", "登出"), - ("Tags", "標籤"), - ("Search ID", "搜尋 ID"), - ("whitelist_sep", "使用逗號、分號、空白,或是換行來分隔"), - ("Add ID", "新增 ID"), - ("Add Tag", "新增標籤"), - ("Unselect all tags", "取消選取所有標籤"), - ("Network error", "網路錯誤"), - ("Username missed", "缺少使用者名稱"), - ("Password missed", "缺少密碼"), - ("Wrong credentials", "提供的登入資訊有誤"), - ("Edit Tag", "編輯標籤"), - ("Unremember Password", "忘掉密碼"), - ("Favorites", "我的最愛"), - ("Add to Favorites", "新增到我的最愛"), - ("Remove from Favorites", "從我的最愛中刪除"), - ("Empty", "空空如也"), - ("Invalid folder name", "資料夾名稱無效"), - ("Socks5 Proxy", "Socks5 代理"), - ("Hostname", "主機名稱"), - ("Discovered", "已探索"), - ("install_daemon_tip", "為了能夠開機時自動啟動,請先安裝系統服務。"), - ("Remote ID", "遠端 ID"), - ("Paste", "貼上"), - ("Paste here?", "貼上到這裡?"), - ("Are you sure to close the connection?", "您確定要關閉連線嗎?"), - ("Download new version", "下載新版本"), - ("Touch mode", "觸控模式"), - ("Mouse mode", "滑鼠模式"), - ("One-Finger Tap", "單指輕觸"), - ("Left Mouse", "滑鼠左鍵"), - ("One-Long Tap", "單指長按"), - ("Two-Finger Tap", "雙指輕觸"), - ("Right Mouse", "滑鼠右鍵"), - ("One-Finger Move", "單指移動"), - ("Double Tap & Move", "雙擊並移動"), - ("Mouse Drag", "滑鼠選中拖動"), - ("Three-Finger vertically", "三指垂直滑動"), - ("Mouse Wheel", "滑鼠滾輪"), - ("Two-Finger Move", "雙指移動"), - ("Canvas Move", "移動畫布"), - ("Pinch to Zoom", "雙指縮放"), - ("Canvas Zoom", "縮放畫布"), - ("Reset canvas", "重設畫布"), - ("No permission of file transfer", "沒有檔案傳輸權限"), - ("Note", "備註"), - ("Connection", "連線"), - ("Share Screen", "共享螢幕畫面"), - ("Chat", "聊天訊息"), - ("Total", "總計"), - ("items", "個項目"), - ("Selected", "已選擇"), - ("Screen Capture", "畫面錄製"), - ("Input Control", "輸入控制"), - ("Audio Capture", "音訊錄製"), - ("File Connection", "檔案連線"), - ("Screen Connection", "畫面連線"), - ("Do you accept?", "是否接受?"), - ("Open System Setting", "開啟系統設定"), - ("How to get Android input permission?", "如何獲取 Android 的輸入權限?"), - ("android_input_permission_tip1", "取得輸入權限後可以讓遠端裝置透過滑鼠控制此 Android 裝置"), - ("android_input_permission_tip2", "請在接下來的系統設定頁面中,找到並進入「已安裝的服務」頁面,並將「RustDesk Input」服務開啟"), - ("android_new_connection_tip", "收到新的連線控制請求,對方想要控制您目前的裝置"), - ("android_service_will_start_tip", "開啟畫面錄製權限將自動開啟服務,允許其他裝置向此裝置請求建立連線。"), - ("android_stop_service_tip", "關閉服務將自動關閉所有已建立的連線。"), - ("android_version_audio_tip", "目前的 Android 版本不支援音訊錄製,請升級到 Android 10 或以上版本。"), - ("android_start_service_tip", "點擊「啟動服務」或啟用「螢幕錄製」權限,以啟動螢幕共享服務。"), - ("android_permission_may_not_change_tip", "對於已經建立的連線,權限可能不會立即發生改變,除非重新建立連線。"), - ("Account", "帳號"), - ("Overwrite", "取代"), - ("This file exists, skip or overwrite this file?", "此檔案/資料夾已存在,要略過或是取代此檔案嗎?"), - ("Quit", "退出"), - ("doc_mac_permission", "https://rustdesk.com/docs/zh-tw/manual/mac/#啟用權限"), - ("Help", "幫助"), - ("Failed", "失敗"), - ("Succeeded", "成功"), - ("Someone turns on privacy mode, exit", "其他使用者開啟隱私模式,退出"), - ("Unsupported", "不支援"), - ("Peer denied", "被控端拒絕"), - ("Please install plugins", "請安裝插件"), - ("Peer exit", "被控端退出"), - ("Failed to turn off", "退出失敗"), - ("Turned off", "退出"), - ("In privacy mode", "開啟隱私模式"), - ("Out privacy mode", "退出隱私模式"), - ("Language", "語言"), - ("Keep RustDesk background service", "保持 RustDesk 後台服務"), - ("Ignore Battery Optimizations", "忽略電池最佳化"), - ("android_open_battery_optimizations_tip", "如需關閉此功能,請在接下來的 RustDesk 應用設定頁面中,找到並進入 [電源] 頁面,取消勾選 [不受限制]"), - ("Start on Boot", "開機自動啟動"), - ("Start the screen sharing service on boot, requires special permissions", "開機自動啟動螢幕共享服務,此功能需要一些特殊權限。"), - ("Connection not allowed", "對方不允許連線"), - ("Legacy mode", "傳統模式"), - ("Map mode", "1:1 傳輸模式"), - ("Translate mode", "翻譯模式"), - ("Use permanent password", "使用固定密碼"), - ("Use both passwords", "同時使用兩種密碼"), - ("Set permanent password", "設定固定密碼"), - ("Enable Remote Restart", "啟用遠端重新啟動"), - ("Allow remote restart", "允許遠端重新啟動"), - ("Restart Remote Device", "重新啟動遠端電腦"), - ("Are you sure you want to restart", "確定要重新啟動"), - ("Restarting Remote Device", "正在重新啟動遠端裝置"), - ("remote_restarting_tip", "遠端裝置正在重新啟動,請關閉當前提示框,並在一段時間後使用永久密碼重新連線"), - ("Copied", "已複製"), - ("Exit Fullscreen", "退出全螢幕"), - ("Fullscreen", "全螢幕"), - ("Mobile Actions", "手機操作"), - ("Select Monitor", "選擇顯示器"), - ("Control Actions", "控制操作"), - ("Display Settings", "顯示設定"), - ("Ratio", "比例"), - ("Image Quality", "畫質"), - ("Scroll Style", "滾動樣式"), - ("Show Menubar", "顯示選單欄"), - ("Hide Menubar", "隱藏選單欄"), - ("Direct Connection", "直接連線"), - ("Relay Connection", "中繼連線"), - ("Secure Connection", "安全連線"), - ("Insecure Connection", "非安全連線"), - ("Scale original", "原始尺寸"), - ("Scale adaptive", "適應視窗"), - ("General", "通用"), - ("Security", "安全"), - ("Theme", "主題"), - ("Dark Theme", "黑暗主題"), - ("Light Theme", "明亮主題"), - ("Dark", "黑暗"), - ("Light", "明亮"), - ("Follow System", "跟隨系統"), - ("Enable hardware codec", "使用硬體編解碼器"), - ("Unlock Security Settings", "解鎖安全設定"), - ("Enable Audio", "允許傳輸音訊"), - ("Unlock Network Settings", "解鎖網路設定"), - ("Server", "伺服器"), - ("Direct IP Access", "IP 直接連線"), - ("Proxy", "代理"), - ("Apply", "應用"), - ("Disconnect all devices?", "中斷所有遠端連線?"), - ("Clear", "清空"), - ("Audio Input Device", "音訊輸入裝置"), - ("Deny remote access", "拒絕遠端存取"), - ("Use IP Whitelisting", "只允許白名單上的 IP 進行連線"), - ("Network", "網路"), - ("Enable RDP", "允許 RDP 訪問"), - ("Pin menubar", "固定選單欄"), - ("Unpin menubar", "取消固定選單欄"), - ("Recording", "錄製"), - ("Directory", "路徑"), - ("Automatically record incoming sessions", "自動錄製連入的工作階段"), - ("Change", "變更"), - ("Start session recording", "開始錄影"), - ("Stop session recording", "停止錄影"), - ("Enable Recording Session", "啟用錄製工作階段"), - ("Allow recording session", "允許錄製工作階段"), - ("Enable LAN Discovery", "允許區域網路探索"), - ("Deny LAN Discovery", "拒絕區域網路探索"), - ("Write a message", "輸入聊天訊息"), - ("Prompt", "提示"), - ("Please wait for confirmation of UAC...", "請等待對方確認 UAC ..."), - ("elevated_foreground_window_tip", "目前的遠端桌面視窗需要更高的權限才能繼續操作,暫時無法使用滑鼠、鍵盤,可以請求對方最小化目前視窗,或者在連線管理視窗點擊提升權限。為了避免這個問題,建議在遠端裝置上安裝本軟體。"), - ("Disconnected", "斷開連線"), - ("Other", "其他"), - ("Confirm before closing multiple tabs", "關閉多個分頁前詢問我"), - ("Keyboard Settings", "鍵盤設定"), - ("Full Access", "完全訪問"), - ("Screen Share", "僅分享螢幕畫面"), - ("Wayland requires Ubuntu 21.04 or higher version.", "Wayland 需要 Ubuntu 21.04 或更高版本。"), - ("Wayland requires higher version of linux distro. Please try X11 desktop or change your OS.", "Wayland 需要更高版本的 Linux 發行版。請嘗試使用 X11 桌面或更改您的作業系統。"), - ("JumpLink", "查看"), - ("Please Select the screen to be shared(Operate on the peer side).", "請選擇要分享的螢幕畫面(在對端操作)。"), - ("Show RustDesk", "顯示 RustDesk"), - ("This PC", "此電腦"), - ("or", "或"), - ("Continue with", "繼續"), - ("Elevate", "提升權限"), - ("Zoom cursor", "縮放游標"), - ("Accept sessions via password", "只允許透過輸入密碼進行連線"), - ("Accept sessions via click", "只允許透過點擊接受進行連線"), - ("Accept sessions via both", "允許輸入密碼或點擊接受進行連線"), - ("Please wait for the remote side to accept your session request...", "請等待對方接受您的連線請求 ..."), - ("One-time Password", "一次性密碼"), - ("Use one-time password", "使用一次性密碼"), - ("One-time password length", "一次性密碼長度"), - ("Request access to your device", "請求訪問您的裝置"), - ("Hide connection management window", "隱藏連線管理視窗"), - ("hide_cm_tip", "在只允許密碼連線並且只用固定密碼的情況下才允許隱藏"), - ("wayland_experiment_tip", "Wayland 支援處於實驗階段,如果您需要使用無人值守訪問,請使用 X11。"), - ("Right click to select tabs", "右鍵選擇分頁"), - ("Skipped", "已略過"), - ("Add to Address Book", "新增到通訊錄"), - ("Group", "群組"), - ("Search", "搜尋"), - ("Closed manually by web console", "被 Web 控制台手動關閉"), - ("Local keyboard type", "本地鍵盤類型"), - ("Select local keyboard type", "請選擇本地鍵盤類型"), - ("software_render_tip", "如果您使用 NVIDIA 顯示卡,並且遠端視窗在建立連線後會立刻關閉,那麼請安裝 nouveau 顯示卡驅動程式並且選擇使用軟體渲染可能會有幫助。重新啟動軟體後生效。"), - ("Always use software rendering", "使用軟體渲染"), - ("config_input", "為了能夠透過鍵盤控制遠端桌面,請給予 RustDesk \"輸入監控\" 權限。"), - ("config_microphone", "為了支援透過麥克風進行音訊傳輸,請給予 RustDesk \"錄音\"權限。"), - ("request_elevation_tip", "如果遠端使用者可以操作電腦,也可以請求提升權限。"), - ("Wait", "等待"), - ("Elevation Error", "權限提升失敗"), - ("Ask the remote user for authentication", "請求遠端使用者進行身分驗證"), - ("Choose this if the remote account is administrator", "當遠端使用者帳戶是管理員時,請選擇此選項"), - ("Transmit the username and password of administrator", "發送管理員的使用者名稱和密碼"), - ("still_click_uac_tip", "依然需要遠端使用者在 UAC 視窗點擊確認。"), - ("Request Elevation", "請求權限提升"), - ("wait_accept_uac_tip", "請等待遠端使用者確認 UAC 對話框。"), - ("Elevate successfully", "權限提升成功"), - ("uppercase", "大寫字母"), - ("lowercase", "小寫字母"), - ("digit", "數字"), - ("special character", "特殊字元"), - ("length>=8", "長度不能小於 8"), - ("Weak", "弱"), - ("Medium", "中"), - ("Strong", "強"), - ("Switch Sides", "反轉存取方向"), - ("Please confirm if you want to share your desktop?", "請確認是否要讓對方存取您的桌面?"), - ("Display", "顯示"), - ("Default View Style", "預設顯示方式"), - ("Default Scroll Style", "預設滾動方式"), - ("Default Image Quality", "預設圖像質量"), - ("Default Codec", "預設編解碼器"), - ("Bitrate", "位元速率"), - ("FPS", "幀率"), - ("Auto", "自動"), - ("Other Default Options", "其他預設選項"), - ("Voice call", "語音通話"), - ("Text chat", "文字聊天"), - ("Stop voice call", "停止語音通話"), - ("relay_hint_tip", "可能無法直接連線,可以嘗試中繼連線。\n另外,如果想要直接使用中繼連線,可以在 ID 後面新增/r,或者在卡片選項裡選擇強制走中繼連線。"), - ("Reconnect", "重新連線"), - ("Codec", "編解碼器"), - ("Resolution", "解析度"), - ("No transfers in progress", "沒有正在進行的傳輸"), - ("Set one-time password length", "設定一次性密碼長度"), - ("idd_driver_tip", "安裝虛擬顯示器驅動程式,以便在沒有連接顯示器的情況下啟動虛擬顯示器進行控制。"), - ("confirm_idd_driver_tip", "安裝虛擬顯示器驅動程式的選項已勾選。請注意,測試證書將被安裝以信任虛擬顯示器驅動。測試證書僅會用於信任 RustDesk 的驅動程式。"), - ("RDP Settings", "RDP 設定"), - ("Sort by", "排序方式"), - ("New Connection", "新連線"), - ("Restore", "還原"), - ("Minimize", "最小化"), - ("Maximize", "最大化"), - ("Your Device", "您的裝置"), - ("empty_recent_tip", "空空如也"), - ("empty_favorite_tip", "空空如也"), - ("empty_lan_tip", "空空如也"), - ("empty_address_book_tip", "空空如也"), - ("eg: admin", "例如:admin"), - ("Empty Username", "空使用者帳號"), - ("Empty Password", "空密碼"), - ("Me", "我"), - ("identical_file_tip", "此檔案與對方的檔案一致"), - ("show_monitors_tip", "在工具列中顯示顯示器"), - ("View Mode", "瀏覽模式"), - ("enter_rustdesk_passwd_tip", "輸入 RustDesk 密碼"), - ("remember_rustdesk_passwd_tip", "記住 RustDesk 密碼"), - ("login_linux_tip", "登入到遠端 Linux 使用者帳戶"), - ("login_linux_tooltip_tip", "需要登入到遠端 Linux 使用者帳戶才能啟用 X 介面。"), - ].iter().cloned().collect(); -} +lazy_static::lazy_static! { +pub static ref T: std::collections::HashMap<&'static str, &'static str> = + [ + ("Status", "狀態"), + ("Your Desktop", "您的桌面"), + ("desk_tip", "您可以透過此 ID 及密碼存取您的桌面"), + ("Password", "密碼"), + ("Ready", "就緒"), + ("Established", "已建立"), + ("connecting_status", "正在連線到 RustDesk 網路 ..."), + ("Enable Service", "啟用服務"), + ("Start Service", "啟動服務"), + ("Service is running", "服務正在執行"), + ("Service is not running", "服務尚未執行"), + ("not_ready_status", "尚未就緒,請檢查您的網路連線。"), + ("Control Remote Desktop", "控制遠端桌面"), + ("Transfer File", "傳輸檔案"), + ("Connect", "連線"), + ("Recent Sessions", "近期的工作階段"), + ("Address Book", "通訊錄"), + ("Confirmation", "確認"), + ("TCP Tunneling", "TCP 通道"), + ("Remove", "移除"), + ("Refresh random password", "重新產生隨機密碼"), + ("Set your own password", "自行設定密碼"), + ("Enable Keyboard/Mouse", "啟用鍵盤和滑鼠"), + ("Enable Clipboard", "啟用剪貼簿"), + ("Enable File Transfer", "啟用檔案傳輸"), + ("Enable TCP Tunneling", "啟用 TCP 通道"), + ("IP Whitelisting", "IP 白名單"), + ("ID/Relay Server", "ID / 轉送伺服器"), + ("Import Server Config", "匯入伺服器設定"), + ("Export Server Config", "匯出伺服器設定"), + ("Import server configuration successfully", "匯入伺服器設定成功"), + ("Export server configuration successfully", "匯出伺服器設定成功"), + ("Invalid server configuration", "無效的伺服器設定"), + ("Clipboard is empty", "剪貼簿是空的"), + ("Stop service", "停止服務"), + ("Change ID", "更改 ID"), + ("Your new ID", "您的新 ID"), + ("length %min% to %max%", "長度在 %min% 與 %max% 之間"), + ("starts with a letter", "以字母開頭"), + ("allowed characters", "使用允許的字元"), + ("id_change_tip", "僅能使用以下字元:a-z、A-Z、0-9、_ (底線)。首字元必須為 a-z 或 A-Z。長度介於 6 到 16 之間。"), + ("Website", "網站"), + ("About", "關於"), + ("Slogan_tip", ""), + ("Privacy Statement", "隱私權聲明"), + ("Mute", "靜音"), + ("Build Date", "構建日期"), + ("Version", "版本"), + ("Home", "首頁"), + ("Audio Input", "音訊輸入"), + ("Enhancements", "增強功能"), + ("Hardware Codec", "硬體編解碼器"), + ("Adaptive Bitrate", "自適應位元速率"), + ("ID Server", "ID 伺服器"), + ("Relay Server", "轉送伺服器"), + ("API Server", "API 伺服器"), + ("invalid_http", "開頭必須為 http:// 或 https://"), + ("Invalid IP", "IP 無效"), + ("Invalid format", "格式無效"), + ("server_not_support", "伺服器暫不支持"), + ("Not available", "無法使用"), + ("Too frequent", "修改過於頻繁,請稍後再試。"), + ("Cancel", "取消"), + ("Skip", "跳過"), + ("Close", "關閉"), + ("Retry", "重試"), + ("OK", "確定"), + ("remember_password_tip", "需要密碼"), + ("Please enter your password", "請輸入您的密碼"), + ("Remember password", "記住密碼"), + ("Wrong Password", "密碼錯誤"), + ("Do you want to enter again?", "您要重新輸入嗎?"), + ("Connection Error", "連線錯誤"), + ("Error", "錯誤"), + ("Reset by the peer", "對方重設了連線"), + ("Connecting...", "正在連線 ..."), + ("Connection in progress. Please wait.", "正在連線,請稍候。"), + ("Please try 1 minute later", "請於 1 分鐘後再試"), + ("Login Error", "登入錯誤"), + ("Successful", "成功"), + ("Connected, waiting for image...", "已連線,等待畫面傳輸 ..."), + ("Name", "名稱"), + ("Type", "類型"), + ("Modified", "修改時間"), + ("Size", "大小"), + ("Show Hidden Files", "顯示隱藏檔案"), + ("Receive", "接收"), + ("Send", "傳送"), + ("Refresh File", "重新整理檔案"), + ("Local", "本地"), + ("Remote", "遠端"), + ("Remote Computer", "遠端電腦"), + ("Local Computer", "本地電腦"), + ("Confirm Delete", "確認刪除"), + ("Delete", "刪除"), + ("Properties", "屬性"), + ("Multi Select", "多選"), + ("Select All", "全選"), + ("Unselect All", "取消全選"), + ("Empty Directory", "空資料夾"), + ("Not an empty directory", "不是一個空資料夾"), + ("Are you sure you want to delete this file?", "您確定要刪除此檔案嗎?"), + ("Are you sure you want to delete this empty directory?", "您確定要刪除此空資料夾嗎?"), + ("Are you sure you want to delete the file of this directory?", "您確定要刪除此資料夾中的檔案嗎?"), + ("Do this for all conflicts", "套用到其他衝突"), + ("This is irreversible!", "此操作不可逆!"), + ("Deleting", "正在刪除 ..."), + ("files", "檔案"), + ("Waiting", "正在等候 ..."), + ("Finished", "已完成"), + ("Speed", "速度"), + ("Custom Image Quality", "自訂畫面品質"), + ("Privacy mode", "隱私模式"), + ("Block user input", "封鎖使用者輸入"), + ("Unblock user input", "取消封鎖使用者輸入"), + ("Adjust Window", "調整視窗"), + ("Original", "原始"), + ("Shrink", "縮減"), + ("Stretch", "延展"), + ("Scrollbar", "滾動條"), + ("ScrollAuto", "自動滾動"), + ("Good image quality", "最佳化畫面品質"), + ("Balanced", "平衡"), + ("Optimize reaction time", "最佳化反應時間"), + ("Custom", "自訂"), + ("Show remote cursor", "顯示遠端游標"), + ("Show quality monitor", "顯示質量監測"), + ("Disable clipboard", "停用剪貼簿"), + ("Lock after session end", "工作階段結束後鎖定電腦"), + ("Insert", "插入"), + ("Insert Lock", "鎖定遠端電腦"), + ("Refresh", "重新載入"), + ("ID does not exist", "ID 不存在"), + ("Failed to connect to rendezvous server", "無法連線到 rendezvous 伺服器"), + ("Please try later", "請稍候再試"), + ("Remote desktop is offline", "遠端桌面已離線"), + ("Key mismatch", "金鑰不符"), + ("Timeout", "逾時"), + ("Failed to connect to relay server", "無法連線到轉送伺服器"), + ("Failed to connect via rendezvous server", "無法透過 rendezvous 伺服器連線"), + ("Failed to connect via relay server", "無法透過轉送伺服器連線"), + ("Failed to make direct connection to remote desktop", "無法直接連線到遠端桌面"), + ("Set Password", "設定密碼"), + ("OS Password", "作業系統密碼"), + ("install_tip", "UAC 會導致 RustDesk 在某些情況下無法正常以遠端電腦執行。若要避開 UAC,請點擊下方按鈕將 RustDesk 安裝到系統中。"), + ("Click to upgrade", "點擊以升級"), + ("Click to download", "點擊以下載"), + ("Click to update", "點擊以更新"), + ("Configure", "設定"), + ("config_acc", "您需要授予 RustDesk「協助工具」權限才能存取遠端電腦。"), + ("config_screen", "您需要授予 RustDesk「畫面錄製」權限才能存取遠端電腦。"), + ("Installing ...", "正在安裝 ..."), + ("Install", "安裝"), + ("Installation", "安裝"), + ("Installation Path", "安裝路徑"), + ("Create start menu shortcuts", "新增開始功能表捷徑"), + ("Create desktop icon", "新增桌面捷徑"), + ("agreement_tip", "開始安裝即表示接受許可協議"), + ("Accept and Install", "接受並安裝"), + ("End-user license agreement", "使用者授權合約"), + ("Generating ...", "正在產生 ..."), + ("Your installation is lower version.", "您安裝的版本過舊。"), + ("not_close_tcp_tip", "使用通道時請不要關閉此視窗"), + ("Listening ...", "正在等待通道連線 ..."), + ("Remote Host", "遠端主機"), + ("Remote Port", "遠端連線端口"), + ("Action", "操作"), + ("Add", "新增"), + ("Local Port", "本機連線端口"), + ("Local Address", "本機地址"), + ("Change Local Port", "修改本機連線端口"), + ("setup_server_tip", "若您需要更快的連線速度,可以選擇自行建立伺服器"), + ("Too short, at least 6 characters.", "過短,至少需要 6 個字元。"), + ("The confirmation is not identical.", "兩次輸入不相符"), + ("Permissions", "權限"), + ("Accept", "接受"), + ("Dismiss", "關閉"), + ("Disconnect", "中斷連線"), + ("Allow using keyboard and mouse", "允許使用鍵盤和滑鼠"), + ("Allow using clipboard", "允許使用剪貼簿"), + ("Allow hearing sound", "允許分享音訊"), + ("Allow file copy and paste", "允許檔案複製和貼上"), + ("Connected", "已連線"), + ("Direct and encrypted connection", "加密直接連線"), + ("Relayed and encrypted connection", "加密轉送連線"), + ("Direct and unencrypted connection", "未加密直接連線"), + ("Relayed and unencrypted connection", "未加密轉送連線"), + ("Enter Remote ID", "輸入遠端 ID"), + ("Enter your password", "輸入您的密碼"), + ("Logging in...", "正在登入 ..."), + ("Enable RDP session sharing", "啟用 RDP 工作階段共享"), + ("Auto Login", "自動登入 (鎖定將在設定關閉後套用)"), + ("Enable Direct IP Access", "允許 IP 直接存取"), + ("Rename", "重新命名"), + ("Space", "空白"), + ("Create Desktop Shortcut", "新增桌面捷徑"), + ("Change Path", "更改路徑"), + ("Create Folder", "新增資料夾"), + ("Please enter the folder name", "請輸入資料夾名稱"), + ("Fix it", "修復"), + ("Warning", "警告"), + ("Login screen using Wayland is not supported", "不支援使用 Wayland 的登入畫面"), + ("Reboot required", "需要重新啟動"), + ("Unsupported display server", "不支援顯示伺服器"), + ("x11 expected", "預期 x11"), + ("Port", "端口"), + ("Settings", "設定"), + ("Username", "使用者名稱"), + ("Invalid port", "連線端口無效"), + ("Closed manually by the peer", "遠端使用者關閉了工作階段"), + ("Enable remote configuration modification", "允許遠端使用者更改設定"), + ("Run without install", "跳過安裝直接執行"), + ("Connect via relay", "中繼連線"), + ("Always connect via relay", "一律透過轉送連線"), + ("whitelist_tip", "只有白名單中的 IP 可以存取"), + ("Login", "登入"), + ("Verify", "驗證"), + ("Remember me", "記住我"), + ("Trust this device", "信任此裝置"), + ("Verification code", "驗證碼"), + ("verification_tip", "檢測到新裝置登入,已向註冊電子信箱發送了登入驗證碼,請輸入驗證碼以繼續登入"), + ("Logout", "登出"), + ("Tags", "標籤"), + ("Search ID", "搜尋 ID"), + ("whitelist_sep", "使用逗號、分號、空白,或是換行來分隔"), + ("Add ID", "新增 ID"), + ("Add Tag", "新增標籤"), + ("Unselect all tags", "取消選取所有標籤"), + ("Network error", "網路錯誤"), + ("Username missed", "缺少使用者名稱"), + ("Password missed", "缺少密碼"), + ("Wrong credentials", "提供的登入資訊有誤"), + ("Edit Tag", "編輯標籤"), + ("Unremember Password", "忘掉密碼"), + ("Favorites", "我的最愛"), + ("Add to Favorites", "新增到我的最愛"), + ("Remove from Favorites", "從我的最愛中刪除"), + ("Empty", "空空如也"), + ("Invalid folder name", "資料夾名稱無效"), + ("Socks5 Proxy", "Socks5 代理"), + ("Hostname", "主機名稱"), + ("Discovered", "已探索"), + ("install_daemon_tip", "為了能夠開機時自動啟動,請先安裝系統服務。"), + ("Remote ID", "遠端 ID"), + ("Paste", "貼上"), + ("Paste here?", "貼上到這裡?"), + ("Are you sure to close the connection?", "您確定要關閉連線嗎?"), + ("Download new version", "下載新版本"), + ("Touch mode", "觸控模式"), + ("Mouse mode", "滑鼠模式"), + ("One-Finger Tap", "單指輕觸"), + ("Left Mouse", "滑鼠左鍵"), + ("One-Long Tap", "單指長按"), + ("Two-Finger Tap", "雙指輕觸"), + ("Right Mouse", "滑鼠右鍵"), + ("One-Finger Move", "單指移動"), + ("Double Tap & Move", "雙擊並移動"), + ("Mouse Drag", "滑鼠選中拖動"), + ("Three-Finger vertically", "三指垂直滑動"), + ("Mouse Wheel", "滑鼠滾輪"), + ("Two-Finger Move", "雙指移動"), + ("Canvas Move", "移動畫布"), + ("Pinch to Zoom", "雙指縮放"), + ("Canvas Zoom", "縮放畫布"), + ("Reset canvas", "重設畫布"), + ("No permission of file transfer", "沒有檔案傳輸權限"), + ("Note", "備註"), + ("Connection", "連線"), + ("Share Screen", "共享螢幕畫面"), + ("Chat", "聊天訊息"), + ("Total", "總計"), + ("items", "個項目"), + ("Selected", "已選擇"), + ("Screen Capture", "畫面錄製"), + ("Input Control", "輸入控制"), + ("Audio Capture", "音訊錄製"), + ("File Connection", "檔案連線"), + ("Screen Connection", "畫面連線"), + ("Do you accept?", "是否接受?"), + ("Open System Setting", "開啟系統設定"), + ("How to get Android input permission?", "如何獲取 Android 的輸入權限?"), + ("android_input_permission_tip1", "取得輸入權限後可以讓遠端裝置透過滑鼠控制此 Android 裝置"), + ("android_input_permission_tip2", "請在接下來的系統設定頁面中,找到並進入「已安裝的服務」頁面,並將「RustDesk Input」服務開啟"), + ("android_new_connection_tip", "收到新的連線控制請求,對方想要控制您目前的裝置"), + ("android_service_will_start_tip", "開啟畫面錄製權限將自動開啟服務,允許其他裝置向此裝置請求建立連線。"), + ("android_stop_service_tip", "關閉服務將自動關閉所有已建立的連線。"), + ("android_version_audio_tip", "目前的 Android 版本不支援音訊錄製,請升級到 Android 10 或以上版本。"), + ("android_start_service_tip", "點擊「啟動服務」或啟用「螢幕錄製」權限,以啟動螢幕共享服務。"), + ("android_permission_may_not_change_tip", "對於已經建立的連線,權限可能不會立即發生改變,除非重新建立連線。"), + ("Account", "帳號"), + ("Overwrite", "取代"), + ("This file exists, skip or overwrite this file?", "此檔案/資料夾已存在,要略過或是取代此檔案嗎?"), + ("Quit", "退出"), + ("doc_mac_permission", "https://rustdesk.com/docs/zh-tw/manual/mac/#啟用權限"), + ("Help", "幫助"), + ("Failed", "失敗"), + ("Succeeded", "成功"), + ("Someone turns on privacy mode, exit", "其他使用者開啟隱私模式,退出"), + ("Unsupported", "不支援"), + ("Peer denied", "被控端拒絕"), + ("Please install plugins", "請安裝插件"), + ("Peer exit", "被控端退出"), + ("Failed to turn off", "退出失敗"), + ("Turned off", "退出"), + ("In privacy mode", "開啟隱私模式"), + ("Out privacy mode", "退出隱私模式"), + ("Language", "語言"), + ("Keep RustDesk background service", "保持 RustDesk 後台服務"), + ("Ignore Battery Optimizations", "忽略電池最佳化"), + ("android_open_battery_optimizations_tip", "如需關閉此功能,請在接下來的 RustDesk 應用設定頁面中,找到並進入 [電源] 頁面,取消勾選 [不受限制]"), + ("Start on Boot", "開機自動啟動"), + ("Start the screen sharing service on boot, requires special permissions", "開機自動啟動螢幕共享服務,此功能需要一些特殊權限。"), + ("Connection not allowed", "對方不允許連線"), + ("Legacy mode", "傳統模式"), + ("Map mode", "1:1 傳輸模式"), + ("Translate mode", "翻譯模式"), + ("Use permanent password", "使用固定密碼"), + ("Use both passwords", "同時使用兩種密碼"), + ("Set permanent password", "設定固定密碼"), + ("Enable Remote Restart", "啟用遠端重新啟動"), + ("Allow remote restart", "允許遠端重新啟動"), + ("Restart Remote Device", "重新啟動遠端電腦"), + ("Are you sure you want to restart", "確定要重新啟動"), + ("Restarting Remote Device", "正在重新啟動遠端裝置"), + ("remote_restarting_tip", "遠端裝置正在重新啟動,請關閉當前提示框,並在一段時間後使用永久密碼重新連線"), + ("Copied", "已複製"), + ("Exit Fullscreen", "退出全螢幕"), + ("Fullscreen", "全螢幕"), + ("Mobile Actions", "手機操作"), + ("Select Monitor", "選擇顯示器"), + ("Control Actions", "控制操作"), + ("Display Settings", "顯示設定"), + ("Ratio", "比例"), + ("Image Quality", "畫質"), + ("Scroll Style", "滾動樣式"), + ("Show Menubar", "顯示選單欄"), + ("Hide Menubar", "隱藏選單欄"), + ("Direct Connection", "直接連線"), + ("Relay Connection", "中繼連線"), + ("Secure Connection", "安全連線"), + ("Insecure Connection", "非安全連線"), + ("Scale original", "原始尺寸"), + ("Scale adaptive", "適應視窗"), + ("General", "通用"), + ("Security", "安全"), + ("Theme", "主題"), + ("Dark Theme", "黑暗主題"), + ("Light Theme", "明亮主題"), + ("Dark", "黑暗"), + ("Light", "明亮"), + ("Follow System", "跟隨系統"), + ("Enable hardware codec", "使用硬體編解碼器"), + ("Unlock Security Settings", "解鎖安全設定"), + ("Enable Audio", "允許傳輸音訊"), + ("Unlock Network Settings", "解鎖網路設定"), + ("Server", "伺服器"), + ("Direct IP Access", "IP 直接連線"), + ("Proxy", "代理"), + ("Apply", "應用"), + ("Disconnect all devices?", "中斷所有遠端連線?"), + ("Clear", "清空"), + ("Audio Input Device", "音訊輸入裝置"), + ("Deny remote access", "拒絕遠端存取"), + ("Use IP Whitelisting", "只允許白名單上的 IP 進行連線"), + ("Network", "網路"), + ("Enable RDP", "允許 RDP 訪問"), + ("Pin menubar", "固定選單欄"), + ("Unpin menubar", "取消固定選單欄"), + ("Recording", "錄製"), + ("Directory", "路徑"), + ("Automatically record incoming sessions", "自動錄製連入的工作階段"), + ("Change", "變更"), + ("Start session recording", "開始錄影"), + ("Stop session recording", "停止錄影"), + ("Enable Recording Session", "啟用錄製工作階段"), + ("Allow recording session", "允許錄製工作階段"), + ("Enable LAN Discovery", "允許區域網路探索"), + ("Deny LAN Discovery", "拒絕區域網路探索"), + ("Write a message", "輸入聊天訊息"), + ("Prompt", "提示"), + ("Please wait for confirmation of UAC...", "請等待對方確認 UAC ..."), + ("elevated_foreground_window_tip", "目前的遠端桌面視窗需要更高的權限才能繼續操作,暫時無法使用滑鼠、鍵盤,可以請求對方最小化目前視窗,或者在連線管理視窗點擊提升權限。為了避免這個問題,建議在遠端裝置上安裝本軟體。"), + ("Disconnected", "斷開連線"), + ("Other", "其他"), + ("Confirm before closing multiple tabs", "關閉多個分頁前詢問我"), + ("Keyboard Settings", "鍵盤設定"), + ("Full Access", "完全訪問"), + ("Screen Share", "僅分享螢幕畫面"), + ("Wayland requires Ubuntu 21.04 or higher version.", "Wayland 需要 Ubuntu 21.04 或更高版本。"), + ("Wayland requires higher version of linux distro. Please try X11 desktop or change your OS.", "Wayland 需要更高版本的 Linux 發行版。請嘗試使用 X11 桌面或更改您的作業系統。"), + ("JumpLink", "查看"), + ("Please Select the screen to be shared(Operate on the peer side).", "請選擇要分享的螢幕畫面(在對端操作)。"), + ("Show RustDesk", "顯示 RustDesk"), + ("This PC", "此電腦"), + ("or", "或"), + ("Continue with", "繼續"), + ("Elevate", "提升權限"), + ("Zoom cursor", "縮放游標"), + ("Accept sessions via password", "只允許透過輸入密碼進行連線"), + ("Accept sessions via click", "只允許透過點擊接受進行連線"), + ("Accept sessions via both", "允許輸入密碼或點擊接受進行連線"), + ("Please wait for the remote side to accept your session request...", "請等待對方接受您的連線請求 ..."), + ("One-time Password", "一次性密碼"), + ("Use one-time password", "使用一次性密碼"), + ("One-time password length", "一次性密碼長度"), + ("Request access to your device", "請求訪問您的裝置"), + ("Hide connection management window", "隱藏連線管理視窗"), + ("hide_cm_tip", "在只允許密碼連線並且只用固定密碼的情況下才允許隱藏"), + ("wayland_experiment_tip", "Wayland 支援處於實驗階段,如果您需要使用無人值守訪問,請使用 X11。"), + ("Right click to select tabs", "右鍵選擇分頁"), + ("Skipped", "已略過"), + ("Add to Address Book", "新增到通訊錄"), + ("Group", "群組"), + ("Search", "搜尋"), + ("Closed manually by web console", "被 Web 控制台手動關閉"), + ("Local keyboard type", "本地鍵盤類型"), + ("Select local keyboard type", "請選擇本地鍵盤類型"), + ("software_render_tip", "如果您使用 NVIDIA 顯示卡,並且遠端視窗在建立連線後會立刻關閉,那麼請安裝 nouveau 顯示卡驅動程式並且選擇使用軟體渲染可能會有幫助。重新啟動軟體後生效。"), + ("Always use software rendering", "使用軟體渲染"), + ("config_input", "為了能夠透過鍵盤控制遠端桌面,請給予 RustDesk \"輸入監控\" 權限。"), + ("config_microphone", "為了支援透過麥克風進行音訊傳輸,請給予 RustDesk \"錄音\"權限。"), + ("request_elevation_tip", "如果遠端使用者可以操作電腦,也可以請求提升權限。"), + ("Wait", "等待"), + ("Elevation Error", "權限提升失敗"), + ("Ask the remote user for authentication", "請求遠端使用者進行身分驗證"), + ("Choose this if the remote account is administrator", "當遠端使用者帳戶是管理員時,請選擇此選項"), + ("Transmit the username and password of administrator", "發送管理員的使用者名稱和密碼"), + ("still_click_uac_tip", "依然需要遠端使用者在 UAC 視窗點擊確認。"), + ("Request Elevation", "請求權限提升"), + ("wait_accept_uac_tip", "請等待遠端使用者確認 UAC 對話框。"), + ("Elevate successfully", "權限提升成功"), + ("uppercase", "大寫字母"), + ("lowercase", "小寫字母"), + ("digit", "數字"), + ("special character", "特殊字元"), + ("length>=8", "長度不能小於 8"), + ("Weak", "弱"), + ("Medium", "中"), + ("Strong", "強"), + ("Switch Sides", "反轉存取方向"), + ("Please confirm if you want to share your desktop?", "請確認是否要讓對方存取您的桌面?"), + ("Display", "顯示"), + ("Default View Style", "預設顯示方式"), + ("Default Scroll Style", "預設滾動方式"), + ("Default Image Quality", "預設圖像質量"), + ("Default Codec", "預設編解碼器"), + ("Bitrate", "位元速率"), + ("FPS", "幀率"), + ("Auto", "自動"), + ("Other Default Options", "其他預設選項"), + ("Voice call", "語音通話"), + ("Text chat", "文字聊天"), + ("Stop voice call", "停止語音通話"), + ("relay_hint_tip", "可能無法直接連線,可以嘗試中繼連線。\n另外,如果想要直接使用中繼連線,可以在 ID 後面新增/r,或者在卡片選項裡選擇強制走中繼連線。"), + ("Reconnect", "重新連線"), + ("Codec", "編解碼器"), + ("Resolution", "解析度"), + ("No transfers in progress", "沒有正在進行的傳輸"), + ("Set one-time password length", "設定一次性密碼長度"), + ("idd_driver_tip", "安裝虛擬顯示器驅動程式,以便在沒有連接顯示器的情況下啟動虛擬顯示器進行控制。"), + ("confirm_idd_driver_tip", "安裝虛擬顯示器驅動程式的選項已勾選。請注意,測試證書將被安裝以信任虛擬顯示器驅動。測試證書僅會用於信任 RustDesk 的驅動程式。"), + ("RDP Settings", "RDP 設定"), + ("Sort by", "排序方式"), + ("New Connection", "新連線"), + ("Restore", "還原"), + ("Minimize", "最小化"), + ("Maximize", "最大化"), + ("Your Device", "您的裝置"), + ("empty_recent_tip", "空空如也"), + ("empty_favorite_tip", "空空如也"), + ("empty_lan_tip", "空空如也"), + ("empty_address_book_tip", "空空如也"), + ("eg: admin", "例如:admin"), + ("Empty Username", "空使用者帳號"), + ("Empty Password", "空密碼"), + ("Me", "我"), + ("identical_file_tip", "此檔案與對方的檔案一致"), + ("show_monitors_tip", "在工具列中顯示顯示器"), + ("View Mode", "瀏覽模式"), + ("enter_rustdesk_passwd_tip", "輸入 RustDesk 密碼"), + ("remember_rustdesk_passwd_tip", "記住 RustDesk 密碼"), + ("login_linux_tip", "登入到遠端 Linux 使用者帳戶"), + ("login_linux_tooltip_tip", "需要登入到遠端 Linux 使用者帳戶才能啟用 X 介面。"), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), + ].iter().cloned().collect(); +} diff --git a/src/lang/ua.rs b/src/lang/ua.rs index e21cd88df..952c36b13 100644 --- a/src/lang/ua.rs +++ b/src/lang/ua.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Закрити"), ("Retry", "Спробувати знову"), ("OK", "ОК"), - ("Password Required", "Потрібен пароль"), + ("remember_password_tip", "Потрібен пароль"), ("Please enter your password", "Будь ласка, введіть ваш пароль"), ("Remember password", "Запам'ятати пароль"), ("Wrong Password", "Невірний пароль"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); } diff --git a/src/lang/vn.rs b/src/lang/vn.rs index f716bd536..ab1aa2820 100644 --- a/src/lang/vn.rs +++ b/src/lang/vn.rs @@ -68,7 +68,7 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("Close", "Đóng"), ("Retry", "Thử lại"), ("OK", "OK"), - ("Password Required", "Yêu cầu mật khẩu"), + ("remember_password_tip", "Yêu cầu mật khẩu"), ("Please enter your password", "Mời nhập mật khẩu"), ("Remember password", "Nhớ mật khẩu"), ("Wrong Password", "Sai mật khẩu"), @@ -483,5 +483,9 @@ pub static ref T: std::collections::HashMap<&'static str, &'static str> = ("enter_rustdesk_passwd_tip", ""), ("remember_rustdesk_passwd_tip", ""), ("login_linux_tip", ""), + ("login_linux_tooltip_tip", ""), + ("verify_rustdesk_password_tip", ""), + ("remember_account_tip", ""), + ("remember_password_tip", ""), ].iter().cloned().collect(); }