Merge pull request !72 from 杨敏/openkylin/nile
This commit is contained in:
刘远鹏 2024-02-23 08:16:56 +00:00 committed by Gitee
commit df71f69943
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
18 changed files with 2572 additions and 2079 deletions

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation type="unfinished"></translation>
</message>
@ -12,169 +12,169 @@
<context>
<name>AuthDialog</name>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<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="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -182,22 +182,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -205,36 +209,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished"></translation>
</message>
@ -384,6 +388,25 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LettersWidget</name>
<message>
@ -400,17 +423,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -418,7 +441,7 @@
<context>
<name>LockWidget</name>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -426,58 +449,58 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -485,12 +508,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished"></translation>
</message>
@ -512,44 +535,91 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-command/main.cpp" line="90"/>
<source>The screensaver is active.</source>
@ -560,41 +630,6 @@
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>S:</name>
@ -613,7 +648,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
@ -629,14 +664,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -673,23 +708,13 @@
<context>
<name>main</name>
<message>
<location filename="../src/screensaver/main.cpp" line="63"/>
<source>Screensaver for ukui-screensaver</source>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/main.cpp" line="67"/>
<source>show on root window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/main.cpp" line="69"/>
<source>show on window.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/main.cpp" line="70"/>
<source>window id</source>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -756,13 +781,23 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<source>Backend for the ukui ScreenSaver.</source>
<location filename="../src/screensaver/main.cpp" line="63"/>
<source>Screensaver for ukui-screensaver</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<source>lock the screen by startup</source>
<location filename="../src/screensaver/main.cpp" line="67"/>
<source>show on root window</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/main.cpp" line="69"/>
<source>show on window.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/main.cpp" line="70"/>
<source>window id</source>
<translation type="unfinished"></translation>
</message>
</context>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>iris </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1 %2</translation>
</message>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation></translation>
</message>
@ -248,13 +248,13 @@
<translation type="vanished">USBཡི</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation></translation>
</message>
@ -282,24 +282,28 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
<translation type="unfinished"></translation>
</message>
</context>
<context>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished"></translation>
</message>
@ -1669,6 +1673,25 @@
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -1898,17 +1921,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1952,7 +1975,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1960,53 +1983,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -2015,7 +2038,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation></translation>
</message>
@ -2030,12 +2053,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished"></translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished"></translation>
</message>
@ -2210,41 +2233,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished"></translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"> </translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2334,37 +2373,37 @@
<translation></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -2410,7 +2449,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation></translation>
</message>
@ -2526,14 +2565,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2709,12 +2748,12 @@
<translation></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation>Ich weiß</translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>Wiederholen</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<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="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<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="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>Das Konto wurde dauerhaft gesperrt.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>Passwort eingeben</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">Nutzername</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<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="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<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="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>Ungewöhnliches Netzwerk</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>Das Kennwort darf nicht leer sein.</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<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>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation>Authentifizierungsfehler, Bitte versuchen Sie es erneut</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<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>
</message>
@ -248,13 +248,13 @@
<translation type="vanished">Stecken Sie den Ukey in den USB-Anschluss</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>Passwort </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>Einloggen</translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">Abbrechen</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">Das folgende Programm wird ausgeführt, um einen Neustart des Systems zu verhindern!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">Das folgende Programm wird ausgeführt, um das Herunterfahren des Systems zu verhindern!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">Das folgende Programm wird ausgeführt, um zu verhindern, dass das System angehalten wird!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">Das folgende Programm wird ausgeführt, um zu verhindern, dass das System in den Ruhezustand versetzt wird!</translation>
</message>
@ -1664,6 +1668,25 @@
<translation type="vanished">Code abrufen</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KylinDBus</name>
<message>
@ -1894,17 +1917,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">Einloggen</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1948,7 +1971,7 @@
<translation type="vanished">WLAN</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1956,53 +1979,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>Login-Optionen</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation>Passwort</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation>Andere</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2011,7 +2034,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>Gerät identifizieren entfernt!</translation>
</message>
@ -2026,12 +2049,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">LAN</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">WLAN</translation>
</message>
@ -2206,41 +2229,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Überwintern</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished">Schalten Sie Ihren Computer aus, aber die App bleibt geöffnet. Wenn der Computer eingeschaltet ist, kann er in den Zustand zurückversetzt werden, den Sie verlassen haben</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">Aufhängen</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished">Der Computer bleibt eingeschaltet, verbraucht aber weniger Strom. Die App bleibt geöffnet und kann schnell wieder aufwachen und dort weitermachen, wo Sie aufgehört haben</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Neustarten</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Ausschalten</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">Herunterfahren</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="obsolete">Ausschalten</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished">Schließen Sie alle Apps, und fahren Sie dann den Computer herunter</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished">Schließen Sie alle Apps, schalten Sie den Computer aus und wieder ein</translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2330,37 +2369,37 @@
<translation>Der Bildschirmschoner ist inaktiv.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2406,7 +2445,7 @@
<translation type="vanished">Sie haben eine neue Benachrichtigung</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>Ansehen</translation>
</message>
@ -2522,14 +2561,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">Einloggen</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2705,12 +2744,12 @@
<translation>Fenster-ID</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation>Lo </translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>Reintentar</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<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="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<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="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>Cuenta bloqueada permanentemente.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Verifique el reconocimiento facial o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Presione la huella dactilar o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Verifica la huella de voz o ingresa la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Verifique la vena del dedo o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>Verifique el iris o ingrese la contraseña para desbloquear</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>Contraseña de entrada</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">Nombre de usuario</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<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="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<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="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>Red anormal</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>La contraseña no puede estar vacía</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<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>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<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="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<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>
</message>
@ -248,13 +248,13 @@
<translation type="vanished">Inserte la ukey en el puerto USB</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>Contraseña </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>Iniciar sesión</translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">Cancelar</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">¡El siguiente programa se está ejecutando para evitar que el sistema se reinicie!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">¡El siguiente programa se está ejecutando para evitar que el sistema se apague!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">¡El siguiente programa se está ejecutando para evitar que el sistema se suspenda!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">¡El siguiente programa se está ejecutando para evitar que el sistema hiberne!</translation>
</message>
@ -1664,6 +1668,25 @@
<translation type="vanished">Obtener código</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KylinDBus</name>
<message>
@ -1894,17 +1917,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">Iniciar sesión</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1952,7 +1975,7 @@
<translation type="vanished">WLAN</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1960,53 +1983,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>Opciones de inicio de sesión</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation>Contraseña</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation>Otro</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2015,7 +2038,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>¡Identifique el dispositivo eliminado!</translation>
</message>
@ -2030,12 +2053,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">LAN</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">WLAN</translation>
</message>
@ -2210,41 +2233,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Hibernar</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished">Apague su computadora, pero la aplicación permanece abierta. Cuando se enciende la computadora, se puede restaurar al estado en el que la dejó</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">Suspender</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished">El ordenador permanece encendido, pero consume menos energía. La aplicación permanece abierta y puede despertarse rápidamente y volver a donde la dejó</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Reanudar</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Apagar</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">Apaga</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="obsolete">Apagar</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished">Cierre todas las aplicaciones y, a continuación, apague el equipo</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished">Cierre todas las aplicaciones, apague el equipo y, a continuación, vuelva a encenderlo</translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2334,37 +2373,37 @@
<translation>El protector de pantalla está inactivo.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished">Ukey</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2410,7 +2449,7 @@
<translation type="vanished">Tienes una nueva notificación</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>Vista</translation>
</message>
@ -2526,14 +2565,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">Iniciar sesión</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2709,12 +2748,12 @@
<translation>ID de ventana</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation>Je sais</translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>Réessayer</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<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="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<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="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>Compte verrouillé définitivement.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Appuyez sur lempreinte digitale ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Vérifier lempreinte vocale ou saisir le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<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>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>Vérifiez liris ou entrez le mot de passe pour déverrouiller</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>Mot de passe dentrée</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">Nom dutilisateur</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<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="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<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="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>Réseau anormal</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished">Ukey (en anglais seulement)</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>Le mot de passe ne peut pas être vide</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<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>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation>Échec de lauthentification, veuillez réessayer</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<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>
</message>
@ -248,13 +248,13 @@
<translation type="vanished">Insérez lukey dans le port USB</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>Mot de passe </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>Connectez-vous</translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">Annuler</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">Le programme suivant est en cours dexécution pour empêcher le système de redémarrer !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">Le programme suivant est en cours dexécution pour empêcher le système de sarrêter !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">Le programme suivant est en cours dexécution pour empêcher le système de se suspendre !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">Le programme suivant est en cours dexécution pour empêcher le système de hiberner !</translation>
</message>
@ -1664,6 +1668,25 @@
<translation type="vanished">Obtenir le code</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KylinDBus</name>
<message>
@ -1894,17 +1917,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">Connectez-vous</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1948,7 +1971,7 @@
<translation type="vanished">Réseau local sans fil (WLAN)</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1956,53 +1979,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>Options de connexion</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation>Mot de passe</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation>Autre</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished">Ukey (en anglais seulement)</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2011,7 +2034,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>Identifier lappareil supprimé !</translation>
</message>
@ -2026,12 +2049,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">LAN</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">Réseau local sans fil (WLAN)</translation>
</message>
@ -2206,41 +2229,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Hiberner</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished">Éteignez votre ordinateur, mais lapplication reste ouverte. Lorsque lordinateur est allumé, il peut être restauré dans létat que vous avez laissé</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">Suspendre</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished">Lordinateur reste allumé, mais consomme moins dénergie. Lapplication reste ouverte et peut rapidement se réveiller et revenir à lendroit vous vous étiez arrêté</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Redémarrer</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Mise hors tension</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">Arrêter</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="obsolete">Mise hors tension</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished">Fermez toutes les applications, puis éteignez votre ordinateur</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished">Fermez toutes les applications, éteignez votre ordinateur, puis rallumez-le</translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2330,37 +2369,37 @@
<translation>Léconomiseur décran est inactif.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished">Ukey (en anglais seulement)</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2406,7 +2445,7 @@
<translation type="vanished">Vous avez reçu une nouvelle notification</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>Vue</translation>
</message>
@ -2522,14 +2561,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">Connectez-vous</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2705,12 +2744,12 @@
<translation>ID de la fenêtre</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation type="unfinished"></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>Ретри</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation>% 1 минутта қайталап көріңіз.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation>% 1 секундта қайталап көріңіз.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>Тіркелгі біржолата құлыпталады.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Бет тануды тексеру немесе құлыптан босату үшін құпия сөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Құлыптан босату үшін дактилоскопияны басу немесе құпия сөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Құлыптан босату үшін дауыстық ізді тексеру немесе құпия сөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Құлыптан босату үшін саусақ көктамырын тексеру немесе құпия сөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>Құлыптан босату үшін IRIS тексеру немесе құпиясөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>Құпиясөзді енгізу</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">Пайдаланушы аты</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>% 1 дегенді тексеру мүмкін болмады, құлыптан босату үшін құпия сөзді енгізіңіз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>% 1 дегенді тексеру мүмкін болмады, құлыптан босату үшін құпия сөзді енгізіңіз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>Аномальды желі</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>Құпия сөз бос болмады</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>% 1 дегенді тексеру мүмкін болмады, сізде әлі де% 2 тексеру мүмкіндіктері бар</translation>
</message>
@ -229,24 +229,24 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation>Аутентификация сәтсіздігі, қайталап көріңіз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>Байланыстыратын wechat сканерлеу кодын пайдаланыңыз немесе құлыптан босату үшін құпия сөзді енгізіңіз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>Пароль </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>Кіру</translation>
</message>
@ -274,22 +274,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -365,36 +369,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">Болдырмау</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">Жүйені қайта жүктеуге жол бермеу үшін келесі бағдарлама іске асырылуда!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">Жүйенің тоқтап қалуына жол бермеу үшін келесі бағдарлама іске асырылуда!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">Жүйенің тоқтатылуына жол бермеу үшін келесі бағдарлама іске асырылуда!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">Жүйенің жорыққа шығуына жол бермеу үшін келесі бағдарлама іске асырылуда!</translation>
</message>
@ -1645,6 +1649,25 @@
<translation type="vanished">Кодты алу</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -1874,17 +1897,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">Кіру</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1912,7 +1935,7 @@
<translation type="vanished">Бірнеше пайдаланушы бір уақытта кіргізіледі. Бұл жүйені қайта жүктеу керек пе?</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1920,53 +1943,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>Кіру параметрлері</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -1975,7 +1998,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>Құрылғы жойылғанын анықтаңыз!</translation>
</message>
@ -1990,12 +2013,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">ЛАН</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">WLAN</translation>
</message>
@ -2170,41 +2193,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Хибернате</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">Тоқтата тұру</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Қайта іске қосу</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Power Off</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">Тоқтату</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<translation type="obsolete">Power Off</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2278,37 +2317,37 @@
<translation>Экрандаушы белсенді емес.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2354,7 +2393,7 @@
<translation type="vanished">Сізде жаңа хабарландыру бар</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>Көрініс</translation>
</message>
@ -2470,14 +2509,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">Кіру</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2653,12 +2692,12 @@
<translation>терезе идентифика- ты</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation type="unfinished"></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>Ретри</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation>%1 мүнөттө кайра аракет кылыңыз.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation>%1 секунданын ичинде кайра аракет кылыңыз.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>Эсеп биротоло кулпуланган.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>Беттин таанылышын текшерүү же кулпуну ачуу үчүн сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>Манжа изин басуу же кулпуну ачуу үчүн сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>Үн изин текшерүү же сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>Манжа тамырын текшерүү же кулпуну ачуу үчүн сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>Ирис текшерүү же кулпусун ачуу үчүн сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>Сырсөз киргизүү</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">Колдонуучунун аты</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 текшерүүгө болбоду, кулпусун ачуу үчүн сырсөздү киргизиңиз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1 текшерүүгө болбоду, кулпусун ачуу үчүн сырсөздү киргизиңиз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>Аномалдуу тармак</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>Сырсөз бош болушу мүмкүн эмес</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1 текшерүүгө болбоду, сизде дагы эле %2 текшерүү мүмкүнчүлүктөрү бар</translation>
</message>
@ -229,24 +229,24 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation>Аутентификациянын жетишсиздиги, сураныч, кайрадан аракет кылыңыз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>Чектелген вечат сканерлеу кодын колдонуңуз же сырсөздү ачуу үчүн киргизиңиз</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>Сырсөз </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>Кирүү</translation>
</message>
@ -274,22 +274,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -365,36 +369,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">Жокко чыгаруу</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">Системаны кайра жүктөөдөн алдын алуу үчүн төмөнкү программа иштеп жатат!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">Системанын жабылышына жол бербөө үчүн төмөнкү программа иштеп жатат!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">Системанын токтотулушуна жол бербөө үчүн төмөнкү программа иштеп жатат!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">Системанын уктап кетишине жол бербөө үчүн төмөнкү программа иштеп жатат!</translation>
</message>
@ -1645,6 +1649,25 @@
<translation type="vanished">Кодду алуу</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -1874,17 +1897,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">Кирүү</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1912,7 +1935,7 @@
<translation type="vanished">Бир эле учурда бир нече колдонуучулар катталган. Сиз бул системаны кайра жүктөп келет деп ишенесизби?</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1920,53 +1943,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>Кирүү параметрлери</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -1975,7 +1998,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>Орнотмо алынып салынганын аныктоо!</translation>
</message>
@ -1990,12 +2013,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">ЛАН</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">ВЛАН</translation>
</message>
@ -2170,41 +2193,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Хибернат</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">Токтотуу</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Кайра иштетүү</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Электр энергиясын өчүрүү</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">Өчүрүү</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<translation type="obsolete">Электр энергиясын өчүрүү</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2278,37 +2317,37 @@
<translation>Экран сактагыч активдүү эмес.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2354,7 +2393,7 @@
<translation type="vanished">Сизде жаңы билдирүү бар</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>Көрүү</translation>
</message>
@ -2470,14 +2509,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">Кирүү</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2653,12 +2692,12 @@
<translation>терезе идентификату</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation> </translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation> </translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1/ </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished"> </translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation> </translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1/ %2 </translation>
</message>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation> </translation>
</message>
@ -248,13 +248,13 @@
<translation type="vanished"> USB </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation> </translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished"> !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished"> !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished"> !</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished"> !</translation>
</message>
@ -1664,6 +1668,25 @@
<translation type="vanished"> </translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -1901,17 +1924,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1955,7 +1978,7 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1963,53 +1986,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished"> </translation>
</message>
@ -2018,7 +2041,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation> !</translation>
</message>
@ -2033,12 +2056,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished"> </translation>
</message>
@ -2213,41 +2236,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"> </translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2337,37 +2376,37 @@
<translation> </translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"> </translation>
</message>
@ -2413,7 +2452,7 @@
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation> </translation>
</message>
@ -2529,14 +2568,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2712,12 +2751,12 @@
<translation> id</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -43,24 +43,28 @@
<translation type="vanished">Senha incorreta, por favor tente novamente</translation>
</message>
<message>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
<source>FingerPrint</source>
<translation type="unfinished">Impressão digital</translation>
</message>
<message>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
<source>FingerVein</source>
<translation type="unfinished">FingerVein</translation>
</message>
<message>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
<source>Iris</source>
<translation type="unfinished">Íris</translation>
</message>
<message>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
<source>Face</source>
<translation type="unfinished">Face</translation>
</message>
<message>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
<source>VoicePrint</source>
<translation type="unfinished">VoicePrint</translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">Convidado</translation>
</message>
<message>
<source>Login</source>
@ -86,34 +90,22 @@
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, you still have %2 verification opportunities</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>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abnormal network</source>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Username</source>
<translation type="unfinished"></translation>
@ -122,34 +114,46 @@
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">Impressão digital</translation>
</message>
<message>
<source>FingerVein</source>
<translation type="unfinished">FingerVein</translation>
</message>
<message>
<source>Iris</source>
<translation type="unfinished">Íris</translation>
</message>
<message>
<source>Face</source>
<translation type="unfinished">Face</translation>
</message>
<message>
<source>VoicePrint</source>
<translation type="unfinished">VoicePrint</translation>
</message>
<message>
<source>Ukey</source>
<translation type="unfinished"></translation>
@ -158,10 +162,6 @@
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">Convidado</translation>
</message>
</context>
<context>
<name>BatteryWidget</name>
@ -470,6 +470,21 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -490,6 +505,10 @@
</context>
<context>
<name>LightDMHelper</name>
<message>
<source>Guest</source>
<translation type="unfinished">Convidado</translation>
</message>
<message>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
@ -498,10 +517,6 @@
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">Convidado</translation>
</message>
</context>
<context>
<name>LockWidget</name>
@ -532,22 +547,10 @@
</context>
<context>
<name>LoginOptionsWidget</name>
<message>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password</source>
<translation type="unfinished">Senha</translation>
</message>
<message>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">Impressão digital</translation>
@ -568,6 +571,18 @@
<source>VoicePrint</source>
<translation type="unfinished">VoicePrint</translation>
</message>
<message>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ukey</source>
<translation type="unfinished"></translation>
@ -636,13 +651,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -653,14 +672,6 @@
</context>
<context>
<name>QObject</name>
<message>
<source>The screensaver is active.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">Impressão digital</translation>
@ -689,6 +700,14 @@
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is active.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>S:</name>
@ -729,14 +748,14 @@
</context>
<context>
<name>UserListWidget</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">Convidado</translation>
</message>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Widget</name>
@ -781,6 +800,46 @@
<source>activated by session idle signal</source>
<translation>ativado por sinal ocioso de sessão</translation>
</message>
<message>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>query the status of the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unlock the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show the screensaver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen and show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and delay time to show lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and if lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Screensaver for ukui-screensaver</source>
<translation type="unfinished"></translation>
@ -797,45 +856,5 @@
<source>window id</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>query the status of the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen and show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unlock the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show the screensaver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and delay time to show lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and if lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -43,24 +43,28 @@
<translation type="vanished">Пароль неверен, повторите попытку</translation>
</message>
<message>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
<source>FingerPrint</source>
<translation type="unfinished">FingerPrint</translation>
</message>
<message>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
<source>FingerVein</source>
<translation type="unfinished">FingerVein</translation>
</message>
<message>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
<source>Iris</source>
<translation type="unfinished">Ирис</translation>
</message>
<message>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
<source>Face</source>
<translation type="unfinished">Лицо</translation>
</message>
<message>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
<source>VoicePrint</source>
<translation type="unfinished">Voiceprint</translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">гость</translation>
</message>
<message>
<source>Login</source>
@ -86,34 +90,22 @@
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, you still have %2 verification opportunities</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>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abnormal network</source>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Username</source>
<translation type="unfinished"></translation>
@ -122,34 +114,46 @@
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Face recognition waiting time out, please click refresh or enter the password to unlock.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">FingerPrint</translation>
</message>
<message>
<source>FingerVein</source>
<translation type="unfinished">FingerVein</translation>
</message>
<message>
<source>Iris</source>
<translation type="unfinished">Ирис</translation>
</message>
<message>
<source>Face</source>
<translation type="unfinished">Лицо</translation>
</message>
<message>
<source>VoicePrint</source>
<translation type="unfinished">Voiceprint</translation>
</message>
<message>
<source>Ukey</source>
<translation type="unfinished"></translation>
@ -158,10 +162,6 @@
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">гость</translation>
</message>
</context>
<context>
<name>BatteryWidget</name>
@ -470,6 +470,21 @@
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -490,6 +505,10 @@
</context>
<context>
<name>LightDMHelper</name>
<message>
<source>Guest</source>
<translation type="unfinished">гость</translation>
</message>
<message>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
@ -498,10 +517,6 @@
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">гость</translation>
</message>
</context>
<context>
<name>LockWidget</name>
@ -532,22 +547,10 @@
</context>
<context>
<name>LoginOptionsWidget</name>
<message>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Password</source>
<translation type="unfinished">пароль</translation>
</message>
<message>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">FingerPrint</translation>
@ -568,6 +571,18 @@
<source>VoicePrint</source>
<translation type="unfinished">Voiceprint</translation>
</message>
<message>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Ukey</source>
<translation type="unfinished"></translation>
@ -636,13 +651,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -653,14 +672,6 @@
</context>
<context>
<name>QObject</name>
<message>
<source>The screensaver is active.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>FingerPrint</source>
<translation type="unfinished">FingerPrint</translation>
@ -689,6 +700,14 @@
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is active.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>S:</name>
@ -729,14 +748,14 @@
</context>
<context>
<name>UserListWidget</name>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Guest</source>
<translation type="unfinished">гость</translation>
</message>
<message>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Widget</name>
@ -781,6 +800,46 @@
<source>activated by session idle signal</source>
<translation>активируется сигналом холостого хода</translation>
</message>
<message>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>query the status of the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unlock the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show the screensaver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen and show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and delay time to show lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and if lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Screensaver for ukui-screensaver</source>
<translation type="unfinished"></translation>
@ -797,45 +856,5 @@
<source>window id</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>query the status of the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen and show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>unlock the screen saver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show the screensaver</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show screensaver immediately</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and delay time to show lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>show blank screensaver immediately and if lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation type="unfinished"></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">Parola</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation type="unfinished">Yeniden Dene</translation>
</message>
@ -49,164 +49,164 @@
<translation type="vanished">Kimlik doğrulama hatası, hala %1 kalan denemen var</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished">Misafir</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<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="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -226,22 +226,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -317,36 +321,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished"></translation>
</message>
@ -582,6 +586,25 @@
<translation type="obsolete">Tamam</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LettersWidget</name>
<message>
@ -598,17 +621,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished">Misafir</translation>
</message>
@ -632,7 +655,7 @@
<translation type="vanished">Kullanıcı Değiştir</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -640,58 +663,58 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation type="unfinished">Parola</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -699,12 +722,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished"></translation>
</message>
@ -726,41 +749,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">Yeniden Başlat</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">Bilgisayarı Kapat</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<translation type="obsolete">Bilgisayarı Kapat</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -807,6 +846,41 @@
</context>
<context>
<name>QObject</name>
<message>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-command/main.cpp" line="90"/>
<source>The screensaver is active.</source>
@ -817,41 +891,6 @@
<source>The screensaver is inactive.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<source>FingerPrint</source>
<translation type="unfinished">Parmak İzi</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<source>Iris</source>
<translation type="unfinished">Göz</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<source>Face</source>
<translation type="unfinished">Yüz</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<source>VoicePrint</source>
<translation type="unfinished">Ses İzi</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>S:</name>
@ -872,16 +911,6 @@
<source>exit</source>
<translation type="obsolete">çıkış</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="132"/>
<source>Picture does not exist</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Set as desktop wallpaper</source>
<translation type="obsolete">Masaüstü arkaplanı olarak ayarla</translation>
@ -890,6 +919,16 @@
<source>Automatic switching</source>
<translation type="obsolete">Otomatik değiştir</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="132"/>
<source>Picture does not exist</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SleepTime</name>
@ -902,14 +941,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished">Misafir</translation>
</message>
@ -977,6 +1016,16 @@
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-dialog/lockdialogmodel.cpp" line="40"/>
<source>Dialog for the ukui ScreenSaver.</source>
@ -1028,15 +1077,5 @@
<source>window id</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation type="unfinished"></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation>قايتا قايتا تىرشىش</translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation>٪1 مىنۇت ئىچىدە قايتا سىناپ بېقىڭ.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation>٪1 سېكۇنت ئىچىدە قايتا سىناپ بېقىڭ.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation>ھېسابات مەڭگۈلۈك قۇلۇپلىنىدۇ.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation>چىراي تونۇشنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation>بارماق ئىزىنى بېسىش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation>ئاۋاز ئىزىنى دەلىللەش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation>بارماق تومۇرىنى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation>Iris نى ئېنىقلاش ياكى مەخپىي نومۇر كىرگۈزۈش ئارقىلىق قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation>ئىم كىرگۈزۈش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">ئىشلەتكۈچى نامى</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>٪1 نى دەلىللەش مەغلۇپ بولدى، مەخپى نۇمۇر كىرگۈزۈڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>٪1 نى دەلىللەشكە ئامالسىز، مەخپىي نومۇرنى كىرگۈزۈپ قۇلۇپنى ئاچ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation>بىنورمال تور</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation>مەخپىي نومۇرنى بوش قويۇشقا بولمايدۇ</translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>٪1 نى دەلىللەش مەغلۇپ بولدى، سىزدە يەنىلا ٪2 دەلىللەش پۇرسىتى بار</translation>
</message>
@ -229,24 +229,24 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation>دەلىللەش مەغلۇپ بولدى، قايتا سىناپ بېقىڭ</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>باغلانغان ئۈندىدارنى سىكاننېرلاش كودى ياكى مەخپىي نومۇرىنى كىرگۈزۈپ قۇلۇپ ئېچىش</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation>ئىم </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation>كىرىش</translation>
</message>
@ -274,22 +274,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation type="unfinished"></translation>
</message>
@ -365,36 +369,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished">ئەمەلدىن قالدۇرۇش</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished">سېستىمىنىڭ قايتا قوزغىلىشىنىڭ ئالدىنى ئېلىش ئۈچۈن تۆۋەندىكى پروگرامما ئىجرا بولىۋاتىدۇ!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished">تۆۋەندىكى پروگرامما سىستېمىنىڭ تاقىلىپ قېلىشىنىڭ ئالدىنى ئېلىش ئۈچۈن يۈگۈرۈۋاتىدۇ!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished">سېستىمىنىڭ توختىشىنىڭ ئالدىنى ئېلىش ئۈچۈن تۆۋەندىكى پروگرامما ئىجرا قىلىنىۋاتىدۇ!</translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished">سېستىمىنىڭ تىزگىنلەپ قېلىشىنىڭ ئالدىنى ئېلىش ئۈچۈن تۆۋەندىكى پروگرامما ئىجرا بولىۋاتىدۇ!</translation>
</message>
@ -1645,6 +1649,25 @@
<translation type="vanished">كود ئېلىش</translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KeyboardWidget</name>
<message>
@ -1874,17 +1897,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished">كىرىش</translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1912,7 +1935,7 @@
<translation type="vanished">بىرلا ۋاقىتتا كۆپ ئابونت تىزىملىتىپ كىرىدۇ. سىز بۇ سىستېمىنى قايتىدىن قوزغىماقچى ئىكەنلىكىڭىزنى جەزىملەشتۈرەلەمسىز؟</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1920,53 +1943,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation>كىرىش تاللانمىلىرى</translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -1975,7 +1998,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>ئۈسكۈنىنى پەرقلەندۈرۈڭ!</translation>
</message>
@ -1990,12 +2013,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished">LAN</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished">WLAN</translation>
</message>
@ -2170,41 +2193,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished">Hibernate</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished">توختىتىپ قويۇش</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished">قايتا قوزغىتىش</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished">توكسىز</translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished">تاقىۋەت</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Power Off</source>
<translation type="obsolete">توكسىز</translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2278,37 +2317,37 @@
<translation>ئېكران ئېكرانى ھەرىكەتسىز.</translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished">QRCode</translation>
</message>
@ -2354,7 +2393,7 @@
<translation type="vanished">سىزدە يېڭى ئۇقتۇرۇش بار</translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation>كۆرۈش</translation>
</message>
@ -2470,14 +2509,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished">كىرىش</translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2653,12 +2692,12 @@
<translation>كۆزنەك id</translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation>:</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation>%1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation></translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation>%1%2</translation>
</message>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>使</translation>
</message>
@ -248,13 +248,13 @@
<translation type="vanished">USB端口</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation></translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation>...</translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation></translation>
</message>
@ -1660,6 +1664,25 @@
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KylinDBus</name>
<message>
@ -1878,17 +1901,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation></translation>
</message>
@ -1932,7 +1955,7 @@
<translation type="vanished">线</translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation>%1?</translation>
</message>
@ -1940,53 +1963,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation></translation>
</message>
@ -1995,7 +2018,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation>!</translation>
</message>
@ -2010,12 +2033,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation>线</translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation>线</translation>
</message>
@ -2186,41 +2209,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation></translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2310,37 +2349,37 @@
<translation></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -2386,7 +2425,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation></translation>
</message>
@ -2498,14 +2537,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2629,6 +2668,16 @@
<source>show blank and delay to lock,param:idle/lid/lowpower</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-dialog/lockdialogmodel.cpp" line="40"/>
<source>Dialog for the ukui ScreenSaver.</source>
@ -2680,15 +2729,5 @@
<source>window id</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -4,7 +4,7 @@
<context>
<name>AgreementWindow</name>
<message>
<location filename="../src/widgets/agreementwindow.cpp" line="34"/>
<location filename="../src/widgets/agreementwindow.cpp" line="51"/>
<source>I know</source>
<translation></translation>
</message>
@ -24,7 +24,7 @@
<translation type="obsolete">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1117"/>
<location filename="../src/widgets/authdialog.cpp" line="1135"/>
<source>Retry</source>
<translation></translation>
</message>
@ -53,130 +53,130 @@
<translation type="vanished">%1%2</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1186"/>
<location filename="../src/widgets/authdialog.cpp" line="1204"/>
<source>Please try again in %1 minutes.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1193"/>
<location filename="../src/widgets/authdialog.cpp" line="1211"/>
<source>Please try again in %1 seconds.</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1200"/>
<location filename="../src/widgets/authdialog.cpp" line="1218"/>
<source>Account locked permanently.</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="549"/>
<location filename="../src/widgets/authdialog.cpp" line="592"/>
<location filename="../src/widgets/authdialog.cpp" line="593"/>
<location filename="../src/widgets/authdialog.cpp" line="636"/>
<source>Verify face recognition or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="348"/>
<location filename="../src/widgets/authdialog.cpp" line="390"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="554"/>
<location filename="../src/widgets/authdialog.cpp" line="598"/>
<source>Press fingerprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="559"/>
<location filename="../src/widgets/authdialog.cpp" line="603"/>
<source>Verify voiceprint or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="564"/>
<location filename="../src/widgets/authdialog.cpp" line="608"/>
<source>Verify finger vein or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="569"/>
<location filename="../src/widgets/authdialog.cpp" line="613"/>
<source>Verify iris or enter password to unlock</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="887"/>
<location filename="../src/widgets/authdialog.cpp" line="904"/>
<source>Input Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="892"/>
<location filename="../src/widgets/authdialog.cpp" line="909"/>
<source>Username</source>
<translation type="unfinished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="960"/>
<location filename="../src/widgets/authdialog.cpp" line="978"/>
<source>User name input error!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1037"/>
<location filename="../src/widgets/authdialog.cpp" line="1055"/>
<source>login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1420"/>
<location filename="../src/widgets/authdialog.cpp" line="1572"/>
<location filename="../src/widgets/authdialog.cpp" line="1713"/>
<location filename="../src/widgets/authdialog.cpp" line="1890"/>
<location filename="../src/widgets/authdialog.cpp" line="1438"/>
<location filename="../src/widgets/authdialog.cpp" line="1590"/>
<location filename="../src/widgets/authdialog.cpp" line="1731"/>
<location filename="../src/widgets/authdialog.cpp" line="1908"/>
<source>Failed to verify %1, please enter password to unlock</source>
<translation> %1 </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1422"/>
<location filename="../src/widgets/authdialog.cpp" line="1574"/>
<location filename="../src/widgets/authdialog.cpp" line="1717"/>
<location filename="../src/widgets/authdialog.cpp" line="1719"/>
<location filename="../src/widgets/authdialog.cpp" line="1892"/>
<location filename="../src/widgets/authdialog.cpp" line="1440"/>
<location filename="../src/widgets/authdialog.cpp" line="1592"/>
<location filename="../src/widgets/authdialog.cpp" line="1735"/>
<location filename="../src/widgets/authdialog.cpp" line="1737"/>
<location filename="../src/widgets/authdialog.cpp" line="1910"/>
<source>Unable to verify %1, please enter password to unlock</source>
<translation> %1</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1747"/>
<location filename="../src/widgets/authdialog.cpp" line="1765"/>
<source>Abnormal network</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<location filename="../src/widgets/authdialog.cpp" line="1772"/>
<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="2020"/>
<location filename="../src/widgets/authdialog.cpp" line="2033"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2022"/>
<location filename="../src/widgets/authdialog.cpp" line="2035"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2024"/>
<location filename="../src/widgets/authdialog.cpp" line="2037"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2026"/>
<location filename="../src/widgets/authdialog.cpp" line="2039"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2028"/>
<location filename="../src/widgets/authdialog.cpp" line="2041"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2030"/>
<location filename="../src/widgets/authdialog.cpp" line="2043"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="2032"/>
<location filename="../src/widgets/authdialog.cpp" line="2045"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -185,8 +185,8 @@
<translation type="vanished">使</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="730"/>
<location filename="../src/widgets/authdialog.cpp" line="731"/>
<location filename="../src/widgets/authdialog.cpp" line="747"/>
<location filename="../src/widgets/authdialog.cpp" line="748"/>
<source>Password cannot be empty</source>
<translation></translation>
</message>
@ -199,8 +199,8 @@
<translation type="vanished">%1.</translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="1732"/>
<location filename="../src/widgets/authdialog.cpp" line="1736"/>
<location filename="../src/widgets/authdialog.cpp" line="1750"/>
<location filename="../src/widgets/authdialog.cpp" line="1754"/>
<source>Failed to verify %1, you still have %2 verification opportunities</source>
<translation> %1 %2 </translation>
</message>
@ -229,13 +229,13 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="963"/>
<location filename="../src/widgets/authdialog.cpp" line="968"/>
<location filename="../src/widgets/authdialog.cpp" line="981"/>
<location filename="../src/widgets/authdialog.cpp" line="986"/>
<source>Authentication failure, Please try again</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="574"/>
<location filename="../src/widgets/authdialog.cpp" line="618"/>
<source>Use the bound wechat scanning code or enter the password to unlock</source>
<translation>使</translation>
</message>
@ -248,13 +248,13 @@
<translation type="vanished"> Ukey USB </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="884"/>
<location filename="../src/widgets/authdialog.cpp" line="901"/>
<source>Password </source>
<translation> </translation>
</message>
<message>
<location filename="../src/widgets/authdialog.cpp" line="346"/>
<location filename="../src/widgets/authdialog.cpp" line="1108"/>
<location filename="../src/widgets/authdialog.cpp" line="388"/>
<location filename="../src/widgets/authdialog.cpp" line="1126"/>
<source>Login</source>
<translation></translation>
</message>
@ -282,22 +282,26 @@
<context>
<name>BatteryWidget</name>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="113"/>
<location filename="../src/widgets/batterywidget.cpp" line="114"/>
<location filename="../src/widgets/batterywidget.cpp" line="144"/>
<source>Charging...</source>
<translation>...</translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="115"/>
<location filename="../src/widgets/batterywidget.cpp" line="116"/>
<location filename="../src/widgets/batterywidget.cpp" line="146"/>
<source>fully charged</source>
<translation>滿</translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="119"/>
<location filename="../src/widgets/batterywidget.cpp" line="120"/>
<location filename="../src/widgets/batterywidget.cpp" line="150"/>
<source>PowerMode</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/batterywidget.cpp" line="122"/>
<location filename="../src/widgets/batterywidget.cpp" line="123"/>
<location filename="../src/widgets/batterywidget.cpp" line="153"/>
<source>BatteryMode</source>
<translation></translation>
</message>
@ -373,36 +377,36 @@
<context>
<name>BlockWidget</name>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="40"/>
<location filename="../src/widgets/blockwidget.cpp" line="82"/>
<location filename="../src/widgets/blockwidget.cpp" line="135"/>
<location filename="../src/widgets/blockwidget.cpp" line="57"/>
<location filename="../src/widgets/blockwidget.cpp" line="99"/>
<location filename="../src/widgets/blockwidget.cpp" line="152"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="44"/>
<location filename="../src/widgets/blockwidget.cpp" line="83"/>
<location filename="../src/widgets/blockwidget.cpp" line="136"/>
<location filename="../src/widgets/blockwidget.cpp" line="61"/>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="153"/>
<source>Confrim</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="91"/>
<location filename="../src/widgets/blockwidget.cpp" line="108"/>
<source>The following program is running to prevent the system from reboot!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="94"/>
<location filename="../src/widgets/blockwidget.cpp" line="111"/>
<source>The following program is running to prevent the system from shutting down!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="97"/>
<location filename="../src/widgets/blockwidget.cpp" line="114"/>
<source>The following program is running to prevent the system from suspend!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/blockwidget.cpp" line="100"/>
<location filename="../src/widgets/blockwidget.cpp" line="117"/>
<source>The following program is running to prevent the system from hibernate!</source>
<translation type="unfinished"></translation>
</message>
@ -1664,6 +1668,25 @@
<translation type="vanished"></translation>
</message>
</context>
<context>
<name>KBTitle</name>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="49"/>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="86"/>
<source>Suspended state</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="60"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/VirtualKeyboard/src/kbtitle.cpp" line="89"/>
<source>Welt status</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>KylinDBus</name>
<message>
@ -1894,17 +1917,17 @@
<context>
<name>LightDMHelper</name>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="105"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="111"/>
<source>failed to start session.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="204"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="210"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="213"/>
<location filename="../src/lock-backend/lightdmhelper.cpp" line="219"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -1948,7 +1971,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/lockwidget.cpp" line="944"/>
<location filename="../src/widgets/lockwidget.cpp" line="1022"/>
<source>Multiple users are logged in at the same time.Are you sure you want to %1 this system?</source>
<translation type="unfinished"></translation>
</message>
@ -1956,53 +1979,53 @@
<context>
<name>LoginOptionsWidget</name>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="67"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="90"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="84"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="107"/>
<source>Login Options</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="271"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="288"/>
<source>Password</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="297"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="314"/>
<source>Other</source>
<translation></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1023"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1040"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1025"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1042"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1027"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1044"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1029"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1046"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1031"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1048"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1033"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1050"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1035"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="1052"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -2011,7 +2034,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/widgets/loginoptionswidget.cpp" line="706"/>
<location filename="../src/widgets/loginoptionswidget.cpp" line="723"/>
<source>Identify device removed!</source>
<translation></translation>
</message>
@ -2026,12 +2049,12 @@
<context>
<name>MyNetworkWidget</name>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="35"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="52"/>
<source>LAN</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/mynetworkwidget.cpp" line="37"/>
<location filename="../src/widgets/mynetworkwidget.cpp" line="54"/>
<source>WLAN</source>
<translation type="unfinished"></translation>
</message>
@ -2206,41 +2229,57 @@
<context>
<name>PowerListWidget</name>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="64"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="164"/>
<location filename="../src/widgets/powerlistwidget.h" line="81"/>
<source>Hibernate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="65"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="165"/>
<location filename="../src/widgets/powerlistwidget.h" line="82"/>
<source>Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="78"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="168"/>
<location filename="../src/widgets/powerlistwidget.h" line="94"/>
<source>Suspend</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="79"/>
<location filename="../src/widgets/powerlistwidget.h" line="93"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="169"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="173"/>
<location filename="../src/widgets/powerlistwidget.h" line="95"/>
<source>The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="92"/>
<location filename="../src/widgets/powerlistwidget.cpp" line="172"/>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="106"/>
<source>Power Off</source>
<translation type="unfinished"></translation>
<location filename="../src/widgets/powerlistwidget.cpp" line="176"/>
<location filename="../src/widgets/powerlistwidget.h" line="119"/>
<source>Shut Down</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="107"/>
<source>Power Off</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.cpp" line="177"/>
<location filename="../src/widgets/powerlistwidget.h" line="120"/>
<source>Close all apps, and then shut down your computer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/powerlistwidget.h" line="108"/>
<source>Close all apps, turn off your computer, and then turn your computer back on</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PowerManager</name>
@ -2330,37 +2369,37 @@
<translation></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="29"/>
<location filename="../src/common/biodefines.cpp" line="28"/>
<source>FingerPrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="31"/>
<location filename="../src/common/biodefines.cpp" line="30"/>
<source>FingerVein</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="33"/>
<location filename="../src/common/biodefines.cpp" line="32"/>
<source>Iris</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="35"/>
<location filename="../src/common/biodefines.cpp" line="34"/>
<source>Face</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="37"/>
<location filename="../src/common/biodefines.cpp" line="36"/>
<source>VoicePrint</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="39"/>
<location filename="../src/common/biodefines.cpp" line="38"/>
<source>Ukey</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/common/biodefines.cpp" line="41"/>
<location filename="../src/common/biodefines.cpp" line="40"/>
<source>QRCode</source>
<translation type="unfinished"></translation>
</message>
@ -2406,7 +2445,7 @@
<translation type="vanished"></translation>
</message>
<message>
<location filename="../src/screensaver/screensaver.cpp" line="1100"/>
<location filename="../src/screensaver/screensaver.cpp" line="135"/>
<source>View</source>
<translation></translation>
</message>
@ -2522,14 +2561,14 @@
<context>
<name>UserListWidget</name>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="46"/>
<location filename="../src/widgets/userlistwidget.cpp" line="99"/>
<location filename="../src/widgets/userlistwidget.cpp" line="63"/>
<location filename="../src/widgets/userlistwidget.cpp" line="116"/>
<source>Login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/userlistwidget.cpp" line="48"/>
<location filename="../src/widgets/userlistwidget.cpp" line="101"/>
<location filename="../src/widgets/userlistwidget.cpp" line="65"/>
<location filename="../src/widgets/userlistwidget.cpp" line="118"/>
<source>Guest</source>
<translation type="unfinished"></translation>
</message>
@ -2705,12 +2744,12 @@
<translation></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="49"/>
<location filename="../src/lock-backend/main.cpp" line="50"/>
<source>Backend for the ukui ScreenSaver.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/lock-backend/main.cpp" line="55"/>
<location filename="../src/lock-backend/main.cpp" line="56"/>
<source>lock the screen by startup</source>
<translation type="unfinished"></translation>
</message>

View File

@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
**/
**/
#include "fullbackgroundwidget.h"
#include "../lock-dialog/lockdialogmodel.h"
#include "utils.h"
@ -49,8 +49,7 @@
#include "configuration.h"
FullBackgroundWidget::FullBackgroundWidget(LockDialogModel *model, QWidget *parent)
: QWidget(parent)
, m_modelLockDialog(model)
: QWidget(parent), m_modelLockDialog(model)
{
initCurrentBackground();
initUI();
@ -72,17 +71,18 @@ void FullBackgroundWidget::initUI()
if (QX11Info::isPlatformX11()) {
/*捕获键盘如果捕获失败则可能是由于弹出菜单项已经捕获那么模拟一次esc按键来退出菜单如果仍捕获失败则放弃锁屏避免密码无法输入*/
if (establishGrab())
qDebug()<<"establishGrab : true";
qDebug() << "establishGrab : true";
else {
qDebug()<<"establishGrab : false";
qDebug() << "establishGrab : false";
/*检测当前是否存在弹出菜单只有存在弹出菜单时才模拟按键esc*/
if (checkHasPopupMenu()) {
XTestFakeKeyEvent(QX11Info::display(), XKeysymToKeycode(QX11Info::display(),XK_Escape), True, 1);
XTestFakeKeyEvent(QX11Info::display(), XKeysymToKeycode(QX11Info::display(),XK_Escape), False, 1);
qDebug() << "XTestFakeKeyEvent Esc!!";
XTestFakeKeyEvent(QX11Info::display(), XKeysymToKeycode(QX11Info::display(), XK_Escape), True, 1);
XTestFakeKeyEvent(QX11Info::display(), XKeysymToKeycode(QX11Info::display(), XK_Escape), False, 1);
XFlush(QX11Info::display());
sleep(1);
}
if(!establishGrab()) {
if (!establishGrab()) {
exit(1);
}
}
@ -98,14 +98,15 @@ void FullBackgroundWidget::initUI()
moveToPrimaryScreen();
}
if(m_modelLockDialog->getAgreementWindowShowLoginPrompt() && (/*IsStartupMode() || */(qgetenv("USER") == "lightdm"))){
if (m_modelLockDialog->getAgreementWindowShowLoginPrompt()
&& (/*IsStartupMode() || */ (qgetenv("USER") == "lightdm"))) {
bool hideTitle = m_modelLockDialog->getAgreementWindowHideTitle();
QString title = m_modelLockDialog->getAgreementWindowPromptTitle();
QString text = m_modelLockDialog->getAgreementWindowText();
//文本内容不为空 且 如果配置了标题,则标题不为空
if(!text.isEmpty() && (hideTitle || (!hideTitle && !text.isEmpty()))){
m_agreementWindow = new AgreementWindow(hideTitle,title,text,this);
if (!text.isEmpty() && (hideTitle || (!hideTitle && !text.isEmpty()))) {
m_agreementWindow = new AgreementWindow(hideTitle, title, text, this);
m_lockWidget->hide();
m_agreementWindow->setGeometry(this->geometry());
m_agreementWindow->show();
@ -114,15 +115,14 @@ void FullBackgroundWidget::initUI()
m_agreementWindow->setFocusPolicy(Qt::StrongFocus);
setFocusProxy(m_agreementWindow);
m_agreementWindow->setFocus();
//特别提示窗口抓取键盘,避免焦点在密码框上时输入事件跑到密码框,但会导致我已知晓按钮无法响应回车
m_agreementWindow->grabKeyboard();
connect(m_agreementWindow, &AgreementWindow::switchToGreeter, this,
[this]() {
//特别提示窗口抓取键盘,避免焦点在密码框上时输入事件跑到密码框,但会导致我已知晓按钮无法响应回车
m_agreementWindow->grabKeyboard();
connect(m_agreementWindow, &AgreementWindow::switchToGreeter, this, [this]() {
m_agreementWindow->hide();
m_agreementWindow->releaseKeyboard();
m_agreementWindow->clearFocus();
m_lockWidget->show();
m_lockWidget->setFocus();
m_lockWidget->setFocus();
update();
});
}
@ -135,9 +135,7 @@ void FullBackgroundWidget::initUI()
if (isGreeterMode()) {
XRRQueryExtension(QX11Info::display(), &m_RREventBase, &m_RRErrorBase);
XRRSelectInput(QX11Info::display(), QX11Info::appRootWindow(), RRScreenChangeNotifyMask);
QtConcurrent::run([=](){
RRScreenChangeEvent(true);
});
QtConcurrent::run([=]() { RRScreenChangeEvent(true); });
}
qApp->installNativeEventFilter(this);
@ -149,22 +147,23 @@ bool FullBackgroundWidget::eventFilter(QObject *obj, QEvent *event)
static bool isFirstActive = true;
if (!QX11Info::isPlatformX11()) {
if(event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseMove/* || event->type() == 7*/){
if(screenStatus & SCREEN_SAVER && !isBlank){
if (event->type() == QEvent::MouseButtonPress
|| event->type() == QEvent::MouseMove /* || event->type() == 7*/) {
if (screenStatus & SCREEN_SAVER && !isBlank) {
onClearScreensaver();
}
}
}
if(event->type() == QEvent::WindowDeactivate){
QTimer::singleShot(50,this,SLOT(laterActivate()));
} else if(event->type() == QEvent::WindowActivate){
if (event->type() == QEvent::WindowDeactivate) {
QTimer::singleShot(50, this, SLOT(laterActivate()));
} else if (event->type() == QEvent::WindowActivate) {
if (isFirstActive) {
isFirstActive = false;
syslog(LOG_INFO, "[ukui-screensaver-dialog] window active event!!");
}
QTimer::singleShot(500,this,SLOT(setLockState()));
//QTimer::singleShot(200,this,SLOT(killWindow()));
QTimer::singleShot(500, this, SLOT(setLockState()));
// QTimer::singleShot(200,this,SLOT(killWindow()));
}
return QWidget::eventFilter(obj, event);
}
@ -173,65 +172,58 @@ void FullBackgroundWidget::initConnections()
{
// 监听全屏窗口变化
QDesktopWidget *desktop = QApplication::desktop();
connect(desktop, &QDesktopWidget::resized,
this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::workAreaResized,
this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::primaryScreenChanged,
this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::screenCountChanged,
this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::resized, this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::workAreaResized, this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::primaryScreenChanged, this, &FullBackgroundWidget::onDesktopResized);
connect(desktop, &QDesktopWidget::screenCountChanged, this, &FullBackgroundWidget::onDesktopResized);
// 监听休眠、睡眠、唤醒
connect(m_modelLockDialog, SIGNAL(prepareForSleep(bool)), this, SLOT(onPrepareForSleep(bool)));
connect(m_modelLockDialog, &LockDialogModel::currentUserChanged, this, &FullBackgroundWidget::onCurUserChanged);
connect(m_modelLockDialog, &LockDialogModel::showLock, this, &FullBackgroundWidget::onShowLock);
connect(m_modelLockDialog, &LockDialogModel::showBlankScreensaver, this, &FullBackgroundWidget::onShowBlankScreensaver);
connect(m_modelLockDialog, &LockDialogModel::showLockScreensaver, this, &FullBackgroundWidget::onShowLockScreensaver);
connect(
m_modelLockDialog, &LockDialogModel::showBlankScreensaver, this, &FullBackgroundWidget::onShowBlankScreensaver);
connect(
m_modelLockDialog, &LockDialogModel::showLockScreensaver, this, &FullBackgroundWidget::onShowLockScreensaver);
connect(m_modelLockDialog, &LockDialogModel::showScreensaver, this, &FullBackgroundWidget::onShowScreensaver);
connect(m_modelLockDialog, &LockDialogModel::showSessionIdle, this, &FullBackgroundWidget::onShowSessionIdle);
connect(m_modelLockDialog, &LockDialogModel::SecondRunParam, this, &FullBackgroundWidget::onSecondRunParam);
}
void FullBackgroundWidget::setLockState()
{
if(m_bIsLockState == true)
return ;
if (m_bIsLockState == true)
return;
m_bIsLockState = true;
QString displayNum = QString(qgetenv("DISPLAY")).replace(":", "").replace(".", "_");
QString sessionDbus = QString("%1%2").arg(QString(SS_DBUS_SERVICE)).arg(displayNum);
QDBusInterface *interface = new QDBusInterface(sessionDbus,
SS_DBUS_PATH,
SS_DBUS_INTERFACE);
QDBusInterface *interface = new QDBusInterface(sessionDbus, SS_DBUS_PATH, SS_DBUS_INTERFACE);
if (!interface->isValid()) {
delete interface;
interface = new QDBusInterface(SS_DBUS_SERVICE,
SS_DBUS_PATH,
SS_DBUS_INTERFACE);
interface = new QDBusInterface(SS_DBUS_SERVICE, SS_DBUS_PATH, SS_DBUS_INTERFACE);
}
QDBusMessage msg = interface->call("SetLockState");
if(msg.type() == QDBusMessage::ErrorMessage)
qDebug() << msg.errorMessage();
if (msg.type() == QDBusMessage::ErrorMessage)
qDebug() << msg.errorMessage();
interface->deleteLater();
}
void FullBackgroundWidget::onSecondRunParam(const QString &str)
{
qDebug()<<"onSecondRunParam"<<str;
if(str == "SleepLock"){
onShowBlankScreensaver(0,true);
}else if(str == "ScreensaverLock"){
qDebug() << "onSecondRunParam" << str;
if (str == "SleepLock") {
onShowBlankScreensaver(0, true);
} else if (str == "ScreensaverLock") {
onShowLockScreensaver();
}else if(str == "StartupLock"){
} else if (str == "StartupLock") {
onShowLock(true);
}else if(str == "CmdLock"){
} else if (str == "CmdLock") {
onShowLock(false);
}else if(str == "CloseLock"){
onShowBlankScreensaver(1000,false);
}else if(str == "SessionIdle"){
} else if (str == "CloseLock") {
onShowBlankScreensaver(1000, false);
} else if (str == "SessionIdle") {
onShowSessionIdle();
} else if(str == "Screensaver"){
} else if (str == "Screensaver") {
onShowScreensaver();
}
}
@ -246,9 +238,8 @@ void FullBackgroundWidget::onShowBlankScreensaver(int nDelay, bool isHasLock)
} else {
screenStatus = (ScreenStatus)(screenStatus | SCREEN_SAVER);
}
for(auto screen : QGuiApplication::screens())
{
for (auto screen : QGuiApplication::screens()) {
ScreenSaver *saver = m_modelLockDialog->getScreensaver();
saver->mode = SaverMode(SAVER_BLANK_ONLY);
ScreenSaverWidget *saverWidget = new ScreenSaverWidget(saver, this);
@ -261,15 +252,15 @@ void FullBackgroundWidget::onShowBlankScreensaver(int nDelay, bool isHasLock)
if (0 == nDelay) {
/*在进行压力测试时,可能会出现锁屏界面启动极慢,导致在睡眠之前调用了锁屏,但
*
* */
*
* */
bool ret = Q_EMIT m_modelLockDialog->GetBlankState();
if(!ret){
//isBlank = false;
//onClearScreensaver();
if (!ret) {
// isBlank = false;
// onClearScreensaver();
}
}else{
QTimer::singleShot(nDelay, this, [=](){
} else {
QTimer::singleShot(nDelay, this, [=]() {
if (isBlank) {
isBlank = false;
onClearScreensaver();
@ -285,13 +276,13 @@ void FullBackgroundWidget::onShowLock(bool isStartup)
show();
Q_EMIT m_modelLockDialog->setCurrentUser(m_modelLockDialog->defaultUserName());
Q_EMIT m_modelLockDialog->lockStateChanged(true);
if(m_lockWidget && !m_lockWidget->isHidden())
if (m_lockWidget && !m_lockWidget->isHidden())
m_lockWidget->show();
}
void FullBackgroundWidget::onShowSessionIdle()
{
onShowScreensaver();
onShowScreensaver();
delayLockScreen();
Q_EMIT m_modelLockDialog->lockStateChanged(true);
}
@ -306,23 +297,23 @@ void FullBackgroundWidget::onShowScreensaver()
{
screenStatus = (ScreenStatus)(screenStatus | SCREEN_SAVER);
for(auto screen : QGuiApplication::screens())
{
for (auto screen : QGuiApplication::screens()) {
ScreenSaver *saver = m_modelLockDialog->getScreensaver();
/*锁屏设置的Qt::WA_TranslucentBackground属性会导致第三方屏保变得透明因此在使用第三方屏保时
* */
if(saver->path != "/usr/lib/ukui-screensaver/ukui-screensaver-default")
{
// setAttribute(Qt::WA_TranslucentBackground,false);
* */
if (saver->path != "/usr/lib/ukui-screensaver/ukui-screensaver-default") {
// setAttribute(Qt::WA_TranslucentBackground,false);
}
ScreenSaverWidget *saverWidget = new ScreenSaverWidget(saver, this);
qDebug() << " new ScreenSaverWidget";
widgetXScreensaverList.push_back(saverWidget);
//深色模式有一像素的白边,所以主屏幕向左,向右移一个像素点;这种操作后,外显上方仍旧会有一个像素的白边,暂时不对外显做偏移处理
if(screen == qApp->primaryScreen()) {
saverWidget->setGeometry(screen->geometry().x()-1, screen->geometry().y()-1,
screen->geometry().width()+1, screen->geometry().height()+1);
if (screen == qApp->primaryScreen()) {
saverWidget->setGeometry(screen->geometry().x() - 1,
screen->geometry().y() - 1,
screen->geometry().width() + 1,
screen->geometry().height() + 1);
} else {
saverWidget->setGeometry(screen->geometry());
}
@ -335,28 +326,23 @@ void FullBackgroundWidget::onClearScreensaver()
{
screenStatus = (ScreenStatus)(screenStatus & ~SCREEN_SAVER);
for(auto widget : widgetXScreensaverList)
{
for (auto widget : widgetXScreensaverList) {
widget->close();
}
widgetXScreensaverList.clear();
unsetCursor();
if(screenStatus == UNDEFINED)
{
if (screenStatus == UNDEFINED) {
onCloseScreensaver();
}
else
{
} else {
onShowLock(false);
}
}
void FullBackgroundWidget::delayLockScreen()
{
qDebug()<<"delayLockScreen"<<m_modelLockDialog->getLockTimeout()<<m_modelLockDialog->getLockEnabled();
qDebug() << "delayLockScreen" << m_modelLockDialog->getLockTimeout() << m_modelLockDialog->getLockEnabled();
if (!m_timerLock) {
m_timerLock = new QTimer(this);
@ -365,7 +351,7 @@ void FullBackgroundWidget::delayLockScreen()
if (m_modelLockDialog->getLockTimeout() != -1 && m_modelLockDialog->getLockEnabled()) {
stopDelayLockScreen();
m_timerLock->start(m_modelLockDialog->getLockTimeout()*1000);
m_timerLock->start(m_modelLockDialog->getLockTimeout() * 1000);
}
}
@ -378,7 +364,7 @@ void FullBackgroundWidget::stopDelayLockScreen()
void FullBackgroundWidget::onLockScreenTimeout()
{
qDebug()<<"onLockScreenTimeout:"<<m_modelLockDialog->getLockEnabled();
qDebug() << "onLockScreenTimeout:" << m_modelLockDialog->getLockEnabled();
if (m_modelLockDialog->getLockEnabled()) {
screenStatus = (ScreenStatus)(screenStatus | SCREEN_LOCK);
}
@ -404,7 +390,7 @@ void FullBackgroundWidget::onDesktopResized()
qDebug() << "[FullBackgroundWidget] [onDesktopResized]";
QDesktopWidget *desktop = QApplication::desktop();
setGeometry(desktop->geometry());
if(m_lockWidget) {
if (m_lockWidget) {
moveToPrimaryScreen();
m_lockWidget->reloadRootBackground();
}
@ -415,45 +401,40 @@ void FullBackgroundWidget::onPrepareForSleep(bool sleep)
{
///系统休眠时,会关闭总线,导致设备不可用,发生错误
///在系统休眠之前停止认证,在系统唤醒后重新开始认证
qDebug()<<"onPrepareForSleep:"<<sleep;
qDebug() << "onPrepareForSleep:" << sleep;
if(!isVisible()){
return ;
if (!isVisible()) {
return;
}
if(sleep)
{
if(m_lockWidget)
if (sleep) {
if (m_lockWidget)
m_lockWidget->stopAuth();
//uninhibit();
}
else
{
if(screenStatus & SCREEN_SAVER)
{
// uninhibit();
} else {
if (screenStatus & SCREEN_SAVER) {
isBlank = false;
onClearScreensaver();
}else{
} else {
repaint();
if(m_lockWidget)
if (m_lockWidget)
m_lockWidget->startAuth();
//inhibit();
// inhibit();
}
}
}
void FullBackgroundWidget::mousePressEvent(QMouseEvent *e)
{
//close();
// close();
}
QString FullBackgroundWidget::getFocusWindowName()
{
Window focus = 0;
int rev = 0;
int rev = 0;
XGetInputFocus (QX11Info::display(), &focus, &rev);
return getWindowNameFromWid(focus);
XGetInputFocus(QX11Info::display(), &focus, &rev);
return getWindowNameFromWid(focus);
}
QString FullBackgroundWidget::getWindowNameFromWid(WId window)
@ -461,7 +442,7 @@ QString FullBackgroundWidget::getWindowNameFromWid(WId window)
XClassHint ch;
ch.res_name = NULL;
ch.res_class = NULL;
XGetClassHint (QX11Info::display(),window, &ch);
XGetClassHint(QX11Info::display(), window, &ch);
QString nameStr = QString(ch.res_name);
@ -477,8 +458,8 @@ int FullBackgroundWidget::RegisteSubWnd(quint64 uWndId)
{
if (!m_listWndIds.contains(uWndId) && m_listWndIds.size() < SUBWND_COUNT_MAX) {
m_listWndIds.append(uWndId);
qDebug()<<"RegisterSubWnd:"<<uWndId;
//QTimer::singleShot(50,this,SLOT(laterActivate()));
qDebug() << "RegisterSubWnd:" << uWndId;
// QTimer::singleShot(50,this,SLOT(laterActivate()));
return m_listWndIds.size();
} else {
return -1;
@ -489,8 +470,8 @@ int FullBackgroundWidget::UnRegisteSubWnd(quint64 uWndId)
{
if (m_listWndIds.contains(uWndId)) {
m_listWndIds.removeAll(uWndId);
qDebug()<<"UnRegisterSubWnd:"<<uWndId;
//QTimer::singleShot(50,this,SLOT(laterActivate()));
qDebug() << "UnRegisterSubWnd:" << uWndId;
// QTimer::singleShot(50,this,SLOT(laterActivate()));
return m_listWndIds.size();
} else {
return -1;
@ -504,19 +485,18 @@ QList<quint64> FullBackgroundWidget::GetSubWndIds()
void FullBackgroundWidget::moveToPrimaryScreen()
{
if(!m_lockWidget) {
if (!m_lockWidget) {
return;
}
bool chkInOneScreen = false;
for(auto screen : QGuiApplication::screens())
{
if(screen == qApp->primaryScreen()){
qInfo()<<"LockWidget:"<<screen->geometry()<<m_lockWidget->geometry();
if(!m_lockWidget->isHidden()){
for (auto screen : QGuiApplication::screens()) {
if (screen == qApp->primaryScreen()) {
qInfo() << "LockWidget:" << screen->geometry() << m_lockWidget->geometry();
if (!m_lockWidget->isHidden()) {
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
}else{
} else {
m_lockWidget->setGeometry(screen->geometry());
}
chkInOneScreen = true;
@ -524,15 +504,15 @@ void FullBackgroundWidget::moveToPrimaryScreen()
}
}
if (!chkInOneScreen) {
for(auto screen : QGuiApplication::screens()) {
if(screen){
for (auto screen : QGuiApplication::screens()) {
if (screen) {
/*避免切换时闪烁*/
qInfo()<<"LockWidget:"<<screen->geometry()<<m_lockWidget->geometry()<<","<<screen;
if(!m_lockWidget->isHidden()){
qInfo() << "LockWidget:" << screen->geometry() << m_lockWidget->geometry() << "," << screen;
if (!m_lockWidget->isHidden()) {
m_lockWidget->hide();
m_lockWidget->setGeometry(screen->geometry());
m_lockWidget->show();
}else{
} else {
m_lockWidget->setGeometry(screen->geometry());
}
chkInOneScreen = true;
@ -555,37 +535,35 @@ void FullBackgroundWidget::fakeFocusIn(WId window)
ev.xfocus.window = window;
ev.xfocus.mode = NotifyNormal;
ev.xfocus.detail = NotifyAncestor;
XSendEvent( QX11Info::display(), window, False, NoEventMask, &ev );
XSendEvent(QX11Info::display(), window, False, NoEventMask, &ev);
XFlush(QX11Info::display());
}
void FullBackgroundWidget::laterActivate()
{
if(!QX11Info::isPlatformX11())
return ;
XSetInputFocus(QX11Info::display(),this->winId(),RevertToParent,CurrentTime);
if (!QX11Info::isPlatformX11())
return;
XSetInputFocus(QX11Info::display(), this->winId(), RevertToParent, CurrentTime);
activateWindow();
}
void FullBackgroundWidget::showEvent(QShowEvent *event)
{
if(QX11Info::isPlatformX11())
if (QX11Info::isPlatformX11())
tryGrabKeyboard();
QTimer::singleShot(10, this, [=](){
KWindowSystem::setType(this->winId(), NET::ScreenLock);
});
QTimer::singleShot(10, this, [=]() { KWindowSystem::setType(this->winId(), NET::ScreenLock); });
}
void FullBackgroundWidget::keyReleaseEvent(QKeyEvent *e)
{
if (!QX11Info::isPlatformX11()) {
if(e->key() == Qt::Key_Escape && screenStatus == SCREEN_LOCK) { // "escape"
if (e->key() == Qt::Key_Escape && screenStatus == SCREEN_LOCK) { // "escape"
bool canShow = true;
if (m_lockWidget && !m_lockWidget->exitSubWidget())
canShow = false;
if (canShow)
onShowScreensaver();
} else if(screenStatus & SCREEN_SAVER/* && !isBlank*/) {
} else if (screenStatus & SCREEN_SAVER /* && !isBlank*/) {
onClearScreensaver();
}
}
@ -601,7 +579,7 @@ void FullBackgroundWidget::tryGrabKeyboard()
m_tryGrabTimes++;
if (m_tryGrabTimes == 15) {
qWarning()<<"setKeyboardGrabEnable failed! focus Window is"<<getFocusWindowName();
qWarning() << "setKeyboardGrabEnable failed! focus Window is" << getFocusWindowName();
m_tryGrabTimes = 0;
return;
}
@ -614,63 +592,62 @@ bool FullBackgroundWidget::nativeEventFilter(const QByteArray &eventType, void *
if (qstrcmp(eventType, "xcb_generic_event_t") != 0) {
return false;
}
xcb_generic_event_t *event = reinterpret_cast<xcb_generic_event_t*>(message);
xcb_generic_event_t *event = reinterpret_cast<xcb_generic_event_t *>(message);
const uint8_t responseType = event->response_type & ~0x80;
if (responseType == XCB_FOCUS_OUT) {
//丢焦点时检测抢焦点的窗口是否为锁屏的子窗口比如QMenu,QCombobox等
//如果不是子窗口,则重新给锁屏设置一次焦点
QString focusWindow = getFocusWindowName();
if(focusWindow == "ukui-screensaver-dialog"){
if (focusWindow == "ukui-screensaver-dialog") {
return false;
}else{
qDebug()<<"focus out. focus window is"<<focusWindow;
} else {
qDebug() << "focus out. focus window is" << focusWindow;
}
laterActivate();
qDebug()<<"XCB_FOCUS_OUT !";
}else if(responseType == XCB_FOCUS_IN){
qDebug() << "XCB_FOCUS_OUT !";
} else if (responseType == XCB_FOCUS_IN) {
//因为弹出菜单会释放键盘抓取,所以在锁屏窗口重新获取到焦点时,重新抓取一次键盘焦点
qDebug()<<"XCB_FOCUS_IN !";
}else if(responseType == XCB_GE_GENERIC){
qDebug() << "XCB_FOCUS_IN !";
} else if (responseType == XCB_GE_GENERIC) {
//因为锁屏抓取了键盘,所以锁屏窗口不管有没有焦点,都能够输入,但仍然需要发送一个
//虚拟的focusin事件来激活窗口焦点,同时点击锁屏界面,也能触发锁屏键盘抓取
xcb_ge_generic_event_t *xc = reinterpret_cast<xcb_ge_generic_event_t*>(event);
if(xc->event_type == XCB_BUTTON_PRESS){
if(this->windowHandle()){
xcb_ge_generic_event_t *xc = reinterpret_cast<xcb_ge_generic_event_t *>(event);
if (xc->event_type == XCB_BUTTON_PRESS) {
if (this->windowHandle()) {
bool grabed = this->windowHandle()->setKeyboardGrabEnabled(true);
if(!grabed){
qDebug()<<"setKeyboardGrabEnable failed! focus Window is"<<getFocusWindowName();
if (!grabed) {
qDebug() << "setKeyboardGrabEnable failed! focus Window is" << getFocusWindowName();
}
}
onGlobalButtonPressed(QCursor::pos().x(), QCursor::pos().y());
}else if(xc->event_type == XCB_BUTTON_RELEASE){
}else if(xc->event_type == XCB_MOTION_NOTIFY){
onGlobalButtonDrag(QCursor::pos().x(),QCursor::pos().y());
}
onGlobalButtonPressed(QCursor::pos().x(), QCursor::pos().y());
} else if (xc->event_type == XCB_BUTTON_RELEASE) {
} else if (xc->event_type == XCB_MOTION_NOTIFY) {
onGlobalButtonDrag(QCursor::pos().x(), QCursor::pos().y());
}
}else if(responseType == XCB_BUTTON_PRESS){
xcb_button_press_event_t *xc = reinterpret_cast<xcb_button_press_event_t*>(event);
} else if (responseType == XCB_BUTTON_PRESS) {
xcb_button_press_event_t *xc = reinterpret_cast<xcb_button_press_event_t *>(event);
int x = xc->root_x;
int y = xc->root_y;
onGlobalButtonPressed(x, y);
qDebug()<<"---------------------XCB_BUTTON_PRESS:"<<x<<","<<y;
}else if(responseType == XCB_BUTTON_RELEASE){
}else if(responseType == XCB_MOTION_NOTIFY){
xcb_motion_notify_event_t *xc = reinterpret_cast<xcb_motion_notify_event_t*>(event);
qDebug() << "---------------------XCB_BUTTON_PRESS:" << x << "," << y;
} else if (responseType == XCB_BUTTON_RELEASE) {
} else if (responseType == XCB_MOTION_NOTIFY) {
xcb_motion_notify_event_t *xc = reinterpret_cast<xcb_motion_notify_event_t *>(event);
int x = xc->root_x;
int y = xc->root_y;
onGlobalButtonDrag(x, y);
qDebug()<<"---------------------XCB_MOTION_NOTIFY:"<<x<<","<<y;
}else if (responseType == XCB_KEY_PRESS) {
xcb_key_press_event_t *xc = reinterpret_cast<xcb_key_press_event_t*>(event);
//qDebug()<<"---------------------XCB_KEY_PRESS:"<<xc->detail;
qDebug() << "---------------------XCB_MOTION_NOTIFY:" << x << "," << y;
} else if (responseType == XCB_KEY_PRESS) {
xcb_key_press_event_t *xc = reinterpret_cast<xcb_key_press_event_t *>(event);
// qDebug()<<"---------------------XCB_KEY_PRESS:"<<xc->detail;
onGlobalKeyPress(xc->detail);
} else if (responseType == XCB_KEY_RELEASE) {
xcb_key_release_event_t *xc = reinterpret_cast<xcb_key_release_event_t*>(event);
qDebug()<<"---------------------XCB_KEY_RELEASE:"<<xc->detail;
} else if (responseType == XCB_KEY_RELEASE) {
xcb_key_release_event_t *xc = reinterpret_cast<xcb_key_release_event_t *>(event);
qDebug() << "---------------------XCB_KEY_RELEASE:" << xc->detail;
onGlobalKeyRelease(xc->detail);
} else if(responseType == m_RREventBase + RRScreenChangeNotify){
} else if (responseType == m_RREventBase + RRScreenChangeNotify) {
if (isGreeterMode()) {
RRScreenChangeEvent(false);
}
@ -698,41 +675,36 @@ void FullBackgroundWidget::onAuthSucceed(QString strUserName)
}
}
void FullBackgroundWidget::onGlobalKeyPress(const quint8 &key)
{
}
void FullBackgroundWidget::onGlobalKeyPress(const quint8 &key) {}
void FullBackgroundWidget::onGlobalKeyRelease(const quint8 &key)
{
// if (m_lockWidget && m_lockWidget->isVisible()) {
// m_lockWidget->onGlobalkeyRelease(key);
// }
if(key == 9 && screenStatus == SCREEN_LOCK) { // "escape"
// if (m_lockWidget && m_lockWidget->isVisible()) {
// m_lockWidget->onGlobalkeyRelease(key);
// }
if (key == 9 && screenStatus == SCREEN_LOCK) { // "escape"
bool canShow = true;
if (m_lockWidget && !m_lockWidget->exitSubWidget())
canShow = false;
if (canShow)
onShowScreensaver();
} else if(screenStatus & SCREEN_SAVER/* && !isBlank*/) {
qDebug() << "clearclear" ;
} else if (screenStatus & SCREEN_SAVER /* && !isBlank*/) {
qDebug() << "clearclear";
onClearScreensaver();
}
}
void FullBackgroundWidget::onGlobalButtonDrag(int xPos, int yPos)
{
if(screenStatus & SCREEN_SAVER && !isBlank)
{
qDebug() << "clearclear" ;
if (screenStatus & SCREEN_SAVER && !isBlank) {
qDebug() << "clearclear";
onClearScreensaver();
}
}
void FullBackgroundWidget::onGlobalButtonPressed(int xPos, int yPos)
{
if(screenStatus & SCREEN_SAVER && !isBlank)
{
if (screenStatus & SCREEN_SAVER && !isBlank) {
onClearScreensaver();
}
}
@ -745,24 +717,22 @@ void FullBackgroundWidget::initCurrentBackground()
connect(m_backgrondGradationTimer, &QTimer::timeout, this, &FullBackgroundWidget::onTransition);
connect(m_modelLockDialog, &LockDialogModel::setCurrentUser, this, &FullBackgroundWidget::onCurrentUserBackground);
connect(m_modelLockDialog, &LockDialogModel::currentUserChanged, this, &FullBackgroundWidget::onUpdateUserBackground);
connect(
m_modelLockDialog, &LockDialogModel::currentUserChanged, this, &FullBackgroundWidget::onUpdateUserBackground);
// update();
// update();
}
QString FullBackgroundWidget::getDefaultBackgroundPath()
{
qDebug() << __LINE__ << __FUNCTION__;
QString default_background_path = "/usr/share/backgrounds/1-warty-final-ubuntukylin.jpg";
QFile file(default_background_path);
if (!file.exists())
{
if (!file.exists()) {
default_background_path = "/usr/share/backgrounds/1-openkylin.jpg";
QFile file(default_background_path);
if (!file.exists())
{
if (!file.exists()) {
return "";
}
}
@ -771,10 +741,9 @@ QString FullBackgroundWidget::getDefaultBackgroundPath()
void FullBackgroundWidget::loadingAllUserBackground()
{
qWarning() << __LINE__ << __FUNCTION__ ;
qWarning() << __LINE__ << __FUNCTION__;
if (!getDefaultBackgroundPath().isEmpty())
addBackgroundData(getDefaultBackgroundPath());
}
void FullBackgroundWidget::paintEvent(QPaintEvent *event)
@ -786,12 +755,15 @@ void FullBackgroundWidget::paintEvent(QPaintEvent *event)
int height = rect.height();
QString currentPath = getUserBackgroundPath(m_currentUserName);
QString resolution = QString("%1x%2").arg(width).arg(height);
QPair<QString,QString> cunrrentKey(currentPath, resolution);
QPair<QString, QString> cunrrentKey(currentPath, resolution);
QString oldPath = getUserBackgroundPath(m_oldUserName);
QPair<QString,QString> oldKey(oldPath, resolution);
QPair<QString, QString> oldKey(oldPath, resolution);
if (m_gradualChanging && m_allBackgroundsDataMap.contains(cunrrentKey)) {
drawBackground(m_allBackgroundsDataMap[cunrrentKey],m_allBackgroundsDataMap.contains(oldKey)?m_allBackgroundsDataMap[oldKey]:nullptr,rect,m_backgroundAlpha);
drawBackground(m_allBackgroundsDataMap[cunrrentKey],
m_allBackgroundsDataMap.contains(oldKey) ? m_allBackgroundsDataMap[oldKey] : nullptr,
rect,
m_backgroundAlpha);
} else {
stopTransition();
if (m_allBackgroundsDataMap.contains(cunrrentKey)) {
@ -814,7 +786,7 @@ void FullBackgroundWidget::paintEvent(QPaintEvent *event)
bool FullBackgroundWidget::isOpenGradation()
{
bool isOpenGradation = false;
// return true;//test 一直触发渐变效果
// return true;//test 一直触发渐变效果
if (m_currentUserName.isEmpty() || m_oldUserName.isEmpty())
return isOpenGradation;
if (m_currentUserName == m_oldUserName)
@ -829,14 +801,14 @@ bool FullBackgroundWidget::isOpenGradation()
void FullBackgroundWidget::onUpdateUserBackground(const QString &strUserName)
{
qDebug() << __LINE__ <<__FUNCTION__ << "==========" << strUserName ;
qDebug() << __LINE__ << __FUNCTION__ << "==========" << strUserName;
if (m_currentUserName == strUserName)
return;
m_oldUserName = m_currentUserName;
m_currentUserName = strUserName;
//是否需要开启渐变效果
bool gradualChangeEnable = isOpenGradation();
qDebug() << __LINE__ <<__FUNCTION__ << "==========" << gradualChangeEnable ;
qDebug() << __LINE__ << __FUNCTION__ << "==========" << gradualChangeEnable;
if (gradualChangeEnable)
startTransition();
@ -847,16 +819,16 @@ void FullBackgroundWidget::onTransition()
{
m_backgroundAlpha += 0.05;
if(m_backgroundAlpha >= 1.0)
if (m_backgroundAlpha >= 1.0)
stopTransition();
repaint();
}
void FullBackgroundWidget::startTransition()
{
if(!m_backgrondGradationTimer){
m_backgrondGradationTimer = new QTimer(this);
connect(m_backgrondGradationTimer, &QTimer::timeout, this, &FullBackgroundWidget::onTransition);
if (!m_backgrondGradationTimer) {
m_backgrondGradationTimer = new QTimer(this);
connect(m_backgrondGradationTimer, &QTimer::timeout, this, &FullBackgroundWidget::onTransition);
}
stopTransition();
@ -868,14 +840,16 @@ void FullBackgroundWidget::startTransition()
void FullBackgroundWidget::stopTransition()
{
if(m_backgrondGradationTimer && m_backgrondGradationTimer->isActive())
if (m_backgrondGradationTimer && m_backgrondGradationTimer->isActive())
m_backgrondGradationTimer->stop();
m_backgroundAlpha = 1.0;
m_gradualChanging = false;
}
void FullBackgroundWidget::drawBackground(QPixmap * backgroundBack, QPixmap * backgroundFront,
const QRect &rect, float alpha)
void FullBackgroundWidget::drawBackground(QPixmap *backgroundBack,
QPixmap *backgroundFront,
const QRect &rect,
float alpha)
{
if (!backgroundBack || backgroundBack->isNull()) {
stopTransition();
@ -886,7 +860,7 @@ void FullBackgroundWidget::drawBackground(QPixmap * backgroundBack, QPixmap * ba
painter.setOpacity(alpha);
QString color = Configuration::instance(this)->getValue("background-color").toString();
QColor cor;
if(!color.isEmpty())
if (!color.isEmpty())
cor = color;
else
cor = "#035290";
@ -899,7 +873,7 @@ void FullBackgroundWidget::drawBackground(QPixmap * backgroundBack, QPixmap * ba
QPainterPath path;
QPainter painter1(this);
painter1.setOpacity(0.25);
painter1.setRenderHint(QPainter::Antialiasing); // 反锯齿;
painter1.setRenderHint(QPainter::Antialiasing); // 反锯齿;
painter1.setClipping(true);
painter1.setPen(Qt::transparent);
path.addRect(this->rect());
@ -948,7 +922,7 @@ void FullBackgroundWidget::addBackgroundData(const QString &bgPath)
QString resolution = QString("%1x%2").arg(width).arg(height);
QPair<QString, QString> key(bgPath, resolution);
if (!m_allBackgroundsDataMap.contains(key)) {
QPixmap *pixmap = new QPixmap(scaleBlurPixmap(width,height, bgPath));
QPixmap *pixmap = new QPixmap(scaleBlurPixmap(width, height, bgPath));
m_allBackgroundsDataMap[key] = pixmap;
}
}
@ -956,17 +930,14 @@ void FullBackgroundWidget::addBackgroundData(const QString &bgPath)
void FullBackgroundWidget::onAddUserBackground(const QString &strUserName)
{
m_loadingOneBackgroundFuture = QtConcurrent::run([=](){
m_loadingOneBackgroundFuture = QtConcurrent::run([=]() {
QString strBackground = getUserBackgroundPath(strUserName);
addBackgroundData(strBackground);
});
m_loadingOneBackgroundFuture.waitForFinished();
}
void FullBackgroundWidget::onUserBackgroundChanged(const QString &strUserName)
{
}
void FullBackgroundWidget::onUserBackgroundChanged(const QString &strUserName) {}
void FullBackgroundWidget::onCurrentUserBackground(const QString &strUserName)
{
@ -975,7 +946,7 @@ void FullBackgroundWidget::onCurrentUserBackground(const QString &strUserName)
repaint();
}
QPixmap* FullBackgroundWidget::getBackground(const QString &path, const QRect &rect)
QPixmap *FullBackgroundWidget::getBackground(const QString &path, const QRect &rect)
{
if (path.isEmpty() || !QFile(path).exists())
return nullptr;
@ -983,7 +954,7 @@ QPixmap* FullBackgroundWidget::getBackground(const QString &path, const QRect &r
QString resolution = QString("%1x%2").arg(rect.width()).arg(rect.height());
QPair<QString, QString> key(path, resolution);
if (m_allBackgroundsDataMap.isEmpty()&& m_loadingOneBackgroundFuture.isRunning()) {
if (m_allBackgroundsDataMap.isEmpty() && m_loadingOneBackgroundFuture.isRunning()) {
m_loadingOneBackgroundFuture.waitForFinished();
} else {
if (!m_loadingOneBackgroundFuture.isFinished() && m_loadingOneBackgroundFuture.isStarted()) {
@ -991,7 +962,7 @@ QPixmap* FullBackgroundWidget::getBackground(const QString &path, const QRect &r
}
}
if (!m_allBackgroundsDataMap.contains(key)) {
QPixmap *pixmap = new QPixmap(scaleBlurPixmap(width(), height(), path));
QPixmap *pixmap = new QPixmap(scaleBlurPixmap(width(), height(), path));
m_allBackgroundsDataMap[key] = pixmap;
}
return m_allBackgroundsDataMap[key];
@ -1012,7 +983,7 @@ void FullBackgroundWidget::RRScreenChangeEvent(bool isFirst)
XRRFreeOutputInfo(info);
}
qDebug()<<"monitors = "<<listMonitors;
qDebug() << "monitors = " << listMonitors;
if (isFirst && DisplayService::instance()->isSaveParamInUsed()) {
m_listMonitors = listMonitors;
} else {
@ -1023,7 +994,8 @@ void FullBackgroundWidget::RRScreenChangeEvent(bool isFirst)
void FullBackgroundWidget::onScreensChanged(QList<QString> listMonitors)
{
qDebug()<<"newList = "<<listMonitors<<" listMonitors = "<<m_listMonitors << DisplayService::instance()->isJJW7200();
qDebug() << "newList = " << listMonitors << " listMonitors = " << m_listMonitors
<< DisplayService::instance()->isJJW7200();
if (DisplayService::instance()->isJJW7200() == 0 && m_listMonitors.size() == listMonitors.size()) {
bool isAllFound = true;
for (auto monitor : listMonitors) {
@ -1038,7 +1010,7 @@ void FullBackgroundWidget::onScreensChanged(QList<QString> listMonitors)
}
m_listMonitors = listMonitors;
if(m_listMonitors.size() < 2) {
if (m_listMonitors.size() < 2) {
//默认设置显示最大分辨率
DisplayService::instance()->setOneDisplayMode();
} else {

View File

@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
**/
**/
#include "grab-x11.h"
#include <QX11Info>
#include <QDebug>
@ -31,12 +31,15 @@
#define MAX_PROPERTY_VALUE_LEN 4096
class XServerGraber{
class XServerGraber
{
public:
XServerGraber() {
XServerGraber()
{
xcb_grab_server(QX11Info::connection());
}
~XServerGraber() {
~XServerGraber()
{
xcb_ungrab_server(QX11Info::connection());
xcb_flush(QX11Info::connection());
}
@ -44,18 +47,23 @@ public:
static bool grabKeyboard()
{
int rv = XGrabKeyboard(QX11Info::display(), QX11Info::appRootWindow(),
True, GrabModeAsync, GrabModeAsync, CurrentTime);
int rv = XGrabKeyboard(
QX11Info::display(), QX11Info::appRootWindow(), True, GrabModeAsync, GrabModeAsync, CurrentTime);
return (rv == GrabSuccess);
}
static bool grabMouse()
{
#define GRABEVENTS ButtonPressMask | ButtonReleaseMask | PointerMotionMask | \
EnterWindowMask | LeaveWindowMask
int rv = XGrabPointer(QX11Info::display(), QX11Info::appRootWindow(),
True, GRABEVENTS, GrabModeAsync, GrabModeAsync, None,
None, CurrentTime);
#define GRABEVENTS ButtonPressMask | ButtonReleaseMask | PointerMotionMask | EnterWindowMask | LeaveWindowMask
int rv = XGrabPointer(QX11Info::display(),
QX11Info::appRootWindow(),
True,
GRABEVENTS,
GrabModeAsync,
GrabModeAsync,
None,
None,
CurrentTime);
#undef GRABEVENTS
return (rv == GrabSuccess);
@ -68,35 +76,34 @@ bool establishGrab()
Q_UNUSED(xserverGraber);
if(!grabKeyboard())
if (!grabKeyboard())
return false;
/*抓取鼠标会导致触摸无效,这里暂时取消掉*/
/*
if(!grabMouse()) {
XUngrabKeyboard(QX11Info::display(), CurrentTime);
XFlush(QX11Info::display());
return false;
}
*/
/*抓取鼠标会导致触摸无效,这里暂时取消掉*/
/*
if(!grabMouse()) {
XUngrabKeyboard(QX11Info::display(), CurrentTime);
XFlush(QX11Info::display());
return false;
}
*/
return true;
}
bool closeGrab()
{
//XSync(QX11Info::display(), False);
// XSync(QX11Info::display(), False);
XServerGraber xserverGraber;
Q_UNUSED(xserverGraber);
XUngrabKeyboard(QX11Info::display(), CurrentTime);
// XUngrabPointer(QX11Info::display(), CurrentTime);
// XUngrabPointer(QX11Info::display(), CurrentTime);
XFlush(QX11Info::display());
return true;
}
static Bool
Window_Has_Property(Display * dpy, Window win, Atom atom)
static Bool Window_Has_Property(Display *dpy, Window win, Atom atom)
{
Atom type_ret;
int format_ret;
@ -105,16 +112,16 @@ Window_Has_Property(Display * dpy, Window win, Atom atom)
type_ret = None;
prop_ret = NULL;
XGetWindowProperty(dpy, win, atom, 0, 0, False, AnyPropertyType,
&type_ret, &format_ret, &num_ret,
&bytes_after, &prop_ret);
XGetWindowProperty(
dpy, win, atom, 0, 0, False, AnyPropertyType, &type_ret, &format_ret, &num_ret, &bytes_after, &prop_ret);
if (prop_ret)
XFree(prop_ret);
return (type_ret != None) ? True : False;
}
int getWindowByPid(Window win){
int getWindowByPid(Window win)
{
int ret = -1;
Atom xa_ret_type;
@ -125,46 +132,44 @@ int getWindowByPid(Window win){
unsigned char *ret_prop;
int id = 0;
Atom xa_prop_name = XInternAtom(QX11Info::display(), "_NET_WM_PID", False); // 取对应字串的AtomID
Atom xa_prop_name = XInternAtom(QX11Info::display(), "_NET_WM_PID", False); // 取对应字串的AtomID
if (XGetWindowProperty(QX11Info::display(), win, xa_prop_name, 0, // 获取窗口属性
MAX_PROPERTY_VALUE_LEN / 4,
False, XA_CARDINAL, &xa_ret_type, // XA_CARDINAL为数值类型
&ret_format, &ret_nitems, &ret_bytes_after,
&ret_prop) != Success) // 后五个参数是返回值
if (XGetWindowProperty(QX11Info::display(),
win,
xa_prop_name,
0, // 获取窗口属性
MAX_PROPERTY_VALUE_LEN / 4,
False,
XA_CARDINAL,
&xa_ret_type, // XA_CARDINAL为数值类型
&ret_format,
&ret_nitems,
&ret_bytes_after,
&ret_prop)
!= Success) // 后五个参数是返回值
{
printf("Cannot get %s property.\n", "_NET_WM_PID");
return -1;
printf("Cannot get %s property.\n", "_NET_WM_PID");
return -1;
} else {
if (ret_prop)
memcpy(&id, ret_prop, 4); // 类型传换
qDebug() << "window pid: " << id;
}
else
{
if(ret_prop)
memcpy(&id, ret_prop, 4);// 类型传换
qDebug()<<"window pid: "<<id;
}
}
static Bool
Window_Is_Viewable(Display * dpy, Window win)
static Bool Window_Is_Viewable(Display *dpy, Window win)
{
Bool ok;
XWindowAttributes xwa;
XGetWindowAttributes(dpy, win, &xwa);
XClassHint ch;
ch.res_name = NULL;
ch.res_class = NULL;
XGetClassHint (QX11Info::display(), win, &ch);
ok = (xwa.c_class == InputOutput) && (xwa.map_state == IsViewable);
return ok;
}
static Bool getIsPopupMenu (Display *disp, Window win,
Atom xa_prop_type, const char *prop_name, ulong *size) {
static Bool getIsPopupMenu(Display *disp, Window win, Atom xa_prop_type, const char *prop_name, ulong *size)
{
Atom xa_prop_name;
Atom xa_ret_type;
int ret_format;
@ -176,16 +181,26 @@ static Bool getIsPopupMenu (Display *disp, Window win,
xa_prop_name = XInternAtom(disp, prop_name, False);
qDebug()<<"xa_prop_name = "<<xa_prop_name;
if (XGetWindowProperty(disp, win, xa_prop_name, 0,
MAX_PROPERTY_VALUE_LEN / 4, False,
xa_prop_type, &xa_ret_type, &ret_format,
&ret_nitems, &ret_bytes_after, &ret_prop) != Success) {
qDebug() << "xa_prop_name = " << xa_prop_name;
if (XGetWindowProperty(disp,
win,
xa_prop_name,
0,
MAX_PROPERTY_VALUE_LEN / 4,
False,
xa_prop_type,
&xa_ret_type,
&ret_format,
&ret_nitems,
&ret_bytes_after,
&ret_prop)
!= Success) {
printf("Cannot get %s property.\n", prop_name);
return false;
}
qDebug()<<"xa_ret_type = "<<xa_ret_type<<"ret_format = "<<ret_format<<"ret_nitems = "<<ret_nitems<<"xa_prop_type = "<<xa_prop_type;
qDebug() << "xa_ret_type = " << xa_ret_type << "ret_format = " << ret_format << "ret_nitems = " << ret_nitems
<< "xa_prop_type = " << xa_prop_type;
if (xa_ret_type != xa_prop_type) {
printf("Invalid type of %s property.\n", prop_name);
XFree(ret_prop);
@ -193,17 +208,16 @@ static Bool getIsPopupMenu (Display *disp, Window win,
}
Atom type, *adata;
adata = (Atom*)ret_prop;
adata = (Atom *)ret_prop;
int i = 0;
while (i < (int) ret_nitems)
{
QString windowType = XGetAtomName(QX11Info::display(),adata[i]);
if(windowType == "_NET_WM_WINDOW_TYPE_POPUP_MENU")
while (i < (int)ret_nitems) {
QString windowType = XGetAtomName(QX11Info::display(), adata[i]);
if (windowType == "_NET_WM_WINDOW_TYPE_POPUP_MENU")
return true;
i++;
}
qDebug()<<"ret = "<<ret;
qDebug() << "ret = " << ret;
if (size) {
*size = tmp_size;
}
@ -212,37 +226,59 @@ static Bool getIsPopupMenu (Display *disp, Window win,
return false;
}
bool checkHasPopupMenu(){
Window focus = 0;
int rev = 0;
QString getWindowNameByWid(Window window)
{
XClassHint ch;
ch.res_name = NULL;
ch.res_class = NULL;
XGetClassHint(QX11Info::display(), window, &ch);
XGetInputFocus (QX11Info::display(), &focus, &rev);
if(focus != None && focus != PointerRoot){
Window root, parent,win;
QString res(ch.res_name);
if (ch.res_name)
XFree(ch.res_name);
if (ch.res_class)
XFree(ch.res_class);
qDebug() << "CurFocusWnd:" << res;
return res;
}
bool checkHasPopupMenu()
{
Window focus = 0;
int rev = 0;
XGetInputFocus(QX11Info::display(), &focus, &rev);
if (focus != None && focus != PointerRoot) {
Window root, parent;
Window *children;
unsigned int n_children;
int i;
Window root_window = DefaultRootWindow(QX11Info::display());
int count = 0;
int ccount = 0;
if (XQueryTree(QX11Info::display(), root_window, &root, &parent, &children, &n_children)){
for (i = (int) n_children - 1; i >= 0; i--) {
if (XQueryTree(QX11Info::display(), root_window, &root, &parent, &children, &n_children)) {
for (i = (int)n_children - 1; i >= 0; i--) {
if (!Window_Is_Viewable(QX11Info::display(), children[i])) {
children[i] = None; /* Don't bother descending into this one */
continue;
}
ccount ++;
if (!Window_Has_Property(QX11Info::display(), children[i], XInternAtom(QX11Info::display(), "_NET_WM_WINDOW_TYPE", False)))
if (!Window_Has_Property(QX11Info::display(),
children[i],
XInternAtom(QX11Info::display(), "_NET_WM_WINDOW_TYPE", False)))
continue;
count ++ ;
/* Got one */
win = children[i];
return getIsPopupMenu(QX11Info::display(), win, XA_ATOM, "_NET_WM_WINDOW_TYPE", NULL);
if (getIsPopupMenu(QX11Info::display(), children[i], XA_ATOM, "_NET_WM_WINDOW_TYPE", NULL)) {
return true;
}
if (getWindowNameByWid(children[i]) == "ukui-session-tools") {
return true;
}
continue;
}
}
qDebug()<<"count = "<<count<<"ccount = "<<count;
}
return false;
}

View File

@ -14,33 +14,29 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
**/
**/
#include <QKeyEvent>
#include "powerlistwidget.h"
PowerListWidget::PowerListWidget(LockDialogModel *model ,QWidget *parent)
: m_modelLockDialog(model),
MyListWidget(parent)
PowerListWidget::PowerListWidget(LockDialogModel *model, QWidget *parent)
: m_modelLockDialog(model), MyListWidget(parent)
{
initBtnShowFlag();
initUI();
initConnections();
}
PowerListWidget::~PowerListWidget()
{
}
PowerListWidget::~PowerListWidget() {}
bool PowerListWidget::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::KeyRelease) {
MyListWidget *listWidget = qobject_cast<MyListWidget *>(obj);
if (listWidget) {
if (listWidget && listWidget->hasFocus()) { //Tab键切入时设置焦点状态
if (listWidget && listWidget->hasFocus()) { // Tab键切入时设置焦点状态
listWidget->setCurrentRow(listWidget->currentRow(), QItemSelectionModel::SelectionFlag::SelectCurrent);
listWidget->currentItemChanged(listWidget->currentItem(), nullptr);
} else { //Tab键切出时清空焦点状态
} else { // Tab键切出时清空焦点状态
listWidget->setCurrentRow(listWidget->currentRow(), QItemSelectionModel::SelectionFlag::Clear);
}
}
@ -59,20 +55,18 @@ void PowerListWidget::initUI()
QString powerListStyle = "QListWidget{background:rgba(255, 255, 255, 0%); border: 0px;}"
"QListWidget::item{background:rgba(255, 255, 255, 0%);}";
setStyleSheet(powerListStyle);
setFixedSize(QSize(BTN_ITEM_SIZE_WIDTH*sizeof(powerBtnList)/sizeof(powerBtnList[0])+1, BTN_ITEM_SIZE_HEIGHT));
// powerBtnList[0].func = &PowerListWidget::setSystemSuspend1();
setFixedSize(QSize(BTN_ITEM_SIZE_WIDTH * sizeof(powerBtnList) / sizeof(powerBtnList[0]) + 1, BTN_ITEM_SIZE_HEIGHT));
// powerBtnList[0].func = &PowerListWidget::setSystemSuspend1();
onUpdateListInfo();
}
void PowerListWidget::initConnections()
{
connect(this, &PowerListWidget::itemClicked, this, &PowerListWidget::onListItemClicked);
}
void PowerListWidget::initBtnShowFlag()
{
for (int i = 0; i < sizeof(powerBtnList)/sizeof(powerBtnList[0]) ; i++)
{
for (int i = 0; i < sizeof(powerBtnList) / sizeof(powerBtnList[0]); i++) {
if (powerBtnList[i].canFuncName == QString("CanPowerOff"))
powerBtnList[i].m_show_flag = m_modelLockDialog->getCanPowerOff();
@ -84,23 +78,20 @@ void PowerListWidget::initBtnShowFlag()
if (powerBtnList[i].canFuncName == QString("CanHibernate"))
powerBtnList[i].m_show_flag = m_modelLockDialog->getCanHibernate();
}
}
void PowerListWidget::onUpdateListInfo()
{
this->clear();
for (int i = 0; i < sizeof(powerBtnList)/sizeof(powerBtnList[0]) ; i++)
{
qWarning() << __LINE__ << __FUNCTION__<< "11111111111" << i << powerBtnList[i].m_strName << powerBtnList[i].m_show_flag ;
for (int i = 0; i < sizeof(powerBtnList) / sizeof(powerBtnList[0]); i++) {
qDebug() << powerBtnList[i].m_strName << powerBtnList[i].setFuncName << powerBtnList[i].m_show_flag;
if (!powerBtnList[i].m_show_flag)
continue;
PowerItemWidget *btnWdg = new PowerItemWidget(this);
btnWdg->setObjectName(powerBtnList[i].m_strName);
btnWdg->setObjectName(powerBtnList[i].setFuncName);
QListWidgetItem *btnItem = new QListWidgetItem();
btnItem->setSizeHint(QSize(powerBtnList[i].m_item_width, powerBtnList[i].m_item_height));
@ -108,19 +99,18 @@ void PowerListWidget::onUpdateListInfo()
this->setItemWidget(btnItem, btnWdg);
btnWdg->setText(powerBtnList[i].m_strName);
btnWdg->setToolTip(powerBtnList[i].m_strToolTip);
btnWdg->setIcon(QIcon(powerBtnList[i].m_strIcon).pixmap(powerBtnList[i].m_icon_width, powerBtnList[i].m_icon_width));
btnWdg->setIcon(
QIcon(powerBtnList[i].m_strIcon).pixmap(powerBtnList[i].m_icon_width, powerBtnList[i].m_icon_width));
}
}
void PowerListWidget::onListItemClicked(QListWidgetItem *item)
{
qWarning() << __FUNCTION__ << __LINE__ ;
qWarning() << __FUNCTION__ << __LINE__;
QWidget *widget = itemWidget(item);
PowerItemWidget *currentItem = qobject_cast<PowerItemWidget *>(widget);
for (int i = 0; i < sizeof(powerBtnList)/sizeof(powerBtnList[0]) ; i++)
{
if(powerBtnList[i].m_strName == currentItem->objectName())
{
for (int i = 0; i < sizeof(powerBtnList) / sizeof(powerBtnList[0]); i++) {
if (powerBtnList[i].setFuncName == currentItem->objectName()) {
if (powerBtnList[i].setFuncName == "Hibernate" || powerBtnList[i].setFuncName == "Suspend") {
QStringList sleepLockcheck = m_modelLockDialog->getSleepLockcheck();
if (!sleepLockcheck.isEmpty()) {
@ -138,7 +128,7 @@ void PowerListWidget::onListItemClicked(QListWidgetItem *item)
break;
}
}
qWarning() << __LINE__ << "=================" << powerBtnList[i].setFuncName << __FUNCTION__;
qWarning() << __LINE__ << "=================" << powerBtnList[i].setFuncName << __FUNCTION__;
Q_EMIT m_modelLockDialog->setPowerManager(powerBtnList[i].setFuncName);
break;
}
@ -157,35 +147,35 @@ void PowerListWidget::updateWidgetSize()
void PowerListWidget::setSystemPowerStatus(QString statusName)
{
qWarning() << __LINE__ << __FUNCTION__ << statusName;
qWarning() << __LINE__ << __FUNCTION__ << statusName;
}
void PowerListWidget::changeEvent(QEvent *event)
{
if(event->type() == QEvent::LanguageChange){
if (event->type() == QEvent::LanguageChange) {
refreshTranslate();
}
}
void PowerListWidget::refreshTranslate()
{
for (int i = 0; i < sizeof(powerBtnList)/sizeof(powerBtnList[0]) ; i++)
{
for (int i = 0; i < sizeof(powerBtnList) / sizeof(powerBtnList[0]); i++) {
if (powerBtnList[i].setFuncName == "Hibernate") {
powerBtnList[i].m_strName = tr("Hibernate");
powerBtnList[i].m_strToolTip = tr("Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left");
powerBtnList[i].m_strToolTip = tr("Turn off your computer, but the app stays open. When the computer is "
"turned on, it can be restored to the state you left");
} else if (powerBtnList[i].setFuncName == "Suspend") {
powerBtnList[i].m_strName = tr("Suspend");
powerBtnList[i].m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off");
powerBtnList[i].m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and "
"can quickly wake up and revert to where you left off");
} else if (powerBtnList[i].setFuncName == "Reboot") {
powerBtnList[i].m_strName = tr("Restart");
powerBtnList[i].m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off");
powerBtnList[i].m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and "
"can quickly wake up and revert to where you left off");
} else if (powerBtnList[i].setFuncName == "PowerOff") {
powerBtnList[i].m_strName = tr("Power Off");
powerBtnList[i].m_strName = tr("Shut Down");
powerBtnList[i].m_strToolTip = tr("Close all apps, and then shut down your computer");
}
}
onUpdateListInfo();
}

View File

@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*
**/
**/
#ifndef POWERLISTWIDGET_H
#define POWERLISTWIDGET_H
@ -34,14 +34,15 @@ class MyListWidget;
class PowerItemWidget;
class QListWidgetItem;
class LockDialogModel;
#define LISTSZIE(x) (sizeof(x)/sizeof(x[0]))
#define LISTSZIE(x) (sizeof(x) / sizeof(x[0]))
//电源管理界面
#define BTN_ITEM_SIZE_WIDTH 204
#define BTN_ITEM_SIZE_HEIGHT 200
#define BTN_ICON_SIZE_WIDTH 48
#define BTN_ICON_SIZE_HEIGHT 48
#define BTN_ITEM_SIZE_WIDTH 204
#define BTN_ITEM_SIZE_HEIGHT 200
#define BTN_ICON_SIZE_WIDTH 48
#define BTN_ICON_SIZE_HEIGHT 48
enum stateType {
enum stateType
{
REBOOT,
SHUTDOWN,
SLEEP,
@ -53,15 +54,15 @@ class PowerListWidget : public MyListWidget
{
Q_OBJECT
public:
explicit PowerListWidget(LockDialogModel *model,QWidget *parent = nullptr);
explicit PowerListWidget(LockDialogModel *model, QWidget *parent = nullptr);
~PowerListWidget();
LockDialogModel * m_modelLockDialog;
LockDialogModel *m_modelLockDialog;
void updateWidgetSize();
void setSystemSuspend1();
struct Btn_Data_Struct {
struct Btn_Data_Struct
{
QString m_strName;
QString m_strToolTip;
QString m_strIcon;
@ -74,65 +75,59 @@ public:
QString canFuncName;
QString setFuncName;
int m_inhibitType;
// void (*func)();
} powerBtnList[4] = {
//1.Hibernate
{
.m_strName = tr("Hibernate"),
.m_strToolTip = tr("Turn off your computer, but the app stays open. When the computer is turned on, it can be restored to the state you left"),
.m_strIcon = ":/image/assets/hibernate.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanHibernate",
.setFuncName = "Hibernate",
.m_inhibitType = HIBERNATE
},
//2.Suspend
{
.m_strName = tr("Suspend"),
.m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off"),
.m_strIcon = ":/image/assets/suspend.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanSuspend",
.setFuncName = "Suspend",
.m_inhibitType = SLEEP
},
//3.reboot
{
.m_strName = tr("Restart"),
.m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and can quickly wake up and revert to where you left off"),
.m_strIcon = ":/image/assets/reboot.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanReboot",
.setFuncName = "Reboot",
.m_inhibitType = REBOOT
},
//4.Shut Down
{
.m_strName = tr("Power Off"),
.m_strToolTip = tr("Close all apps, and then shut down your computer"),
.m_strIcon = ":/image/assets/shutdown.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanPowerOff",
.setFuncName = "PowerOff",
.m_inhibitType = SHUTDOWN
}
};
// void (*func)();
} powerBtnList[4]
= { // 1.Hibernate
{ .m_strName = tr("Hibernate"),
.m_strToolTip = tr("Turn off your computer, but the app stays open. When the computer is turned on, it "
"can be restored to the state you left"),
.m_strIcon = ":/image/assets/hibernate.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanHibernate",
.setFuncName = "Hibernate",
.m_inhibitType = HIBERNATE },
// 2.Suspend
{ .m_strName = tr("Suspend"),
.m_strToolTip = tr("The computer stays on, but consumes less power. The app stays open and can quickly "
"wake up and revert to where you left off"),
.m_strIcon = ":/image/assets/suspend.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanSuspend",
.setFuncName = "Suspend",
.m_inhibitType = SLEEP },
// 3.reboot
{ .m_strName = tr("Restart"),
.m_strToolTip = tr("Close all apps, turn off your computer, and then turn your computer back on"),
.m_strIcon = ":/image/assets/reboot.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanReboot",
.setFuncName = "Reboot",
.m_inhibitType = REBOOT },
// 4.Shut Down
{ .m_strName = tr("Shut Down"),
.m_strToolTip = tr("Close all apps, and then shut down your computer"),
.m_strIcon = ":/image/assets/shutdown.svg",
.m_show_flag = true,
.m_item_width = BTN_ITEM_SIZE_WIDTH,
.m_item_height = BTN_ITEM_SIZE_HEIGHT,
.m_icon_width = BTN_ICON_SIZE_WIDTH,
.m_icon_height = BTN_ICON_SIZE_HEIGHT,
.canFuncName = "CanPowerOff",
.setFuncName = "PowerOff",
.m_inhibitType = SHUTDOWN }
};
void setSystemPowerStatus(QString);
@ -149,21 +144,19 @@ public Q_SLOTS:
void onListItemClicked(QListWidgetItem *item);
private:
// QDBusInterface *sessionInterface;
// QDBusInterface *loginInterface;
// QDBusInterface *sessionInterface;
// QDBusInterface *loginInterface;
bool m_canSuspend;
bool m_canHibernate;
bool m_canReboot ;
bool m_canShutDown ;
bool m_canSuspend;
bool m_canHibernate;
bool m_canReboot;
bool m_canShutDown;
void initUI();
void initBtnShowFlag();
void initConnections();
void refreshTranslate();
// void initDBusInterface();
// void initDBusInterface();
};
#endif // POWERLISTWIDGET_H