diff --git a/debian/changelog b/debian/changelog index 71a42e2..9ef0e07 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +ukui-screensaver (4.20.0.0-ok1) huanghe; urgency=medium + + * BUG号:无 + * 需求号:#18336 登录锁屏生物特征验证流程优化 + * 其他改动说明:无 + * 其他改动影响域:无 + + -- Yang Min Wed, 13 Nov 2024 20:23:54 +0800 + ukui-screensaver (4.10.0.0-ok34~1031) nile; urgency=medium * BUG号:#IB0Q93【wlcom】【快捷键】更新版本后重启进系统无法使用快捷键,重启后正常使用,但是之后进锁屏再解锁,快捷键失效 diff --git a/i18n_ts/bo.ts b/i18n_ts/bo.ts index 6bdc910..66ba305 100644 --- a/i18n_ts/bo.ts +++ b/i18n_ts/bo.ts @@ -12,195 +12,195 @@ AuthDialog - - + + Login - + Guest - - - Verify face recognition or enter password to unlock + + + Facial recognition to unlock - - Press fingerprint or enter password to unlock + + Fingerprint recognition to unlock - - Verify voiceprint or enter password to unlock + + Voiceprint recognition to unlock - - Verify finger vein or enter password to unlock + + Finger vein recognition to unlock - - Verify iris or enter password to unlock + + Iris recognition to unlock - - Use the bound wechat scanning code or enter the password to unlock + + Use the bound wechat scanning code to unlock - + Password cannot be empty - + Password: - + Input Password - + Username - + User name input error! - - + + Authentication failure, Please try again - + login - + Retry - + Please try again in %1 minutes. - + Please try again in %1 seconds. - + Account locked permanently. - - - - + + + + Failed to verify %1, please enter password to unlock - - - - - + + + + + Unable to verify %1, please enter password to unlock - - + + Failed to verify %1, you still have %2 verification opportunities - + Abnormal network - + Face recognition waiting time out, please click refresh or enter the password to unlock. - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - - + + Ukey - - + + QRCode - + fingerprint - + fingervein - + iris - + face - + voiceprint @@ -438,7 +438,7 @@ IconEdit - + OK @@ -559,58 +559,58 @@ LoginOptionsWidget - - + + Login Options - + Password - + Other - + Identify device removed! - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - + Ukey - + QRCode diff --git a/i18n_ts/bo_CN.ts b/i18n_ts/bo_CN.ts index 4c395ad..eabdcaa 100644 --- a/i18n_ts/bo_CN.ts +++ b/i18n_ts/bo_CN.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry བསྐྱར་དུ་ཞིབ་བཤེར་བྱ་དགོས། @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. ཁྱོད་ཀྱིས་ཡང་བསྐྱར་ཐེངས་གཅིག་ལ་ཚོད་ལྟ་ཞིག་བྱེད་རོགས། - + Please try again in %1 seconds. ཁྱོད་ཀྱིས་དུས་ཚོད་སྐར་ཆ་གཅིག་གི་ནང་དུ་ཡང་བསྐྱར་ཚོད་ལྟ་ཞིག་བྱེད་རོགས། - + Account locked permanently. དུས་གཏན་དུ་ཟྭ་བརྒྱབ་པའི་རྩིས་ཐོ། - - Verify face recognition or enter password to unlock - ངོ་གདོང་ངོས་འཛིན་ལ་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་ + ངོ་གདོང་ངོས་འཛིན་ལ་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་ - + Guest 游客 - Press fingerprint or enter password to unlock - མཛུབ་རིས་མནན་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ + མཛུབ་རིས་མནན་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ - Verify voiceprint or enter password to unlock - སྒྲ་པར་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག + སྒྲ་པར་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག - Verify finger vein or enter password to unlock - མཛུབ་མོའི་ནང་དུ་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ + མཛུབ་མོའི་ནང་དུ་ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ - Verify iris or enter password to unlock - iris ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་ + iris ཞིབ་བཤེར་བྱེད་པའམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་ - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: ནང་འཇུག་གི་གསང་གྲངས། - + Input Password ནང་འཇུག་གི་གསང་གྲངས། - + Username སྤྱོད་མཁན་གྱི་མིང་། - + User name input error! - + login - - - - + + + + Failed to verify %1, please enter password to unlock %1ལ་ཞིབ་བཤེར་བྱེད་མ་ཐུབ་ན། གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག་རོགས། - - - - - + + + + + Unable to verify %1, please enter password to unlock %1ལ་ཞིབ་བཤེར་བྱེད་ཐབས་བྲལ་བ་དང་། གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག་རོགས། - + Abnormal network རྒྱུན་ལྡན་མིན་པའི་དྲ་ - + Face recognition waiting time out, please click refresh or enter the password to unlock. མིའི་གདོང་ལ་དབྱེ་འབྱེད་བྱེད་པར་རེ་སྒུག་བྱེད་དུས་གསང་གྲངས་ཀྱི་སྒོ་ལྕགས་རྒྱག་རོགས། - + FingerPrint མཛུབ་རིས། - + FingerVein FingerVein - + Iris Iris - + Face མིའི་གདོང་། - + VoicePrint སྒྲ་རིས། - - + + Ukey བདེ་འཇགས་གསང་ལྡེ་ - - + + QRCode དོན་ཚན་གཉིས་པ། - + fingerprint མཛུབ་རིས། - + fingervein སྡོད་རྩ་ཞེས་པ་ནི་སྡོད་རྩར - + iris འཇའ་སྐྱི། - + face ངོ་གདོང་། - + voiceprint སྒྲ་གདངས་ཀྱི་རི་མོ། @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty གསང་གྲངས་སྟོང་པ་ཡིན་མི་སྲིད། @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities %1ལ་ཞིབ་བཤེར་བྱེད་མ་ཐུབ་ན། ཁྱེད་ཚོར་ད་དུང་%2ལ་ཞིབ་བཤེར་བྱེད་པའི་གོ་སྐབས་ཡོད། @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again བདེན་དཔང་ར་སྤྲོད་བྱེད་མ་ཐུབ་ན། ཡང་བསྐྱར་ཚོད་ལྟ་ཞིག - Use the bound wechat scanning code or enter the password to unlock - འབྲེལ་མཐུད་ཀྱི་འཕྲིན་ཕྲན་ཞིབ་བཤེར་ཨང་གྲངས་སམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག་པ། + འབྲེལ་མཐུད་ཀྱི་འཕྲིན་ཕྲན་ཞིབ་བཤེར་ཨང་གྲངས་སམ་ཡང་ན་གསང་གྲངས་ནང་འཇུག་བྱས་ནས་ཟྭ་རྒྱག་པ། Enter the ukey password @@ -283,8 +307,8 @@ གསང་གྲངས། - - + + Login ཐོ་འགོད་བྱེད་པ། @@ -1693,7 +1717,7 @@ IconEdit - + OK སྤྲོད་དགོས། @@ -2086,53 +2110,53 @@ LoginOptionsWidget - - + + Login Options ཐོ་འགོད་ཀྱི་བསལ་འདེམས་ཀྱི་དབང་ཆ། - + Password གསང་གྲངས། - + Other གཞན་དག - + FingerPrint མཛུབ་རིས། - + FingerVein སྡོད་རྩ་ཞེས་པ་ནི་སྡོད་རྩར - + Iris འཇའ་སྐྱི། - + Face ངོ་གདོང་། - + VoicePrint སྒྲ་གདངས་ཀྱི་རི་མོ། - + Ukey བདེ་འཇགས་གསང་ལྡེ་ - + QRCode དོན་ཚན་གཉིས་པ། @@ -2141,7 +2165,7 @@ 微信 - + Identify device removed! དབྱེ་འབྱེད་སྒྲིག་ཆས་མེད་པར་བཟོ་དགོས། diff --git a/i18n_ts/de.ts b/i18n_ts/de.ts index 5882b2d..af10fba 100644 --- a/i18n_ts/de.ts +++ b/i18n_ts/de.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry Wiederholen @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. Versuchen Sie es in %1 Minuten erneut. - + Please try again in %1 seconds. Bitte versuchen Sie es in %1 Sekunden erneut. - + Account locked permanently. Das Konto wurde dauerhaft gesperrt. - - Verify face recognition or enter password to unlock - Überprüfen Sie die Gesichtserkennung oder geben Sie das Passwort ein, um zu entsperren + Überprüfen Sie die Gesichtserkennung oder geben Sie das Passwort ein, um zu entsperren - + Guest 游客 - Press fingerprint or enter password to unlock - Drücken Sie den Fingerabdruck oder geben Sie das Passwort ein, um zu entsperren + Drücken Sie den Fingerabdruck oder geben Sie das Passwort ein, um zu entsperren - Verify voiceprint or enter password to unlock - Überprüfen Sie den Stimmabdruck oder geben Sie das Passwort ein, um zu entsperren + Überprüfen Sie den Stimmabdruck oder geben Sie das Passwort ein, um zu entsperren - Verify finger vein or enter password to unlock - Überprüfen Sie die Fingervene oder geben Sie das Passwort ein, um zu entsperren + Überprüfen Sie die Fingervene oder geben Sie das Passwort ein, um zu entsperren - Verify iris or enter password to unlock - Überprüfen Sie die Iris oder geben Sie das Passwort ein, um zu entsperren + Überprüfen Sie die Iris oder geben Sie das Passwort ein, um zu entsperren - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: - + Input Password Passwort eingeben - + Username Nutzername - + User name input error! - + login - - - - + + + + Failed to verify %1, please enter password to unlock %1 konnte nicht verifiziert werden, bitte geben Sie das Kennwort zum Entsperren ein - - - - - + + + + + Unable to verify %1, please enter password to unlock %1 kann nicht verifiziert werden, bitte geben Sie das Kennwort zum Entsperren ein - + Abnormal network Ungewöhnliches Netzwerk - + Face recognition waiting time out, please click refresh or enter the password to unlock. - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - - + + Ukey Ukey - - + + QRCode QRCode - + fingerprint - + fingervein - + iris - + face - + voiceprint @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty Das Kennwort darf nicht leer sein. @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities %1 konnte nicht verifiziert werden, Sie haben immer noch %2 Überprüfungsmöglichkeiten @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again Authentifizierungsfehler, Bitte versuchen Sie es erneut - Use the bound wechat scanning code or enter the password to unlock - Verwenden Sie den gebundenen Wechat-Scan-Code oder geben Sie das Passwort zum Entsperren ein + Verwenden Sie den gebundenen Wechat-Scan-Code oder geben Sie das Passwort zum Entsperren ein Enter the ukey password @@ -283,8 +307,8 @@ Passwort - - + + Login Einloggen @@ -1704,7 +1728,7 @@ IconEdit - + OK OKAY @@ -2090,53 +2114,53 @@ LoginOptionsWidget - - + + Login Options Login-Optionen - + Password Passwort - + Other Andere - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - + Ukey Ukey - + QRCode QRCode @@ -2145,7 +2169,7 @@ 微信 - + Identify device removed! Gerät identifizieren entfernt! diff --git a/i18n_ts/es.ts b/i18n_ts/es.ts index 890529a..d0bd176 100644 --- a/i18n_ts/es.ts +++ b/i18n_ts/es.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry Reintentar @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. Inténtelo de nuevo en %1 minutos. - + Please try again in %1 seconds. Inténtelo de nuevo en %1 segundos. - + Account locked permanently. Cuenta bloqueada permanentemente. - - Verify face recognition or enter password to unlock - Verifique el reconocimiento facial o ingrese la contraseña para desbloquear + Verifique el reconocimiento facial o ingrese la contraseña para desbloquear - + Guest 游客 - Press fingerprint or enter password to unlock - Presione la huella dactilar o ingrese la contraseña para desbloquear + Presione la huella dactilar o ingrese la contraseña para desbloquear - Verify voiceprint or enter password to unlock - Verifica la huella de voz o ingresa la contraseña para desbloquear + Verifica la huella de voz o ingresa la contraseña para desbloquear - Verify finger vein or enter password to unlock - Verifique la vena del dedo o ingrese la contraseña para desbloquear + Verifique la vena del dedo o ingrese la contraseña para desbloquear - Verify iris or enter password to unlock - Verifique el iris o ingrese la contraseña para desbloquear + Verifique el iris o ingrese la contraseña para desbloquear - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: - + Input Password Contraseña de entrada - + Username Nombre de usuario - + User name input error! - + login - - - - + + + + Failed to verify %1, please enter password to unlock No se pudo verificar %1, ingrese la contraseña para desbloquear - - - - - + + + + + Unable to verify %1, please enter password to unlock No se puede verificar %1, ingrese la contraseña para desbloquear - + Abnormal network Red anormal - + Face recognition waiting time out, please click refresh or enter the password to unlock. - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - - + + Ukey Ukey - - + + QRCode QRCode - + fingerprint - + fingervein - + iris - + face - + voiceprint @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty La contraseña no puede estar vacía @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities No se pudo verificar %1, todavía tiene %2 oportunidades de verificación @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again Error de autenticación, inténtelo de nuevo - Use the bound wechat scanning code or enter the password to unlock - Use el código de escaneo de wechat vinculado o ingrese la contraseña para desbloquear + Use el código de escaneo de wechat vinculado o ingrese la contraseña para desbloquear Enter the ukey password @@ -283,8 +307,8 @@ Contraseña - - + + Login Iniciar sesión @@ -1704,7 +1728,7 @@ IconEdit - + OK De acuerdo @@ -2094,53 +2118,53 @@ LoginOptionsWidget - - + + Login Options Opciones de inicio de sesión - + Password Contraseña - + Other Otro - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - + Ukey Ukey - + QRCode QRCode @@ -2149,7 +2173,7 @@ 微信 - + Identify device removed! ¡Identifique el dispositivo eliminado! diff --git a/i18n_ts/fr.ts b/i18n_ts/fr.ts index 0a70d66..6181ffb 100644 --- a/i18n_ts/fr.ts +++ b/i18n_ts/fr.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry Réessayer @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. Veuillez réessayer dans %1 minutes. - + Please try again in %1 seconds. Veuillez réessayer dans %1 secondes. - + Account locked permanently. Compte verrouillé définitivement. - - Verify face recognition or enter password to unlock - Vérifier la reconnaissance faciale ou saisir le mot de passe pour déverrouiller + Vérifier la reconnaissance faciale ou saisir le mot de passe pour déverrouiller - + Guest 游客 - Press fingerprint or enter password to unlock - Appuyez sur l’empreinte digitale ou entrez le mot de passe pour déverrouiller + Appuyez sur l’empreinte digitale ou entrez le mot de passe pour déverrouiller - Verify voiceprint or enter password to unlock - Vérifier l’empreinte vocale ou saisir le mot de passe pour déverrouiller + Vérifier l’empreinte vocale ou saisir le mot de passe pour déverrouiller - Verify finger vein or enter password to unlock - Vérifiez la veine du doigt ou entrez le mot de passe pour déverrouiller + Vérifiez la veine du doigt ou entrez le mot de passe pour déverrouiller - Verify iris or enter password to unlock - Vérifiez l’iris ou entrez le mot de passe pour déverrouiller + Vérifiez l’iris ou entrez le mot de passe pour déverrouiller - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: - + Input Password Mot de passe d’entrée - + Username Nom d’utilisateur - + User name input error! - + login - - - - + + + + Failed to verify %1, please enter password to unlock Impossible de vérifier %1, veuillez entrer le mot de passe pour déverrouiller - - - - - + + + + + Unable to verify %1, please enter password to unlock Impossible de vérifier %1, veuillez entrer le mot de passe pour déverrouiller - + Abnormal network Réseau anormal - + Face recognition waiting time out, please click refresh or enter the password to unlock. - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - - + + Ukey Ukey (en anglais seulement) - - + + QRCode QRCode - + fingerprint - + fingervein - + iris - + face - + voiceprint @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty Le mot de passe ne peut pas être vide @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities Échec de la vérification %1, vous avez encore %2 possibilités de vérification @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again Échec de l’authentification, veuillez réessayer - Use the bound wechat scanning code or enter the password to unlock - Utilisez le code d’analyse wechat lié ou entrez le mot de passe pour déverrouiller + Utilisez le code d’analyse wechat lié ou entrez le mot de passe pour déverrouiller Enter the ukey password @@ -283,8 +307,8 @@ Mot de passe - - + + Login Connectez-vous @@ -1704,7 +1728,7 @@ IconEdit - + OK D’ACCORD @@ -2090,53 +2114,53 @@ LoginOptionsWidget - - + + Login Options Options de connexion - + Password Mot de passe - + Other Autre - + FingerPrint - + FingerVein - + Iris - + Face - + VoicePrint - + Ukey Ukey (en anglais seulement) - + QRCode QRCode @@ -2145,7 +2169,7 @@ 微信 - + Identify device removed! Identifier l’appareil supprimé ! diff --git a/i18n_ts/kk.ts b/i18n_ts/kk.ts index 15e34da..4848710 100644 --- a/i18n_ts/kk.ts +++ b/i18n_ts/kk.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry قاتە قاتە سىناۋ @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. .ٴسىز 1% مينۋت ٸشٸندە قاتە سىناپ كور - + Please try again in %1 seconds. .ٴسىز 1% سەكونت ٸشٸندە قاتە سىناپ كور - + Account locked permanently. .ەسەپات ماڭگىلىك قۇلىپتالادى - - Verify face recognition or enter password to unlock - چىراي تانىسن دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ + چىراي تانىسن دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ - + Guest مەيمان (اتسىز تٸزٸمدەۇ) - Press fingerprint or enter password to unlock - بارماقشى ٴٸزدٸ باسٸۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ + بارماقشى ٴٸزدٸ باسٸۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ - Verify voiceprint or enter password to unlock - اۋا ٴٸزدٸ دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ + اۋا ٴٸزدٸ دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ - Verify finger vein or enter password to unlock - بارماقشى ٴٸزٸ ارقىلى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ + بارماقشى ٴٸزٸ ارقىلى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ - Verify iris or enter password to unlock - نى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ Iris + نى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ Iris - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: قۇپيا نومەر - + Input Password قۇپيا نۇمىردى كىرگىزىڭىز - + Username ابونت مى - + User name input error! پايدالانۋشٸ اتٸ قاتە كىرگىزىلدى - + login كىرۋ - - - - + + + + Failed to verify %1, please enter password to unlock دالەلدەۋ 1% جەڭىلىپ قالدى، قۇپيا نومەر كىرگىزىڭىز - - - - - + + + + + Unable to verify %1, please enter password to unlock دالەلدەۋگە بولمادى 1%، قۇپيا نۇمىردى كىرەۈزۈپ قۇلىبىن ٴٸشڭٸز - + Abnormal network بينورمال تور - + Face recognition waiting time out, please click refresh or enter the password to unlock. چىراي تونۇتۇشنىڭ ساقتاۋ ۋاقىتى ٸشٸپ كەتتى، جاڭالاۋدى تۇرتىپ ياكي قۇپيا نومەر كىرەۈزۈپ قۇلىبىن ٴٸشڭٸز. - + FingerPrint بارماقشى ٴٸزٸ - + FingerVein بارماقشى ۋېناسى - + Iris تۇستى پەردە - + Face ادام بەتى - + VoicePrint اۋا ٴٸزٸ - - + + Ukey قۇپيا كىلت - - + + QRCode ەكٸلٸك رازمەر - + fingerprint بارماقشى ٴٸزٸ - + fingervein بارماقشى ۋېنا تومۇزى - + iris تۇستى پەردە - + face ادام بەتى - + voiceprint اۋا ٴٸزٸ @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty قۇپيا نۇمىردى بوس قويۋعا بولمايدى @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities دالەلدەۋ 1% جەڭىلىپ قالدى، جانە 2% دالەلدەۋ ورايڭىز بار @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again دالەلدەۋ جەڭىلىپ قالدى، قاتە سىناپ كور - Use the bound wechat scanning code or enter the password to unlock - بايلانعان ئۈندىدارنى كەسكىندەۋ بەلگىسى ياكي قۇپيا نۇمىردى كىرەۈزۈپ قۇلىپ ٸشٸۋ + بايلانعان ئۈندىدارنى كەسكىندەۋ بەلگىسى ياكي قۇپيا نۇمىردى كىرەۈزۈپ قۇلىپ ٸشٸۋ Enter the ukey password @@ -283,8 +307,8 @@ 密码 - - + + Login كىرۋ @@ -1684,7 +1708,7 @@ IconEdit - + OK 提交 @@ -2066,53 +2090,53 @@ LoginOptionsWidget - - + + Login Options كىرۋ تالدانبالارٸ - + Password قۇپيا نومەر - + Other باسقا - + FingerPrint بارماقشى ٴٸزٸ - + FingerVein بارماقشى ۋېناسى - + Iris تۇستى پەردە - + Face ادام بەتى - + VoicePrint اۋا ٴٸزٸ - + Ukey قۇپيا كىلت - + QRCode ەكٸلٸك رازمەر @@ -2121,7 +2145,7 @@ 微信 - + Identify device removed! !اسبابٸن پارىقتاندىرۋ چىقىرىۋېتىلدى diff --git a/i18n_ts/ky.ts b/i18n_ts/ky.ts index ae28119..558d37a 100644 --- a/i18n_ts/ky.ts +++ b/i18n_ts/ky.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry قايرا قايرا سىنوو @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. .سىز 1% مىنۇت ىچىندە قايرا سىناپ باعىڭ - + Please try again in %1 seconds. .سىز 1% سىكونت ىچىندە قايرا سىناپ باعىڭ - + Account locked permanently. .ەسابات تۉبۅلۉك قۇلۇپلىنىدۇ - - Verify face recognition or enter password to unlock - چىراي تاانىشتى دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ + چىراي تاانىشتى دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ - + Guest قونوق (اتى جوق تىزىمدەتىش ) - Press fingerprint or enter password to unlock - بارماق ىزىن باسۇۇدا كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ + بارماق ىزىن باسۇۇدا كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ - Verify voiceprint or enter password to unlock - دووش ىزىن دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ + دووش ىزىن دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ - Verify finger vein or enter password to unlock - بارماق ئزى ارقىلۇۇ انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ + بارماق ئزى ارقىلۇۇ انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ - Verify iris or enter password to unlock - نى انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ Iris + نى انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ Iris - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: جاشىرۇۇن نومۇر - + Input Password جاشىرۇۇن نومۇردۇ كىرگىزىڭ - + Username كەرەكتۅۅچۉ ناامى - + User name input error! ىشتەتۉۉچۉ اتى قاتاا كىرگىزىلدى - + login كىرۉۉ - - - - + + + + Failed to verify %1, please enter password to unlock دالىلدۅ 1% جەڭىلۉۉ بولدۇ ، جاشىرۇۇن نومۇر كىرگىزىڭ - - - - - + + + + + Unable to verify %1, please enter password to unlock دالىلدۅۅگۅ بولبودۇ 1%، جاشىرۇۇن نومۇردۇ كىيىرىپ قۇلۇپنى اچىڭ - + Abnormal network بۅتۅنچۅ تور - + Face recognition waiting time out, please click refresh or enter the password to unlock. چىراي تونۇتۇشنىڭ ساقتوو ۇباقتى اشىپ كەتتى، جاڭىلوونۇ چەگىپ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىيىرىپ قۇلۇپنى اچىڭ. - + FingerPrint بارماق ئزى - + FingerVein بارماق ۋېناسى - + Iris رەڭدار پاردا - + Face ادام بەتى - + VoicePrint دووش ئزى - - + + Ukey جاشىرۇۇن اچقىچ - - + + QRCode ەكىلىك قۇپۇيا نومۇر - + fingerprint بارماق ئزى - + fingervein بارماق ۋېنا تومۇزى - + iris رەڭدار پاردا - + face ادام بەتى - + voiceprint دووش ئزى @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty جاشىرۇۇن نومۇردۇ بوش ،بەكەر قويۇشقا بولبويت @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities دالىلدۅ 1% جەڭىلۉۉ بولدۇ ، داعى 2% دالىلدۅ وڭۇتۇڭۇز بار @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again دالىلدۅ جەڭىلۉۉ بولدۇ ، قايرا سىناپ باعىڭ - Use the bound wechat scanning code or enter the password to unlock - بايلانعان ئۈندىدارنى ىسكاننىردوو قۇپۇيا نومۇرۇ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇرۇن كىيىرىپ قۇلپ اچۇۇ + بايلانعان ئۈندىدارنى ىسكاننىردوو قۇپۇيا نومۇرۇ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇرۇن كىيىرىپ قۇلپ اچۇۇ Enter the ukey password @@ -283,8 +307,8 @@ 密码 - - + + Login كىرۉۉ @@ -1684,7 +1708,7 @@ IconEdit - + OK 提交 @@ -2066,53 +2090,53 @@ LoginOptionsWidget - - + + Login Options كىرۉۉ تاندالمالارى - + Password جاشىرۇۇن نومۇر - + Other باشقا - + FingerPrint بارماق ئزى - + FingerVein بارماق ۋېناسى - + Iris رەڭدار پاردا - + Face ادام بەتى - + VoicePrint دووش ئزى - + Ukey جاشىرۇۇن اچقىچ - + QRCode ەكىلىك قۇپۇيا نومۇر @@ -2121,7 +2145,7 @@ 微信 - + Identify device removed! !اسپاپتى ايىرمالاندىرىش چىقىرىۋېتىلدى diff --git a/i18n_ts/mn.ts b/i18n_ts/mn.ts index 30e9e6b..34df8e9 100644 --- a/i18n_ts/mn.ts +++ b/i18n_ts/mn.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry ᠳᠠᠬᠢᠵᠤ ᠳᠤᠷᠰᠢᠬᠤ @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. %1 ᠮᠢᠨᠦ᠋ᠲ᠎ᠦᠨ ᠳᠠᠷᠠᠭ᠎ᠠ ᠳᠠᠬᠢᠵᠤ ᠳᠤᠷᠠᠱᠢᠭᠠᠷᠠᠢ - + Please try again in %1 seconds. %1 ᠮᠢᠨᠦ᠋ᠲ᠎ᠦᠨ ᠳᠠᠷᠠᠭ᠎ᠠ ᠳᠠᠬᠢᠵᠤ ᠳᠤᠷᠠᠱᠢᠭᠠᠷᠠᠢ - + Account locked permanently. ᠳᠠᠩᠰᠠ ᠨᠢᠭᠡᠨᠳᠡ ᠦᠨᠢᠳᠡ ᠤᠨᠢᠰᠤᠯᠠᠭᠳᠠᠪᠠ᠃ - - Verify face recognition or enter password to unlock - ᠨᠢᠭᠤᠷ ᠱᠢᠷᠪᠢᠵᠤ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠨᠢᠭᠤᠷ ᠱᠢᠷᠪᠢᠵᠤ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - + Guest ᠵᠤᠷᠴᠢᠭᠴᠢ ᠨᠡᠪᠳᠡᠷᠡᠬᠦ - Press fingerprint or enter password to unlock - ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠤᠷᠤᠮ ᠳᠠᠷᠤᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠤᠷᠤᠮ ᠳᠠᠷᠤᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - Verify voiceprint or enter password to unlock - ᠳᠠᠭᠤ᠎ᠪᠠᠷ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠳᠠᠭᠤ᠎ᠪᠠᠷ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - Verify finger vein or enter password to unlock - ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠨᠠᠮᠵᠢᠭᠤᠨ ᠰᠤᠳᠠᠯ᠎ᠢᠶᠠᠷ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠨᠠᠮᠵᠢᠭᠤᠨ ᠰᠤᠳᠠᠯ᠎ᠢᠶᠠᠷ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - Verify iris or enter password to unlock - ᠰᠤᠯᠤᠩᠭ᠎ᠠ ᠪᠦᠷᠬᠦᠪᠴᠢ᠎ᠶᠢ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠰᠤᠯᠤᠩᠭ᠎ᠠ ᠪᠦᠷᠬᠦᠪᠴᠢ᠎ᠶᠢ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠬᠤ - + Input Password ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠬᠤ - + Username ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠡᠷ᠎ᠡ - + User name input error! ᠬᠡᠷᠡᠭᠯᠡᠭᠴᠢ ᠵᠢᠨ ᠨᠡᠷ᠎ᠡ ᠵᠢ ᠪᠤᠷᠤᠭᠤ ᠤᠷᠤᠭᠤᠯᠪᠠ! - + login ᠳᠠᠩᠰᠠᠯᠠᠨ ᠤᠷᠤᠬᠤ - - - - + + + + Failed to verify %1, please enter password to unlock %1᠎ᠤ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠤᠯᠳᠠ ᠢᠯᠠᠭᠳᠠᠪᠠ ᠂ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - - - - - + + + + + Unable to verify %1, please enter password to unlock %1᠎ᠶᠢ/᠎ᠢ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠬᠤ ᠠᠷᠭ᠎ᠠ ᠦᠬᠡᠢ ᠂ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ - + Abnormal network ᠰᠦᠯᠵᠢᠶ᠎ᠡ ᠬᠡᠪ᠎ᠦᠨ ᠪᠤᠰᠤ - + Face recognition waiting time out, please click refresh or enter the password to unlock. ᠬᠦᠮᠦᠨ ᠤ ᠨᠢᠭᠤᠷ ᠢ ᠢᠯᠭᠠᠬᠤ ᠦᠶᠡᠰ᠂ ᠰᠢᠨᠡᠳᠭᠡᠬᠦ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠨᠤᠮᠸᠷ ᠤᠨ ᠣᠨᠢᠰᠤ ᠶᠢ ᠲᠠᠷᠤᠭᠠᠷᠠᠢ᠃ - + FingerPrint ᠬᠤᠷᠤᠭᠤᠨ ᠣᠷᠣᠮ - + FingerVein ᠨᠠᠮ ᠵᠢᠮ ᠰᠤᠳᠠᠯ ᠢ ᠵᠢᠭᠠᠨ᠎ᠠ - + Iris ᠬᠠᠯᠢᠰᠤ - + Face ᠴᠢᠷᠠᠢ᠎ᠪᠠᠷ ᠢᠯᠭᠠᠨ ᠳᠠᠨᠢᠬᠤ - + VoicePrint ᠳᠠᠭᠤᠨ ᠤ ᠣᠷᠣᠮ - - + + Ukey ᠠᠶᠤᠯᠭᠦᠢ ᠨᠢᠭᠤᠴᠠ ᠲᠦᠯᠬᠢᠭᠦᠷ - - + + QRCode ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋ - + fingerprint ᠬᠤᠷᠤᠭᠤᠨ ᠣᠷᠣᠮ - + fingervein ᠨᠠᠮ ᠵᠢᠮ ᠰᠤᠳᠠᠯ ᠢ ᠵᠢᠭᠠᠨ᠎ᠠ - + iris ᠬᠠᠯᠢᠰᠤ - + face ᠨᠢᠭᠤᠷ ᠴᠢᠷᠠᠢ - + voiceprint ᠳᠠᠭᠤᠨ ᠤ ᠣᠷᠣᠮ @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠬᠤᠭᠤᠰᠤᠨ ᠪᠠᠢᠵᠤ ᠪᠤᠯᠬᠤ ᠦᠬᠡᠢ @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities %1᠎ᠶᠢᠨ/᠎ᠦᠨ ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠤᠯᠳᠠ ᠢᠯᠠᠭᠳᠠᠪᠠ ᠂ ᠲᠠ ᠪᠠᠰᠠ%2 ᠤᠳᠠᠭᠠᠨ᠎ᠤ ᠳᠤᠷᠱᠢᠬᠤ ᠵᠠᠪᠱᠢᠶᠠᠨ ᠲᠠᠢ @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again ᠪᠠᠳᠤᠯᠭᠠᠵᠢᠭᠤᠯᠤᠯᠳᠠ ᠢᠯᠠᠭᠳᠠᠪᠠ ᠂ ᠳᠠᠬᠢᠵᠤ ᠳᠤᠷᠱᠢᠭᠠᠷᠠᠢ - Use the bound wechat scanning code or enter the password to unlock - ᠤᠶᠠᠭᠰᠠᠨ ᠸᠢᠴᠠᠲ᠎ᠢᠶᠠᠷ ᠺᠤᠳ᠋ ᠱᠢᠷᠪᠢᠬᠦ᠌ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ + ᠤᠶᠠᠭᠰᠠᠨ ᠸᠢᠴᠠᠲ᠎ᠢᠶᠠᠷ ᠺᠤᠳ᠋ ᠱᠢᠷᠪᠢᠬᠦ᠌ ᠪᠤᠶᠤ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ ᠤᠷᠤᠭᠤᠯᠵᠤ ᠤᠨᠢᠰᠤ᠎ᠶᠢ ᠳᠠᠢᠯᠤᠭᠠᠷᠠᠢ Enter the ukey password @@ -283,8 +307,8 @@ ᠨᠢᠭᠤᠴᠠ ᠺᠤᠳ᠋ - - + + Login ᠳᠠᠩᠰᠠᠯᠠᠨ ᠤᠷᠤᠬᠤ @@ -1688,7 +1712,7 @@ IconEdit - + OK ᠪᠠᠰᠠ ᠪᠣᠯᠣᠨ᠎ᠠ ᠃ @@ -2089,53 +2113,53 @@ LoginOptionsWidget - - + + Login Options ᠨᠡᠪᠳᠡᠷᠡᠬᠦ᠌ ᠰᠤᠩᠭᠤᠯᠳᠠ - + Password ᠨᠢᠭᠤᠴᠠ ᠺᠣᠳ᠋᠎ᠢ᠋ ᠵᠠᠰᠠᠬᠤ - + Other ᠪᠤᠰᠤᠳ - + FingerPrint ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠤᠷᠤᠮ - + FingerVein ᠬᠤᠷᠤᠭᠤᠨ᠎ᠤ ᠨᠠᠮᠵᠢᠭᠤᠨ ᠰᠤᠳᠠᠯ - + Iris ᠰᠤᠯᠤᠩᠭ᠎ᠠ ᠪᠦᠷᠬᠦᠪᠴᠢ - + Face ᠴᠢᠷᠠᠢ᠎ᠪᠠᠷ ᠢᠯᠭᠠᠨ ᠳᠠᠨᠢᠬᠤ - + VoicePrint ᠳᠠᠭᠤᠨ᠎ᠤ ᠢᠷᠠᠯᠵᠢ - + Ukey ᠠᠶᠤᠯᠭᠦᠢ ᠨᠢᠭᠤᠴᠠ ᠲᠦᠯᠬᠢᠭᠦᠷ - + QRCode ᠬᠤᠶᠠᠷ ᠬᠡᠮᠵᠢᠯᠳᠡᠳᠦ ᠺᠤᠳ᠋ @@ -2144,7 +2168,7 @@ 微信 - + Identify device removed! ᠬᠠᠷᠭᠤᠭᠤᠯᠵᠤ ᠱᠢᠯᠭᠠᠬᠤ ᠳᠦᠬᠦᠬᠡᠷᠦᠮᠵᠢ᠎ᠶᠢ ᠨᠢᠭᠡᠨᠳᠡ ᠱᠢᠯᠵᠢᠬᠦᠯᠦᠨ ᠬᠠᠰᠤᠪᠠ! diff --git a/i18n_ts/pt.ts b/i18n_ts/pt.ts index 52d54a0..8d879ec 100644 --- a/i18n_ts/pt.ts +++ b/i18n_ts/pt.ts @@ -70,30 +70,6 @@ Login - - Verify face recognition or enter password to unlock - - - - Press fingerprint or enter password to unlock - - - - Verify voiceprint or enter password to unlock - - - - Verify finger vein or enter password to unlock - - - - Verify iris or enter password to unlock - - - - Use the bound wechat scanning code or enter the password to unlock - - Password cannot be empty @@ -182,6 +158,30 @@ Password: + + Facial recognition to unlock + + + + Fingerprint recognition to unlock + + + + Voiceprint recognition to unlock + + + + Finger vein recognition to unlock + + + + Iris recognition to unlock + + + + Use the bound wechat scanning code to unlock + + BatteryWidget diff --git a/i18n_ts/ru.ts b/i18n_ts/ru.ts index 3e865fc..8117e89 100644 --- a/i18n_ts/ru.ts +++ b/i18n_ts/ru.ts @@ -70,30 +70,6 @@ Login - - Verify face recognition or enter password to unlock - - - - Press fingerprint or enter password to unlock - - - - Verify voiceprint or enter password to unlock - - - - Verify finger vein or enter password to unlock - - - - Verify iris or enter password to unlock - - - - Use the bound wechat scanning code or enter the password to unlock - - Password cannot be empty @@ -182,6 +158,30 @@ Password: + + Facial recognition to unlock + + + + Fingerprint recognition to unlock + + + + Voiceprint recognition to unlock + + + + Finger vein recognition to unlock + + + + Iris recognition to unlock + + + + Use the bound wechat scanning code to unlock + + BatteryWidget diff --git a/i18n_ts/tr.ts b/i18n_ts/tr.ts index ee07c9f..c37b5c9 100644 --- a/i18n_ts/tr.ts +++ b/i18n_ts/tr.ts @@ -24,7 +24,7 @@ Parola - + Retry Yeniden Dene @@ -49,190 +49,190 @@ Kimlik doğrulama hatası, hala %1 kalan denemen var - - + + Login - + Guest Misafir - - - Verify face recognition or enter password to unlock + + + Facial recognition to unlock - - Press fingerprint or enter password to unlock + + Fingerprint recognition to unlock - - Verify voiceprint or enter password to unlock + + Voiceprint recognition to unlock - - Verify finger vein or enter password to unlock + + Finger vein recognition to unlock - - Verify iris or enter password to unlock + + Iris recognition to unlock - - Use the bound wechat scanning code or enter the password to unlock + + Use the bound wechat scanning code to unlock - + Password cannot be empty - + Password: - + Input Password - + Username - + User name input error! - - + + Authentication failure, Please try again - + login - + Please try again in %1 minutes. - + Please try again in %1 seconds. - + Account locked permanently. - - - - + + + + Failed to verify %1, please enter password to unlock - - - - - + + + + + Unable to verify %1, please enter password to unlock - - + + Failed to verify %1, you still have %2 verification opportunities - + Abnormal network - + Face recognition waiting time out, please click refresh or enter the password to unlock. - + FingerPrint Parmak İzi - + FingerVein - + Iris Göz - + Face Yüz - + VoicePrint Ses İzi - - + + Ukey - - + + QRCode - + fingerprint - + fingervein - + iris - + face - + voiceprint @@ -629,7 +629,7 @@ IconEdit - + OK Tamam @@ -762,58 +762,58 @@ LoginOptionsWidget - - + + Login Options - + Password Parola - + Other - + Identify device removed! - + FingerPrint Parmak İzi - + FingerVein - + Iris Göz - + Face Yüz - + VoicePrint Ses İzi - + Ukey - + QRCode diff --git a/i18n_ts/ug.ts b/i18n_ts/ug.ts index 01cbc36..b8180e2 100644 --- a/i18n_ts/ug.ts +++ b/i18n_ts/ug.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry قايتا قايتا سىناش @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. .سىز 1% مىنۇت ئىچىدە قايتا سىناپ بېقىڭ - + Please try again in %1 seconds. .سىز 1% سېكۇنت ئىچىدە قايتا سىناپ بېقىڭ - + Account locked permanently. .ھېسابات مەڭگۈلۈك قۇلۇپلىنىدۇ - - Verify face recognition or enter password to unlock - چىراي تونۇشنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش + چىراي تونۇشنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش - + Guest مېھمان (نامسىز تىزىملىتىش) - Press fingerprint or enter password to unlock - بارماق ئىزىنى بېسىش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش + بارماق ئىزىنى بېسىش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش - Verify voiceprint or enter password to unlock - ئاۋاز ئىزىنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش + ئاۋاز ئىزىنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش - Verify finger vein or enter password to unlock - بارماق ئىزى ئارقىلىق ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش + بارماق ئىزى ئارقىلىق ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش - Verify iris or enter password to unlock - نى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش Iris + نى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش Iris - + + + Facial recognition to unlock + + + + + Fingerprint recognition to unlock + + + + + Voiceprint recognition to unlock + + + + + Finger vein recognition to unlock + + + + + Iris recognition to unlock + + + + + Use the bound wechat scanning code to unlock + + + + Password: مەخپىي نومۇر - + Input Password مەخپىي نومۇرنى كىرگۈزۈڭ - + Username ئابۇنت نامى - + User name input error! ئىشلەتكۈچى ئىسمى خاتا كىرگۈزۈلدى - + login كىرىش - - - - + + + + Failed to verify %1, please enter password to unlock دەلىللەش 1% مەغلۇپ بولدى، مەخپىي نومۇر كىرگۈزۈڭ - - - - - + + + + + Unable to verify %1, please enter password to unlock دەلىللەشكە بولمىدى 1%، مەخپىي نومۇرنى كىرگۈزۈپ قۇلۇپنى ئېچىڭ - + Abnormal network بىنورمال تور - + Face recognition waiting time out, please click refresh or enter the password to unlock. چىراي تونۇتۇشنىڭ ساقلاش ۋاقتى ئېشىپ كەتتى، يېڭىلاشنى چېكىپ ياكى مەخپىي نومۇر كىرگۈزۈپ قۇلۇپنى ئېچىڭ. - + FingerPrint بارماق ئىزى - + FingerVein بارماق ۋېناسى - + Iris رەڭدار پەردە - + Face ئادەم يۈزى - + VoicePrint ئاۋاز ئىزى - - + + Ukey مەخپىي ئاچقۇچ - - + + QRCode ئىككىلىك كود - + fingerprint بارماق ئىزى - + fingervein بارماق ۋېنا تومۇزى - + iris رەڭدار پەردە - + face ئادەم يۈزى - + voiceprint ئاۋاز ئىزى @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities دەلىللەش 1% مەغلۇپ بولدى، يەنە 2% دەلىللەش پۇرسىتىڭىز بار @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again دەلىللەش مەغلۇپ بولدى، قايتا سىناپ بېقىڭ - Use the bound wechat scanning code or enter the password to unlock - باغلانغان ئۈندىدارنى سىكاننېرلاش كودى ياكى مەخپىي نومۇرىنى كىرگۈزۈپ قۇلۇپ ئېچىش + باغلانغان ئۈندىدارنى سىكاننېرلاش كودى ياكى مەخپىي نومۇرىنى كىرگۈزۈپ قۇلۇپ ئېچىش Enter the ukey password @@ -283,8 +307,8 @@ مەخپىي نۇمۇر - - + + Login كىرىش @@ -1700,7 +1724,7 @@ IconEdit - + OK 提交 @@ -2074,53 +2098,53 @@ LoginOptionsWidget - - + + Login Options كىرىش تاللانمىلىرى - + Password مەخپىي نومۇر - + Other باشقا - + FingerPrint بارماق ئىزى - + FingerVein بارماق ۋېناسى - + Iris رەڭدار پەردە - + Face ئادەم يۈزى - + VoicePrint ئاۋاز ئىزى - + Ukey مەخپىي ئاچقۇچ - + QRCode ئىككىلىك كود @@ -2129,7 +2153,7 @@ 微信 - + Identify device removed! !ئۈسكۈنىنى پەرقلەندۈرۈش چىقىرىۋېتىلدى diff --git a/i18n_ts/zh_CN.ts b/i18n_ts/zh_CN.ts index a43ed24..4c0c1d2 100644 --- a/i18n_ts/zh_CN.ts +++ b/i18n_ts/zh_CN.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry 重试 @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. 请%1分钟后再试 - + Please try again in %1 seconds. 请%1秒后再试 - + Account locked permanently. 账号已被永久锁定 - - Verify face recognition or enter password to unlock - 验证人脸识别或输入密码解锁 + 验证人脸识别或输入密码解锁 - + Guest 游客 - Press fingerprint or enter password to unlock - 按压指纹或输入密码解锁 + 按压指纹或输入密码解锁 - Verify voiceprint or enter password to unlock - 验证声纹或输入密码解锁 + 验证声纹或输入密码解锁 - Verify finger vein or enter password to unlock - 验证指静脉或输入密码解锁 + 验证指静脉或输入密码解锁 - Verify iris or enter password to unlock - 验证虹膜或输入密码解锁 + 验证虹膜或输入密码解锁 - + + + Facial recognition to unlock + 识别人脸解锁 + + + + Fingerprint recognition to unlock + 识别指纹解锁 + + + + Voiceprint recognition to unlock + 识别声纹解锁 + + + + Finger vein recognition to unlock + 识别指静脉解锁 + + + + Iris recognition to unlock + 识别虹膜解锁 + + + + Use the bound wechat scanning code to unlock + 微信扫码解锁 + + + Password: 密码: - + Input Password 输入密码 - + Username 用户名: - + User name input error! 用户名输入错误 - + login 登录 - - - - + + + + Failed to verify %1, please enter password to unlock 验证%1失败,请输入密码解锁 - - - - - + + + + + Unable to verify %1, please enter password to unlock 无法验证%1,请输入密码解锁 - + Abnormal network 网络异常 - + Face recognition waiting time out, please click refresh or enter the password to unlock. 人脸识别等待超时,请点击刷新或输入密码解锁 - + FingerPrint 指纹 - + FingerVein 指静脉 - + Iris 虹膜 - + Face 人脸识别 - + VoicePrint 声纹 - - + + Ukey 安全密钥 - - + + QRCode 二维码 - + fingerprint 指纹 - + fingervein 指静脉 - + iris 虹膜 - + face 人脸 - + voiceprint 声纹 @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty 密码不能为空 @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities 验证%1失败,您还有%2次尝试机会 @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again 认证失败,请重试 - Use the bound wechat scanning code or enter the password to unlock - 使用绑定的微信扫码或输入密码解锁 + 使用绑定的微信扫码或输入密码解锁 Enter the ukey password @@ -283,8 +307,8 @@ 密码 - - + + Login 登录 @@ -1684,7 +1708,7 @@ IconEdit - + OK 提交 @@ -2066,53 +2090,53 @@ LoginOptionsWidget - - + + Login Options 登录选项 - + Password 密码 - + Other 其他 - + FingerPrint 指纹 - + FingerVein 指静脉 - + Iris 虹膜 - + Face 人脸识别 - + VoicePrint 声纹 - + Ukey 安全密钥 - + QRCode 二维码 @@ -2121,7 +2145,7 @@ 微信 - + Identify device removed! 校验设备已移除! diff --git a/i18n_ts/zh_HK.ts b/i18n_ts/zh_HK.ts index eac2ea1..c378c49 100644 --- a/i18n_ts/zh_HK.ts +++ b/i18n_ts/zh_HK.ts @@ -24,7 +24,7 @@ 使用密码认证 - + Retry 重試 @@ -53,162 +53,187 @@ 账户锁定%1分钟由于%2次错误尝试 - + Please try again in %1 minutes. 請在 %1 分鐘後重試。 - + Please try again in %1 seconds. 請在 %1 秒後重試。 - + Account locked permanently. 帳戶永久鎖定。 - - Verify face recognition or enter password to unlock - 驗證人臉識別或輸入密碼解鎖 + 驗證人臉識別或輸入密碼解鎖 - + Guest 游客 - Press fingerprint or enter password to unlock - 按指紋或輸入密碼解鎖 + 按指紋或輸入密碼解鎖 - Verify voiceprint or enter password to unlock - 驗證聲紋或輸入密碼以解鎖 + 驗證聲紋或輸入密碼以解鎖 - Verify finger vein or enter password to unlock - 驗證指靜脈或輸入密碼解鎖 + 驗證指靜脈或輸入密碼解鎖 - Verify iris or enter password to unlock - 驗證虹膜或輸入密碼解鎖 + 驗證虹膜或輸入密碼解鎖 - + + + Facial recognition to unlock + 識別人臉解鎖 + + + + Fingerprint recognition to unlock + 識別指紋解鎖 + + + + Voiceprint recognition to unlock + 識別聲紋解鎖 + + + + Finger vein recognition to unlock + 識別指靜脈解鎖 + + + + Iris recognition to unlock + 識別虹膜解鎖 + + + + Use the bound wechat scanning code to unlock + 微信掃碼解鎖 + + + Password: 密码: - + Input Password 輸入密碼 - + Username 使用者名 - + User name input error! 使用者名输入错误! - + login 登录 - - - - + + + + Failed to verify %1, please enter password to unlock 驗證 %1 失敗,請輸入密碼進行解鎖 - - - - - + + + + + Unable to verify %1, please enter password to unlock 無法驗證 %1,請輸入密碼進行解鎖 - + Abnormal network 網路異常 - + Face recognition waiting time out, please click refresh or enter the password to unlock. 人臉識別等待超時,請點擊刷新或輸入密碼解鎖 - + FingerPrint 指紋 - + FingerVein 指靜脈 - + Iris 虹膜 - + Face 人臉 - + VoicePrint 聲紋 - - + + Ukey 安全金鑰 - - + + QRCode 微信掃碼 - + fingerprint 指紋 - + fingervein 指靜脈 - + iris 虹膜 - + face 人臉 - + voiceprint 聲紋 @@ -217,7 +242,7 @@ 使用绑定的微信扫码或输入密码登录 - + Password cannot be empty 密碼不能為空 @@ -230,8 +255,8 @@ 无法验证%1,请输入密码. - - + + Failed to verify %1, you still have %2 verification opportunities 驗證 %1 失敗,您仍有 %2 次驗證機會 @@ -260,15 +285,14 @@ 请输入密码或者录入指纹 - - + + Authentication failure, Please try again 身份驗證失敗,請重試 - Use the bound wechat scanning code or enter the password to unlock - 使用綁定的微信掃碼或輸入密碼解鎖 + 使用綁定的微信掃碼或輸入密碼解鎖 Enter the ukey password @@ -283,8 +307,8 @@ 密碼 - - + + Login 登錄 @@ -1692,7 +1716,7 @@ IconEdit - + OK 提交 @@ -2086,53 +2110,53 @@ LoginOptionsWidget - - + + Login Options 登錄選項 - + Password 密碼 - + Other 其他 - + FingerPrint 指紋 - + FingerVein 指靜脈 - + Iris 虹膜 - + Face 人臉 - + VoicePrint 聲紋 - + Ukey 安全金鑰 - + QRCode 微信掃碼 @@ -2141,7 +2165,7 @@ 微信 - + Identify device removed! 識別已刪除的設備! diff --git a/src/assets.qrc b/src/assets.qrc index c819269..ce5d943 100644 --- a/src/assets.qrc +++ b/src/assets.qrc @@ -128,6 +128,53 @@ assets/logout.svg assets/lockscreen.svg assets/fengmian.png + assets/biowaiting/iris0.svg + assets/biowaiting/iris1.svg + assets/biowaiting/iris2.svg + assets/biowaiting/iris3.svg + assets/biowaiting/iris4.svg + assets/biowaiting/iris5.svg + assets/biowaiting/iris6.svg + assets/biowaiting/iris7.svg + assets/biowaiting/iris8.svg + assets/biowaiting/iris9.svg + assets/biowaiting/iris10.svg + assets/biowaiting/iris11.svg + assets/biowaiting/fingervein0.svg + assets/biowaiting/fingervein1.svg + assets/biowaiting/fingervein2.svg + assets/biowaiting/fingervein3.svg + assets/biowaiting/fingervein4.svg + assets/biowaiting/fingervein5.svg + assets/biowaiting/fingervein6.svg + assets/biowaiting/fingervein7.svg + assets/biowaiting/fingervein8.svg + assets/biowaiting/fingervein9.svg + assets/biowaiting/fingervein10.svg + assets/biowaiting/fingervein11.svg + assets/biowaiting/voiceprint0.svg + assets/biowaiting/voiceprint1.svg + assets/biowaiting/voiceprint2.svg + assets/biowaiting/voiceprint3.svg + assets/biowaiting/fingerprint0.svg + assets/biowaiting/fingerprint1.svg + assets/biowaiting/fingerprint2.svg + assets/biowaiting/fingerprint3.svg + assets/biowaiting/fingerprint4.svg + assets/biowaiting/fingerprint5.svg + assets/biowaiting/fingerprint6.svg + assets/biowaiting/fingerprint7.svg + assets/biowaiting/fingerprint8.svg + assets/biowaiting/fingerprint9.svg + assets/biowaiting/fingerprint10.svg + assets/biowaiting/fingerprint11.svg + assets/biowaiting/fingerprint12.svg + assets/biowaiting/fingerprint13.svg + assets/biowaiting/fingerprint14.svg + assets/biowaiting/voiceprint4.svg + assets/biowaiting/voiceprint5.svg + assets/biowaiting/voiceprint6.svg + assets/biowaiting/voiceprint7.svg assets/data/conf.ini diff --git a/src/assets/biowaiting/fingerprint0.svg b/src/assets/biowaiting/fingerprint0.svg new file mode 100644 index 0000000..a5e84bd --- /dev/null +++ b/src/assets/biowaiting/fingerprint0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint1.svg b/src/assets/biowaiting/fingerprint1.svg new file mode 100644 index 0000000..0856372 --- /dev/null +++ b/src/assets/biowaiting/fingerprint1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint10.svg b/src/assets/biowaiting/fingerprint10.svg new file mode 100644 index 0000000..315aaf0 --- /dev/null +++ b/src/assets/biowaiting/fingerprint10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint11.svg b/src/assets/biowaiting/fingerprint11.svg new file mode 100644 index 0000000..73ab76d --- /dev/null +++ b/src/assets/biowaiting/fingerprint11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint12.svg b/src/assets/biowaiting/fingerprint12.svg new file mode 100644 index 0000000..2b0c41e --- /dev/null +++ b/src/assets/biowaiting/fingerprint12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint13.svg b/src/assets/biowaiting/fingerprint13.svg new file mode 100644 index 0000000..9f37f06 --- /dev/null +++ b/src/assets/biowaiting/fingerprint13.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint14.svg b/src/assets/biowaiting/fingerprint14.svg new file mode 100644 index 0000000..c3c6675 --- /dev/null +++ b/src/assets/biowaiting/fingerprint14.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint2.svg b/src/assets/biowaiting/fingerprint2.svg new file mode 100644 index 0000000..ce0a21b --- /dev/null +++ b/src/assets/biowaiting/fingerprint2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint3.svg b/src/assets/biowaiting/fingerprint3.svg new file mode 100644 index 0000000..3ff19ba --- /dev/null +++ b/src/assets/biowaiting/fingerprint3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint4.svg b/src/assets/biowaiting/fingerprint4.svg new file mode 100644 index 0000000..c3c80d4 --- /dev/null +++ b/src/assets/biowaiting/fingerprint4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint5.svg b/src/assets/biowaiting/fingerprint5.svg new file mode 100644 index 0000000..fdec768 --- /dev/null +++ b/src/assets/biowaiting/fingerprint5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint6.svg b/src/assets/biowaiting/fingerprint6.svg new file mode 100644 index 0000000..e682cb6 --- /dev/null +++ b/src/assets/biowaiting/fingerprint6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint7.svg b/src/assets/biowaiting/fingerprint7.svg new file mode 100644 index 0000000..b63d893 --- /dev/null +++ b/src/assets/biowaiting/fingerprint7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint8.svg b/src/assets/biowaiting/fingerprint8.svg new file mode 100644 index 0000000..a9023c0 --- /dev/null +++ b/src/assets/biowaiting/fingerprint8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingerprint9.svg b/src/assets/biowaiting/fingerprint9.svg new file mode 100644 index 0000000..4c0be88 --- /dev/null +++ b/src/assets/biowaiting/fingerprint9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein0.svg b/src/assets/biowaiting/fingervein0.svg new file mode 100644 index 0000000..746aba7 --- /dev/null +++ b/src/assets/biowaiting/fingervein0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein1.svg b/src/assets/biowaiting/fingervein1.svg new file mode 100644 index 0000000..cda8446 --- /dev/null +++ b/src/assets/biowaiting/fingervein1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein10.svg b/src/assets/biowaiting/fingervein10.svg new file mode 100644 index 0000000..ecc78f5 --- /dev/null +++ b/src/assets/biowaiting/fingervein10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein11.svg b/src/assets/biowaiting/fingervein11.svg new file mode 100644 index 0000000..478d000 --- /dev/null +++ b/src/assets/biowaiting/fingervein11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein2.svg b/src/assets/biowaiting/fingervein2.svg new file mode 100644 index 0000000..b04c496 --- /dev/null +++ b/src/assets/biowaiting/fingervein2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein3.svg b/src/assets/biowaiting/fingervein3.svg new file mode 100644 index 0000000..7217db0 --- /dev/null +++ b/src/assets/biowaiting/fingervein3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein4.svg b/src/assets/biowaiting/fingervein4.svg new file mode 100644 index 0000000..92d47ea --- /dev/null +++ b/src/assets/biowaiting/fingervein4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein5.svg b/src/assets/biowaiting/fingervein5.svg new file mode 100644 index 0000000..7f53c6c --- /dev/null +++ b/src/assets/biowaiting/fingervein5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein6.svg b/src/assets/biowaiting/fingervein6.svg new file mode 100644 index 0000000..4a6776e --- /dev/null +++ b/src/assets/biowaiting/fingervein6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein7.svg b/src/assets/biowaiting/fingervein7.svg new file mode 100644 index 0000000..f7adf46 --- /dev/null +++ b/src/assets/biowaiting/fingervein7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein8.svg b/src/assets/biowaiting/fingervein8.svg new file mode 100644 index 0000000..1ea6843 --- /dev/null +++ b/src/assets/biowaiting/fingervein8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/fingervein9.svg b/src/assets/biowaiting/fingervein9.svg new file mode 100644 index 0000000..6e00868 --- /dev/null +++ b/src/assets/biowaiting/fingervein9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris0.svg b/src/assets/biowaiting/iris0.svg new file mode 100644 index 0000000..6fb8a60 --- /dev/null +++ b/src/assets/biowaiting/iris0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris1.svg b/src/assets/biowaiting/iris1.svg new file mode 100644 index 0000000..052eefb --- /dev/null +++ b/src/assets/biowaiting/iris1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris10.svg b/src/assets/biowaiting/iris10.svg new file mode 100644 index 0000000..0df7826 --- /dev/null +++ b/src/assets/biowaiting/iris10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris11.svg b/src/assets/biowaiting/iris11.svg new file mode 100644 index 0000000..8ab52bd --- /dev/null +++ b/src/assets/biowaiting/iris11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris2.svg b/src/assets/biowaiting/iris2.svg new file mode 100644 index 0000000..68c4479 --- /dev/null +++ b/src/assets/biowaiting/iris2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris3.svg b/src/assets/biowaiting/iris3.svg new file mode 100644 index 0000000..b750b2e --- /dev/null +++ b/src/assets/biowaiting/iris3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris4.svg b/src/assets/biowaiting/iris4.svg new file mode 100644 index 0000000..141450c --- /dev/null +++ b/src/assets/biowaiting/iris4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris5.svg b/src/assets/biowaiting/iris5.svg new file mode 100644 index 0000000..e879021 --- /dev/null +++ b/src/assets/biowaiting/iris5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris6.svg b/src/assets/biowaiting/iris6.svg new file mode 100644 index 0000000..f4e971d --- /dev/null +++ b/src/assets/biowaiting/iris6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris7.svg b/src/assets/biowaiting/iris7.svg new file mode 100644 index 0000000..9cf5557 --- /dev/null +++ b/src/assets/biowaiting/iris7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris8.svg b/src/assets/biowaiting/iris8.svg new file mode 100644 index 0000000..551dddd --- /dev/null +++ b/src/assets/biowaiting/iris8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/iris9.svg b/src/assets/biowaiting/iris9.svg new file mode 100644 index 0000000..4304442 --- /dev/null +++ b/src/assets/biowaiting/iris9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint0.svg b/src/assets/biowaiting/voiceprint0.svg new file mode 100644 index 0000000..73e5a92 --- /dev/null +++ b/src/assets/biowaiting/voiceprint0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint1.svg b/src/assets/biowaiting/voiceprint1.svg new file mode 100644 index 0000000..083798e --- /dev/null +++ b/src/assets/biowaiting/voiceprint1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint2.svg b/src/assets/biowaiting/voiceprint2.svg new file mode 100644 index 0000000..16883e1 --- /dev/null +++ b/src/assets/biowaiting/voiceprint2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint3.svg b/src/assets/biowaiting/voiceprint3.svg new file mode 100644 index 0000000..509ceae --- /dev/null +++ b/src/assets/biowaiting/voiceprint3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint4.svg b/src/assets/biowaiting/voiceprint4.svg new file mode 100644 index 0000000..5208d79 --- /dev/null +++ b/src/assets/biowaiting/voiceprint4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint5.svg b/src/assets/biowaiting/voiceprint5.svg new file mode 100644 index 0000000..19be4b0 --- /dev/null +++ b/src/assets/biowaiting/voiceprint5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint6.svg b/src/assets/biowaiting/voiceprint6.svg new file mode 100644 index 0000000..9304c58 --- /dev/null +++ b/src/assets/biowaiting/voiceprint6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/biowaiting/voiceprint7.svg b/src/assets/biowaiting/voiceprint7.svg new file mode 100644 index 0000000..dc96601 --- /dev/null +++ b/src/assets/biowaiting/voiceprint7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/common/commonfunc.cpp b/src/common/commonfunc.cpp index ee17304..88e1571 100644 --- a/src/common/commonfunc.cpp +++ b/src/common/commonfunc.cpp @@ -67,6 +67,21 @@ QPixmap scaledPixmap(QPixmap src) return rectPixmap; } +QPixmap scaledSmoothPixmap(const QPixmap &src, int nWidth, int nHeight) +{ + if (src.isNull()) { + return QPixmap(); + } + + QPixmap pixmapa(src); + QPixmap pixmap(nWidth, nHeight); + pixmap.fill(Qt::transparent); + QPainter painter(&pixmap); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + painter.drawPixmap(0, 0, nWidth, nHeight, pixmapa); + return pixmap; +} + QPixmap PixmapToRound(const QPixmap &src, int radius) { if (src.isNull()) { @@ -98,13 +113,16 @@ QPixmap PixmapToRound(const QPixmap &src, int leftTop, int rightTop, int leftBot QPainterPath path; path.moveTo(leftTop, 0); - path.arcTo(QRect(0, 0, 2*leftTop, 2*leftTop), 90, 90); + path.arcTo(QRect(0, 0, 2 * leftTop, 2 * leftTop), 90, 90); path.lineTo(0, src.height() - leftBottom); - path.arcTo(QRect(0, src.height() - 2*leftBottom, 2*leftBottom, 2*leftBottom), 180, 90); + path.arcTo(QRect(0, src.height() - 2 * leftBottom, 2 * leftBottom, 2 * leftBottom), 180, 90); path.lineTo(src.width() - rightBottom, src.height()); - path.arcTo(QRect(src.width() - 2*rightBottom, src.height() - 2*rightBottom, 2*rightBottom, 2*rightBottom), 270, 90); + path.arcTo( + QRect(src.width() - 2 * rightBottom, src.height() - 2 * rightBottom, 2 * rightBottom, 2 * rightBottom), + 270, + 90); path.lineTo(src.width(), rightTop); - path.arcTo(QRect(src.width() - 2*rightTop, 0, 2*rightTop, 2*rightTop), 0, 90); + path.arcTo(QRect(src.width() - 2 * rightTop, 0, 2 * rightTop, 2 * rightTop), 0, 90); path.closeSubpath(); painter.setClipPath(path); @@ -199,8 +217,8 @@ QPixmap blurPixmap(QPixmap pixmap) QImage srcImg = pixmap.toImage(); qt_blurImage(&painter, srcImg, BLUR_RADIUS, false, false); - //在设置Qt::WA_TranslucentBackground属性后,模糊图片会导致锁屏界面透明 - //因此这里修改image图形的alpha值为255. + // 在设置Qt::WA_TranslucentBackground属性后,模糊图片会导致锁屏界面透明 + // 因此这里修改image图形的alpha值为255. for (int y = 0; y < srcImg.height(); ++y) { QRgb *row = (QRgb *)srcImg.scanLine(y); for (int x = 0; x < srcImg.width(); ++x) { diff --git a/src/common/commonfunc.h b/src/common/commonfunc.h index 1524751..0fcb00f 100644 --- a/src/common/commonfunc.h +++ b/src/common/commonfunc.h @@ -39,4 +39,6 @@ QPixmap blurPixmap(QPixmap pixmap); QPixmap scaleBlurPixmap(int width, int height, QString url); +QPixmap scaledSmoothPixmap(const QPixmap &src, int nWidth, int nHeight); + #endif // COMMONFUNC_H diff --git a/src/widgets/authdialog.cpp b/src/widgets/authdialog.cpp index e831004..6967dcc 100644 --- a/src/widgets/authdialog.cpp +++ b/src/widgets/authdialog.cpp @@ -30,6 +30,7 @@ #include #include #include +#include #include "definetypes.h" #include #include @@ -67,6 +68,9 @@ void AuthDialog::initUI() m_curFontSize = m_modelLockDialog->getCurFontSize(); m_ptToPx = m_modelLockDialog->getPtToPx(); + // 生物认证空占位 + m_widgetPlaceholder = new QWidget(this); + m_widgetPlaceholder->hide(); // 生物认证提示 m_tipWidget = new QWidget(this); @@ -89,6 +93,7 @@ void AuthDialog::initUI() m_widgetLoginOpts = new QWidget(this); mainLayout->addStretch(); + mainLayout->addWidget(m_widgetPlaceholder); mainLayout->addWidget(m_tipWidget); mainLayout->addWidget(m_headerWidget); mainLayout->addWidget(m_nameWidget); @@ -163,6 +168,9 @@ void AuthDialog::updateAuthSize() m_nameWidget->setFixedSize(this->width(), WIDGET_HEIGHT_USERNAME); if (m_editWidget) m_editWidget->setFixedSize(this->width(), WIDGET_HEIGHT_PASSWDEDIT); + if (m_widgetPlaceholder) { + m_widgetPlaceholder->setFixedSize(this->width(), WIDGET_HEIGHT_PASSWDEDIT); + } if (m_ukeyPasswdWidget) m_ukeyPasswdWidget->setFixedSize(this->width(), WIDGET_HEIGHT_PASSWDEDIT); @@ -178,7 +186,8 @@ void AuthDialog::updateAuthSize() if (m_labelLoginTypeTip) { m_labelLoginTypeTip->setFixedSize(m_tipWidget->size()); - m_labelLoginTypeTip->setFontSize((14 + m_curFontSize) * m_ptToPx); + m_labelLoginTypeTip->setFontSize((26 + m_curFontSize) * m_ptToPx); + m_labelLoginTypeTip->setFontWeight(QFont::Medium); } if (m_labelHeadImg) m_labelHeadImg->setFixedSize(WIDGET_HEIGHT_HEADIMAGE, WIDGET_HEIGHT_HEADIMAGE); @@ -203,6 +212,9 @@ void AuthDialog::updateAuthSize() m_labelQRCodeMsg->setFixedHeight(30 * scale); m_labelQRCodeMsg->setFontSize((14 + m_curFontSize) * m_ptToPx); } + if (m_labelBioWaiting) { + m_labelBioWaiting->setFixedSize(WIDGET_HEIGHT_HEADIMAGE, WIDGET_HEIGHT_HEADIMAGE); + } if (m_nameLabel) { m_nameLabel->setFixedSize(this->width(), WIDGET_HEIGHT_USERNAME); m_nameLabel->setFontSize((24 + m_curFontSize) * m_ptToPx); @@ -266,7 +278,7 @@ void AuthDialog::updateAuthFont(QString fontFamily) void AuthDialog::updateAuthFontSize(double fontSize) { if (m_labelLoginTypeTip) { - m_labelLoginTypeTip->setFontSize((14 + fontSize) * m_ptToPx); + m_labelLoginTypeTip->setFontSize((26 + fontSize) * m_ptToPx); } if (m_ukeyMessageLabel) { m_ukeyMessageLabel->setFontSize((14 + fontSize) * m_ptToPx); @@ -312,6 +324,11 @@ void AuthDialog::initHeaderWidget() headerLayout->addWidget(m_labelFace); m_labelFace->hide(); + // 生物特征等待验证动画 + m_labelBioWaiting = new QLabel(m_headerWidget); + headerLayout->addWidget(m_labelBioWaiting); + m_labelBioWaiting->hide(); + // 人脸识别重试 m_fRetryButton = new QPushButton(m_headerWidget); m_fRetryButton->setFocusPolicy(Qt::NoFocus); @@ -537,11 +554,14 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) case LOGINOPT_TYPE_PASSWORD: { m_tipWidget->show(); m_editWidget->show(); + m_widgetPlaceholder->hide(); m_headerWidget->show(); m_nameWidget->show(); m_labelHeadImg->show(); m_labelQRCode->hide(); m_labelFace->hide(); + m_labelBioWaiting->hide(); + stopBioWaiting(); m_fRetryButton->hide(); m_ukeyPasswdWidget->hide(); m_ukeyPasswordEdit->clearFocus(); @@ -550,12 +570,15 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) } break; case LOGINOPT_TYPE_FACE: { m_tipWidget->show(); - m_editWidget->show(); + m_editWidget->hide(); + m_widgetPlaceholder->show(); m_headerWidget->show(); m_nameWidget->show(); m_labelHeadImg->hide(); m_labelQRCode->hide(); m_labelFace->show(); + m_labelBioWaiting->hide(); + stopBioWaiting(); m_fRetryButton->hide(); m_ukeyPasswdWidget->hide(); m_ukeyPasswordEdit->clearFocus(); @@ -570,12 +593,15 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) case LOGINOPT_TYPE_FINGERVEIN: case LOGINOPT_TYPE_IRIS: { m_tipWidget->show(); - m_editWidget->show(); + m_editWidget->hide(); + m_widgetPlaceholder->show(); m_headerWidget->show(); m_nameWidget->show(); - m_labelHeadImg->show(); + m_labelHeadImg->hide(); m_labelQRCode->hide(); m_labelFace->hide(); + m_labelBioWaiting->show(); + startBioWaiting(uLoginOptType); m_fRetryButton->hide(); m_ukeyPasswdWidget->hide(); m_ukeyPasswordEdit->clearFocus(); @@ -584,13 +610,16 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) } break; case LOGINOPT_TYPE_QRCODE: { m_tipWidget->show(); - m_editWidget->show(); + m_editWidget->hide(); + m_widgetPlaceholder->show(); m_headerWidget->show(); m_nameWidget->show(); m_labelHeadImg->hide(); setQRCodeMsg(""); m_labelQRCode->show(); m_labelFace->hide(); + m_labelBioWaiting->hide(); + stopBioWaiting(); m_fRetryButton->hide(); m_ukeyPasswdWidget->hide(); m_ukeyPasswordEdit->clearFocus(); @@ -600,11 +629,14 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) case LOGINOPT_TYPE_GENERAL_UKEY: { m_tipWidget->show(); m_editWidget->show(); + m_widgetPlaceholder->hide(); m_headerWidget->show(); m_nameWidget->show(); m_labelHeadImg->show(); m_labelQRCode->hide(); m_labelFace->hide(); + m_labelBioWaiting->hide(); + stopBioWaiting(); m_fRetryButton->hide(); m_customWidget->hide(); m_ukeyPasswdWidget->show(); @@ -616,8 +648,10 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) case LOGINOPT_TYPE_CUSTOM: { m_tipWidget->hide(); m_editWidget->hide(); + m_widgetPlaceholder->hide(); m_headerWidget->hide(); m_nameWidget->hide(); + stopBioWaiting(); setQRCodeMsg(""); m_ukeyPasswdWidget->hide(); m_ukeyPasswordEdit->clearFocus(); @@ -658,22 +692,22 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) setLoginTypeTip(""); } break; case LOGINOPT_TYPE_FACE: { - setLoginTypeTip(tr("Verify face recognition or enter password to unlock")); + setLoginTypeTip(tr("Facial recognition to unlock")); } break; case LOGINOPT_TYPE_FINGERPRINT: { - setLoginTypeTip(tr("Press fingerprint or enter password to unlock")); + setLoginTypeTip(tr("Fingerprint recognition to unlock")); } break; case LOGINOPT_TYPE_VOICEPRINT: { - setLoginTypeTip(tr("Verify voiceprint or enter password to unlock")); + setLoginTypeTip(tr("Voiceprint recognition to unlock")); } break; case LOGINOPT_TYPE_FINGERVEIN: { - setLoginTypeTip(tr("Verify finger vein or enter password to unlock")); + setLoginTypeTip(tr("Finger vein recognition to unlock")); } break; case LOGINOPT_TYPE_IRIS: { - setLoginTypeTip(tr("Verify iris or enter password to unlock")); + setLoginTypeTip(tr("Iris recognition to unlock")); } break; case LOGINOPT_TYPE_QRCODE: { - setLoginTypeTip(tr("Use the bound wechat scanning code or enter the password to unlock")); + setLoginTypeTip(tr("Use the bound wechat scanning code to unlock")); } break; case LOGINOPT_TYPE_GENERAL_UKEY: { setLoginTypeTip(""); @@ -686,7 +720,7 @@ void AuthDialog::switchLoginOptType(unsigned uLoginOptType, bool faceBtnClicked) } } else if (uLoginOptType == m_uCurLoginOptType && uLoginOptType == LOGINOPT_TYPE_FACE && !faceBtnClicked) { clearMessage(); - setLoginTypeTip(tr("Verify face recognition or enter password to unlock")); + setLoginTypeTip(tr("Facial recognition to unlock")); } if (m_deviceInfo) { m_nLastDeviceId = m_deviceInfo->id; @@ -974,6 +1008,9 @@ void AuthDialog::onPamShowPrompt(QString strPrompt, int nType) m_timerUserUnlock->start(); } } + if (!m_isInhibitShow) { + show(); + } } void AuthDialog::onPamAuthCompleted() @@ -981,6 +1018,7 @@ void AuthDialog::onPamAuthCompleted() if (m_curUserInfo->name().isEmpty()) return; m_passwordEdit->stopWaiting(); + stopBioWaiting(); bool isAuthenticated = (Q_EMIT m_modelLockDialog->pamIsAuthenticated()); qDebug() << "onPamAuthCompleted:" << isAuthenticated << m_curUserInfo->name(); if (isAuthenticated) { @@ -1165,6 +1203,7 @@ void AuthDialog::onCurUserChanged(UserInfoPtr userInfo) void AuthDialog::showAuthenticated(bool successful /* = true*/) { m_editWidget->show(); + m_widgetPlaceholder->hide(); m_passwordEdit->hide(); m_messageButton->show(); m_messageButton->setDefault(true); @@ -1492,6 +1531,7 @@ void AuthDialog::performBiometricAuth() QImage imgFailed; setFaceImg(imgFailed, 1); } + stopBioWaiting(true); } m_loginOpts->setDeviceDisable(m_deviceInfo->id, true); // skipBiometricAuth(); @@ -1642,6 +1682,7 @@ void AuthDialog::onLoginOptsCount(unsigned uCount) QImage imgFailed; setFaceImg(imgFailed, 1); } + stopBioWaiting(true); } m_loginOpts->setDeviceDisable(m_deviceInfo->id, true); return; @@ -1787,6 +1828,7 @@ void AuthDialog::onBiometricAuthComplete(bool result, int nStatus) } else { setLoginTypeTip(tr("Unable to verify %1, please enter password to unlock") .arg(getDeviceType_lowerTr(m_deviceInfo->deviceType))); + stopBioWaiting(true); } if (m_loginOpts) m_loginOpts->setDeviceDisable(m_deviceInfo->id, true); @@ -2124,3 +2166,157 @@ QString AuthDialog::getDeviceType_lowerTr(int deviceType) return ""; } } + +void AuthDialog::startBioWaiting(unsigned uCurLoginOptType) +{ + if (uCurLoginOptType == m_nCurBioWaitingType + || (uCurLoginOptType != LOGINOPT_TYPE_FINGERPRINT && uCurLoginOptType != LOGINOPT_TYPE_FINGERVEIN + && uCurLoginOptType != LOGINOPT_TYPE_IRIS && uCurLoginOptType != LOGINOPT_TYPE_VOICEPRINT)) { + return; + } + m_nCurBioWaitingType = uCurLoginOptType; + if (!m_timerBioWaiting) { + m_timerBioWaiting = new QTimer(this); + m_timerBioWaiting->setInterval(100); + } + if (m_timerBioWaiting) { + if (m_timerBioWaiting->isActive()) { + m_timerBioWaiting->stop(); + } + // 重新连接信号槽 + disconnect(m_timerBioWaiting, nullptr, this, nullptr); + connect(m_timerBioWaiting, &QTimer::timeout, this, [&, this, uCurLoginOptType]() { + m_nBioWaitingFrame += 1; + QString strPicName = ""; + switch (uCurLoginOptType) { + case LOGINOPT_TYPE_FINGERPRINT: { + if (m_nBioWaitingFrame >= 15) { + m_nBioWaitingFrame = 0; + } + strPicName = QString(":/image/assets/biowaiting/fingerprint%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_FINGERVEIN: { + if (m_nBioWaitingFrame >= 12) { + m_nBioWaitingFrame = 0; + } + strPicName = QString(":/image/assets/biowaiting/fingervein%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_IRIS: { + if (m_nBioWaitingFrame >= 12) { + m_nBioWaitingFrame = 0; + } + strPicName = QString(":/image/assets/biowaiting/iris%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_VOICEPRINT: { + if (m_nBioWaitingFrame >= 8) { + m_nBioWaitingFrame = 0; + } + strPicName = QString(":/image/assets/biowaiting/voiceprint%1.svg").arg(m_nBioWaitingFrame); + } break; + default: + break; + } + if (!strPicName.isEmpty()) { + QPixmap pixmap; + if (QPixmapCache::find(strPicName, &pixmap)) { + m_labelBioWaiting->setPixmap(pixmap); + } else { + pixmap = scaledSmoothPixmap(QPixmap(strPicName), WIDGET_HEIGHT_HEADIMAGE, WIDGET_HEIGHT_HEADIMAGE); + if (!pixmap.isNull()) { + QPixmapCache::insert(strPicName, pixmap); + m_labelBioWaiting->setPixmap(pixmap); + } + } + } + }); + m_timerBioWaiting->start(); + m_nBioWaitingFrame = 0; + QString strPicName = ""; + switch (uCurLoginOptType) { + case LOGINOPT_TYPE_FINGERPRINT: { + strPicName = QString(":/image/assets/biowaiting/fingerprint%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_FINGERVEIN: { + strPicName = QString(":/image/assets/biowaiting/fingervein%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_IRIS: { + strPicName = QString(":/image/assets/biowaiting/iris%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_VOICEPRINT: { + strPicName = QString(":/image/assets/biowaiting/voiceprint%1.svg").arg(m_nBioWaitingFrame); + } break; + default: + break; + } + if (!strPicName.isEmpty()) { + QPixmap pixmap; + if (QPixmapCache::find(strPicName, &pixmap)) { + m_labelBioWaiting->setPixmap(pixmap); + } else { + pixmap = scaledSmoothPixmap(QPixmap(strPicName), WIDGET_HEIGHT_HEADIMAGE, WIDGET_HEIGHT_HEADIMAGE); + if (!pixmap.isNull()) { + QPixmapCache::insert(strPicName, pixmap); + m_labelBioWaiting->setPixmap(pixmap); + } + } + } + } +} + +void AuthDialog::stopBioWaiting(bool isDisable /* = false*/) +{ + if (m_timerBioWaiting) { + if (m_timerBioWaiting->isActive()) { + m_timerBioWaiting->stop(); + } + } + m_nBioWaitingFrame = 0; + if (isDisable) { + QString strPicName = ""; + switch (m_nCurBioWaitingType) { + case LOGINOPT_TYPE_FINGERPRINT: { + strPicName = QString(":/image/assets/biowaiting/fingerprint%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_FINGERVEIN: { + strPicName = QString(":/image/assets/biowaiting/fingervein%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_IRIS: { + strPicName = QString(":/image/assets/biowaiting/iris%1.svg").arg(m_nBioWaitingFrame); + } break; + case LOGINOPT_TYPE_VOICEPRINT: { + strPicName = QString(":/image/assets/biowaiting/voiceprint%1.svg").arg(m_nBioWaitingFrame); + } break; + default: + break; + } + if (!strPicName.isEmpty()) { + QPixmap pixmap; + if (QPixmapCache::find(strPicName, &pixmap)) { + m_labelBioWaiting->setPixmap(pixmap); + } else { + pixmap = scaledSmoothPixmap(QPixmap(strPicName), WIDGET_HEIGHT_HEADIMAGE, WIDGET_HEIGHT_HEADIMAGE); + if (!pixmap.isNull()) { + QPixmapCache::insert(strPicName, pixmap); + m_labelBioWaiting->setPixmap(pixmap); + } + } + } + } + m_nCurBioWaitingType = -1; +} + +void AuthDialog::inhibitShow(bool isInhibit) +{ + if (m_isInhibitShow != isInhibit) { + if (!isInhibit) { + if (isHidden() || !isVisible()) { + show(); + } + } else { + if (!isHidden() || isVisible()) { + hide(); + } + } + m_isInhibitShow = isInhibit; + } +} diff --git a/src/widgets/authdialog.h b/src/widgets/authdialog.h index 60cf629..679c565 100644 --- a/src/widgets/authdialog.h +++ b/src/widgets/authdialog.h @@ -73,6 +73,8 @@ public: void updateAuthFontSize(double fontSize); + void inhibitShow(bool isInhibit); + private Q_SLOTS: void onPamShowMessage(QString strMsg, int nType); void onPamShowPrompt(QString strPrompt, int nType); @@ -174,6 +176,9 @@ private: //一键开机认证函数 void startFirstLogin(); + void startBioWaiting(unsigned uCurLoginOptType); + void stopBioWaiting(bool isDisable = false); + private: LockDialogModel *m_modelLockDialog = nullptr; @@ -204,6 +209,12 @@ private: KLabel *m_labelQRCodeMsg = nullptr; // 二维码状态消息提示 QLabel *m_labelQRCodeTip = nullptr; QPushButton *m_fRetryButton = nullptr; //人脸识别重试按钮 + // 指纹、指静脉、虹膜、声纹识别动图 + QLabel *m_labelBioWaiting = nullptr; // 指纹、指静脉、虹膜、声纹识别动图提示 + QTimer *m_timerBioWaiting = nullptr; // 指纹、指静脉、虹膜、声纹识别动图切换定时器 + int m_nBioWaitingFrame = 0; // 当前显示的动图帧 + int m_nCurBioWaitingType = -1; // 当前显示的动图类型 + QWidget *m_widgetPlaceholder = nullptr; // 占位控件 QWidget *m_widgetLoginOpts = nullptr; // 登录选项 KLabel *m_optionTip = nullptr; @@ -284,5 +295,6 @@ private: QString m_strLastPamAuthName = ""; QDateTime m_lastPamAuthTime; + bool m_isInhibitShow = false; }; #endif // AUTHDIALOG_H diff --git a/src/widgets/klabel.cpp b/src/widgets/klabel.cpp index 40a03a7..80e42ee 100644 --- a/src/widgets/klabel.cpp +++ b/src/widgets/klabel.cpp @@ -23,9 +23,7 @@ #include #include -KLabel::KLabel(QWidget *parent) : QLabel(parent) - , m_speed(2) - , m_scrollOffset(0) +KLabel::KLabel(QWidget *parent) : QLabel(parent), m_speed(2), m_scrollOffset(0) { setWindowFlags(Qt::FramelessWindowHint); // m_strText = ""; @@ -48,6 +46,12 @@ void KLabel::setFontFamily(QString &family) this->setFont(sysFont); } +void KLabel::setFontWeight(int weight) +{ + sysFont.setWeight(weight); + this->setFont(sysFont); +} + void KLabel::setTipText(const QString &strText) { m_scrollOffset = 0; @@ -77,7 +81,7 @@ QString KLabel::text() const QString KLabel::getElidedText(QFont font, int width, QString strInfo) { QFontMetrics fontMetrics(font); - //如果当前字体下,字符串长度大于指定宽度 + // 如果当前字体下,字符串长度大于指定宽度 if (fontMetrics.width(strInfo) > width) { strInfo = QFontMetrics(font).elidedText(strInfo, Qt::ElideRight, width); } @@ -95,9 +99,15 @@ void KLabel::paintEvent(QPaintEvent *event) if (m_isMarqueeMode) { QLabel::setText(""); QPainter painter(this); - painter.drawText(m_scrollOffset + contentsMargins().left(), rect().top(), width() - contentsMargins().left() - contentsMargins().right() - m_scrollOffset, height(), - Qt::AlignLeft | Qt::TextSingleLine, m_strText); - //qDebug()<<"MarqueueText:"<initMultimediaControl(); } } + } else if (event->type() == QEvent::Hide) { + if (obj == this) { + if (authDialog && !authDialog->isHidden()) { + authDialog->hide(); + } + } } return false; @@ -111,7 +117,7 @@ bool LockWidget::exitSubWidget(bool isForScreensaver, bool hideVirkeyboard) { if (m_isSessionTools) { authDialog->setFocus(); - authDialog->show(); + authDialog->inhibitShow(false); buttonListWidget->show(); m_timeWidget->show(); m_powerListWidget->hide(); @@ -137,7 +143,7 @@ bool LockWidget::exitSubWidget(bool isForScreensaver, bool hideVirkeyboard) } if (m_powerListWidget && m_powerListWidget->isVisible()) { authDialog->setFocus(); - authDialog->show(); + authDialog->inhibitShow(false); if (m_widgetMediaControl) { m_widgetMediaControl->show(); } @@ -339,6 +345,7 @@ void LockWidget::initUI() authDialog = new AuthDialog(m_modelLockDialog, m_curUserInfo, this); authDialog->installEventFilter(this); + authDialog->hide(); m_curFont = m_modelLockDialog->getCurFont(); m_ptToPx = m_modelLockDialog->getPtToPx(); m_curFontSize = m_modelLockDialog->getCurFontSize(); @@ -1126,7 +1133,7 @@ void LockWidget::onShowPowerListWidget(bool issessionTools) } if (m_powerListWidget->isHidden()) { m_powerListWidget->show(); - authDialog->hide(); + authDialog->inhibitShow(true); if (m_powerListWidget->getScrollShowStatus()) { // 如果显示Scroll,直接从时间窗口底部开始显示 m_powerListWidget->move((width() - m_powerListWidget->width()) / 2, m_timeWidget->height() + 30); } else { // 居中显示 @@ -1143,7 +1150,7 @@ void LockWidget::onShowPowerListWidget(bool issessionTools) } } else { m_powerListWidget->hide(); - authDialog->show(); + authDialog->inhibitShow(false); authDialog->setFocus(); m_systemMonitorBtn->hide(); buttonListWidget->show(); @@ -1215,7 +1222,7 @@ void LockWidget::onHideVirkeyboard() void LockWidget::onShowInhibitWarning(QStringList list, int type, bool iscommand) { - authDialog->hide(); + authDialog->inhibitShow(true); if (m_widgetMediaControl) { m_widgetMediaControl->hide(); } @@ -1238,7 +1245,7 @@ void LockWidget::onShowInhibitWarning(QStringList list, int type, bool iscommand void LockWidget::onSureShutDown(int inhibitType, bool iscommand) { - authDialog->hide(); + authDialog->inhibitShow(true); buttonListWidget->hide(); m_timeWidget->hide(); m_powerListWidget->hide(); @@ -1271,7 +1278,7 @@ void LockWidget::onSureShutDown(int inhibitType, bool iscommand) void LockWidget::onMulUsersLogined(int inhibitType, bool iscommand) { - authDialog->hide(); + authDialog->inhibitShow(true); if (m_widgetMediaControl) { m_widgetMediaControl->hide(); } @@ -1306,7 +1313,7 @@ void LockWidget::onConfirmBtnClicked() { m_blockWidget->hide(); m_powerListWidget->hide(); - authDialog->show(); + authDialog->inhibitShow(false); if (m_widgetMediaControl) { m_widgetMediaControl->show(); } diff --git a/src/widgets/loginoptionswidget.cpp b/src/widgets/loginoptionswidget.cpp index 166ae4c..1ffde12 100644 --- a/src/widgets/loginoptionswidget.cpp +++ b/src/widgets/loginoptionswidget.cpp @@ -43,10 +43,8 @@ #include #include -LoginOptionsWidget::LoginOptionsWidget(BiometricHelper *bioHelper, - int uid, - UniAuthService *uniauthService, - QWidget *parent) +LoginOptionsWidget::LoginOptionsWidget( + BiometricHelper *bioHelper, int uid, UniAuthService *uniauthService, QWidget *parent) : QWidget(parent), m_biomericProxy(bioHelper), m_uid(uid), m_uniauthService(uniauthService) { m_listPriority.clear(); @@ -324,29 +322,12 @@ void LoginOptionsWidget::updateOptionButtons() isShowUkey = true; } - if (m_mapOptBtns.size() <= 2 && (!isShowUkey && !m_mapDevices.contains(LOGINOPT_TYPE_CUSTOM))) { - // 因为默认添加一个密码选项,因此当ukey没有显示出来时,按钮数小于等于2时就隐藏选项界面 - m_labelOptTitle->hide(); - QMap::iterator itMapBtn = m_mapOptBtns.begin(); - for (; itMapBtn != m_mapOptBtns.end(); itMapBtn++) { - if (itMapBtn.value()) { - itMapBtn.value()->hide(); - } + m_labelOptTitle->show(); + QMap::iterator itMapBtn = m_mapOptBtns.begin(); + for (; itMapBtn != m_mapOptBtns.end(); itMapBtn++) { + if (itMapBtn.value()) { + itMapBtn.value()->show(); } - } else { - m_labelOptTitle->show(); - QMap::iterator itMapBtn = m_mapOptBtns.begin(); - for (; itMapBtn != m_mapOptBtns.end(); itMapBtn++) { - if (itMapBtn.value()) { - itMapBtn.value()->show(); - } - } - } - m_mapOptBtns[-1]->hide(); - if (m_mapOptBtns.size() == 2 && (isShowUkey || m_mapDevices.contains(LOGINOPT_TYPE_CUSTOM))) { - m_mapOptBtns[-1]->show(); - } else if (m_mapOptBtns.size() == 3 && isShowUkey && m_mapDevices.contains(LOGINOPT_TYPE_CUSTOM)) { - m_mapOptBtns[-1]->show(); } } @@ -572,8 +553,9 @@ void LoginOptionsWidget::onIdentifyComplete(QDBusPendingCallWatcher *watcher) Q_EMIT authComplete(false, 1); } else if (ret.opsStatus == OPS_IDENTIFY_STOP_BY_USER || ret.opsStatus == OPS_VERIFY_STOP_BY_USER) { Q_EMIT authComplete(false, -2); // 主动停止,直接重试 - } else if (ret.opsStatus == OPS_OPEN_FAIL - || ret.opsStatus == OPS_OPEN_ERROR) { // 无法打开设备(设备是坏的/被占用),直接停止 + } else if ( + ret.opsStatus == OPS_OPEN_FAIL + || ret.opsStatus == OPS_OPEN_ERROR) { // 无法打开设备(设备是坏的/被占用),直接停止 Q_EMIT authComplete(false, 5); } else if (ret.opsStatus >= OPS_GET_FLIST_SUCCESS && ret.opsStatus <= OPS_GET_FLIST_MAX) { Q_EMIT authComplete(false, -3); // 主动停止,直接重试 @@ -959,6 +941,9 @@ QString LoginOptionsWidget::getDefaultDevice(QString strUserName) if (m_uniauthService && m_uniauthService->isActivatable()) { QString defaultDeviceName = ""; for (auto bioType : m_listPriority) { + if (bioType == UniT_Remote) { + continue; + } QString strDeviceName = m_uniauthService->getDefaultDevice(strUserName, bioType); if (!strDeviceName.isEmpty()) { DeviceInfoPtr pDeviceInfo = findDeviceByName(strDeviceName);