diff --git a/RedPandaIDE/compiler/compiler.cpp b/RedPandaIDE/compiler/compiler.cpp
index 6269a9b7..44ec4b0f 100644
--- a/RedPandaIDE/compiler/compiler.cpp
+++ b/RedPandaIDE/compiler/compiler.cpp
@@ -179,28 +179,42 @@ CompileIssueType Compiler::getIssueTypeFromOutputLine(QString &line)
{
CompileIssueType result = CompileIssueType::Other;
line = line.trimmed();
- int pos = line.indexOf(':');
- if (pos>=0) {
- QString s=line.mid(0,pos);
- if (s == "error" || s == "fatal error"
- || s == "syntax error") {
- mErrorCount += 1;
- line = tr("[Error] ")+line.mid(pos+1);
- result = CompileIssueType::Error;
- } else if (s.startsWith("warning")) {
- mWarningCount += 1;
- line = tr("[Warning] ")+line.mid(pos+1);
- result = CompileIssueType::Warning;
- } else if (s == "info") {
- mWarningCount += 1;
- line = tr("[Info] ")+line.mid(pos+1);
- result = CompileIssueType::Info;
- } else if (s == "note") {
- mWarningCount += 1;
- line = tr("[Note] ")+line.mid(pos+1);
- result = CompileIssueType::Note;
+ if (line.startsWith(tr("error:"))) {
+ mErrorCount += 1;
+ line = tr("[Error] ")+line.mid(tr("error:").length());
+ result = CompileIssueType::Error;
+ } else if (line.startsWith(tr("warning:"))) {
+ mWarningCount += 1;
+ line = tr("[Warning] ")+line.mid(tr("warning:").length());
+ result = CompileIssueType::Warning;
+ } else {
+ int pos = line.indexOf(':');
+ if (pos>=0) {
+ QString s=line.mid(0,pos);
+ if (s == "error" || s == "fatal error"
+ || s == "syntax error") {
+ mErrorCount += 1;
+ line = tr("[Error] ")+line.mid(pos+1);
+ result = CompileIssueType::Error;
+ } else if (s.startsWith("warning")
+ || s.startsWith(tr("warning"))) {
+ mWarningCount += 1;
+ line = tr("[Warning] ")+line.mid(pos+1);
+ result = CompileIssueType::Warning;
+ } else if (s == "info"
+ || s == tr("info")) {
+ mWarningCount += 1;
+ line = tr("[Info] ")+line.mid(pos+1);
+ result = CompileIssueType::Info;
+ } else if (s == "note"
+ || s == tr("note")) {
+ mWarningCount += 1;
+ line = tr("[Note] ")+line.mid(pos+1);
+ result = CompileIssueType::Note;
+ }
}
}
+
return result;
}
diff --git a/RedPandaIDE/settings.cpp b/RedPandaIDE/settings.cpp
index 5d69712d..b064f51f 100644
--- a/RedPandaIDE/settings.cpp
+++ b/RedPandaIDE/settings.cpp
@@ -3747,7 +3747,8 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
pSet->setAutoAddCharsetParams(mSettings->mSettings.value("AddCharset", true).toBool());
pSet->setStaticLink(mSettings->mSettings.value("StaticLink", false).toBool());
pSet->setPersistInAutoFind(mSettings->mSettings.value("PersistInAutoFind", false).toBool());
- pSet->setForceEnglishOutput(mSettings->mSettings.value("forceEnglishOutput", false).toBool());
+ bool forceEnglishOutput=QLocale::system().name().startsWith("zh")?false:true;
+ pSet->setForceEnglishOutput(mSettings->mSettings.value("forceEnglishOutput", forceEnglishOutput).toBool());
pSet->setExecCharset(mSettings->mSettings.value("ExecCharset", ENCODING_SYSTEM_DEFAULT).toString());
if (pSet->execCharset().isEmpty()) {
diff --git a/RedPandaIDE/translations/RedPandaIDE_pt_BR.ts b/RedPandaIDE/translations/RedPandaIDE_pt_BR.ts
index d0169cf9..fc158d98 100644
--- a/RedPandaIDE/translations/RedPandaIDE_pt_BR.ts
+++ b/RedPandaIDE/translations/RedPandaIDE_pt_BR.ts
@@ -499,6 +499,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CompilerAutolinkWidget
diff --git a/RedPandaIDE/translations/RedPandaIDE_zh_CN.ts b/RedPandaIDE/translations/RedPandaIDE_zh_CN.ts
index 32070c23..19a2ab15 100644
--- a/RedPandaIDE/translations/RedPandaIDE_zh_CN.ts
+++ b/RedPandaIDE/translations/RedPandaIDE_zh_CN.ts
@@ -618,33 +618,86 @@ p, li { white-space: pre-wrap; }
- 编译时间: %1 秒
+
+
+ 错误
+
+
+
+ 致命错误
+
+
+
+ 语法错误
+
+
[错误]
-
+
+
+ 警告
+
+
+
+
[警告]
+
+ 信息
+
+
+
[信息]
-
+
+
+ 说明
+
+
+
[说明]
-
+
+
+ 错误:
+ 错误:
+
+
+
+
+ 致命错误:
+ 致命错误:
+
+
+
+
+ 语法错误:
+ 语法错误:
+
+
+
+
+ 警告:
+ 警告:
+
+
+
无法写入文件“%1”。
-
+
无法启动编译器进程'%1'。
@@ -653,27 +706,27 @@ p, li { white-space: pre-wrap; }
无法启动编译进程。
-
+
编译进程启动后崩溃。
-
+
waitFor()函数等待超时。
-
+
在向编译进程输入内容时出错。
-
+
在从编译进程读取内容时出错。
-
+
发生了未知错误。
@@ -1540,13 +1593,13 @@ p, li { white-space: pre-wrap; }
失败
-
-
-
-
-
-
-
+
+
+
+
+
+
+
错误
@@ -1555,8 +1608,8 @@ p, li { white-space: pre-wrap; }
无法写入文件"%1"
-
-
+
+
载入文件错误
@@ -1585,54 +1638,54 @@ p, li { white-space: pre-wrap; }
继续保存?
-
+
另存为
-
+
文件%1已经被打开!
-
+
要复制的内容超过了行数限制!
-
+
要复制的内容超过了字符数限制!
-
+
要剪切的内容超过了行数限制!
-
+
要剪切的内容超过了字符数限制!
-
+
16进制: %1
-
+
十进制: %1
-
+
打印文档
-
-
-
+
+
+
Ctrl+单击以获取更多信息
@@ -1641,27 +1694,27 @@ p, li { white-space: pre-wrap; }
未找到符号'%1'!
-
+
找不到astyle程序
-
+
找不到astyle程序"%1".
-
+
断点条件
-
+
输入当前断点的生效条件:
-
+
只读
@@ -4514,11 +4567,11 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
+
+
+
+
+
编译器
@@ -4592,7 +4645,7 @@ p, li { white-space: pre-wrap; }
-
+
调试主控台
@@ -4801,9 +4854,9 @@ p, li { white-space: pre-wrap; }
-
-
-
+
+
+
复制
@@ -4814,7 +4867,7 @@ p, li { white-space: pre-wrap; }
-
+
粘贴
@@ -4825,8 +4878,8 @@ p, li { white-space: pre-wrap; }
-
-
+
+
选择全部
@@ -4950,38 +5003,38 @@ p, li { white-space: pre-wrap; }
-
-
+
+
新建试题集
-
+
添加试题
-
+
删除试题
-
-
+
+
保存试题集
-
-
+
+
载入试题集
@@ -5029,7 +5082,7 @@ p, li { white-space: pre-wrap; }
-
+
Remove Problem Set
删除试题案例
@@ -5037,21 +5090,21 @@ p, li { white-space: pre-wrap; }
-
+
打开答案源代码文件
-
+
Run Current Case
运行所有案例
-
+
测试案例验证选项
@@ -5111,15 +5164,15 @@ p, li { white-space: pre-wrap; }
-
-
+
+
导入FPS试题集
-
-
+
+
导出FPS试题集
@@ -5370,7 +5423,7 @@ p, li { white-space: pre-wrap; }
-
+
删除所有断点
@@ -5734,7 +5787,7 @@ p, li { white-space: pre-wrap; }
保存为模板...
-
+
新建文件
@@ -5775,7 +5828,7 @@ p, li { white-space: pre-wrap; }
-
+
重命名符号
@@ -5796,13 +5849,13 @@ p, li { white-space: pre-wrap; }
-
+
导出为RTF
-
+
导出为HTML
@@ -6071,7 +6124,7 @@ p, li { white-space: pre-wrap; }
运行参数...
-
+
文件编码
@@ -6147,7 +6200,7 @@ p, li { white-space: pre-wrap; }
确认
-
+
源文件尚未编译。
@@ -6164,39 +6217,39 @@ p, li { white-space: pre-wrap; }
重新编译?
-
-
-
-
+
+
+
+
错误的编译器设置
-
-
-
-
+
+
+
+
编译器被设置为不生成可执行文件。
-
-
+
+
我们需要可执行文件来运行试题案例。
-
+
无编译器设置
-
+
没有配置编译器设置。
-
+
无法启动调试器
@@ -6217,33 +6270,33 @@ p, li { white-space: pre-wrap; }
项目尚未构建。是否构建?
-
+
宿主程序不存在
-
+
动态链接库(DLL)需要一个宿主程序来运行。
-
+
但它不存在。
-
+
宿主程序不存在
-
+
宿主程序'%1'不存在。
-
-
+
+
请在调试前改正设置。
@@ -6252,8 +6305,8 @@ p, li { white-space: pre-wrap; }
重新编译?
-
+
保存上次打开信息失败
@@ -6262,24 +6315,24 @@ p, li { white-space: pre-wrap; }
无法删除旧上次打开信息文件'%1'
-
+
无法保存上次打开信息文件'%1'
-
-
+
+
载入上次打开信息失败
-
-
+
+
无法载入上次打开信息文件'%1'
-
+
打开源代码文件
@@ -6298,15 +6351,15 @@ p, li { white-space: pre-wrap; }
行: %1/%2 字符: %3/%4
-
-
-
+
+
+
纠正调试用编译设置
-
-
+
+
生成的可执行文件中会缺少调试符号信息,因此无法编译。
@@ -6315,81 +6368,81 @@ p, li { white-space: pre-wrap; }
如果你正在使用Release版的编译器设置集,请在工具栏中将其改为Debug版本。
-
-
-
+
+
+
您也可以手动在选项对话框的编译器设置页中修正下列选项:
-
-
-
+
+
+
- 打开“生成调试信息(-g3)"选项.
-
-
-
+
+
+
- 关闭"剥除附加信息(-s)"选项.
-
-
-
+
+
+
- 关闭"优化级别(-O)选项,或将其设置为"调试(-Og)"级别.
-
-
-
-
+
+
+
+
在更换编译器设置集或修改其设置后,需要重新编译.
-
-
-
+
+
+
您现在就要手动修改编译器设置集的设置吗?
-
-
+
+
批量设置案例
-
+
显示详细调试器日志
-
+
全部复制
-
+
跳转到行
-
+
行
-
+
模板已存在
-
+
模板%1已存在。是否覆盖?
@@ -6397,9 +6450,9 @@ p, li { white-space: pre-wrap; }
-
-
-
+
+
+
清除
@@ -6415,7 +6468,7 @@ p, li { white-space: pre-wrap; }
-
+
试题集%1
@@ -6444,61 +6497,61 @@ p, li { white-space: pre-wrap; }
项目已经被修改过,是否需要重新构建?
-
+
自动保存出错
-
+
自动保存"%1"到"%2"失败:%3
-
+
试题属性...
-
+
设置试题集名称
-
+
试题集名称:
-
+
删除
- %1版
+ %1版
-
+
删除全部书签
-
+
修改描述
-
-
-
+
+
+
书签描述
-
-
-
+
+
+
描述:
@@ -6507,32 +6560,32 @@ p, li { white-space: pre-wrap; }
在调试主控台中显示调试器输出
-
+
清除这次搜索
-
+
删除所有搜索
-
+
断点条件...
-
+
断点条件
-
+
输入当前断点的生效条件:
-
+
Remove all breakpoints
删除所有断点
@@ -6542,34 +6595,34 @@ p, li { white-space: pre-wrap; }
行: %1 列: %2 选中:%3 总行数: %4
-
+
删除当前断点
-
+
重命名文件
-
-
+
+
添加文件夹
-
-
+
+
新文件夹
-
+
文件夹:
-
+
重命名
@@ -6582,17 +6635,17 @@ p, li { white-space: pre-wrap; }
要现在去修改设置吗?
-
+
修改试题集名称
-
+
无法写入配置文件'%1'。
-
+
修改试题名称
@@ -6621,12 +6674,12 @@ p, li { white-space: pre-wrap; }
是否现在去改正?
-
+
项目文件缺失
-
+
下列项目文件缺失,无法构建项目:
@@ -6643,202 +6696,202 @@ p, li { white-space: pre-wrap; }
请取消该设置,重新编译然后重新启动调试。
-
+
跳转到试题网址
-
+
添加试题案例
-
+
运行当前案例
-
+
删除文件夹
-
+
切换为普通视图
-
+
切换为自定义视图
-
+
按类型排序
-
+
按名称排序
-
+
显示继承的成员
-
+
跳转到声明处
-
+
跳转到定义处
-
+
仅当前文件
-
+
整个项目
-
-
+
+
新建文件夹
-
+
重命名
-
-
-
-
-
+
+
+
+
+
删除
-
+
在编辑器中打开
-
+
使用外部程序打开
-
+
在终端中打开
-
+
在文件资源管理器中打开
-
+
字符集
-
+
转换为%1编码
-
+
换行符
-
+
已自动保存%1个文件
-
+
设置答案源代码...
-
+
选择其他文件...
-
+
选择答案源代码文件
-
+
变量断点被触发
-
+
"%1"的值发生了变化:
-
+
新值: %1
-
+
项目文件夹被删除
-
+
项目"%1"的文件夹已被外部程序删除.
-
+
项目将被关闭.
-
+
保存设置失败
-
+
文件夹非空
-
+
项目文件夹不是空的,已有的文件可能会被覆盖。
-
+
您确定要继续吗?
-
+
被监控的变量
-
+
当下面的变量被修改时暂停执行(该变量必须可以从当前程序处访问):
@@ -6847,17 +6900,17 @@ p, li { white-space: pre-wrap; }
中止
-
+
FPS试题集文件(*.fps;*.xml)
-
+
FPS试题集文件(*.fps)
-
+
导出时出错
@@ -6867,7 +6920,7 @@ p, li { white-space: pre-wrap; }
C/C++源代码文件 (*.c *.cpp *.cc *.cxx)
-
+
新建文件夹%1
@@ -6880,13 +6933,13 @@ p, li { white-space: pre-wrap; }
无标题%1
-
-
+
+
你真的要删除%1吗?
-
+
你真的要删除%1个文件吗?
@@ -6899,7 +6952,7 @@ p, li { white-space: pre-wrap; }
变量"%1"有改动:
-
+
旧值: %1
@@ -6908,63 +6961,63 @@ p, li { white-space: pre-wrap; }
新值: %1
-
+
保存项目
-
+
项目'%1'有改动。
-
-
+
+
需要保存吗?
-
-
+
+
文件已发生变化
-
-
-
+
+
+
新建项目文件?
-
-
-
+
+
+
您是否要将新建的文件加入项目?
-
-
-
-
-
+
+
+
+
+
保存失败
-
+
改变项目编译器配置集
-
+
改变项目的编译器配置集会导致所有的自定义编译器选项被重置。
-
-
+
+
你真的想要那么做吗?
@@ -6973,12 +7026,12 @@ p, li { white-space: pre-wrap; }
批量设置案例
-
+
选择输入数据文件
-
+
输入数据文件 (*.in)
@@ -6987,78 +7040,78 @@ p, li { white-space: pre-wrap; }
无标题%1
-
+
修改监视表达式
-
+
监视表达式
-
+
您真的要清除该文件的所有断点吗?
-
+
新建项目
-
+
关闭'%1'以打开新项目?
-
+
文件夹不存在
-
+
文件夹'%1'不存在。是否创建?
-
+
无法创建文件夹
-
+
创建文件夹'%1'失败。
-
+
-
+
文件夹%1不是空的。
-
+
你真的要删除它吗?
-
+
改变工作文件夹
-
+
File '%1' is not in the current working folder
文件'%1'不在当前工作文件夹中。
-
+
是否将工作文件夹改设为'%1'?
@@ -7067,28 +7120,28 @@ p, li { white-space: pre-wrap; }
正在删除试题...
-
+
无法提交
-
+
Git需要用信息进行提交。
-
+
选择输入数据文件
-
-
+
+
所有文件 (*.*)
-
+
Choose Expected Input Data File
选择期望输出文件
@@ -7100,59 +7153,59 @@ p, li { white-space: pre-wrap; }
-
+
选择工作文件夹
-
-
+
+
头文件已存在
-
-
+
+
头文件"%1"已存在!
-
+
源文件已存在!
-
+
源文件"%1"已存在!
-
+
无法提交!
-
+
下列文件处于冲突状态,请解决后重新添加和提交:
-
+
提交信息
-
+
提交信息:
-
+
提交失败
-
+
提交信息不能为空!
@@ -7161,22 +7214,22 @@ p, li { white-space: pre-wrap; }
小熊猫Dev-C++项目文件 (*.dev)
-
+
新建项目失败
-
+
无法使用模板创建项目
-
+
删除文件
-
+
同时从硬盘上删除文件?
@@ -7185,27 +7238,27 @@ p, li { white-space: pre-wrap; }
无标题
-
+
新的项目文件名
-
+
文件名:
-
+
文件已存在!
-
+
文件'%1'已经存在!
-
+
添加到项目
@@ -7222,12 +7275,12 @@ p, li { white-space: pre-wrap; }
请在工具栏中选择Debug编译器配置集,或者在“编译器配置集”设置的“编译/链接选项”页中<b>启用</b>“生成调试信息(-g3)”、<b>禁用</b>“剥除附件信息(-3)”。
-
+
C/C++源代码文件 (*.c *.cpp *.cc *.cxx)
-
+
本操作会删除此试题的所有案例。
@@ -7236,7 +7289,7 @@ p, li { white-space: pre-wrap; }
调试失败
-
+
可执行文件中没有符号表信息,无法调试。
@@ -7261,88 +7314,88 @@ p, li { white-space: pre-wrap; }
您也可以删除所有断点,打开“CPU信息窗口”,然后调试汇编代码。
-
+
未能生成可执行文件。
-
+
请查看“工具输出”面板中的详细信息。
-
+
小熊猫C++项目文件(*.dev)
-
+
重命名出错
-
+
符号'%1'在系统头文件中定义,无法修改。
-
+
新名称
-
-
-
-
+
+
+
+
替换出错
-
+
无法打开文件'%1'进行替换!
-
+
内容和上次查找时不一致。
-
+
RTF格式文件 (*.rtf)
-
+
HTML文件 (*.html)
-
+
当前的试题集不是空的。
-
+
试题%1
-
-
+
+
试题集文件 (*.pbs)
-
-
+
+
载入失败
-
-
+
+
试题案例%1
@@ -7354,13 +7407,13 @@ p, li { white-space: pre-wrap; }
-
-
-
-
-
-
-
+
+
+
+
+
+
+
错误
@@ -7386,8 +7439,8 @@ p, li { white-space: pre-wrap; }
编译生成的可执行文件中没有符号表,无法被调试。
-
-
+
+
版本控制
@@ -7396,46 +7449,46 @@ p, li { white-space: pre-wrap; }
请在工具栏中选用Debug编译器配置集,或者在选项对话框的编辑器配置集页中勾选“生成调试信息(-g3)"选项。
-
+
磁盘文件'%1'已被修改。
-
+
是否重新读取它的内容?
-
+
磁盘文件'%1'已被删除。
-
+
是否保持它在小熊猫C++中打开的编辑窗口?
-
+
打开
-
-
+
+
编译失败
-
+
运行失败
-
-
-
-
+
+
+
+
确认转换
@@ -7459,43 +7512,43 @@ p, li { white-space: pre-wrap; }
行: %1 列: %2 (%3个字符) 总行数: %4
-
-
-
+
+
+
如果你正在使用Release版的编译器设置集,请在工具栏中将其改为Debug版本。
-
-
-
-
+
+
+
+
当前编辑器中的文件将会使用%1编码保存。<br />这项操作无法被撤回。<br />你确定要继续吗?
-
+
新监视表达式
-
+
输入监视表达式
-
+
(%1/%2)正在解析文件"%3"
-
-
+
+
完成%1个文件的解析,用时%2秒
-
+
(每秒%1个文件)
@@ -8912,13 +8965,13 @@ p, li { white-space: pre-wrap; }
QObject
-
+
保存
-
+
将修改保存到"%1"?
@@ -9692,12 +9745,12 @@ p, li { white-space: pre-wrap; }
无标题
-
+
构造函数
-
+
析构函数
@@ -10934,18 +10987,18 @@ p, li { white-space: pre-wrap; }
性能
-
-
-
-
+
+
+
+
编译器配置集
-
-
+
+
@@ -10957,7 +11010,7 @@ p, li { white-space: pre-wrap; }
自动链接
-
+
@@ -11033,15 +11086,15 @@ p, li { white-space: pre-wrap; }
杂项
-
-
+
+
程序运行
-
+
试题集
@@ -11100,8 +11153,8 @@ p, li { white-space: pre-wrap; }
项目选项
-
-
+
+
diff --git a/RedPandaIDE/translations/RedPandaIDE_zh_TW.ts b/RedPandaIDE/translations/RedPandaIDE_zh_TW.ts
index 3e34eb94..e9d3cf49 100644
--- a/RedPandaIDE/translations/RedPandaIDE_zh_TW.ts
+++ b/RedPandaIDE/translations/RedPandaIDE_zh_TW.ts
@@ -400,6 +400,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CompilerAutolinkWidget