mirror of
https://github.com/wh201906/Proxmark3GUI.git
synced 2025-04-20 19:46:19 +08:00
Non-ASCII path support(partial)
I didn't find other solutions on the Internet. I found the plugins are loaded when creating MainWindow, so this solution should be fine?
This commit is contained in:
parent
dcc17963b6
commit
36307dcda0
@ -270,6 +270,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/mf_trailerdecoderdialog.ui" line="317"/>
|
<location filename="../ui/mf_trailerdecoderdialog.ui" line="317"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="113"/>
|
||||||
<source>KeyA</source>
|
<source>KeyA</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -280,6 +281,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/mf_trailerdecoderdialog.ui" line="327"/>
|
<location filename="../ui/mf_trailerdecoderdialog.ui" line="327"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="117"/>
|
||||||
<source>KeyB</source>
|
<source>KeyB</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -306,6 +308,21 @@ It could make the whole sector blocked irreversibly!</source>
|
|||||||
<source>Valid</source>
|
<source>Valid</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="88"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="89"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="90"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="94"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="95"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="96"/>
|
||||||
|
<source>Block</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="121"/>
|
||||||
|
<source>KeyA+B</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
|
BIN
lang/zh_CN.qm
BIN
lang/zh_CN.qm
Binary file not shown.
@ -271,6 +271,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/mf_trailerdecoderdialog.ui" line="317"/>
|
<location filename="../ui/mf_trailerdecoderdialog.ui" line="317"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="113"/>
|
||||||
<source>KeyA</source>
|
<source>KeyA</source>
|
||||||
<translation>密钥A</translation>
|
<translation>密钥A</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -281,6 +282,7 @@
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../ui/mf_trailerdecoderdialog.ui" line="327"/>
|
<location filename="../ui/mf_trailerdecoderdialog.ui" line="327"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="117"/>
|
||||||
<source>KeyB</source>
|
<source>KeyB</source>
|
||||||
<translation>密钥B</translation>
|
<translation>密钥B</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -310,6 +312,21 @@ It could make the whole sector blocked irreversibly!</source>
|
|||||||
<source>Valid</source>
|
<source>Valid</source>
|
||||||
<translation>有效</translation>
|
<translation>有效</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="88"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="89"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="90"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="94"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="95"/>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="96"/>
|
||||||
|
<source>Block</source>
|
||||||
|
<translation>块</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../ui/mf_trailerdecoderdialog.cpp" line="121"/>
|
||||||
|
<source>KeyA+B</source>
|
||||||
|
<translation>密钥A+B</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
|
11
main.cpp
11
main.cpp
@ -9,6 +9,17 @@
|
|||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
// A trick to handle non-ascii path
|
||||||
|
// The application cannot find the plugins when the path contains non ascii characters.
|
||||||
|
// However, the plugins will be load after creating MainWindow(or QApplication?).
|
||||||
|
// QDir will handle the path correctly.
|
||||||
|
QDir* pluginDir = new QDir;
|
||||||
|
if(pluginDir->cd("plugins")) // has plugins folder
|
||||||
|
{
|
||||||
|
qputenv("QT_PLUGIN_PATH", pluginDir->absolutePath().toLocal8Bit());
|
||||||
|
}
|
||||||
|
delete pluginDir;
|
||||||
|
|
||||||
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
|
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
|
||||||
QDir *langPath = new QDir();
|
QDir *langPath = new QDir();
|
||||||
|
@ -85,15 +85,15 @@ void MF_trailerDecoderDialog::on_blockSizeChanged(int id, bool st)
|
|||||||
{
|
{
|
||||||
if(id == 4)
|
if(id == 4)
|
||||||
{
|
{
|
||||||
ui->dataBlockWidget->verticalHeaderItem(0)->setText("Block0");
|
ui->dataBlockWidget->verticalHeaderItem(0)->setText(tr("Block") + "0");
|
||||||
ui->dataBlockWidget->verticalHeaderItem(1)->setText("Block1");
|
ui->dataBlockWidget->verticalHeaderItem(1)->setText(tr("Block") + "1");
|
||||||
ui->dataBlockWidget->verticalHeaderItem(2)->setText("Block2");
|
ui->dataBlockWidget->verticalHeaderItem(2)->setText(tr("Block") + "2");
|
||||||
}
|
}
|
||||||
else if(id == 16)
|
else if(id == 16)
|
||||||
{
|
{
|
||||||
ui->dataBlockWidget->verticalHeaderItem(0)->setText("Block0~4");
|
ui->dataBlockWidget->verticalHeaderItem(0)->setText(tr("Block") + "0~4");
|
||||||
ui->dataBlockWidget->verticalHeaderItem(1)->setText("Block5~9");
|
ui->dataBlockWidget->verticalHeaderItem(1)->setText(tr("Block") + "5~9");
|
||||||
ui->dataBlockWidget->verticalHeaderItem(2)->setText("Block10~14");
|
ui->dataBlockWidget->verticalHeaderItem(2)->setText(tr("Block") + "10~14");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -110,15 +110,15 @@ void MF_trailerDecoderDialog::setTableItem(QTableWidget* widget, int row, int co
|
|||||||
}
|
}
|
||||||
else if(accessType == Mifare::ACC_KEY_A)
|
else if(accessType == Mifare::ACC_KEY_A)
|
||||||
{
|
{
|
||||||
text = "KeyA";
|
text = tr("KeyA");
|
||||||
}
|
}
|
||||||
else if(accessType == Mifare::ACC_KEY_B)
|
else if(accessType == Mifare::ACC_KEY_B)
|
||||||
{
|
{
|
||||||
text = "KeyB";
|
text = tr("KeyB");
|
||||||
}
|
}
|
||||||
else if(accessType == Mifare::ACC_KEY_AB)
|
else if(accessType == Mifare::ACC_KEY_AB)
|
||||||
{
|
{
|
||||||
text = "KeyA+B";
|
text = tr("KeyA+B");
|
||||||
}
|
}
|
||||||
widget->item(row, column)->setText(text);
|
widget->item(row, column)->setText(text);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user