!107 实现需求

Merge pull request !107 from 杨敏/openkylin/huanghe
This commit is contained in:
杨敏 2024-11-13 12:26:39 +00:00 committed by Gitee
commit 5037bf20d9
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
71 changed files with 1502 additions and 927 deletions

9
debian/changelog vendored
View File

@ -1,3 +1,12 @@
ukui-screensaver (4.20.0.0-ok1) huanghe; urgency=medium
* BUG号
* 需求号:#18336 登录锁屏生物特征验证流程优化
* 其他改动说明:无
* 其他改动影响域:无
-- Yang Min <yangmin@kylinos.cn> Wed, 13 Nov 2024 20:23:54 +0800
ukui-screensaver (4.10.0.0-ok34~1031) nile; urgency=medium
* BUG号#IB0Q93【wlcom】【快捷键】更新版本后重启进系统无法使用快捷键重启后正常使用但是之后进锁屏再解锁快捷键失效

View File

@ -12,195 +12,195 @@
<context>
<name>AuthDialog</name>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation type="unfinished"></translation>
</message>
@ -438,7 +438,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation type="unfinished"></translation>
</message>
@ -559,58 +559,58 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>iris </translation>
<translation type="vanished">iris </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation>FingerVein</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation>Iris</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1 %2</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation></translation>
</message>
@ -1693,7 +1717,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2086,53 +2110,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation></translation>
</message>
@ -2141,7 +2165,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation></translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>Wiederholen</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>Versuchen Sie es in %1 Minuten erneut.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>Bitte versuchen Sie es in %1 Sekunden erneut.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>Das Konto wurde dauerhaft gesperrt.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Überprüfen Sie die Gesichtserkennung oder geben Sie das Passwort ein, um zu entsperren</translation>
<translation type="vanished">Überprüfen Sie die Gesichtserkennung oder geben Sie das Passwort ein, um zu entsperren</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Drücken Sie den Fingerabdruck oder geben Sie das Passwort ein, um zu entsperren</translation>
<translation type="vanished">Drücken Sie den Fingerabdruck oder geben Sie das Passwort ein, um zu entsperren</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Überprüfen Sie den Stimmabdruck oder geben Sie das Passwort ein, um zu entsperren</translation>
<translation type="vanished">Überprüfen Sie den Stimmabdruck oder geben Sie das Passwort ein, um zu entsperren</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Überprüfen Sie die Fingervene oder geben Sie das Passwort ein, um zu entsperren</translation>
<translation type="vanished">Überprüfen Sie die Fingervene oder geben Sie das Passwort ein, um zu entsperren</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>Überprüfen Sie die Iris oder geben Sie das Passwort ein, um zu entsperren</translation>
<translation type="vanished">Überprüfen Sie die Iris oder geben Sie das Passwort ein, um zu entsperren</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>Passwort eingeben</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished">Nutzername</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 konnte nicht verifiziert werden, bitte geben Sie das Kennwort zum Entsperren ein</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1 kann nicht verifiziert werden, bitte geben Sie das Kennwort zum Entsperren ein</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>Ungewöhnliches Netzwerk</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation type="unfinished"></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>Das Kennwort darf nicht leer sein.</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1 konnte nicht verifiziert werden, Sie haben immer noch %2 Überprüfungsmöglichkeiten</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>Authentifizierungsfehler, Bitte versuchen Sie es erneut</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>Verwenden Sie den gebundenen Wechat-Scan-Code oder geben Sie das Passwort zum Entsperren ein</translation>
<translation type="vanished">Verwenden Sie den gebundenen Wechat-Scan-Code oder geben Sie das Passwort zum Entsperren ein</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished">Passwort </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>Einloggen</translation>
</message>
@ -1704,7 +1728,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation>OKAY</translation>
</message>
@ -2090,53 +2114,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>Login-Optionen</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>Passwort</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>Andere</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2145,7 +2169,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>Gerät identifizieren entfernt!</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>Reintentar</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>Inténtelo de nuevo en %1 minutos.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>Inténtelo de nuevo en %1 segundos.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>Cuenta bloqueada permanentemente.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Verifique el reconocimiento facial o ingrese la contraseña para desbloquear</translation>
<translation type="vanished">Verifique el reconocimiento facial o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Presione la huella dactilar o ingrese la contraseña para desbloquear</translation>
<translation type="vanished">Presione la huella dactilar o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Verifica la huella de voz o ingresa la contraseña para desbloquear</translation>
<translation type="vanished">Verifica la huella de voz o ingresa la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Verifique la vena del dedo o ingrese la contraseña para desbloquear</translation>
<translation type="vanished">Verifique la vena del dedo o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>Verifique el iris o ingrese la contraseña para desbloquear</translation>
<translation type="vanished">Verifique el iris o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>Contraseña de entrada</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished">Nombre de usuario</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>No se pudo verificar %1, ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>No se puede verificar %1, ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>Red anormal</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation type="unfinished"></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>La contraseña no puede estar vacía</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>No se pudo verificar %1, todavía tiene %2 oportunidades de verificación</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>Error de autenticación, inténtelo de nuevo</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>Use el código de escaneo de wechat vinculado o ingrese la contraseña para desbloquear</translation>
<translation type="vanished">Use el código de escaneo de wechat vinculado o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished">Contraseña </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>Iniciar sesión</translation>
</message>
@ -1704,7 +1728,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation>De acuerdo</translation>
</message>
@ -2094,53 +2118,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>Opciones de inicio de sesión</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>Contraseña</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>Otro</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2149,7 +2173,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>¡Identifique el dispositivo eliminado!</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>Réessayer</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>Veuillez réessayer dans %1 minutes.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>Veuillez réessayer dans %1 secondes.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>Compte verrouillé définitivement.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Vérifier la reconnaissance faciale ou saisir le mot de passe pour déverrouiller</translation>
<translation type="vanished">Vérifier la reconnaissance faciale ou saisir le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Appuyez sur lempreinte digitale ou entrez le mot de passe pour déverrouiller</translation>
<translation type="vanished">Appuyez sur lempreinte digitale ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Vérifier lempreinte vocale ou saisir le mot de passe pour déverrouiller</translation>
<translation type="vanished">Vérifier lempreinte vocale ou saisir le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Vérifiez la veine du doigt ou entrez le mot de passe pour déverrouiller</translation>
<translation type="vanished">Vérifiez la veine du doigt ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>Vérifiez liris ou entrez le mot de passe pour déverrouiller</translation>
<translation type="vanished">Vérifiez liris ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>Mot de passe dentrée</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished">Nom dutilisateur</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>Impossible de vérifier %1, veuillez entrer le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>Impossible de vérifier %1, veuillez entrer le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>Réseau anormal</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation type="unfinished">Ukey (en anglais seulement)</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation type="unfinished"></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>Le mot de passe ne peut pas être vide</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>Échec de la vérification %1, vous avez encore %2 possibilités de vérification</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>Échec de lauthentification, veuillez réessayer</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>Utilisez le code danalyse wechat lié ou entrez le mot de passe pour déverrouiller</translation>
<translation type="vanished">Utilisez le code danalyse wechat lié ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished">Mot de passe </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>Connectez-vous</translation>
</message>
@ -1704,7 +1728,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation>DACCORD</translation>
</message>
@ -2090,53 +2114,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>Options de connexion</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>Mot de passe</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>Autre</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation type="unfinished">Ukey (en anglais seulement)</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2145,7 +2169,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>Identifier lappareil supprimé !</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>قاتە قاتە سىناۋ</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>.ٴسىز 1% مينۋت ٸشٸندە قاتە سىناپ كور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>.ٴسىز 1% سەكونت ٸشٸندە قاتە سىناپ كور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>.ەسەپات ماڭگىلىك قۇلىپتالادى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>چىراي تانىسن دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
<translation type="vanished">چىراي تانىسن دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation>مەيمان (اتسىز تٸزٸمدەۇ)</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>بارماقشى ٴٸزدٸ باسٸۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
<translation type="vanished">بارماقشى ٴٸزدٸ باسٸۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>اۋا ٴٸزدٸ دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
<translation type="vanished">اۋا ٴٸزدٸ دالەلدەۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>بارماقشى ٴٸزٸ ارقىلى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
<translation type="vanished">بارماقشى ٴٸزٸ ارقىلى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>نى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ Iris</translation>
<translation type="vanished">نى انىقتاۋ ياكي قۇپيا نومەر كىرگىزۋ ارقىلى قۇلىپ ٸشٸۋ Iris</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation>قۇپيا نومەر</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>قۇپيا نۇمىردى كىرگىزىڭىز</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation>ابونت مى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation>پايدالانۋشٸ اتٸ قاتە كىرگىزىلدى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation>كىرۋ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>دالەلدەۋ 1% جەڭىلىپ قالدى، قۇپيا نومەر كىرگىزىڭىز</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>دالەلدەۋگە بولمادى 1%، قۇپيا نۇمىردى كىرەۈزۈپ قۇلىبىن ٴٸشڭٸز</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>بينورمال تور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation>چىراي تونۇتۇشنىڭ ساقتاۋ ۋاقىتى ٸشٸپ كەتتى، جاڭالاۋدى تۇرتىپ ياكي قۇپيا نومەر كىرەۈزۈپ قۇلىبىن ٴٸشڭٸز.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation>بارماقشى ٴٸزٸ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation>بارماقشى ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation>تۇستى پەردە</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation>اۋا ٴٸزٸ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation>قۇپيا كىلت</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation>ەكٸلٸك رازمەر</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation>بارماقشى ٴٸزٸ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation>بارماقشى ۋېنا تومۇزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation>تۇستى پەردە</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation>اۋا ٴٸزٸ</translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>قۇپيا نۇمىردى بوس قويۋعا بولمايدى</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>دالەلدەۋ 1% جەڭىلىپ قالدى، جانە 2% دالەلدەۋ ورايڭىز بار</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>دالەلدەۋ جەڭىلىپ قالدى، قاتە سىناپ كور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>بايلانعان ئۈندىدارنى كەسكىندەۋ بەلگىسى ياكي قۇپيا نۇمىردى كىرەۈزۈپ قۇلىپ ٸشٸۋ</translation>
<translation type="vanished">بايلانعان ئۈندىدارنى كەسكىندەۋ بەلگىسى ياكي قۇپيا نۇمىردى كىرەۈزۈپ قۇلىپ ٸشٸۋ</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>كىرۋ</translation>
</message>
@ -1684,7 +1708,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2066,53 +2090,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>كىرۋ تالدانبالارٸ</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>قۇپيا نومەر</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>باسقا</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation>بارماقشى ٴٸزٸ</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation>بارماقشى ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation>تۇستى پەردە</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation>اۋا ٴٸزٸ</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation>قۇپيا كىلت</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation>ەكٸلٸك رازمەر</translation>
</message>
@ -2121,7 +2145,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>!اسبابٸن پارىقتاندىرۋ چىقىرىۋېتىلدى</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>قايرا قايرا سىنوو</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>.سىز 1% مىنۇت ىچىندە قايرا سىناپ باعىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>.سىز 1% سىكونت ىچىندە قايرا سىناپ باعىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>.ەسابات تۉبۅلۉك قۇلۇپلىنىدۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>چىراي تاانىشتى دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
<translation type="vanished">چىراي تاانىشتى دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation>قونوق (اتى جوق تىزىمدەتىش )</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>بارماق ىزىن باسۇۇدا كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
<translation type="vanished">بارماق ىزىن باسۇۇدا كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>دووش ىزىن دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
<translation type="vanished">دووش ىزىن دالىلدۅ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>بارماق ئزى ارقىلۇۇ انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
<translation type="vanished">بارماق ئزى ارقىلۇۇ انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>نى انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ Iris</translation>
<translation type="vanished">نى انىقتاش كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىرگىزۉۉ ارقىلۇۇ قۇلپ اچۇۇ Iris</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation>جاشىرۇۇن نومۇر</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>جاشىرۇۇن نومۇردۇ كىرگىزىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation>كەرەكتۅۅچۉ ناامى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation>ىشتەتۉۉچۉ اتى قاتاا كىرگىزىلدى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation>كىرۉۉ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>دالىلدۅ 1% جەڭىلۉۉ بولدۇ ، جاشىرۇۇن نومۇر كىرگىزىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>دالىلدۅۅگۅ بولبودۇ 1%، جاشىرۇۇن نومۇردۇ كىيىرىپ قۇلۇپنى اچىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>بۅتۅنچۅ تور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation>چىراي تونۇتۇشنىڭ ساقتوو ۇباقتى اشىپ كەتتى، جاڭىلوونۇ چەگىپ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇر كىيىرىپ قۇلۇپنى اچىڭ.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation>بارماق ئزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation>بارماق ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation>رەڭدار پاردا</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation>دووش ئزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation>جاشىرۇۇن اچقىچ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation>ەكىلىك قۇپۇيا نومۇر</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation>بارماق ئزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation>بارماق ۋېنا تومۇزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation>رەڭدار پاردا</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation>دووش ئزى</translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>جاشىرۇۇن نومۇردۇ بوش ،بەكەر قويۇشقا بولبويت</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>دالىلدۅ 1% جەڭىلۉۉ بولدۇ ، داعى 2% دالىلدۅ وڭۇتۇڭۇز بار</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>دالىلدۅ جەڭىلۉۉ بولدۇ ، قايرا سىناپ باعىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>بايلانعان ئۈندىدارنى ىسكاننىردوو قۇپۇيا نومۇرۇ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇرۇن كىيىرىپ قۇلپ اچۇۇ</translation>
<translation type="vanished">بايلانعان ئۈندىدارنى ىسكاننىردوو قۇپۇيا نومۇرۇ كۅرۉنۉشتۅرۉ جاشىرۇۇن نومۇرۇن كىيىرىپ قۇلپ اچۇۇ</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>كىرۉۉ</translation>
</message>
@ -1684,7 +1708,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2066,53 +2090,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>كىرۉۉ تاندالمالارى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>جاشىرۇۇن نومۇر</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>باشقا</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation>بارماق ئزى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation>بارماق ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation>رەڭدار پاردا</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation>ادام بەتى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation>دووش ئزى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation>جاشىرۇۇن اچقىچ</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation>ەكىلىك قۇپۇيا نومۇر</translation>
</message>
@ -2121,7 +2145,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>!اسپاپتى ايىرمالاندىرىش چىقىرىۋېتىلدى</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation> </translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation> !</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1/ </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation> </translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation> </translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1/ %2 </translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation> </translation>
<translation type="vanished"> </translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation> </translation>
</message>
@ -1688,7 +1712,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation> </translation>
</message>
@ -2089,53 +2113,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation> </translation>
</message>
@ -2144,7 +2168,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation> !</translation>
</message>

View File

@ -70,30 +70,6 @@
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
@ -182,6 +158,30 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>BatteryWidget</name>

View File

@ -70,30 +70,6 @@
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
@ -182,6 +158,30 @@
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>BatteryWidget</name>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">Parola</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation type="unfinished">Yeniden Dene</translation>
</message>
@ -49,190 +49,190 @@
<translation type="vanished">Kimlik doğrulama hatası, hala %1 kalan denemen var</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished">Misafir</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation type="unfinished"></translation>
</message>
@ -629,7 +629,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation type="unfinished">Tamam</translation>
</message>
@ -762,58 +762,58 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation type="unfinished">Parola</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation>قايتا قايتا سىناش</translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>.سىز 1% مىنۇت ئىچىدە قايتا سىناپ بېقىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>.سىز 1% سېكۇنت ئىچىدە قايتا سىناپ بېقىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation>.ھېسابات مەڭگۈلۈك قۇلۇپلىنىدۇ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>چىراي تونۇشنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
<translation type="vanished">چىراي تونۇشنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation>مېھمان (نامسىز تىزىملىتىش)</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>بارماق ئىزىنى بېسىش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
<translation type="vanished">بارماق ئىزىنى بېسىش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>ئاۋاز ئىزىنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
<translation type="vanished">ئاۋاز ئىزىنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>بارماق ئىزى ئارقىلىق ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
<translation type="vanished">بارماق ئىزى ئارقىلىق ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation>نى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش Iris</translation>
<translation type="vanished">نى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش Iris</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation>مەخپىي نومۇر</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation>مەخپىي نومۇرنى كىرگۈزۈڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation>ئابۇنت نامى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation>ئىشلەتكۈچى ئىسمى خاتا كىرگۈزۈلدى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation>كىرىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>دەلىللەش 1% مەغلۇپ بولدى، مەخپىي نومۇر كىرگۈزۈڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>دەلىللەشكە بولمىدى 1%، مەخپىي نومۇرنى كىرگۈزۈپ قۇلۇپنى ئېچىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation>بىنورمال تور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation>چىراي تونۇتۇشنىڭ ساقلاش ۋاقتى ئېشىپ كەتتى، يېڭىلاشنى چېكىپ ياكى مەخپىي نومۇر كىرگۈزۈپ قۇلۇپنى ئېچىڭ.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation>بارماق ئىزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation>بارماق ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation>رەڭدار پەردە</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation>ئادەم يۈزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation>ئاۋاز ئىزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation>مەخپىي ئاچقۇچ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation>ئىككىلىك كود</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation>بارماق ئىزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation>بارماق ۋېنا تومۇزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation>رەڭدار پەردە</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation>ئادەم يۈزى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation>ئاۋاز ئىزى</translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation>مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ</translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>دەلىللەش 1% مەغلۇپ بولدى، يەنە 2% دەلىللەش پۇرسىتىڭىز بار</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation>دەلىللەش مەغلۇپ بولدى، قايتا سىناپ بېقىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>باغلانغان ئۈندىدارنى سىكاننېرلاش كودى ياكى مەخپىي نومۇرىنى كىرگۈزۈپ قۇلۇپ ئېچىش</translation>
<translation type="vanished">باغلانغان ئۈندىدارنى سىكاننېرلاش كودى ياكى مەخپىي نومۇرىنى كىرگۈزۈپ قۇلۇپ ئېچىش</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished">مەخپىي نۇمۇر </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation>كىرىش</translation>
</message>
@ -1700,7 +1724,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2074,53 +2098,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation>كىرىش تاللانمىلىرى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation>مەخپىي نومۇر</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation>باشقا</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation>بارماق ئىزى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation>بارماق ۋېناسى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation>رەڭدار پەردە</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation>ئادەم يۈزى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation>ئاۋاز ئىزى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation>مەخپىي ئاچقۇچ</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation>ئىككىلىك كود</translation>
</message>
@ -2129,7 +2153,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>!ئۈسكۈنىنى پەرقلەندۈرۈش چىقىرىۋېتىلدى</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1%2</translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>使</translation>
<translation type="vanished">使</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation></translation>
</message>
@ -1684,7 +1708,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2066,53 +2090,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation></translation>
</message>
@ -2121,7 +2145,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation>!</translation>
</message>

View File

@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1173"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,162 +53,187 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1244"/>
<location filename="../src/widgets/authdialog.cpp" line="1275"/>
<source>Please try again in %1 minutes.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1251"/>
<location filename="../src/widgets/authdialog.cpp" line="1282"/>
<source>Please try again in %1 seconds.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1258"/>
<location filename="../src/widgets/authdialog.cpp" line="1289"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="652"/>
<location filename="../src/widgets/authdialog.cpp" line="680"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="458"/>
<location filename="../src/widgets/authdialog.cpp" line="470"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="655"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="658"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="661"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="664"/>
<source>Verify iris or enter password to unlock</source>
<translation></translation>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="934"/>
<location filename="../src/widgets/authdialog.cpp" line="682"/>
<location filename="../src/widgets/authdialog.cpp" line="710"/>
<source>Facial recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="685"/>
<source>Fingerprint recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="688"/>
<source>Voiceprint recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="691"/>
<source>Finger vein recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="694"/>
<source>Iris recognition to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="697"/>
<source>Use the bound wechat scanning code to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="964"/>
<source>Password:</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="937"/>
<location filename="../src/widgets/authdialog.cpp" line="967"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="942"/>
<location filename="../src/widgets/authdialog.cpp" line="972"/>
<source>Username</source>
<translation type="unfinished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1012"/>
<location filename="../src/widgets/authdialog.cpp" line="1043"/>
<source>User name input error!</source>
<translation>使!</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1091"/>
<location filename="../src/widgets/authdialog.cpp" line="1122"/>
<source>login</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1477"/>
<location filename="../src/widgets/authdialog.cpp" line="1627"/>
<location filename="../src/widgets/authdialog.cpp" line="1771"/>
<location filename="../src/widgets/authdialog.cpp" line="1952"/>
<location filename="../src/widgets/authdialog.cpp" line="1508"/>
<location filename="../src/widgets/authdialog.cpp" line="1658"/>
<location filename="../src/widgets/authdialog.cpp" line="1802"/>
<location filename="../src/widgets/authdialog.cpp" line="1983"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1480"/>
<location filename="../src/widgets/authdialog.cpp" line="1630"/>
<location filename="../src/widgets/authdialog.cpp" line="1776"/>
<location filename="../src/widgets/authdialog.cpp" line="1779"/>
<location filename="../src/widgets/authdialog.cpp" line="1955"/>
<location filename="../src/widgets/authdialog.cpp" line="1511"/>
<location filename="../src/widgets/authdialog.cpp" line="1661"/>
<location filename="../src/widgets/authdialog.cpp" line="1807"/>
<location filename="../src/widgets/authdialog.cpp" line="1810"/>
<location filename="../src/widgets/authdialog.cpp" line="1986"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation> %1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1808"/>
<location filename="../src/widgets/authdialog.cpp" line="1839"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1816"/>
<location filename="../src/widgets/authdialog.cpp" line="1847"/>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2079"/>
<location filename="../src/widgets/authdialog.cpp" line="2110"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2081"/>
<location filename="../src/widgets/authdialog.cpp" line="2112"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2083"/>
<location filename="../src/widgets/authdialog.cpp" line="2114"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2085"/>
<location filename="../src/widgets/authdialog.cpp" line="2116"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2087"/>
<location filename="../src/widgets/authdialog.cpp" line="2118"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2089"/>
<location filename="../src/widgets/authdialog.cpp" line="2111"/>
<location filename="../src/widgets/authdialog.cpp" line="2120"/>
<location filename="../src/widgets/authdialog.cpp" line="2142"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2091"/>
<location filename="../src/widgets/authdialog.cpp" line="2113"/>
<location filename="../src/widgets/authdialog.cpp" line="2122"/>
<location filename="../src/widgets/authdialog.cpp" line="2144"/>
<source>QRCode</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2101"/>
<location filename="../src/widgets/authdialog.cpp" line="2132"/>
<source>fingerprint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2103"/>
<location filename="../src/widgets/authdialog.cpp" line="2134"/>
<source>fingervein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2105"/>
<location filename="../src/widgets/authdialog.cpp" line="2136"/>
<source>iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2107"/>
<location filename="../src/widgets/authdialog.cpp" line="2138"/>
<source>face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2109"/>
<location filename="../src/widgets/authdialog.cpp" line="2140"/>
<source>voiceprint</source>
<translation></translation>
</message>
@ -217,7 +242,7 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="791"/>
<location filename="../src/widgets/authdialog.cpp" line="821"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -230,8 +255,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1793"/>
<location filename="../src/widgets/authdialog.cpp" line="1797"/>
<location filename="../src/widgets/authdialog.cpp" line="1824"/>
<location filename="../src/widgets/authdialog.cpp" line="1828"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation> %1 %2 </translation>
</message>
@ -260,15 +285,14 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1015"/>
<location filename="../src/widgets/authdialog.cpp" line="1019"/>
<location filename="../src/widgets/authdialog.cpp" line="1046"/>
<location filename="../src/widgets/authdialog.cpp" line="1050"/>
<source>Authentication failure, Please try again</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="667"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>使</translation>
<translation type="vanished">使</translation>
</message>
<message>
<source>Enter the ukey password</source>
@ -283,8 +307,8 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="456"/>
<location filename="../src/widgets/authdialog.cpp" line="1165"/>
<location filename="../src/widgets/authdialog.cpp" line="468"/>
<location filename="../src/widgets/authdialog.cpp" line="1196"/>
<source>Login</source>
<translation></translation>
</message>
@ -1692,7 +1716,7 @@
<context>
<name>IconEdit</name>
<message>
<location filename="../src/widgets/iconedit.cpp" line="92"/>
<location filename="../src/widgets/iconedit.cpp" line="97"/>
<source>OK</source>
<translation></translation>
</message>
@ -2086,53 +2110,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="82"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="105"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="80"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="103"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="289"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="287"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="315"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="313"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1034"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1016"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1036"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1018"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1038"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1020"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1022"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1024"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1026"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1028"/>
<source>QRCode</source>
<translation></translation>
</message>
@ -2141,7 +2165,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="703"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="685"/>
<source>Identify device removed!</source>
<translation></translation>
</message>

View File

@ -128,6 +128,53 @@
<file>assets/logout.svg</file>
<file>assets/lockscreen.svg</file>
<file>assets/fengmian.png</file>
<file>assets/biowaiting/iris0.svg</file>
<file>assets/biowaiting/iris1.svg</file>
<file>assets/biowaiting/iris2.svg</file>
<file>assets/biowaiting/iris3.svg</file>
<file>assets/biowaiting/iris4.svg</file>
<file>assets/biowaiting/iris5.svg</file>
<file>assets/biowaiting/iris6.svg</file>
<file>assets/biowaiting/iris7.svg</file>
<file>assets/biowaiting/iris8.svg</file>
<file>assets/biowaiting/iris9.svg</file>
<file>assets/biowaiting/iris10.svg</file>
<file>assets/biowaiting/iris11.svg</file>
<file>assets/biowaiting/fingervein0.svg</file>
<file>assets/biowaiting/fingervein1.svg</file>
<file>assets/biowaiting/fingervein2.svg</file>
<file>assets/biowaiting/fingervein3.svg</file>
<file>assets/biowaiting/fingervein4.svg</file>
<file>assets/biowaiting/fingervein5.svg</file>
<file>assets/biowaiting/fingervein6.svg</file>
<file>assets/biowaiting/fingervein7.svg</file>
<file>assets/biowaiting/fingervein8.svg</file>
<file>assets/biowaiting/fingervein9.svg</file>
<file>assets/biowaiting/fingervein10.svg</file>
<file>assets/biowaiting/fingervein11.svg</file>
<file>assets/biowaiting/voiceprint0.svg</file>
<file>assets/biowaiting/voiceprint1.svg</file>
<file>assets/biowaiting/voiceprint2.svg</file>
<file>assets/biowaiting/voiceprint3.svg</file>
<file>assets/biowaiting/fingerprint0.svg</file>
<file>assets/biowaiting/fingerprint1.svg</file>
<file>assets/biowaiting/fingerprint2.svg</file>
<file>assets/biowaiting/fingerprint3.svg</file>
<file>assets/biowaiting/fingerprint4.svg</file>
<file>assets/biowaiting/fingerprint5.svg</file>
<file>assets/biowaiting/fingerprint6.svg</file>
<file>assets/biowaiting/fingerprint7.svg</file>
<file>assets/biowaiting/fingerprint8.svg</file>
<file>assets/biowaiting/fingerprint9.svg</file>
<file>assets/biowaiting/fingerprint10.svg</file>
<file>assets/biowaiting/fingerprint11.svg</file>
<file>assets/biowaiting/fingerprint12.svg</file>
<file>assets/biowaiting/fingerprint13.svg</file>
<file>assets/biowaiting/fingerprint14.svg</file>
<file>assets/biowaiting/voiceprint4.svg</file>
<file>assets/biowaiting/voiceprint5.svg</file>
<file>assets/biowaiting/voiceprint6.svg</file>
<file>assets/biowaiting/voiceprint7.svg</file>
</qresource>
<qresource prefix="/">
<file>assets/data/conf.ini</file>

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 9.8 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}</style></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/></g></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="27" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="16"/><rect class="cls-2" x="22" y="24" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="126" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="115"/><rect class="cls-2" x="22" y="123" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="137" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="126"/><rect class="cls-2" x="22" y="134" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="38" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="27"/><rect class="cls-2" x="22" y="35" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="49" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="38"/><rect class="cls-2" x="22" y="46" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="60" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="49"/><rect class="cls-2" x="22" y="57" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="71" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="60"/><rect class="cls-2" x="22" y="68" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="82" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="71"/><rect class="cls-2" x="22" y="79" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="93" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="82"/><rect class="cls-2" x="22" y="90" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="104" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="11" width="116" height="93"/><rect class="cls-2" x="22" y="101" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{opacity:0.2;}.cls-2{fill:#3790fa;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="116" x2="80" y2="12" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><g class="cls-1"><path d="M114.27147,96.46253a2.28536,2.28536,0,0,0-2.28534,2.28534v14.1233a2.28534,2.28534,0,1,0,4.57068,0V98.74787A2.28536,2.28536,0,0,0,114.27147,96.46253Z"/><path d="M65.6855,39.7409a33.36686,33.36686,0,0,1,14.30613-3.15372l.03571-.00119a30.94322,30.94322,0,0,1,31.95879,29.89309v22.6704a2.29317,2.29317,0,1,0,4.57068-.2742v-22.579A35.514,35.514,0,0,0,79.99163,32.0165a37.88963,37.88963,0,0,0-16.22581,3.56516A2.29044,2.29044,0,1,0,65.6855,39.7409Z"/><path d="M56.72706,42.9404a2.295,2.295,0,0,0-3.24518-.04578A33.09153,33.09153,0,0,0,43.42645,66.47908v47.21479a2.2853,2.2853,0,1,0,4.57059,0V66.47908a28.567,28.567,0,0,1,8.68424-20.29359A2.29484,2.29484,0,0,0,56.72706,42.9404Z"/><path d="M86.80188,42.84894a27.92679,27.92679,0,0,0-12.29509-.2742A27.14962,27.14962,0,0,0,52.56772,68.90157v53.11088a2.28534,2.28534,0,1,0,4.57068,0V93.63914a17.4489,17.4489,0,0,0,2.97089,4.19458,20.85342,20.85342,0,0,1,6.17039,11.86918v6.78754a2.25125,2.25125,0,0,0,0,.24985v8.97437a2.2853,2.2853,0,1,0,4.57059,0v-8.773a25.4804,25.4804,0,0,0,.30615-5.15689c.59317-6.03013,2.33194-16.46175,7.41825-23.59508,6.51407-9.13551,6.12479-15.36586,5.911-17.32271h4.63651a55.70992,55.70992,0,0,0,.01071,6.69315v48.15458a2.28535,2.28535,0,0,0,4.57069,0V94.87812a25.77379,25.77379,0,0,0,1.554,2.45288,45.685,45.685,0,0,1,7.58726,21.88753v2.79392a2.2853,2.2853,0,1,0,4.57059,0V68.90157A27.05818,27.05818,0,0,0,86.80188,42.84894ZM66.27968,97.80616a25.48236,25.48236,0,0,0-2.97089-3.40036c-5.02772-5.25632-6.17039-18.694-6.17039-23.53887h9.14128Zm8.59278-12.26743a36.49909,36.49909,0,0,0-4.02219,7.30536V70.86693h9.09742a2.31209,2.31209,0,0,0,.04394.5485C79.99163,71.46111,81.1343,76.763,74.87246,85.53873Zm27.9724,16.12006a49.905,49.905,0,0,0-3.885-6.97879c-6.49036-9.09559-5.11917-23.58455-5.11917-23.58455l.00229-.02271c.00659-.06985-.00156-.137-.00119-.20581h9.00312ZM57.36573,66.29625A22.52238,22.52238,0,0,1,75.37526,47.28247a23.67615,23.67615,0,0,1,10.284,0,22.431,22.431,0,0,1,16.99293,19.01378Z"/><path d="M82.27688,91.43482a2.28527,2.28527,0,0,0-2.28525,2.28534v31.9945a2.2853,2.2853,0,1,0,4.57059,0V93.72016A2.28535,2.28535,0,0,0,82.27688,91.43482Z"/></g><path class="cls-2" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-2" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-2" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-2" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><rect class="cls-3" x="22" y="12" width="116" height="104"/><rect class="cls-2" x="22" y="112" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}</style></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g></g></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="27" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="16"/><rect class="cls-1" x="22" y="24" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="126" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="115"/><rect class="cls-1" x="22" y="123" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="137" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="126"/><rect class="cls-1" x="22" y="134" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="38" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="27"/><rect class="cls-1" x="22" y="35" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="49" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="38"/><rect class="cls-1" x="22" y="46" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="60" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="49"/><rect class="cls-1" x="22" y="57" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="71" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="60"/><rect class="cls-1" x="22" y="68" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="82" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="71"/><rect class="cls-1" x="22" y="79" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="93" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="82"/><rect class="cls-1" x="22" y="90" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="104" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="93"/><rect class="cls-1" x="22" y="101" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160"><defs><style>.cls-1{fill:#3790fa;}.cls-2{opacity:0.2;}.cls-3{fill:url(#未命名的渐变_8);}</style><linearGradient id="未命名的渐变_8" x1="80" y1="115" x2="80" y2="11" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3790fa"/><stop offset="1" stop-color="#3790fa" stop-opacity="0"/></linearGradient></defs><g id="文字标注"><path class="cls-1" d="M154,52h-8V35a21.0239,21.0239,0,0,0-21-21H108V6h17a29.03307,29.03307,0,0,1,29,29Z"/><path class="cls-1" d="M125,154H108v-8h17a21.02422,21.02422,0,0,0,21-21V108h8v17A29.03339,29.03339,0,0,1,125,154Z"/><path class="cls-1" d="M52,154H35A29.03339,29.03339,0,0,1,6,125V108h8v17a21.02422,21.02422,0,0,0,21,21H52Z"/><path class="cls-1" d="M14,52H6V35A29.03307,29.03307,0,0,1,35,6H52v8H35A21.0239,21.0239,0,0,0,14,35Z"/><g class="cls-2"><path d="M80,112c-28.1582,0-50.24707-28.35742-51.17285-29.56445L26.958,80l1.86914-2.43555C29.75293,76.35742,51.8418,48,80,48s50.24707,28.35742,51.17285,29.56445L133.042,80l-1.86914,2.43555C130.24707,83.64258,108.1582,112,80,112ZM37.22266,80C42.99512,86.54346,60.249,104,80,104s37.00391-17.45508,42.77734-24C117.00391,73.45508,99.751,56,80,56S42.99609,73.45508,37.22266,80Z"/></g><g class="cls-2"><circle cx="80" cy="80" r="18"/></g><rect class="cls-3" x="22" y="11" width="116" height="104"/><rect class="cls-1" x="22" y="112" width="116" height="4"/></g></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -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) {

View File

@ -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

View File

@ -30,6 +30,7 @@
#include <QKeyEvent>
#include <QEvent>
#include <QTimer>
#include <QPixmapCache>
#include "definetypes.h"
#include <unistd.h>
#include <sys/types.h>
@ -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;
}
}

View File

@ -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

View File

@ -23,9 +23,7 @@
#include <QPainter>
#include <QDebug>
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:"<<m_scrollOffset<<rect().top()<<width() - contentsMargins().left() - contentsMargins().right() - m_scrollOffset<<height()<<","<<m_strText;
painter.drawText(
m_scrollOffset + contentsMargins().left(),
rect().top(),
width() - contentsMargins().left() - contentsMargins().right() - m_scrollOffset,
height(),
Qt::AlignLeft | Qt::TextSingleLine,
m_strText);
// qDebug()<<"MarqueueText:"<<m_scrollOffset<<rect().top()<<width() - contentsMargins().left() -
// contentsMargins().right() - m_scrollOffset<<height()<<","<<m_strText;
startMarqueueTimer();
} else {
QLabel::setText(strEText);
@ -111,7 +121,8 @@ void KLabel::setMarqueueMode(bool isMarqueue)
{
m_isMarqueeMode = isMarqueue;
if (isMarqueue && !m_strText.isEmpty()) {
QString strEText = getElidedText(font(), width() - contentsMargins().left() - contentsMargins().right(), m_strText);
QString strEText
= getElidedText(font(), width() - contentsMargins().left() - contentsMargins().right(), m_strText);
if (strEText != m_strText) {
startMarqueueTimer();
}

View File

@ -35,6 +35,7 @@ public:
void clear();
QString text() const;
void setFontFamily(QString &family);
void setFontWeight(int weight);
void setMarqueueMode(bool isMarqueue);
public Q_SLOTS:

View File

@ -102,6 +102,12 @@ bool LockWidget::eventFilter(QObject *obj, QEvent *event)
m_mediaControlWidget->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();
}

View File

@ -43,10 +43,8 @@
#include <QJsonArray>
#include <QJsonParseError>
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<int, QPushButton *>::iterator itMapBtn = m_mapOptBtns.begin();
for (; itMapBtn != m_mapOptBtns.end(); itMapBtn++) {
if (itMapBtn.value()) {
itMapBtn.value()->hide();
}
m_labelOptTitle->show();
QMap<int, QPushButton *>::iterator itMapBtn = m_mapOptBtns.begin();
for (; itMapBtn != m_mapOptBtns.end(); itMapBtn++) {
if (itMapBtn.value()) {
itMapBtn.value()->show();
}
} else {
m_labelOptTitle->show();
QMap<int, QPushButton *>::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);