From 1df289c131430294aa067b88fc3f5b7b3a9cff47 Mon Sep 17 00:00:00 2001 From: Roy Qu Date: Thu, 9 Dec 2021 11:22:28 +0800 Subject: [PATCH] update translations --- NEWS.md | 1 + RedPandaIDE/RedPandaIDE_zh_CN.qm | Bin 106963 -> 107155 bytes RedPandaIDE/RedPandaIDE_zh_CN.ts | 505 +++++++++--------- RedPandaIDE/mainwindow.cpp | 41 +- .../settingsdialog/toolsgeneralwidget.cpp | 2 +- RedPandaIDE/systemconsts.h | 2 + RedPandaIDE/utils.cpp | 40 +- RedPandaIDE/utils.h | 5 +- RedPandaIDE/widgets/macroinfomodel.cpp | 2 +- tools/ConsolePauser/main.cpp | 9 - 10 files changed, 314 insertions(+), 293 deletions(-) diff --git a/NEWS.md b/NEWS.md index 57a89647..bfc90d18 100644 --- a/NEWS.md +++ b/NEWS.md @@ -5,6 +5,7 @@ Version 0.11.0 For Dev-C++ 7 Beta - fix: typo errors in settings dialog - enhancement: console pauser clears STDIN buffer before show "press any key to continue..." - fix: path in macros should use system's path separator + - fix: custom tools doesn't work Version 0.10.4 For Dev-C++ 7 Beta - fix: can't correctly undo/redo indent diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.qm b/RedPandaIDE/RedPandaIDE_zh_CN.qm index e4e9a7f02cc85dbbb0de30047610bf245faecb6f..5c51ed733c5282a983c294a622d8cab5e4457224 100644 GIT binary patch delta 8239 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 H^>g?iwmYz4 diff --git a/RedPandaIDE/RedPandaIDE_zh_CN.ts b/RedPandaIDE/RedPandaIDE_zh_CN.ts index afe03650..6c614be1 100644 --- a/RedPandaIDE/RedPandaIDE_zh_CN.ts +++ b/RedPandaIDE/RedPandaIDE_zh_CN.ts @@ -1076,35 +1076,35 @@ Are you really want to continue? 要剪切的内容超过了字符数限制! - + Print Document 打印文档 - - - + + + Ctrl+click for more info Ctrl+单击以获取更多信息 - - + + Symbol '%1' not found! 未找到符号'%1'! - + Break point condition 断点条件 - + Enter the condition of the breakpoint: 输入当前断点的生效条件: - + Readonly 只读 @@ -2826,36 +2826,46 @@ Are you really want to continue? + Full path to the compiled file + 编译得到的文件的完整路径 + + + Filename of the current source file 当前源文件名 - + Full path to the current source file 当前源文件路径 - + Path to the current source file's parent folder 当前源文件所在文件夹 - + Word at the cursor in the active editor 当前编辑器中光标处的单词 - + Name of the current project 当前项目名称 - + Full path to the current project file 项目文件完整路径 - + + Name of the current project file + 当前项目文件的文件名 + + + Path to the current project's folder 项目文件夹 @@ -2870,11 +2880,11 @@ Are you really want to continue? - - - - - + + + + + Issues 编译器 @@ -2950,7 +2960,7 @@ Are you really want to continue? - + Debug Console 调试主控台 @@ -3026,7 +3036,7 @@ Are you really want to continue? 工具栏2 - + New 新建 @@ -3084,8 +3094,8 @@ Are you really want to continue? - - + + Compile 编译 @@ -3131,8 +3141,8 @@ Are you really want to continue? - - + + Copy 复制 @@ -3143,7 +3153,7 @@ Are you really want to continue? - + Paste 粘贴 @@ -3154,7 +3164,7 @@ Are you really want to continue? - + Select All 选择全部 @@ -3274,14 +3284,14 @@ Are you really want to continue? - + Problem Set 试题集 - + New Problem Set 新建试题集 @@ -3300,14 +3310,14 @@ Are you really want to continue? - + Save Problem Set 保存试题集 - + Load Problem Set 载入试题集 @@ -3343,7 +3353,7 @@ Are you really want to continue? - + Problem 试题 @@ -3647,7 +3657,7 @@ Are you really want to continue? - + Clear all breakpoints 删除所有断点 @@ -3748,7 +3758,7 @@ Are you really want to continue? - + Rename Symbol 重命名符号 @@ -3769,13 +3779,13 @@ Are you really want to continue? - + Export As RTF 导出为RTF - + Export As HTML 导出为HTML @@ -3895,7 +3905,7 @@ Are you really want to continue? - + Open Folder 打开文件夹 @@ -3905,42 +3915,42 @@ Are you really want to continue? 运行参数... - + File Encoding 文件编码 - + Recent Files 文件历史 - - - - - - + + + + + + Debugging 正在调试 - - - - - - + + + + + + Running 正在运行 - - - - - - + + + + + + Compiling 正在编译 @@ -3949,189 +3959,189 @@ Are you really want to continue? 行:%1 列:%2 已选择:%3 总行数:%4 总长度:%5 - + Line:%1 Col:%2 Selected:%3 Lines:%4 Length:%5 Line: %1 Col: %2 Selected: %3 Lines: %4 Length: %5 行: %1 列: %2 已选择 :%3 总行数: %4 总长度: %5 - + Read Only 只读 - + Insert 插入 - + Overwrite 覆写 - + Close project 关闭项目 - + Are you sure you want to close %1? 你确定要关闭'%1'吗? - - + + Confirm 确认 - - - + + + Source file is not compiled. 源文件尚未编译。 - - + + Compile now? 现在编译? - - - + + + Source file is more recent than executable. 源文件比可执行程序新。 - + Recompile now? 重新编译? - + No compiler set 无编译器设置 - + No compiler set is configured. 没有配置编译器设置。 - + Can't start debugging. 无法启动调试器 - - + + Enable debugging 启用调试参数 - - + + You have not enabled debugging info (-g3) and/or stripped it from the executable (-s) in Compiler Options.<BR /><BR />Do you want to correct this now? 当前编译设置中未启用调试选项(-g3),或启用了信息剥除选项(-s)<br /><br/>是否纠正这一问题? - + Project not built 项目尚未构建 - + Project hasn't been built. Build it now? 项目尚未构建。是否构建? - + Host applcation missing 宿主程序不存在 - + DLL project needs a host application to run. 动态链接库(DLL)需要一个宿主程序来运行。 - + But it's missing. 但它不存在。 - + Host application not exists 宿主程序不存在 - + Host application file '%1' doesn't exist. 宿主程序'%1'不存在。 - + Recompile? 重新编译? - - + + Save last open info error 保存上次打开信息失败 - + Can't remove old last open information file '%1' 无法删除旧上次打开信息文件'%1' - + Can't save last open info file '%1' 无法保存上次打开信息文件'%1' - + Load last open info error 载入上次打开信息失败 - + Can't load last open info file '%1' 无法载入上次打开信息文件'%1' - + Show detail debug logs 显示详细调试器日志 - + Copy all 全部复制 - - + + Clear 清除 - + Export 导出 - + Insert Snippet 插入代码段 - - + + Problem Set %1 试题集%1 @@ -4152,73 +4162,73 @@ Are you really want to continue? 或者选择使用其他的网络端口。 - + Red Panda Dev-C++ 小熊猫Dev-C++ - - + + Rebuild Project 重新构建项目 - - + + Project has been modified, do you want to rebuild it? 项目已经被修改过,是否需要重新构建? - + Auto Save Error 自动保存出错 - + Auto save "%1" to "%2" failed:%3 自动保存"%1"到"%2"失败:%3 - + Properties... 试题属性... - + Set Problem Set Name 设置试题集名称 - + Problem Set Name: 试题集名称: - + Remove 删除 - + Remove All Bookmarks 删除全部书签 - + Modify Description 修改描述 - - - + + + Bookmark Description 书签描述 - - - + + + Description: 描述: @@ -4227,460 +4237,460 @@ Are you really want to continue? 在调试主控台中显示调试器输出 - + Remove this search 清除这次搜索 - + Clear all searches 删除所有搜索 - + Breakpoint condition... 断点条件... - + Break point condition 断点条件 - + Enter the condition of the breakpoint: 输入当前断点的生效条件: - + Remove All Breakpoints Remove all breakpoints 删除所有断点 - + Remove Breakpoint 删除当前断点 - + Rename File 重命名文件 - - + + Add Folder 添加文件夹 - + New folder 新文件夹 - + Folder name: 文件夹: - + Rename Folder 重命名 - + Remove Folder 删除文件夹 - + Sort By Type 按类型排序 - + Sort alphabetically 按名称排序 - + Show inherited members 显示继承的成员 - + Goto declaration 跳转到声明处 - + Goto definition 跳转到定义处 - + Open in Editor 在编辑器中打开 - + Open in External Program 使用外部程序打开 - + Open in Terminal 在终端中打开 - + Open in Windows Explorer 在Windows浏览器中打开 - + Character sets 字符集 - + %1 files autosaved 已自动保存%1个文件 - + Set answer to... 设置答案源代码... - + select other file... 选择其他文件... - + Select Answer Source File 选择答案源代码文件 - + C/C++Source Files (*.c *.cpp *.cc *.cxx) C/C++Source Files (*.c *.cpp *.cc *.cxx C/C++源代码文件 (*.c *.cpp *.cc *.cxx) - + Save project 保存项目 - + The project '%1' has modifications. 项目'%1'有改动。 - - + + Do you want to save it? 需要保存吗? - - + + File Changed 文件已发生变化 - + New Project File? 新建项目文件? - + Do you want to add the new file to the project? 您是否要将新建的文件加入项目? - - - - + + + + Save Error 保存失败 - + Change Project Compiler Set 改变项目编译器配置集 - + Change the project's compiler set will lose all custom compiler set options. 改变项目的编译器配置集会导致所有的自定义编译器选项被重置。 - + Do you really want to do that? 你真的想要做那些吗? - + Do you really want to clear all breakpoints in this file? 您真的要清除该文件的所有断点吗? - + New project 新建项目 - + Close %1 and start new project? 关闭'%1'以打开新项目? - + Folder not exist 文件夹不存在 - + Folder '%1' doesn't exist. Create it now? 文件夹'%1'不存在。是否创建? - + Can't create folder 无法创建文件夹 - + Failed to create folder '%1'. 创建文件夹'%1'失败。 - + Save new project as - + Red panda Dev-C++ project file (*.dev) 小熊猫Dev-C++项目文件 (*.dev) - + New project fail 新建项目失败 - + Can't assign project template 无法使用模板创建项目 - + Remove file 删除文件 - + Remove the file from disk? 同时从硬盘上删除文件? - + untitled 无标题 - + New Project File Name 新的项目文件名 - + File Name: 文件名: - + File Already Exists! 文件已存在! - + File '%1' already exists! 文件'%1'已经存在! - + Add to project 添加到项目 - + Rename Error 重命名出错 - + Symbol '%1' is defined in system header. 符号'%1'在系统头文件中定义,无法修改。 - + New Name 新名称 - - + + Replace Error 替换出错 - + Can't open file '%1' for replace! 无法打开文件'%1'进行替换! - + Contents has changed since last search! 内容和上次查找时不一致。 - + Rich Text Format Files (*.rtf) RTF格式文件 (*.rtf) - + HTML Files (*.html) HTML文件 (*.html) - + The current problem set is not empty. 当前的试题集不是空的。 - + Problem %1 试题%1 - - + + Problem Set Files (*.pbs) 试题集文件 (*.pbs) - + Load Error 载入失败 - - + + Problem Case %1 试题案例%1 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + Error 错误 - + Recent Projects 项目历史 - + File '%1' was changed. 磁盘文件'%1'已被修改。 - + Reload its content from disk? 是否重新读取它的内容? - + File '%1' was removed. 磁盘文件'%1'已被删除。 - + Keep it open? 是否保持它在小熊猫C++中打开的编辑窗口? - + Open 打开 - + Compile Failed 编译失败 - + Run Failed 运行失败 - - + + Confirm Convertion 确认转换 - - + + The editing file will be saved using %1 encoding. <br />This operation can't be reverted. <br />Are you sure to continue? 当前编辑器中的文件将会使用%1编码保存。<br />这项操作无法被撤回。<br />你确定要继续吗? - + New Watch Expression 新监视表达式 - + Enter Watch Expression (it is recommended to use 'this->' for class members): 输入监视表达式 - + Parsing file %1 of %2: "%3" (%1/%2)正在解析文件"%3" - - + + Done parsing %1 files in %2 seconds 完成%1个文件的解析,用时%2秒 - + (%1 files per second) (每秒%1个文件) @@ -5855,27 +5865,27 @@ Are you really want to continue? 无标题 - + Index %1 out of range 下标"%1"越界 - + bytes 字节 - + KB KB - + MB MB - + GB GB @@ -6164,12 +6174,12 @@ Are you really want to continue? 无标题 - + constructor 构造函数 - + destructor 析构函数 @@ -6553,7 +6563,8 @@ Are you really want to continue? - Cancle + Cancel + Cancle 取消 @@ -6608,7 +6619,7 @@ Are you really want to continue? 自动链接 - + @@ -6684,15 +6695,15 @@ Are you really want to continue? 杂项 - - + + Program Runner 程序运行 - + Problem Set 试题集 diff --git a/RedPandaIDE/mainwindow.cpp b/RedPandaIDE/mainwindow.cpp index 6c8ece9f..eb2e4469 100644 --- a/RedPandaIDE/mainwindow.cpp +++ b/RedPandaIDE/mainwindow.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -1800,30 +1801,48 @@ void MainWindow::updateTools() if (!mToolsManager->tools().isEmpty()) { ui->menuTools->addSeparator(); foreach (const PToolItem& item, mToolsManager->tools()) { - QAction* action = new QAction(item->title,ui->menuTools); + QAction* action = new QAction(tr(item->title.toUtf8()),ui->menuTools); connect(action, &QAction::triggered, [item] (){ QString program = parseMacros(item->program); QString workDir = parseMacros(item->workingDirectory); - if (program == "del") { - QString current = QDir::currentPath(); - QDir::setCurrent(workDir); - qDebug()<<(program+" "+parseMacros(item->parameters)); - system((program+" "+parseMacros(item->parameters)).toLocal8Bit()); - QDir::setCurrent(current); + QString params = parseMacros(item->parameters); + if (!program.endsWith(".bat",Qt::CaseInsensitive)) { + QTemporaryFile file(QDir::tempPath()+QDir::separator()+"XXXXXX.bat"); + file.setAutoRemove(false); + if (file.open()) { + file.write(QString("cd /d \"%1\"") + .arg(localizePath(workDir)) + .toLocal8Bit()+LINE_BREAKER); + file.write((program+" "+params).toLocal8Bit() + + LINE_BREAKER); + file.close(); + if (item->pauseAfterExit) { + executeFile( + includeTrailingPathDelimiter(pSettings->dirs().app())+"ConsolePauser.exe", + " 1 \""+localizePath(file.fileName())+"\" ", + workDir, file.fileName()); + } else { + executeFile( + file.fileName(), + "", + workDir, file.fileName()); + } + } } else { if (item->pauseAfterExit) { executeFile( includeTrailingPathDelimiter(pSettings->dirs().app())+"ConsolePauser.exe", - " 0 \""+localizePath(program)+"\" "+parseMacros(item->parameters), - workDir); + " 1 \""+program+"\" "+params, + workDir, ""); } else { executeFile( program, - parseMacros(item->parameters), - workDir); + params, + workDir, ""); } } + }); ui->menuTools->addAction(action); } diff --git a/RedPandaIDE/settingsdialog/toolsgeneralwidget.cpp b/RedPandaIDE/settingsdialog/toolsgeneralwidget.cpp index d1a5cda8..64035570 100644 --- a/RedPandaIDE/settingsdialog/toolsgeneralwidget.cpp +++ b/RedPandaIDE/settingsdialog/toolsgeneralwidget.cpp @@ -17,7 +17,7 @@ ToolsGeneralWidget::ToolsGeneralWidget(const QString &name, const QString &group finishEditing(false); connect(ui->lstTools->selectionModel(), &QItemSelectionModel::currentRowChanged, this,&ToolsGeneralWidget::onToolsCurrentChanged); - connect(ui->txtDirectory,&QLineEdit::textChanged, + connect(ui->txtProgram,&QLineEdit::textChanged, this, &ToolsGeneralWidget::updateDemo); connect(ui->txtParameters,&QLineEdit::textChanged, this, &ToolsGeneralWidget::updateDemo); diff --git a/RedPandaIDE/systemconsts.h b/RedPandaIDE/systemconsts.h index df92700d..08cd08e4 100644 --- a/RedPandaIDE/systemconsts.h +++ b/RedPandaIDE/systemconsts.h @@ -52,6 +52,7 @@ #ifdef Q_OS_WIN # define PATH_SENSITIVITY Qt::CaseInsensitive # define PATH_SEPARATOR ";" +# define LINE_BREAKER "\r\n" # define NULL_FILE "NUL" # define EXECUTABLE_EXT "exe" # define STATIC_LIB_EXT "a" @@ -60,6 +61,7 @@ #elif defined(Q_OS_LINUX) # define PATH_SENSITIVITY Qt::CaseSensitive # define PATH_SEPARATOR ":" +# define LINE_BREAKER "\n" # define NULL_FILE "/dev/null" # define EXECUTABLE_EXT "" # define STATIC_LIB_EXT "a" diff --git a/RedPandaIDE/utils.cpp b/RedPandaIDE/utils.cpp index 79df5d8e..7127fec6 100644 --- a/RedPandaIDE/utils.cpp +++ b/RedPandaIDE/utils.cpp @@ -786,30 +786,27 @@ QString parseMacros(const QString &s) result.replace("",""); } - // Project-dependent macros - if (pMainWindow->project()) { + if (e!=nullptr && !e->inProject()) { // Non-project editor macros + result.replace("", extractFileName(changeFileExt(e->filename(),EXECUTABLE_EXT))); + result.replace("", localizePath(changeFileExt(e->filename(),EXECUTABLE_EXT))); + result.replace("", extractFileName(e->filename())); + result.replace("", localizePath(e->filename())); + result.replace("", extractFileName(e->filename())); + result.replace("", localizePath(extractFileDir(e->filename()))); + } else if (pMainWindow->project()) { result.replace("", extractFileName(pMainWindow->project()->executable())); result.replace("", localizePath(pMainWindow->project()->executable())); result.replace("", pMainWindow->project()->name()); result.replace("", localizePath(pMainWindow->project()->filename())); result.replace("", extractFileName(pMainWindow->project()->filename())); result.replace("", localizePath(pMainWindow->project()->directory())); -// result.replace("', MainForm.Project.ListUnitStr(' ')); -// result.replace("",""); - } else if (e!=nullptr) { // Non-project editor macros - result.replace("", extractFileName(changeFileExt(e->filename(),EXECUTABLE_EXT))); - result.replace("", localizePath(changeFileExt(e->filename(),EXECUTABLE_EXT))); - result.replace("", extractFileName(e->filename())); - result.replace("", localizePath(e->filename())); - result.replace("", extractFileName(e->filename())); - result.replace("", localizePath(extractFileDir(e->filename()))); -// result.replace("", ""); // clear unchanged macros } else { result.replace("", ""); + result.replace("", ""); result.replace("", ""); result.replace("", ""); + result.replace("", ""); result.replace("", ""); -// result.replace("", ""); // clear unchanged macros } // Editor macros @@ -827,26 +824,23 @@ QString parseMacros(const QString &s) return result; } -void executeFile(const QString &fileName, const QString ¶ms, const QString &workingDir) +void executeFile(const QString &fileName, const QString ¶ms, const QString &workingDir, const QString &tempFile) { - qDebug()<connect(runner, &QThread::finished, - [runner](){ - qDebug()<<"finished"; + [runner,tempFile](){ + if (!tempFile.isEmpty()) { + QFile::remove(tempFile); + } runner->deleteLater(); }); runner->connect(runner, &Runner::runErrorOccurred, - [](const QString& s){ - qDebug()<<"error occured"; - qDebug()<setStartConsole(true); runner->start(); } diff --git a/RedPandaIDE/utils.h b/RedPandaIDE/utils.h index bff61f39..ee7f9669 100644 --- a/RedPandaIDE/utils.h +++ b/RedPandaIDE/utils.h @@ -122,7 +122,10 @@ QByteArray runAndGetOutput(const QString& cmd, const QString& workingDir, const const QByteArray& inputContent = QByteArray(), bool inheritEnvironment = false); -void executeFile(const QString& fileName, const QString& params, const QString& workingDir); +void executeFile(const QString& fileName, + const QString& params, + const QString& workingDir, + const QString& tempFile); bool isNonPrintableAsciiChar(char ch); diff --git a/RedPandaIDE/widgets/macroinfomodel.cpp b/RedPandaIDE/widgets/macroinfomodel.cpp index 6d4df062..daf725c1 100644 --- a/RedPandaIDE/widgets/macroinfomodel.cpp +++ b/RedPandaIDE/widgets/macroinfomodel.cpp @@ -2,7 +2,7 @@ MacroInfoModel::MacroInfoModel(QObject *parent) : QAbstractListModel(parent) { - addMacroInfo("", tr("The default directory")); + addMacroInfo("", tr("The default directory")); addMacroInfo("", tr("Path to the Red Panda C++'s executable file.")); addMacroInfo("", tr("Version of the Red Panda C++")); addMacroInfo("", tr("PATH to the Red Panda C++'s installation folder.")); diff --git a/tools/ConsolePauser/main.cpp b/tools/ConsolePauser/main.cpp index b554b53d..5ff6ac01 100644 --- a/tools/ConsolePauser/main.cpp +++ b/tools/ConsolePauser/main.cpp @@ -78,15 +78,6 @@ string GetCommand(int argc,char** argv,bool &reInp,bool &pauseAfterExit) { reInp = flags & RPF_REDIRECT_INPUT; pauseAfterExit = flags & RPF_PAUSE_CONSOLE; for(int i = 2;i < argc;i++) { -/* - // Quote the first argument in case the path name contains spaces -// if(i == 1) { -// result += string("\"") + string(argv[i]) + string("\""); -// } else { - // Quote the first argument in case the path name contains spaces -// result += string(argv[i]); -// } -*/ // Quote the argument in case the path name contains spaces result += string("\"") + string(argv[i]) + string("\"");