Add support for multilanguage

pull/2/head
wh201906 4 years ago
parent d793c41aa5
commit 767a651735

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<TS version="2.1" language="en_US">
<context>
<name>MF_Attack_hardnestedDialog</name>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="14"/>
<source>Dialog</source>
<source>Hardnested Attack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="20"/>
<source>Known Key:</source>
<source>Known Block:</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -38,7 +38,35 @@
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="95"/>
<source>Target Key: </source>
<source>Target Block: </source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MF_UID_parameterDialog</name>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="22"/>
<source>UID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="32"/>
<source>ATQA:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="42"/>
<source>SAK:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="54"/>
<source>The parameter will not change if you leave it empty.</source>
<translation type="unfinished"></translation>
</message>
</context>
@ -95,288 +123,323 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="253"/>
<source>1K</source>
<location filename="../ui/mainwindow.ui" line="256"/>
<source>MINI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="263"/>
<source>1K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="273"/>
<source>2K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="270"/>
<location filename="../ui/mainwindow.ui" line="280"/>
<source>4K</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="280"/>
<location filename="../ui/mainwindow.ui" line="290"/>
<source>File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="298"/>
<location filename="../ui/mainwindow.ui" line="839"/>
<location filename="../ui/mainwindow.ui" line="308"/>
<location filename="../ui/mainwindow.ui" line="855"/>
<source>Load</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="311"/>
<location filename="../ui/mainwindow.ui" line="852"/>
<location filename="../ui/mainwindow.ui" line="321"/>
<location filename="../ui/mainwindow.ui" line="868"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="318"/>
<location filename="../ui/mainwindow.cpp" line="243"/>
<location filename="../ui/mainwindow.ui" line="328"/>
<location filename="../ui/mainwindow.cpp" line="312"/>
<source>Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="328"/>
<location filename="../ui/mainwindow.ui" line="338"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="341"/>
<location filename="../ui/mainwindow.ui" line="351"/>
<source>Attack</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="366"/>
<location filename="../ui/mainwindow.ui" line="376"/>
<source>Card Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="379"/>
<location filename="../ui/mainwindow.ui" line="389"/>
<source>Check Default</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="392"/>
<location filename="../ui/mainwindow.ui" line="402"/>
<source>Nested</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="399"/>
<location filename="../ui/mainwindow.ui" line="409"/>
<source>Hardnested</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="424"/>
<location filename="../ui/mainwindow.ui" line="434"/>
<source>Read/Write</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="434"/>
<location filename="../ui/mainwindow.ui" line="444"/>
<source>Block:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="460"/>
<location filename="../ui/mainwindow.ui" line="476"/>
<source>Key:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="472"/>
<location filename="../ui/mainwindow.ui" line="488"/>
<source>FFFFFFFFFFFF</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="479"/>
<location filename="../ui/mainwindow.ui" line="495"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="499"/>
<location filename="../ui/mainwindow.ui" line="515"/>
<source>A</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="504"/>
<location filename="../ui/mainwindow.ui" line="520"/>
<source>B</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="527"/>
<location filename="../ui/mainwindow.ui" line="543"/>
<source>Normal(Require Password)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="542"/>
<location filename="../ui/mainwindow.ui" line="631"/>
<location filename="../ui/mainwindow.ui" line="558"/>
<location filename="../ui/mainwindow.ui" line="647"/>
<source>Read Block</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="549"/>
<location filename="../ui/mainwindow.ui" line="638"/>
<location filename="../ui/mainwindow.ui" line="565"/>
<location filename="../ui/mainwindow.ui" line="654"/>
<source>Write Block</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="556"/>
<location filename="../ui/mainwindow.ui" line="645"/>
<location filename="../ui/mainwindow.ui" line="745"/>
<location filename="../ui/mainwindow.ui" line="572"/>
<location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="761"/>
<source>Read All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="563"/>
<location filename="../ui/mainwindow.ui" line="652"/>
<location filename="../ui/mainwindow.ui" line="579"/>
<location filename="../ui/mainwindow.ui" line="668"/>
<source>Write All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="582"/>
<location filename="../ui/mainwindow.ui" line="598"/>
<source>Dump</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="595"/>
<location filename="../ui/mainwindow.ui" line="611"/>
<source>Restore</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="605"/>
<location filename="../ui/mainwindow.ui" line="621"/>
<source>Chinese Magic Card(Without Password)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="617"/>
<location filename="../ui/mainwindow.ui" line="633"/>
<source>Lock UFUID Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="624"/>
<location filename="../ui/mainwindow.ui" line="640"/>
<source>About UID Card</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="665"/>
<source>Write UID</source>
<location filename="../ui/mainwindow.ui" line="681"/>
<source>Set Parameter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="684"/>
<location filename="../ui/mainwindow.ui" line="700"/>
<source>Wipe</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="710"/>
<location filename="../ui/mainwindow.ui" line="765"/>
<location filename="../ui/mainwindow.ui" line="726"/>
<location filename="../ui/mainwindow.ui" line="781"/>
<source>Simulate</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="738"/>
<location filename="../ui/mainwindow.ui" line="754"/>
<source>Load from data above</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="758"/>
<location filename="../ui/mainwindow.ui" line="774"/>
<source>Clear</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="788"/>
<location filename="../ui/mainwindow.ui" line="819"/>
<location filename="../ui/mainwindow.ui" line="804"/>
<location filename="../ui/mainwindow.ui" line="835"/>
<source>Sniff</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="826"/>
<location filename="../ui/mainwindow.ui" line="842"/>
<source>List Sniff Data</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="878"/>
<location filename="../ui/mainwindow.ui" line="894"/>
<source>RawCommand</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="910"/>
<location filename="../ui/mainwindow.cpp" line="129"/>
<location filename="../ui/mainwindow.ui" line="926"/>
<location filename="../ui/mainwindow.cpp" line="134"/>
<source>History:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="939"/>
<location filename="../ui/mainwindow.ui" line="955"/>
<source>ClearHistory</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="958"/>
<location filename="../ui/mainwindow.ui" line="974"/>
<source>Send</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="965"/>
<location filename="../ui/mainwindow.ui" line="981"/>
<source>ClearOutput</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="65"/>
<location filename="../ui/mainwindow.cpp" line="70"/>
<location filename="../ui/mainwindow.cpp" line="170"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="65"/>
<location filename="../ui/mainwindow.cpp" line="70"/>
<source>Plz choose a port first</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="78"/>
<location filename="../ui/mainwindow.cpp" line="83"/>
<source>Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="82"/>
<location filename="../ui/mainwindow.cpp" line="91"/>
<location filename="../ui/mainwindow.cpp" line="232"/>
<location filename="../ui/mainwindow.cpp" line="87"/>
<location filename="../ui/mainwindow.cpp" line="96"/>
<location filename="../ui/mainwindow.cpp" line="302"/>
<source>Not Connected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="233"/>
<location filename="../ui/mainwindow.cpp" line="170"/>
<source>When Changeing card type, the data and keys in this app will be cleard.
Continue?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="303"/>
<source>Idle</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="241"/>
<location filename="../ui/mainwindow.cpp" line="258"/>
<location filename="../ui/mainwindow.cpp" line="310"/>
<location filename="../ui/mainwindow.cpp" line="325"/>
<source>Sec</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="242"/>
<location filename="../ui/mainwindow.cpp" line="311"/>
<source>Blk</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="259"/>
<location filename="../ui/mainwindow.cpp" line="326"/>
<source>KeyA</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="260"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>KeyB</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="296"/>
<location filename="../ui/mainwindow.cpp" line="366"/>
<source>HW Version:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="298"/>
<location filename="../ui/mainwindow.cpp" line="368"/>
<source>PM3:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="300"/>
<location filename="../ui/mainwindow.cpp" line="370"/>
<source>State:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Mifare</name>
<message>
<location filename="../module/mifare.cpp" line="269"/>
<location filename="../module/mifare.cpp" line="366"/>
<source>Success!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="269"/>
<location filename="../module/mifare.cpp" line="273"/>
<location filename="../module/mifare.cpp" line="366"/>
<location filename="../module/mifare.cpp" line="370"/>
<source>Info</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="273"/>
<location filename="../module/mifare.cpp" line="370"/>
<source>Failed!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -1,45 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<TS version="2.1" language="zh_CN">
<context>
<name>MF_Attack_hardnestedDialog</name>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="14"/>
<source>Dialog</source>
<translation type="unfinished"></translation>
<source>Hardnested Attack</source>
<translation>Hardnested</translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="20"/>
<source>Known Key:</source>
<translation type="unfinished"></translation>
<translation type="obsolete">Key</translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="20"/>
<source>Known Block:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="29"/>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="104"/>
<source>Block:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="68"/>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="143"/>
<source>A</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="73"/>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="148"/>
<source>B</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="86"/>
<source>FFFFFFFFFFFF</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_attack_hardnesteddialog.ui" line="95"/>
<source>Target Key: </source>
<translation type="unfinished"></translation>
<source>Target Block: </source>
<translation></translation>
</message>
</context>
<context>
<name>MF_UID_parameterDialog</name>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="14"/>
<source>Dialog</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="22"/>
<source>UID:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="32"/>
<source>ATQA:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="42"/>
<source>SAK:</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mf_uid_parameterdialog.ui" line="54"/>
<source>The parameter will not change if you leave it empty.</source>
<translation></translation>
</message>
</context>
<context>
@ -47,336 +79,375 @@
<message>
<location filename="../ui/mainwindow.ui" line="20"/>
<source>Proxmark3GUI</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="38"/>
<source>Path:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="45"/>
<source>E:\Documents\source\qt\pm3\win64\proxmark3</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="62"/>
<source>Refresh</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="69"/>
<source>Connect</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="76"/>
<source>Disconnect</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="95"/>
<source>Mifare</source>
<translation type="unfinished"></translation>
<translation>Mifare</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="166"/>
<source>&gt;&gt;</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="191"/>
<source>&lt;&lt;</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="241"/>
<source>Card Type</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="253"/>
<source>1K</source>
<translation type="unfinished"></translation>
<location filename="../ui/mainwindow.ui" line="256"/>
<source>MINI</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="263"/>
<source>1K</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="273"/>
<source>2K</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="270"/>
<location filename="../ui/mainwindow.ui" line="280"/>
<source>4K</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="280"/>
<location filename="../ui/mainwindow.ui" line="290"/>
<source>File</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="298"/>
<location filename="../ui/mainwindow.ui" line="839"/>
<location filename="../ui/mainwindow.ui" line="308"/>
<location filename="../ui/mainwindow.ui" line="855"/>
<source>Load</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="311"/>
<location filename="../ui/mainwindow.ui" line="852"/>
<location filename="../ui/mainwindow.ui" line="321"/>
<location filename="../ui/mainwindow.ui" line="868"/>
<source>Save</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="318"/>
<location filename="../ui/mainwindow.cpp" line="243"/>
<location filename="../ui/mainwindow.ui" line="328"/>
<location filename="../ui/mainwindow.cpp" line="312"/>
<source>Data</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="328"/>
<location filename="../ui/mainwindow.ui" line="338"/>
<source>Key</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="341"/>
<location filename="../ui/mainwindow.ui" line="351"/>
<source>Attack</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="366"/>
<location filename="../ui/mainwindow.ui" line="376"/>
<source>Card Info</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="379"/>
<location filename="../ui/mainwindow.ui" line="389"/>
<source>Check Default</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="392"/>
<location filename="../ui/mainwindow.ui" line="402"/>
<source>Nested</source>
<translation type="unfinished"></translation>
<translation>Nested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="399"/>
<location filename="../ui/mainwindow.ui" line="409"/>
<source>Hardnested</source>
<translation type="unfinished"></translation>
<translation>Hardested</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="424"/>
<location filename="../ui/mainwindow.ui" line="434"/>
<source>Read/Write</source>
<translation type="unfinished"></translation>
<translation>/</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="434"/>
<location filename="../ui/mainwindow.ui" line="444"/>
<source>Block:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="460"/>
<location filename="../ui/mainwindow.ui" line="476"/>
<source>Key:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="472"/>
<location filename="../ui/mainwindow.ui" line="488"/>
<source>FFFFFFFFFFFF</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="479"/>
<location filename="../ui/mainwindow.ui" line="495"/>
<source>Key Type:</source>
<translation type="unfinished"></translation>
<translation>Key</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="499"/>
<location filename="../ui/mainwindow.ui" line="515"/>
<source>A</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="504"/>
<location filename="../ui/mainwindow.ui" line="520"/>
<source>B</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="527"/>
<location filename="../ui/mainwindow.ui" line="543"/>
<source>Normal(Require Password)</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="542"/>
<location filename="../ui/mainwindow.ui" line="631"/>
<location filename="../ui/mainwindow.ui" line="558"/>
<location filename="../ui/mainwindow.ui" line="647"/>
<source>Read Block</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="549"/>
<location filename="../ui/mainwindow.ui" line="638"/>
<location filename="../ui/mainwindow.ui" line="565"/>
<location filename="../ui/mainwindow.ui" line="654"/>
<source>Write Block</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="556"/>
<location filename="../ui/mainwindow.ui" line="645"/>
<location filename="../ui/mainwindow.ui" line="745"/>
<location filename="../ui/mainwindow.ui" line="572"/>
<location filename="../ui/mainwindow.ui" line="661"/>
<location filename="../ui/mainwindow.ui" line="761"/>
<source>Read All</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="563"/>
<location filename="../ui/mainwindow.ui" line="652"/>
<location filename="../ui/mainwindow.ui" line="579"/>
<location filename="../ui/mainwindow.ui" line="668"/>
<source>Write All</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="582"/>
<location filename="../ui/mainwindow.ui" line="598"/>
<source>Dump</source>
<translation type="unfinished"></translation>
<translation>Dump</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="595"/>
<location filename="../ui/mainwindow.ui" line="611"/>
<source>Restore</source>
<translation type="unfinished"></translation>
<translation>Restore</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="605"/>
<location filename="../ui/mainwindow.ui" line="621"/>
<source>Chinese Magic Card(Without Password)</source>
<translation type="unfinished"></translation>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="617"/>
<location filename="../ui/mainwindow.ui" line="633"/>
<source>Lock UFUID Card</source>
<translation type="unfinished"></translation>
<translation>UFUID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="624"/>
<location filename="../ui/mainwindow.ui" line="640"/>
<source>About UID Card</source>
<translation type="unfinished"></translation>
<translation>UID</translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="665"/>
<source>Write UID</source>
<translation type="unfinished"></translation>
<location filename="../ui/mainwindow.ui" line="681"/>
<source>Set Parameter</source>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="684"/>
<location filename="../ui/mainwindow.ui" line="700"/>
<source>Wipe</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="710"/>
<location filename="../ui/mainwindow.ui" line="765"/>
<location filename="../ui/mainwindow.ui" line="726"/>
<location filename="../ui/mainwindow.ui" line="781"/>
<source>Simulate</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="738"/>
<location filename="../ui/mainwindow.ui" line="754"/>
<source>Load from data above</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="758"/>
<location filename="../ui/mainwindow.ui" line="774"/>
<source>Clear</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="788"/>
<location filename="../ui/mainwindow.ui" line="819"/>
<location filename="../ui/mainwindow.ui" line="804"/>
<location filename="../ui/mainwindow.ui" line="835"/>
<source>Sniff</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="826"/>
<location filename="../ui/mainwindow.ui" line="842"/>
<source>List Sniff Data</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="878"/>
<location filename="../ui/mainwindow.ui" line="894"/>
<source>RawCommand</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="910"/>
<location filename="../ui/mainwindow.cpp" line="129"/>
<location filename="../ui/mainwindow.ui" line="926"/>
<location filename="../ui/mainwindow.cpp" line="134"/>
<source>History:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="939"/>
<location filename="../ui/mainwindow.ui" line="955"/>
<source>ClearHistory</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="958"/>
<location filename="../ui/mainwindow.ui" line="974"/>
<source>Send</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.ui" line="965"/>
<location filename="../ui/mainwindow.ui" line="981"/>
<source>ClearOutput</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="65"/>
<location filename="../ui/mainwindow.cpp" line="70"/>
<location filename="../ui/mainwindow.cpp" line="170"/>
<source>Info</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="65"/>
<location filename="../ui/mainwindow.cpp" line="70"/>
<source>Plz choose a port first</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="78"/>
<location filename="../ui/mainwindow.cpp" line="83"/>
<source>Connected</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="82"/>
<location filename="../ui/mainwindow.cpp" line="91"/>
<location filename="../ui/mainwindow.cpp" line="232"/>
<location filename="../ui/mainwindow.cpp" line="87"/>
<location filename="../ui/mainwindow.cpp" line="96"/>
<location filename="../ui/mainwindow.cpp" line="302"/>
<source>Not Connected</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="233"/>
<location filename="../ui/mainwindow.cpp" line="170"/>
<source>When Changeing card type, the data and keys in this app will be cleard.
Continue?</source>
<translation>datakey\n</translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="303"/>
<source>Idle</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="241"/>
<location filename="../ui/mainwindow.cpp" line="258"/>
<location filename="../ui/mainwindow.cpp" line="310"/>
<location filename="../ui/mainwindow.cpp" line="325"/>
<source>Sec</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="242"/>
<location filename="../ui/mainwindow.cpp" line="311"/>
<source>Blk</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="259"/>
<location filename="../ui/mainwindow.cpp" line="326"/>
<source>KeyA</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="260"/>
<location filename="../ui/mainwindow.cpp" line="327"/>
<source>KeyB</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="296"/>
<location filename="../ui/mainwindow.cpp" line="366"/>
<source>HW Version:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="298"/>
<location filename="../ui/mainwindow.cpp" line="368"/>
<source>PM3:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<location filename="../ui/mainwindow.cpp" line="300"/>
<location filename="../ui/mainwindow.cpp" line="370"/>
<source>State:</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
<name>Mifare</name>
<message>
<source>info</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="269"/>
<location filename="../module/mifare.cpp" line="366"/>
<source>Success!</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="269"/>
<location filename="../module/mifare.cpp" line="273"/>
<location filename="../module/mifare.cpp" line="366"/>
<location filename="../module/mifare.cpp" line="370"/>
<source>Info</source>
<translation></translation>
</message>
<message>
<location filename="../module/mifare.cpp" line="273"/>
<location filename="../module/mifare.cpp" line="370"/>
<source>Failed!</source>
<translation></translation>
</message>
</context>
</TS>

@ -1,11 +1,45 @@
#include "ui/mainwindow.h"
#include <QApplication>
#include <QSettings>
#include <QTranslator>
#include <QMessageBox>
#include <QInputDialog>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
QSettings* settings = new QSettings("GUIsettings.ini", QSettings::IniFormat);
QVariant lang = settings->value("lang", "null");
if(lang == "null")
{
lang = "lang/en_US.qm";
QStringList langList;
langList.append("English");
langList.append("简体中文");
QString seletedText = QInputDialog::getItem(&w, "", "Choose a language:", langList, 0, false);
if(seletedText == "English")
{
lang = "lang/en_US.qm";
}
else if(seletedText == "简体中文")
{
lang = "lang/zh_CN.qm";
}
}
QTranslator* translator = new QTranslator(&w);
if(translator->load(lang.toString()))
{
a.installTranslator(translator);
settings->setValue("lang", lang);
}
else
{
QMessageBox::information(&w, "Error", "Can't load " + lang.toString() + " as translation file.");
}
delete settings;
w.initUI();
w.show();
return a.exec();
}

@ -266,11 +266,11 @@ void Mifare::write()
+ ui->MF_RW_dataEdit->text().replace(" ", ""), waitTime);
if(result.indexOf("isOk:01") != -1)
{
QMessageBox::information(parent, tr("info"), tr("Success!"));
QMessageBox::information(parent, tr("Info"), tr("Success!"));
}
else
{
QMessageBox::information(parent, tr("info"), tr("Failed!"));
QMessageBox::information(parent, tr("Info"), tr("Failed!"));
}
}
@ -363,11 +363,11 @@ void Mifare::writeC()
+ ui->MF_RW_dataEdit->text().replace(" ", ""), waitTime);
if(result.indexOf("No chinese") == -1)
{
QMessageBox::information(parent, tr("info"), tr("Success!"));
QMessageBox::information(parent, tr("Info"), tr("Success!"));
}
else
{
QMessageBox::information(parent, tr("info"), tr("Failed!"));
QMessageBox::information(parent, tr("Info"), tr("Failed!"));
}
}

@ -18,8 +18,6 @@ MainWindow::MainWindow(QWidget *parent)
mifare = new Mifare(ui, util, this);
uiInit();
signalInit();
}
MainWindow::~MainWindow()
@ -32,6 +30,13 @@ MainWindow::~MainWindow()
delete pm3Thread;
}
void MainWindow::initUI()
{
ui->retranslateUi(this);
uiInit();
signalInit();
}
// ******************** basic functions ********************
void MainWindow::on_PM3_refreshPortButton_clicked()
@ -162,7 +167,7 @@ void MainWindow::MF_onTypeChanged(int id, bool st)
qDebug() << id << typeBtnGroup->checkedId();
if(!st)
{
int result = QMessageBox::question(this, tr("info"), tr("When Changeing card type, the data and keys in this app will be cleard.\nContinue?"), QMessageBox::Yes | QMessageBox::No);
int result = QMessageBox::question(this, tr("Info"), tr("When Changeing card type, the data and keys in this app will be cleard.\nContinue?"), QMessageBox::Yes | QMessageBox::No);
if(result == QMessageBox::Yes)
{
qDebug() << "Yes";

@ -30,6 +30,7 @@ public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void initUI();
public slots:
void refreshOutput(const QString &output);
void refreshCMD(const QString &cmd);

@ -42,7 +42,7 @@
<item>
<widget class="QLineEdit" name="PM3_pathEdit">
<property name="text">
<string>E:\Documents\source\qt\pm3\win64\proxmark3</string>
<string notr="true">E:\Documents\source\qt\pm3\win64\proxmark3</string>
</property>
</widget>
</item>
@ -394,7 +394,7 @@
<widget class="QPushButton" name="MF_Attack_nestedButton">
<property name="minimumSize">
<size>
<width>40</width>
<width>0</width>
<height>0</height>
</size>
</property>
@ -485,7 +485,7 @@
</font>
</property>
<property name="text">
<string>FFFFFFFFFFFF</string>
<string notr="true">FFFFFFFFFFFF</string>
</property>
</widget>
</item>

@ -17,7 +17,7 @@
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Known Key:</string>
<string>Known Block:</string>
</property>
</widget>
</item>
@ -83,7 +83,7 @@
</font>
</property>
<property name="text">
<string>FFFFFFFFFFFF</string>
<string notr="true">FFFFFFFFFFFF</string>
</property>
</widget>
</item>
@ -92,7 +92,7 @@
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Target Key: </string>
<string>Target Block: </string>
</property>
</widget>
</item>

Loading…
Cancel
Save