ENH: remove unnecessary translation labels

Principles of removal:
1. Don't translate common symbols such as mm/s, °C, etc.,
they are the same in most languages.
2. Don't translate professional terminology, such as CoreXY,
   I3, PLA, TPU, HMS, etc.
3. Don't use unicode codes, use symbols instead. Eg. \u2103 -> °C.
   Dont' worry, gettext and modern compilers can recognize them.
4. Fix some encoding warnings (don't use GB2312, use UTF-8 instead).

jira: none

Change-Id: Ifa847d4f32a6f8dcba660ae2026ad09fc914c7fb
This commit is contained in:
Arthur 2023-11-06 15:38:44 +08:00 committed by Lane.Wei
parent f6ea300aa0
commit 4a9b31ed77
20 changed files with 137 additions and 154 deletions

View File

@ -108,127 +108,127 @@ void CBaseException::ShowExceptionResoult(DWORD dwExceptionCode)
{ {
case EXCEPTION_ACCESS_VIOLATION: case EXCEPTION_ACCESS_VIOLATION:
{ {
//OutputString(_T("ACCESS_VIOLATION(%s)\r\n"), _T("读写非法内存")); //OutputString(_T("ACCESS_VIOLATION(%s)\r\n"), _T("读写非法内存"));
OutputString(_T("ACCESS_VIOLATION\r\n")); OutputString(_T("ACCESS_VIOLATION\r\n"));
} }
return ; return ;
case EXCEPTION_DATATYPE_MISALIGNMENT: case EXCEPTION_DATATYPE_MISALIGNMENT:
{ {
//OutputString(_T("DATATYPE_MISALIGNMENT(%s)\r\n"), _T("线程视图在不支持对齐的硬件上读写未对齐的数据")); //OutputString(_T("DATATYPE_MISALIGNMENT(%s)\r\n"), _T("线程视图在不支持对齐的硬件上读写未对齐的数据"));
OutputString(_T("DATATYPE_MISALIGNMENT\r\n")); OutputString(_T("DATATYPE_MISALIGNMENT\r\n"));
} }
return ; return ;
case EXCEPTION_BREAKPOINT: case EXCEPTION_BREAKPOINT:
{ {
//OutputString(_T("BREAKPOINT(%s)\r\n"), _T("遇到一个断点")); //OutputString(_T("BREAKPOINT(%s)\r\n"), _T("遇到一个断点"));
OutputString(_T("BREAKPOINT\r\n")); OutputString(_T("BREAKPOINT\r\n"));
} }
return ; return ;
case EXCEPTION_SINGLE_STEP: case EXCEPTION_SINGLE_STEP:
{ {
//OutputString(_T("SINGLE_STEP(%s)\r\n"), _T("单步")); //一般是发生在调试事件中 //OutputString(_T("SINGLE_STEP(%s)\r\n"), _T("单步")); //一般是发生在调试事件中
OutputString(_T("SINGLE_STEP\r\n")); OutputString(_T("SINGLE_STEP\r\n"));
} }
return ; return ;
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED: case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
{ {
//OutputString(_T("ARRAY_BOUNDS_EXCEEDED(%s)\r\n"), _T("数组访问越界")); //OutputString(_T("ARRAY_BOUNDS_EXCEEDED(%s)\r\n"), _T("数组访问越界"));
OutputString(_T("ARRAY_BOUNDS_EXCEEDED\r\n")); OutputString(_T("ARRAY_BOUNDS_EXCEEDED\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_DENORMAL_OPERAND: case EXCEPTION_FLT_DENORMAL_OPERAND:
{ {
//OutputString(_T("FLT_DENORMAL_OPERAND(%s)\r\n"), _T("浮点操作的一个操作数不正规,给定的浮点数无法表示")); //操作数的问题 //OutputString(_T("FLT_DENORMAL_OPERAND(%s)\r\n"), _T("浮点操作的一个操作数不正规,给定的浮点数无法表示")); //操作数的问题
OutputString(_T("FLT_DENORMAL_OPERAND\r\n")); OutputString(_T("FLT_DENORMAL_OPERAND\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_DIVIDE_BY_ZERO: case EXCEPTION_FLT_DIVIDE_BY_ZERO:
{ {
//OutputString(_T("FLT_DIVIDE_BY_ZERO(%s)\r\n"), _T("浮点数除0操作")); //OutputString(_T("FLT_DIVIDE_BY_ZERO(%s)\r\n"), _T("浮点数除0操作"));
OutputString(_T("FLT_DIVIDE_BY_ZERO\r\n")); OutputString(_T("FLT_DIVIDE_BY_ZERO\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_INEXACT_RESULT: case EXCEPTION_FLT_INEXACT_RESULT:
{ {
//OutputString(_T("FLT_INEXACT_RESULT(%s)\r\n"), _T("浮点数操作的结果无法表示")); //无法表示一般是数据太小,超过浮点数表示的范围, 计算之后产生的结果异常 //OutputString(_T("FLT_INEXACT_RESULT(%s)\r\n"), _T("浮点数操作的结果无法表示")); //无法表示一般是数据太小,超过浮点数表示的范围, 计算之后产生的结果异常
OutputString(_T("FLT_INEXACT_RESULT\r\n")); OutputString(_T("FLT_INEXACT_RESULT\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_INVALID_OPERATION: case EXCEPTION_FLT_INVALID_OPERATION:
{ {
//OutputString(_T("FLT_INVALID_OPERATION(%s)\r\n"), _T("其他浮点数异常")); //OutputString(_T("FLT_INVALID_OPERATION(%s)\r\n"), _T("其他浮点数异常"));
OutputString(_T("FLT_INVALID_OPERATION\r\n")); OutputString(_T("FLT_INVALID_OPERATION\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_OVERFLOW: case EXCEPTION_FLT_OVERFLOW:
{ {
//OutputString(_T("FLT_OVERFLOW(%s)\r\n"), _T("浮点操作的指数超过了相应类型的最大值")); //OutputString(_T("FLT_OVERFLOW(%s)\r\n"), _T("浮点操作的指数超过了相应类型的最大值"));
OutputString(_T("FLT_OVERFLOW\r\n")); OutputString(_T("FLT_OVERFLOW\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_STACK_CHECK: case EXCEPTION_FLT_STACK_CHECK:
{ {
//OutputString(_T("STACK_CHECK(%s)\r\n"), _T("栈越界或者栈向下溢出")); //OutputString(_T("STACK_CHECK(%s)\r\n"), _T("栈越界或者栈向下溢出"));
OutputString(_T("STACK_CHECK\r\n")); OutputString(_T("STACK_CHECK\r\n"));
} }
return ; return ;
case EXCEPTION_INT_DIVIDE_BY_ZERO: case EXCEPTION_INT_DIVIDE_BY_ZERO:
{ {
//OutputString(_T("INT_DIVIDE_BY_ZERO(%s)\r\n"), _T("整数除0异常")); //OutputString(_T("INT_DIVIDE_BY_ZERO(%s)\r\n"), _T("整数除0异常"));
OutputString(_T("INT_DIVIDE_BY_ZERO\r\n")); OutputString(_T("INT_DIVIDE_BY_ZERO\r\n"));
} }
return ; return ;
case EXCEPTION_INVALID_HANDLE: case EXCEPTION_INVALID_HANDLE:
{ {
//OutputString(_T("INVALID_HANDLE(%s)\r\n"), _T("句柄无效")); //OutputString(_T("INVALID_HANDLE(%s)\r\n"), _T("句柄无效"));
OutputString(_T("INVALID_HANDLE\r\n")); OutputString(_T("INVALID_HANDLE\r\n"));
} }
return ; return ;
case EXCEPTION_PRIV_INSTRUCTION: case EXCEPTION_PRIV_INSTRUCTION:
{ {
//OutputString(_T("PRIV_INSTRUCTION(%s)\r\n"), _T("线程试图执行当前机器模式不支持的指令")); //OutputString(_T("PRIV_INSTRUCTION(%s)\r\n"), _T("线程试图执行当前机器模式不支持的指令"));
OutputString(_T("PRIV_INSTRUCTION\r\n")); OutputString(_T("PRIV_INSTRUCTION\r\n"));
} }
return ; return ;
case EXCEPTION_IN_PAGE_ERROR: case EXCEPTION_IN_PAGE_ERROR:
{ {
//OutputString(_T("IN_PAGE_ERROR(%s)\r\n"), _T("线程视图访问未加载的虚拟内存页或者不能加载的虚拟内存页")); //OutputString(_T("IN_PAGE_ERROR(%s)\r\n"), _T("线程视图访问未加载的虚拟内存页或者不能加载的虚拟内存页"));
OutputString(_T("IN_PAGE_ERROR\r\n")); OutputString(_T("IN_PAGE_ERROR\r\n"));
} }
return ; return ;
case EXCEPTION_ILLEGAL_INSTRUCTION: case EXCEPTION_ILLEGAL_INSTRUCTION:
{ {
//OutputString(_T("ILLEGAL_INSTRUCTION(%s)\r\n"), _T("线程视图执行无效指令")); //OutputString(_T("ILLEGAL_INSTRUCTION(%s)\r\n"), _T("线程视图执行无效指令"));
OutputString(_T("ILLEGAL_INSTRUCTION\r\n")); OutputString(_T("ILLEGAL_INSTRUCTION\r\n"));
} }
return ; return ;
case EXCEPTION_NONCONTINUABLE_EXCEPTION: case EXCEPTION_NONCONTINUABLE_EXCEPTION:
{ {
//OutputString(_T("NONCONTINUABLE_EXCEPTION(%s)\r\n"), _T("线程试图在一个不可继续执行的异常发生后继续执行")); //OutputString(_T("NONCONTINUABLE_EXCEPTION(%s)\r\n"), _T("线程试图在一个不可继续执行的异常发生后继续执行"));
OutputString(_T("NONCONTINUABLE_EXCEPTION\r\n")); OutputString(_T("NONCONTINUABLE_EXCEPTION\r\n"));
} }
return ; return ;
case EXCEPTION_STACK_OVERFLOW: case EXCEPTION_STACK_OVERFLOW:
{ {
//OutputString(_T("STACK_OVERFLOW(%s)\r\n"), _T("栈溢出")); //OutputString(_T("STACK_OVERFLOW(%s)\r\n"), _T("栈溢出"));
OutputString(_T("STACK_OVERFLOW\r\n")); OutputString(_T("STACK_OVERFLOW\r\n"));
} }
return ; return ;
case EXCEPTION_INVALID_DISPOSITION: case EXCEPTION_INVALID_DISPOSITION:
{ {
//OutputString(_T("INVALID_DISPOSITION(%s)\r\n"), _T("异常处理程序给异常调度器返回了一个无效配置")); //使用高级语言编写的程序永远不会遇到这个异常 //OutputString(_T("INVALID_DISPOSITION(%s)\r\n"), _T("异常处理程序给异常调度器返回了一个无效配置")); //使用高级语言编写的程序永远不会遇到这个异常
OutputString(_T("INVALID_DISPOSITION\r\n")); OutputString(_T("INVALID_DISPOSITION\r\n"));
} }
return ; return ;
case EXCEPTION_FLT_UNDERFLOW: case EXCEPTION_FLT_UNDERFLOW:
{ {
//OutputString(_T("FLT_UNDERFLOW(%s)\r\n"), _T("浮点数操作的指数小于相应类型的最小值")); //OutputString(_T("FLT_UNDERFLOW(%s)\r\n"), _T("浮点数操作的指数小于相应类型的最小值"));
OutputString(_T("FLT_UNDERFLOW\r\n")); OutputString(_T("FLT_UNDERFLOW\r\n"));
} }
return ; return ;
case EXCEPTION_INT_OVERFLOW: case EXCEPTION_INT_OVERFLOW:
{ {
//OutputString(_T("INT_OVERFLOW(%s)\r\n"), _T("整数操作越界")); //OutputString(_T("INT_OVERFLOW(%s)\r\n"), _T("整数操作越界"));
OutputString(_T("INT_OVERFLOW\r\n")); OutputString(_T("INT_OVERFLOW\r\n"));
} }
return ; return ;
@ -296,7 +296,7 @@ BOOL CBaseException::GetLogicalAddress(
DWORD rva = (DWORD)addr - hMod; DWORD rva = (DWORD)addr - hMod;
//计算当前地址在第几个节 //计算当前地址在第几个节
for (unsigned i = 0; i < pNtHdr->FileHeader.NumberOfSections; i++, pSection++ ) for (unsigned i = 0; i < pNtHdr->FileHeader.NumberOfSections; i++, pSection++ )
{ {
DWORD sectionStart = pSection->VirtualAddress; DWORD sectionStart = pSection->VirtualAddress;

View File

@ -38,7 +38,7 @@ CStackWalker::~CStackWalker(void)
BOOL CStackWalker::LoadSymbol() BOOL CStackWalker::LoadSymbol()
{ {
//USES_CONVERSION; //USES_CONVERSION;
//只加载一次 //只加载一次
if(m_bSymbolLoaded) if(m_bSymbolLoaded)
{ {
return m_bSymbolLoaded; return m_bSymbolLoaded;
@ -51,11 +51,11 @@ BOOL CStackWalker::LoadSymbol()
return m_bSymbolLoaded; return m_bSymbolLoaded;
} }
//添加当前程序路径 //添加当前程序路径
TCHAR szSymbolPath[MAX_SYMBOL_PATH] = _T(""); TCHAR szSymbolPath[MAX_SYMBOL_PATH] = _T("");
StringCchCopy(szSymbolPath, MAX_SYMBOL_PATH, _T(".;")); StringCchCopy(szSymbolPath, MAX_SYMBOL_PATH, _T(".;"));
//添加程序所在目录 //添加程序所在目录
TCHAR szTemp[MAX_PATH] = _T(""); TCHAR szTemp[MAX_PATH] = _T("");
if (GetCurrentDirectory(MAX_PATH, szTemp) > 0) if (GetCurrentDirectory(MAX_PATH, szTemp) > 0)
{ {
@ -63,7 +63,7 @@ BOOL CStackWalker::LoadSymbol()
StringCchCat(szSymbolPath, MAX_SYMBOL_PATH, _T(";")); StringCchCat(szSymbolPath, MAX_SYMBOL_PATH, _T(";"));
} }
//添加程序主模块所在路径 //添加程序主模块所在路径
ZeroMemory(szTemp, MAX_PATH * sizeof(TCHAR)); ZeroMemory(szTemp, MAX_PATH * sizeof(TCHAR));
if (GetModuleFileName(NULL, szTemp, MAX_PATH) > 0) if (GetModuleFileName(NULL, szTemp, MAX_PATH) > 0)
{ {
@ -131,7 +131,7 @@ BOOL CStackWalker::LoadSymbol()
if (NULL != m_lpszSymbolPath) if (NULL != m_lpszSymbolPath)
{ {
m_bSymbolLoaded = SymInitialize(m_hProcess, textconv_helper::T2A_(m_lpszSymbolPath), TRUE); //这里设置为TRUE让它在初始化符号表的同时加载符号表 m_bSymbolLoaded = SymInitialize(m_hProcess, textconv_helper::T2A_(m_lpszSymbolPath), TRUE); //这里设置为TRUE让它在初始化符号表的同时加载符号表
} }
DWORD symOptions = SymGetOptions(); DWORD symOptions = SymGetOptions();
@ -167,7 +167,7 @@ void CStackWalker::FreeModuleInformations(LPMODULE_INFO pmi)
LPMODULE_INFO CStackWalker::GetModulesTH32() LPMODULE_INFO CStackWalker::GetModulesTH32()
{ {
//这里为了防止加载Toolhelp.dll 影响最终结果,所以采用动态加载的方式 //这里为了防止加载Toolhelp.dll 影响最终结果,所以采用动态加载的方式
LPMODULE_INFO pHead = NULL; LPMODULE_INFO pHead = NULL;
LPMODULE_INFO pTail = pHead; LPMODULE_INFO pTail = pHead;
@ -391,13 +391,13 @@ void CStackWalker::GetModuleInformation(LPMODULE_INFO pmi)
LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context) LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
{ {
//USES_CONVERSION; //USES_CONVERSION;
//加载符号表 //加载符号表
LoadSymbol(); LoadSymbol();
LPSTACKINFO pHead = NULL; LPSTACKINFO pHead = NULL;
LPSTACKINFO pTail = pHead; LPSTACKINFO pTail = pHead;
//获取当前线程的上下文环境 //获取当前线程的上下文环境
CONTEXT c = {0}; CONTEXT c = {0};
if (context == NULL) if (context == NULL)
{ {
@ -411,7 +411,7 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
} }
else else
{ {
//如果不是当前线程,需要停止目标线程,以便取出正确的堆栈信息 //如果不是当前线程,需要停止目标线程,以便取出正确的堆栈信息
SuspendThread(hThread); SuspendThread(hThread);
memset(&c, 0, sizeof(CONTEXT)); memset(&c, 0, sizeof(CONTEXT));
c.ContextFlags = CONTEXT_FULL; c.ContextFlags = CONTEXT_FULL;
@ -446,7 +446,7 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
sf.AddrFrame.Mode = AddrModeFlat; sf.AddrFrame.Mode = AddrModeFlat;
sf.AddrStack.Offset = c.Rsp; sf.AddrStack.Offset = c.Rsp;
sf.AddrStack.Mode = AddrModeFlat; sf.AddrStack.Mode = AddrModeFlat;
////intel Itanium(安腾) ////intel Itanium(安腾)
#elif _M_IA64 #elif _M_IA64
imageType = IMAGE_FILE_MACHINE_IA64; imageType = IMAGE_FILE_MACHINE_IA64;
sf.AddrPC.Offset = c.StIIP; sf.AddrPC.Offset = c.StIIP;
@ -490,7 +490,7 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
StringCchCopy(pCallStack->undName, STACKWALK_MAX_NAMELEN, textconv_helper::A2T_(szName)); StringCchCopy(pCallStack->undName, STACKWALK_MAX_NAMELEN, textconv_helper::A2T_(szName));
}else }else
{ {
//调用错误一般是487(地址无效或者没有访问的权限、在符号表中未找到指定地址的相关信息) //调用错误一般是487(地址无效或者没有访问的权限、在符号表中未找到指定地址的相关信息)
this->OutputString(_T("Call SymGetSymFromAddr64 ,Address %08x Error:%08x\r\n"), sf.AddrPC.Offset, GetLastError()); this->OutputString(_T("Call SymGetSymFromAddr64 ,Address %08x Error:%08x\r\n"), sf.AddrPC.Offset, GetLastError());
continue; continue;
} }
@ -505,7 +505,7 @@ LPSTACKINFO CStackWalker::StackWalker(HANDLE hThread, const CONTEXT* context)
continue; continue;
} }
//这里为了将获取函数信息失败的情况与正常的情况一起输出,防止用户在查看时出现误解 //这里为了将获取函数信息失败的情况与正常的情况一起输出,防止用户在查看时出现误解
this->OutputString(_T("%08llx:%s [%s][%ld]\r\n"), pCallStack->szFncAddr, pCallStack->undFullName, pCallStack->szFileName, pCallStack->uFileNum); this->OutputString(_T("%08llx:%s [%s][%ld]\r\n"), pCallStack->szFncAddr, pCallStack->undFullName, pCallStack->szFileName, pCallStack->uFileNum);
if (NULL == pHead) if (NULL == pHead)
{ {

View File

@ -562,7 +562,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. " def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the Cool Plate"); "Value 0 means the filament does not support to print on the Cool Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Bed temperature"); def->full_label = L("Bed temperature");
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
@ -572,7 +572,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. " def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the Engineering Plate"); "Value 0 means the filament does not support to print on the Engineering Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Bed temperature"); def->full_label = L("Bed temperature");
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
@ -582,7 +582,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. " def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the High Temp Plate"); "Value 0 means the filament does not support to print on the High Temp Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Bed temperature"); def->full_label = L("Bed temperature");
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
@ -592,7 +592,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Bed temperature for layers except the initial one. " def->tooltip = L("Bed temperature for layers except the initial one. "
"Value 0 means the filament does not support to print on the Textured PEI Plate"); "Value 0 means the filament does not support to print on the Textured PEI Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Bed temperature"); def->full_label = L("Bed temperature");
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
@ -603,7 +603,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Initial layer bed temperature"); def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. " def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the Cool Plate"); "Value 0 means the filament does not support to print on the Cool Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{ 35 }); def->set_default_value(new ConfigOptionInts{ 35 });
@ -613,7 +613,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Initial layer bed temperature"); def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. " def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the Engineering Plate"); "Value 0 means the filament does not support to print on the Engineering Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{ 45 }); def->set_default_value(new ConfigOptionInts{ 45 });
@ -623,7 +623,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Initial layer bed temperature"); def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. " def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the High Temp Plate"); "Value 0 means the filament does not support to print on the High Temp Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{ 45 }); def->set_default_value(new ConfigOptionInts{ 45 });
@ -633,7 +633,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Initial layer bed temperature"); def->full_label = L("Initial layer bed temperature");
def->tooltip = L("Bed temperature of the initial layer. " def->tooltip = L("Bed temperature of the initial layer. "
"Value 0 means the filament does not support to print on the Textured PEI Plate"); "Value 0 means the filament does not support to print on the Textured PEI Plate");
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = 120; def->max = 120;
def->set_default_value(new ConfigOptionInts{45}); def->set_default_value(new ConfigOptionInts{45});
@ -711,7 +711,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Fan speed for overhang"); def->label = L("Fan speed for overhang");
def->tooltip = L("Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. " def->tooltip = L("Force part cooling fan to be this speed when printing bridge or overhang wall which has large overhang degree. "
"Forcing cooling for overhang and bridge can get better quality for these part"); "Forcing cooling for overhang and bridge can get better quality for these part");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->mode = comAdvanced; def->mode = comAdvanced;
@ -793,7 +793,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("top_area_threshold", coPercent); def = this->add("top_area_threshold", coPercent);
def->label = L("Top area threshold"); def->label = L("Top area threshold");
def->tooltip = L("This factor affects the acreage of top area. The small the number the big the top area."); def->tooltip = L("This factor affects the acreage of top area. The small the number the big the top area.");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 500; def->max = 500;
def->mode = comDevelop; def->mode = comDevelop;
@ -986,7 +986,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("default_acceleration", coFloat); def = this->add("default_acceleration", coFloat);
def->label = L("Normal printing"); def->label = L("Normal printing");
def->tooltip = L("The default acceleration of both normal printing and travel except initial layer"); def->tooltip = L("The default acceleration of both normal printing and travel except initial layer");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(500.0)); def->set_default_value(new ConfigOptionFloat(500.0));
@ -1012,7 +1012,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("during_print_exhaust_fan_speed", coInts); def = this->add("during_print_exhaust_fan_speed", coInts);
def->label = L("Fan speed"); def->label = L("Fan speed");
def->tooltip=L("Speed of exhuast fan during printing.This speed will overwrite the speed in filament custom gcode"); def->tooltip=L("Speed of exhuast fan during printing.This speed will overwrite the speed in filament custom gcode");
def->sidetext = L("%"); def->sidetext = "%";
def->min=0; def->min=0;
def->max=100; def->max=100;
def->mode = comSimple; def->mode = comSimple;
@ -1020,7 +1020,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("complete_print_exhaust_fan_speed", coInts); def = this->add("complete_print_exhaust_fan_speed", coInts);
def->label = L("Fan speed"); def->label = L("Fan speed");
def->sidetext = L("%"); def->sidetext = "%";
def->tooltip=L("Speed of exhuast fan after printing completes"); def->tooltip=L("Speed of exhuast fan after printing completes");
def->min=0; def->min=0;
def->max=100; def->max=100;
@ -1491,7 +1491,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Sparse infill density"); def->label = L("Sparse infill density");
def->category = L("Strength"); def->category = L("Strength");
def->tooltip = L("Density of internal sparse infill, 100% means solid throughout"); def->tooltip = L("Density of internal sparse infill, 100% means solid throughout");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->set_default_value(new ConfigOptionPercent(20)); def->set_default_value(new ConfigOptionPercent(20));
@ -1540,7 +1540,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("top_surface_acceleration", coFloat); def = this->add("top_surface_acceleration", coFloat);
def->label = L("Top surface"); def->label = L("Top surface");
def->tooltip = L("Acceleration of top surface infill. Using a lower value may improve top surface quality"); def->tooltip = L("Acceleration of top surface infill. Using a lower value may improve top surface quality");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(500)); def->set_default_value(new ConfigOptionFloat(500));
@ -1548,7 +1548,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("outer_wall_acceleration", coFloat); def = this->add("outer_wall_acceleration", coFloat);
def->label = L("Outer wall"); def->label = L("Outer wall");
def->tooltip = L("Acceleration of outer wall. Using a lower value can improve quality"); def->tooltip = L("Acceleration of outer wall. Using a lower value can improve quality");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(500)); def->set_default_value(new ConfigOptionFloat(500));
@ -1556,7 +1556,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("inner_wall_acceleration", coFloat); def = this->add("inner_wall_acceleration", coFloat);
def->label = L("Inner wall"); def->label = L("Inner wall");
def->tooltip = L("Acceleration of inner walls. 0 means using normal printing acceleration"); def->tooltip = L("Acceleration of inner walls. 0 means using normal printing acceleration");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(0)); def->set_default_value(new ConfigOptionFloat(0));
@ -1573,7 +1573,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("initial_layer_acceleration", coFloat); def = this->add("initial_layer_acceleration", coFloat);
def->label = L("Initial layer"); def->label = L("Initial layer");
def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhensive"); def->tooltip = L("Acceleration of initial layer. Using a lower value can improve build plate adhensive");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionFloat(300)); def->set_default_value(new ConfigOptionFloat(300));
@ -1587,7 +1587,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("accel_to_decel_factor", coPercent); def = this->add("accel_to_decel_factor", coPercent);
def->label = L("accel_to_decel"); def->label = L("accel_to_decel");
def->tooltip = L("Klipper's max_accel_to_decel will be adjusted to this percent of acceleration"); def->tooltip = L("Klipper's max_accel_to_decel will be adjusted to this percent of acceleration");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 1; def->min = 1;
def->max = 100; def->max = 100;
def->mode = comAdvanced; def->mode = comAdvanced;
@ -1694,7 +1694,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Initial layer"); def->label = L("Initial layer");
def->full_label = L("Initial layer nozzle temperature"); def->full_label = L("Initial layer nozzle temperature");
def->tooltip = L("Nozzle temperature to print initial layer when using this filament"); def->tooltip = L("Nozzle temperature to print initial layer when using this filament");
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = max_temp; def->max = max_temp;
def->set_default_value(new ConfigOptionInts { 200 }); def->set_default_value(new ConfigOptionInts { 200 });
@ -1824,10 +1824,10 @@ void PrintConfigDef::init_fff_params()
def->enum_values.push_back("hbot"); def->enum_values.push_back("hbot");
def->enum_values.push_back("delta"); def->enum_values.push_back("delta");
def->enum_labels.push_back(L("Undefine")); def->enum_labels.push_back(L("Undefine"));
def->enum_labels.push_back(L("CoreXY")); def->enum_labels.push_back("CoreXY");
def->enum_labels.push_back(L("I3")); def->enum_labels.push_back("I3");
def->enum_labels.push_back(L("Hbot")); def->enum_labels.push_back("Hbot");
def->enum_labels.push_back(L("Delta")); def->enum_labels.push_back("Delta");
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionEnum<PrinterStructure>(psUndefine)); def->set_default_value(new ConfigOptionEnum<PrinterStructure>(psUndefine));
@ -1983,7 +1983,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Infill/Wall overlap"); def->label = L("Infill/Wall overlap");
def->category = L("Strength"); def->category = L("Strength");
def->tooltip = L("Infill area is enlarged slightly to overlap with wall for better bonding. The percentage value is relative to line width of sparse infill"); def->tooltip = L("Infill area is enlarged slightly to overlap with wall for better bonding. The percentage value is relative to line width of sparse infill");
def->sidetext = L("%"); def->sidetext = "%";
def->ratio_over = "inner_wall_line_width"; def->ratio_over = "inner_wall_line_width";
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionPercent(15)); def->set_default_value(new ConfigOptionPercent(15));
@ -2077,7 +2077,7 @@ void PrintConfigDef::init_fff_params()
def->category = L("Quality"); def->category = L("Quality");
def->tooltip = L("The amount of material to extrude during ironing. Relative to flow of normal layer height. " def->tooltip = L("The amount of material to extrude during ironing. Relative to flow of normal layer height. "
"Too high value results in overextrusion on the surface"); "Too high value results in overextrusion on the surface");
def->sidetext = L("%"); def->sidetext = "%";
def->ratio_over = "layer_height"; def->ratio_over = "layer_height";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
@ -2202,7 +2202,7 @@ void PrintConfigDef::init_fff_params()
(void)L("Maximum acceleration of the Y axis"); (void)L("Maximum acceleration of the Y axis");
(void)L("Maximum acceleration of the Z axis"); (void)L("Maximum acceleration of the Z axis");
(void)L("Maximum acceleration of the E axis"); (void)L("Maximum acceleration of the E axis");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->mode = comSimple; def->mode = comSimple;
def->set_default_value(new ConfigOptionFloats(axis.max_acceleration)); def->set_default_value(new ConfigOptionFloats(axis.max_acceleration));
@ -2254,7 +2254,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("Maximum acceleration for extruding (M204 P)"); def->tooltip = L("Maximum acceleration for extruding (M204 P)");
// "Marlin (legacy) firmware flavor will use this also " // "Marlin (legacy) firmware flavor will use this also "
// "as travel acceleration (M204 T)."); // "as travel acceleration (M204 T).");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->readonly = false; def->readonly = false;
def->mode = comSimple; def->mode = comSimple;
@ -2266,7 +2266,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Maximum acceleration for retracting"); def->full_label = L("Maximum acceleration for retracting");
def->category = L("Machine limits"); def->category = L("Machine limits");
def->tooltip = L("Maximum acceleration for retracting (M204 R)"); def->tooltip = L("Maximum acceleration for retracting (M204 R)");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->readonly = false; def->readonly = false;
def->mode = comSimple; def->mode = comSimple;
@ -2277,7 +2277,7 @@ void PrintConfigDef::init_fff_params()
def->full_label = L("Maximum acceleration for travel"); def->full_label = L("Maximum acceleration for travel");
def->category = L("Machine limits"); def->category = L("Machine limits");
def->tooltip = L("Maximum acceleration for travel (M204 T)"); def->tooltip = L("Maximum acceleration for travel (M204 T)");
def->sidetext = L("mm/s²"); def->sidetext = "mm/s²";
def->min = 0; def->min = 0;
def->readonly = true; def->readonly = true;
def->mode = comDevelop; def->mode = comDevelop;
@ -2287,7 +2287,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Fan speed"); def->label = L("Fan speed");
def->tooltip = L("Part cooling fan speed may be increased when auto cooling is enabled. " def->tooltip = L("Part cooling fan speed may be increased when auto cooling is enabled. "
"This is the maximum speed limitation of part cooling fan"); "This is the maximum speed limitation of part cooling fan");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->mode = comSimple; def->mode = comSimple;
@ -2329,7 +2329,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("fan_min_speed", coInts); def = this->add("fan_min_speed", coInts);
def->label = L("Fan speed"); def->label = L("Fan speed");
def->tooltip = L("Minimum speed for part cooling fan"); def->tooltip = L("Minimum speed for part cooling fan");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->mode = comSimple; def->mode = comSimple;
@ -2339,7 +2339,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Fan speed"); def->label = L("Fan speed");
def->tooltip = L("Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed during printing except the first several layers " def->tooltip = L("Speed of auxiliary part cooling fan. Auxiliary fan will run at this speed during printing except the first several layers "
"which is defined by no cooling layers"); "which is defined by no cooling layers");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->max = 100; def->max = 100;
def->mode = comSimple; def->mode = comSimple;
@ -2538,7 +2538,7 @@ void PrintConfigDef::init_fff_params()
def->label = L("Initial layer density"); def->label = L("Initial layer density");
def->category = L("Support"); def->category = L("Support");
def->tooltip = L("Density of the first raft or support layer"); def->tooltip = L("Density of the first raft or support layer");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 10; def->min = 10;
def->max = 100; def->max = 100;
def->mode = comAdvanced; def->mode = comAdvanced;
@ -2584,7 +2584,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("retract_before_wipe", coPercents); def = this->add("retract_before_wipe", coPercents);
def->label = L("Retract amount before wipe"); def->label = L("Retract amount before wipe");
def->tooltip = L("The length of fast retraction before wipe, relative to retraction length"); def->tooltip = L("The length of fast retraction before wipe, relative to retraction length");
def->sidetext = L("%"); def->sidetext = "%";
def->mode = comAdvanced; def->mode = comAdvanced;
def->set_default_value(new ConfigOptionPercents { 100 }); def->set_default_value(new ConfigOptionPercents { 100 });
@ -2721,7 +2721,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("seam_gap", coPercent); def = this->add("seam_gap", coPercent);
def->label = L("Seam gap"); def->label = L("Seam gap");
def->tooltip = L("In order to reduce the visibility of the seam in a closed loop extrusion, the loop is interrupted and shortened by a specified amount.\n" "This amount as a percentage of the current extruder diameter. The default value for this parameter is 15"); def->tooltip = L("In order to reduce the visibility of the seam in a closed loop extrusion, the loop is interrupted and shortened by a specified amount.\n" "This amount as a percentage of the current extruder diameter. The default value for this parameter is 15");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0; def->min = 0;
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionPercent(15)); def->set_default_value(new ConfigOptionPercent(15));
@ -2729,7 +2729,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("wipe_speed", coPercent); def = this->add("wipe_speed", coPercent);
def->label = L("Wipe speed"); def->label = L("Wipe speed");
def->tooltip = L("The wipe speed is determined by the speed setting specified in this configuration." "If the value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel speed setting above." "The default value for this parameter is 80%"); def->tooltip = L("The wipe speed is determined by the speed setting specified in this configuration." "If the value is expressed as a percentage (e.g. 80%), it will be calculated based on the travel speed setting above." "The default value for this parameter is 80%");
def->sidetext = L("%"); def->sidetext = "%";
def->min = 0.01; def->min = 0.01;
def->mode = comDevelop; def->mode = comDevelop;
def->set_default_value(new ConfigOptionPercent(80)); def->set_default_value(new ConfigOptionPercent(80));
@ -3297,7 +3297,7 @@ void PrintConfigDef::init_fff_params()
"At the same time, the air filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and other low temperature materials," "At the same time, the air filtration of ABS and ASA will get worse.While for PLA, PETG, TPU, PVA and other low temperature materials,"
"the actual chamber temperature should not be high to avoid cloggings, so 0 which stands for turning off is highly recommended" "the actual chamber temperature should not be high to avoid cloggings, so 0 which stands for turning off is highly recommended"
); );
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Chamber temperature"); def->full_label = L("Chamber temperature");
def->min = 0; def->min = 0;
def->max = 60; def->max = 60;
@ -3306,7 +3306,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("nozzle_temperature", coInts); def = this->add("nozzle_temperature", coInts);
def->label = L("Other layers"); def->label = L("Other layers");
def->tooltip = L("Nozzle temperature for layers after the initial one"); def->tooltip = L("Nozzle temperature for layers after the initial one");
def->sidetext = L("°C"); def->sidetext = "°C";
def->full_label = L("Nozzle temperature"); def->full_label = L("Nozzle temperature");
def->min = 0; def->min = 0;
def->max = max_temp; def->max = max_temp;
@ -3315,7 +3315,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("nozzle_temperature_range_low", coInts); def = this->add("nozzle_temperature_range_low", coInts);
def->label = L("Min"); def->label = L("Min");
//def->tooltip = ""; //def->tooltip = "";
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = max_temp; def->max = max_temp;
def->set_default_value(new ConfigOptionInts { 190 }); def->set_default_value(new ConfigOptionInts { 190 });
@ -3323,7 +3323,7 @@ void PrintConfigDef::init_fff_params()
def = this->add("nozzle_temperature_range_high", coInts); def = this->add("nozzle_temperature_range_high", coInts);
def->label = L("Max"); def->label = L("Max");
//def->tooltip = ""; //def->tooltip = "";
def->sidetext = L("°C"); def->sidetext = "°C";
def->min = 0; def->min = 0;
def->max = max_temp; def->max = max_temp;
def->set_default_value(new ConfigOptionInts { 240 }); def->set_default_value(new ConfigOptionInts { 240 });
@ -3589,7 +3589,7 @@ void PrintConfigDef::init_fff_params()
def->tooltip = L("When transitioning between different numbers of walls as the part becomes " def->tooltip = L("When transitioning between different numbers of walls as the part becomes "
"thinner, a certain amount of space is allotted to split or join the wall segments. " "thinner, a certain amount of space is allotted to split or join the wall segments. "
"It's expressed as a percentage over nozzle diameter"); "It's expressed as a percentage over nozzle diameter");
def->sidetext = L("%"); def->sidetext = "%";
def->mode = comAdvanced; def->mode = comAdvanced;
def->min = 0; def->min = 0;
def->set_default_value(new ConfigOptionPercent(100)); def->set_default_value(new ConfigOptionPercent(100));
@ -3604,7 +3604,7 @@ void PrintConfigDef::init_fff_params()
"starts/stops and travel time. However, large extrusion width variation can lead to " "starts/stops and travel time. However, large extrusion width variation can lead to "
"under- or overextrusion problems. " "under- or overextrusion problems. "
"It's expressed as a percentage over nozzle diameter"); "It's expressed as a percentage over nozzle diameter");
def->sidetext = L("%"); def->sidetext = "%";
def->mode = comAdvanced; def->mode = comAdvanced;
def->min = 0; def->min = 0;
def->set_default_value(new ConfigOptionPercent(25)); def->set_default_value(new ConfigOptionPercent(25));
@ -3638,7 +3638,7 @@ void PrintConfigDef::init_fff_params()
"not be printed, while features thicker than the Minimum feature size will be widened to " "not be printed, while features thicker than the Minimum feature size will be widened to "
"the Minimum wall width. " "the Minimum wall width. "
"It's expressed as a percentage over nozzle diameter"); "It's expressed as a percentage over nozzle diameter");
def->sidetext = L("%"); def->sidetext = "%";
def->mode = comAdvanced; def->mode = comAdvanced;
def->min = 0; def->min = 0;
def->set_default_value(new ConfigOptionPercent(25)); def->set_default_value(new ConfigOptionPercent(25));
@ -3650,7 +3650,7 @@ void PrintConfigDef::init_fff_params()
"of the model. If the Minimum wall width is thinner than the thickness of the feature," "of the model. If the Minimum wall width is thinner than the thickness of the feature,"
" the wall will become as thick as the feature itself. " " the wall will become as thick as the feature itself. "
"It's expressed as a percentage over nozzle diameter"); "It's expressed as a percentage over nozzle diameter");
def->sidetext = L("%"); def->sidetext = "%";
def->mode = comAdvanced; def->mode = comAdvanced;
def->min = 0; def->min = 0;
def->set_default_value(new ConfigOptionPercent(85)); def->set_default_value(new ConfigOptionPercent(85));

View File

@ -297,7 +297,7 @@ void CaliPresetCustomRangePanel::create_panel(wxWindow* parent)
m_title_texts[i]->Wrap(-1); m_title_texts[i]->Wrap(-1);
m_title_texts[i]->SetFont(::Label::Body_14); m_title_texts[i]->SetFont(::Label::Body_14);
item_sizer->Add(m_title_texts[i], 0, wxALL, 0); item_sizer->Add(m_title_texts[i], 0, wxALL, 0);
m_value_inputs[i] = new TextInput(parent, wxEmptyString, _L("\u2103"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, 0); m_value_inputs[i] = new TextInput(parent, wxEmptyString, wxString::FromUTF8("°C"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, 0);
m_value_inputs[i]->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_value_inputs[i]->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
item_sizer->Add(m_value_inputs[i], 0, wxALL, 0); item_sizer->Add(m_value_inputs[i], 0, wxALL, 0);
horiz_sizer->Add(item_sizer, 0, wxEXPAND, 0); horiz_sizer->Add(item_sizer, 0, wxEXPAND, 0);
@ -344,7 +344,7 @@ void CaliPresetTipsPanel::create_panel(wxWindow* parent)
auto nozzle_temp_sizer = new wxBoxSizer(wxVERTICAL); auto nozzle_temp_sizer = new wxBoxSizer(wxVERTICAL);
auto nozzle_temp_text = new Label(parent, _L("Nozzle temperature")); auto nozzle_temp_text = new Label(parent, _L("Nozzle temperature"));
nozzle_temp_text->SetFont(Label::Body_12); nozzle_temp_text->SetFont(Label::Body_12);
m_nozzle_temp = new TextInput(parent, wxEmptyString, _L("\u2103"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, wxTE_READONLY); m_nozzle_temp = new TextInput(parent, wxEmptyString, wxString::FromUTF8("°C"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, wxTE_READONLY);
m_nozzle_temp->SetBorderWidth(0); m_nozzle_temp->SetBorderWidth(0);
nozzle_temp_sizer->Add(nozzle_temp_text, 0, wxALIGN_LEFT); nozzle_temp_sizer->Add(nozzle_temp_text, 0, wxALIGN_LEFT);
nozzle_temp_sizer->Add(m_nozzle_temp, 0, wxEXPAND); nozzle_temp_sizer->Add(m_nozzle_temp, 0, wxEXPAND);
@ -359,7 +359,7 @@ void CaliPresetTipsPanel::create_panel(wxWindow* parent)
auto bed_temp_text = new Label(parent, _L("Bed temperature")); auto bed_temp_text = new Label(parent, _L("Bed temperature"));
bed_temp_text->SetFont(Label::Body_12); bed_temp_text->SetFont(Label::Body_12);
m_bed_temp = new Label(parent, _L("- \u2103")); m_bed_temp = new Label(parent, wxString::FromUTF8("- °C"));
m_bed_temp->SetFont(Label::Body_12); m_bed_temp->SetFont(Label::Body_12);
bed_temp_sizer->Add(bed_temp_text, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10)); bed_temp_sizer->Add(bed_temp_text, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(10));
bed_temp_sizer->Add(m_bed_temp, 0, wxALIGN_CENTER); bed_temp_sizer->Add(m_bed_temp, 0, wxALIGN_CENTER);
@ -367,7 +367,7 @@ void CaliPresetTipsPanel::create_panel(wxWindow* parent)
auto max_flow_sizer = new wxBoxSizer(wxVERTICAL); auto max_flow_sizer = new wxBoxSizer(wxVERTICAL);
auto max_flow_text = new Label(parent, _L("Max volumetric speed")); auto max_flow_text = new Label(parent, _L("Max volumetric speed"));
max_flow_text->SetFont(Label::Body_12); max_flow_text->SetFont(Label::Body_12);
m_max_volumetric_speed = new TextInput(parent, wxEmptyString, _L("mm\u00B3"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, wxTE_READONLY); m_max_volumetric_speed = new TextInput(parent, wxEmptyString, wxString::FromUTF8("mm³"), "", wxDefaultPosition, CALIBRATION_FROM_TO_INPUT_SIZE, wxTE_READONLY);
m_max_volumetric_speed->SetBorderWidth(0); m_max_volumetric_speed->SetBorderWidth(0);
max_flow_sizer->Add(max_flow_text, 0, wxALIGN_LEFT); max_flow_sizer->Add(max_flow_text, 0, wxALIGN_LEFT);
max_flow_sizer->Add(m_max_volumetric_speed, 0, wxEXPAND); max_flow_sizer->Add(m_max_volumetric_speed, 0, wxEXPAND);
@ -390,10 +390,10 @@ void CaliPresetTipsPanel::set_params(int nozzle_temp, int bed_temp, float max_vo
wxString text_nozzle_temp = wxString::Format("%d", nozzle_temp); wxString text_nozzle_temp = wxString::Format("%d", nozzle_temp);
m_nozzle_temp->GetTextCtrl()->SetValue(text_nozzle_temp); m_nozzle_temp->GetTextCtrl()->SetValue(text_nozzle_temp);
wxString bed_temp_text = wxString::Format("%d", bed_temp); std::string bed_temp_text = format("%d", bed_temp);
if (bed_temp == 0) if (bed_temp == 0)
bed_temp_text = "-"; bed_temp_text = "-";
m_bed_temp->SetLabel(bed_temp_text + _L(" \u2103")); m_bed_temp->SetLabel(wxString::FromUTF8(bed_temp_text + "°C"));
wxString flow_val_text = wxString::Format("%0.2f", max_volumetric); wxString flow_val_text = wxString::Format("%0.2f", max_volumetric);
m_max_volumetric_speed->GetTextCtrl()->SetValue(flow_val_text); m_max_volumetric_speed->GetTextCtrl()->SetValue(flow_val_text);
@ -1399,7 +1399,7 @@ void CalibrationPresetPage::set_cali_method(CalibrationMethod method)
} }
m_custom_range_panel->set_values(values); m_custom_range_panel->set_values(values);
m_custom_range_panel->set_unit(_L("")); m_custom_range_panel->set_unit("");
m_custom_range_panel->Show(); m_custom_range_panel->Show();
} }
} }
@ -1880,7 +1880,7 @@ MaxVolumetricSpeedPresetPage::MaxVolumetricSpeedPresetPage(
titles.push_back(_L("Step")); titles.push_back(_L("Step"));
m_custom_range_panel->set_titles(titles); m_custom_range_panel->set_titles(titles);
m_custom_range_panel->set_unit(_L("mm\u00B3/s")); m_custom_range_panel->set_unit("mm³/s");
} }
} }
}} }}

View File

@ -327,9 +327,9 @@ void CameraPopup::update(bool vcamera_streaming)
wxString CameraPopup::to_resolution_label_string(CameraResolution resolution) { wxString CameraPopup::to_resolution_label_string(CameraResolution resolution) {
switch (resolution) { switch (resolution) {
case RESOLUTION_720P: case RESOLUTION_720P:
return _L("720p"); return "720p";
case RESOLUTION_1080P: case RESOLUTION_1080P:
return _L("1080p"); return "1080p";
default: default:
return ""; return "";
} }

View File

@ -1448,7 +1448,7 @@ PageTemperatures::PageTemperatures(ConfigWizard *parent)
auto *sizer_extr = new wxFlexGridSizer(3, 5, 5); auto *sizer_extr = new wxFlexGridSizer(3, 5, 5);
auto *text_extr = new wxStaticText(this, wxID_ANY, _L("Extrusion Temperature:")); auto *text_extr = new wxStaticText(this, wxID_ANY, _L("Extrusion Temperature:"));
auto *unit_extr = new wxStaticText(this, wxID_ANY, _L("°C")); auto *unit_extr = new wxStaticText(this, wxID_ANY, "°C");
sizer_extr->AddGrowableCol(0, 1); sizer_extr->AddGrowableCol(0, 1);
sizer_extr->Add(text_extr, 0, wxALIGN_CENTRE_VERTICAL); sizer_extr->Add(text_extr, 0, wxALIGN_CENTRE_VERTICAL);
sizer_extr->Add(spin_extr); sizer_extr->Add(spin_extr);
@ -1462,7 +1462,7 @@ PageTemperatures::PageTemperatures(ConfigWizard *parent)
auto *sizer_bed = new wxFlexGridSizer(3, 5, 5); auto *sizer_bed = new wxFlexGridSizer(3, 5, 5);
auto *text_bed = new wxStaticText(this, wxID_ANY, _L("Bed Temperature:")); auto *text_bed = new wxStaticText(this, wxID_ANY, _L("Bed Temperature:"));
auto *unit_bed = new wxStaticText(this, wxID_ANY, _L("°C")); auto *unit_bed = new wxStaticText(this, wxID_ANY, "°C");
sizer_bed->AddGrowableCol(0, 1); sizer_bed->AddGrowableCol(0, 1);
sizer_bed->Add(text_bed, 0, wxALIGN_CENTRE_VERTICAL); sizer_bed->Add(text_bed, 0, wxALIGN_CENTRE_VERTICAL);
sizer_bed->Add(spin_bed); sizer_bed->Add(spin_bed);

View File

@ -1745,7 +1745,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_bed_size_item(wxWindow *parent)
horizontal_sizer->Add(optionSizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(10)); horizontal_sizer->Add(optionSizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(10));
wxBoxSizer * length_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer * length_sizer = new wxBoxSizer(wxVERTICAL);
wxStaticText *static_length_text = new wxStaticText(parent, wxID_ANY, _L("X"), wxDefaultPosition, wxDefaultSize); wxStaticText *static_length_text = new wxStaticText(parent, wxID_ANY, "X", wxDefaultPosition, wxDefaultSize);
static_length_text->SetMinSize(ORIGIN_TEXT_SIZE); static_length_text->SetMinSize(ORIGIN_TEXT_SIZE);
static_length_text->SetSize(ORIGIN_TEXT_SIZE); static_length_text->SetSize(ORIGIN_TEXT_SIZE);
length_sizer->Add(static_length_text, 0, wxEXPAND | wxALL, 0); length_sizer->Add(static_length_text, 0, wxEXPAND | wxALL, 0);
@ -1758,7 +1758,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_bed_size_item(wxWindow *parent)
horizontal_sizer->Add(length_input_sizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); horizontal_sizer->Add(length_input_sizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5));
wxBoxSizer * width_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer * width_sizer = new wxBoxSizer(wxVERTICAL);
wxStaticText *static_width_text = new wxStaticText(parent, wxID_ANY, _L("Y"), wxDefaultPosition, wxDefaultSize); wxStaticText *static_width_text = new wxStaticText(parent, wxID_ANY, "Y", wxDefaultPosition, wxDefaultSize);
static_width_text->SetMinSize(ORIGIN_TEXT_SIZE); static_width_text->SetMinSize(ORIGIN_TEXT_SIZE);
static_width_text->SetSize(ORIGIN_TEXT_SIZE); static_width_text->SetSize(ORIGIN_TEXT_SIZE);
width_sizer->Add(static_width_text, 0, wxEXPAND | wxALL, 0); width_sizer->Add(static_width_text, 0, wxEXPAND | wxALL, 0);
@ -1784,7 +1784,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_origin_item(wxWindow *parent)
horizontal_sizer->Add(optionSizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(10)); horizontal_sizer->Add(optionSizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(10));
wxBoxSizer * length_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer * length_sizer = new wxBoxSizer(wxVERTICAL);
wxStaticText *static_origin_x_text = new wxStaticText(parent, wxID_ANY, _L("X"), wxDefaultPosition, wxDefaultSize); wxStaticText *static_origin_x_text = new wxStaticText(parent, wxID_ANY, "X", wxDefaultPosition, wxDefaultSize);
static_origin_x_text->SetMinSize(ORIGIN_TEXT_SIZE); static_origin_x_text->SetMinSize(ORIGIN_TEXT_SIZE);
static_origin_x_text->SetSize(ORIGIN_TEXT_SIZE); static_origin_x_text->SetSize(ORIGIN_TEXT_SIZE);
length_sizer->Add(static_origin_x_text, 0, wxEXPAND | wxALL, 0); length_sizer->Add(static_origin_x_text, 0, wxEXPAND | wxALL, 0);
@ -1797,7 +1797,7 @@ wxBoxSizer *CreatePrinterPresetDialog::create_origin_item(wxWindow *parent)
horizontal_sizer->Add(length_input_sizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5)); horizontal_sizer->Add(length_input_sizer, 0, wxEXPAND | wxALL | wxALIGN_CENTER_VERTICAL, FromDIP(5));
wxBoxSizer * width_sizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer * width_sizer = new wxBoxSizer(wxVERTICAL);
wxStaticText *static_origin_y_text = new wxStaticText(parent, wxID_ANY, _L("Y"), wxDefaultPosition, wxDefaultSize); wxStaticText *static_origin_y_text = new wxStaticText(parent, wxID_ANY, "Y", wxDefaultPosition, wxDefaultSize);
static_origin_y_text->SetMinSize(ORIGIN_TEXT_SIZE); static_origin_y_text->SetMinSize(ORIGIN_TEXT_SIZE);
static_origin_y_text->SetSize(ORIGIN_TEXT_SIZE); static_origin_y_text->SetSize(ORIGIN_TEXT_SIZE);
width_sizer->Add(static_origin_y_text, 0, wxEXPAND | wxALL, 0); width_sizer->Add(static_origin_y_text, 0, wxEXPAND | wxALL, 0);

View File

@ -398,7 +398,7 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
ImGui::PushStyleColor(ImGuiCol_Text, ImColor(144, 144, 144, (int)(255 * m_fade_opacity)).Value); ImGui::PushStyleColor(ImGuiCol_Text, ImColor(144, 144, 144, (int)(255 * m_fade_opacity)).Value);
button_text = ImGui::CollapseArrowIcon; button_text = ImGui::CollapseArrowIcon;
imgui.button((_L("Collapse") + button_text)); imgui.button(_L("Collapse") + button_text);
ImVec2 collapse_btn_size = ImGui::CalcTextSize((_u8L("Collapse")).c_str()); ImVec2 collapse_btn_size = ImGui::CalcTextSize((_u8L("Collapse")).c_str());
collapse_btn_size.x += button_size.x / 2.0f; collapse_btn_size.x += button_size.x / 2.0f;
if (ImGui::IsMouseHoveringRect(btn_pos, btn_pos + collapse_btn_size, true)) if (ImGui::IsMouseHoveringRect(btn_pos, btn_pos + collapse_btn_size, true))
@ -425,12 +425,12 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
// for bold font text, split text and icon-font button // for bold font text, split text and icon-font button
imgui.push_bold_font(); imgui.push_bold_font();
imgui.button((_L("Daily Tips"))); imgui.button(_L("Daily Tips"));
imgui.pop_bold_font(); imgui.pop_bold_font();
ImVec2 expand_btn_size = ImGui::CalcTextSize((_u8L("Daily Tips")).c_str()); ImVec2 expand_btn_size = ImGui::CalcTextSize((_u8L("Daily Tips")).c_str());
ImGui::SetCursorScreenPos(ImVec2(btn_pos.x + expand_btn_size.x + ImGui::CalcTextSize(" ").x, btn_pos.y)); ImGui::SetCursorScreenPos(ImVec2(btn_pos.x + expand_btn_size.x + ImGui::CalcTextSize(" ").x, btn_pos.y));
button_text = ImGui::ExpandArrowIcon; button_text = ImGui::ExpandArrowIcon;
imgui.button(button_text.c_str()); imgui.button(button_text);
expand_btn_size.x += 19.0f * scale; expand_btn_size.x += 19.0f * scale;
if (ImGui::IsMouseHoveringRect(btn_pos, btn_pos + expand_btn_size, true)) if (ImGui::IsMouseHoveringRect(btn_pos, btn_pos + expand_btn_size, true))
{ {
@ -484,7 +484,7 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
retrieve_data_from_hint_database(HintDataNavigation::Prev); retrieve_data_from_hint_database(HintDataNavigation::Prev);
} }
ImGui::PushStyleColor(ImGuiCol_Text, button_text_color.Value);// for icon-font button ImGui::PushStyleColor(ImGuiCol_Text, button_text_color.Value);// for icon-font button
imgui.button(button_text.c_str()); imgui.button(button_text);
ImGui::PopStyleColor(); ImGui::PopStyleColor();
// next button // next button
@ -499,7 +499,7 @@ void DailyTipsPanel::render_controller_buttons(const ImVec2& pos, const ImVec2&
retrieve_data_from_hint_database(HintDataNavigation::Next); retrieve_data_from_hint_database(HintDataNavigation::Next);
} }
ImGui::PushStyleColor(ImGuiCol_Text, button_text_color.Value);// for icon-font button ImGui::PushStyleColor(ImGuiCol_Text, button_text_color.Value);// for icon-font button
imgui.button(button_text.c_str()); imgui.button(button_text);
ImGui::PopStyleColor(); ImGui::PopStyleColor();
ImGui::PopStyleColor(4); ImGui::PopStyleColor(4);

View File

@ -335,15 +335,15 @@ wxString HMSItem::get_module_name(ModuleID module_id)
switch (module_id) switch (module_id)
{ {
case MODULE_MC: case MODULE_MC:
return _L("MC"); return "MC";
case MODULE_MAINBOARD: case MODULE_MAINBOARD:
return _L("MainBoard"); return "MainBoard";
case MODULE_AMS: case MODULE_AMS:
return _L("AMS"); return "AMS";
case MODULE_TH: case MODULE_TH:
return _L("TH"); return "TH";
case MODULE_XCAM: case MODULE_XCAM:
return _L("XCam"); return "XCam";
default: default:
wxString text = _L("Unknown") + wxString::Format("0x%x", (unsigned)module_id); wxString text = _L("Unknown") + wxString::Format("0x%x", (unsigned)module_id);
return text; return text;

View File

@ -126,21 +126,21 @@ void ExtrusionCalibration::create()
wxWindow::GetTextExtent(_L("Bed Temperature")).x), wxWindow::GetTextExtent(_L("Bed Temperature")).x),
wxWindow::GetTextExtent(_L("Max volumetric speed")).x), wxWindow::GetTextExtent(_L("Max volumetric speed")).x),
EXTRUSION_CALIBRATION_INPUT_SIZE.x); EXTRUSION_CALIBRATION_INPUT_SIZE.x);
m_nozzle_temp = new TextInput(m_step_1_panel, wxEmptyString, _L("\u2103"), "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY); m_nozzle_temp = new TextInput(m_step_1_panel, wxEmptyString, "°C", "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY);
nozzle_temp_sizer->Add(nozzle_temp_text, 0, wxALIGN_LEFT); nozzle_temp_sizer->Add(nozzle_temp_text, 0, wxALIGN_LEFT);
nozzle_temp_sizer->AddSpacer(FromDIP(4)); nozzle_temp_sizer->AddSpacer(FromDIP(4));
nozzle_temp_sizer->Add(m_nozzle_temp, 0, wxEXPAND); nozzle_temp_sizer->Add(m_nozzle_temp, 0, wxEXPAND);
auto bed_temp_sizer = new wxBoxSizer(wxVERTICAL); auto bed_temp_sizer = new wxBoxSizer(wxVERTICAL);
auto bed_temp_text = new wxStaticText(m_step_1_panel, wxID_ANY, _L("Bed temperature")); auto bed_temp_text = new wxStaticText(m_step_1_panel, wxID_ANY, _L("Bed temperature"));
m_bed_temp = new TextInput(m_step_1_panel, wxEmptyString, _L("\u2103"), "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY); m_bed_temp = new TextInput(m_step_1_panel, wxEmptyString, "°C", "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY);
bed_temp_sizer->Add(bed_temp_text, 0, wxALIGN_LEFT); bed_temp_sizer->Add(bed_temp_text, 0, wxALIGN_LEFT);
bed_temp_sizer->AddSpacer(FromDIP(4)); bed_temp_sizer->AddSpacer(FromDIP(4));
bed_temp_sizer->Add(m_bed_temp, 0, wxEXPAND); bed_temp_sizer->Add(m_bed_temp, 0, wxEXPAND);
auto max_flow_sizer = new wxBoxSizer(wxVERTICAL); auto max_flow_sizer = new wxBoxSizer(wxVERTICAL);
auto max_flow_text = new wxStaticText(m_step_1_panel, wxID_ANY, _L("Max volumetric speed")); auto max_flow_text = new wxStaticText(m_step_1_panel, wxID_ANY, _L("Max volumetric speed"));
m_max_flow_ratio = new TextInput(m_step_1_panel, wxEmptyString, _L("mm\u00B3"), "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY); m_max_flow_ratio = new TextInput(m_step_1_panel, wxEmptyString, "mm³", "", wxDefaultPosition, { max_input_width, EXTRUSION_CALIBRATION_INPUT_SIZE.y }, wxTE_READONLY);
max_flow_sizer->Add(max_flow_text, 0, wxALIGN_LEFT); max_flow_sizer->Add(max_flow_text, 0, wxALIGN_LEFT);
max_flow_sizer->AddSpacer(FromDIP(4)); max_flow_sizer->AddSpacer(FromDIP(4));
max_flow_sizer->Add(m_max_flow_ratio, 0, wxEXPAND); max_flow_sizer->Add(m_max_flow_ratio, 0, wxEXPAND);

View File

@ -2051,8 +2051,8 @@ void GLGizmoAdvancedCut::render_cut_plane_input_window(float x, float y, float b
}; };
m_imgui->text(_L("After cut") + ": "); m_imgui->text(_L("After cut") + ": ");
render_part_action_line( _L("A"), "##upper", m_keep_upper, m_place_on_cut_upper, m_rotate_upper); render_part_action_line( "A", "##upper", m_keep_upper, m_place_on_cut_upper, m_rotate_upper);
render_part_action_line( _L("B"), "##lower", m_keep_lower, m_place_on_cut_lower, m_rotate_lower); render_part_action_line( "B", "##lower", m_keep_lower, m_place_on_cut_lower, m_rotate_lower);
m_imgui->disabled_begin(has_connectors || m_cut_mode == CutMode::cutTongueAndGroove); m_imgui->disabled_begin(has_connectors || m_cut_mode == CutMode::cutTongueAndGroove);
m_imgui->bbl_checkbox(_L("Cut to parts"), m_cut_to_parts); m_imgui->bbl_checkbox(_L("Cut to parts"), m_cut_to_parts);

View File

@ -1224,7 +1224,7 @@ SlaGizmoHelpDialog::SlaGizmoHelpDialog()
shortcuts.push_back(std::make_pair(wxString("Shift+")+_L("Drag"), _L("Select by rectangle"))); shortcuts.push_back(std::make_pair(wxString("Shift+")+_L("Drag"), _L("Select by rectangle")));
shortcuts.push_back(std::make_pair(alt+_(L("Drag")), _L("Deselect by rectangle"))); shortcuts.push_back(std::make_pair(alt+_(L("Drag")), _L("Deselect by rectangle")));
shortcuts.push_back(std::make_pair(ctrl+"A", _L("Select all points"))); shortcuts.push_back(std::make_pair(ctrl+"A", _L("Select all points")));
shortcuts.push_back(std::make_pair("Delete", _L("Remove selected points"))); shortcuts.push_back(std::make_pair(_L("Delete"), _L("Remove selected points")));
shortcuts.push_back(std::make_pair(ctrl+_L("Mouse wheel"), _L("Move clipping plane"))); shortcuts.push_back(std::make_pair(ctrl+_L("Mouse wheel"), _L("Move clipping plane")));
shortcuts.push_back(std::make_pair("R", _L("Reset clipping plane"))); shortcuts.push_back(std::make_pair("R", _L("Reset clipping plane")));
shortcuts.push_back(std::make_pair("Enter", _L("Apply changes"))); shortcuts.push_back(std::make_pair("Enter", _L("Apply changes")));

View File

@ -183,11 +183,7 @@ void KBShortcutsDialog::fill_shortcuts()
// Slice plate // Slice plate
{ ctrl + "R", L("Slice plate")}, { ctrl + "R", L("Slice plate")},
// Send to Print // Send to Print
#ifdef __APPLE__ { ctrl+ "Shift+G", L("Print plate")},
{ L("⌘+Shift+G"), L("Print plate")},
#else
{ L("Ctrl+Shift+G"), L("Print plate")},
#endif // __APPLE
// Edit // Edit
{ ctrl + "X", L("Cut") }, { ctrl + "X", L("Cut") },
@ -221,23 +217,16 @@ void KBShortcutsDialog::fill_shortcuts()
{L("Shift+R"), L("Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk.")}, {L("Shift+R"), L("Auto orientates selected objects or all objects.If there are selected objects, it just orientates the selected ones.Otherwise, it will orientates all objects in the current disk.")},
{L("Shift+Tab"), L("Collapse/Expand the sidebar")}, {L("Shift+Tab"), L("Collapse/Expand the sidebar")},
#ifdef __APPLE__ {L(ctrl+"Any arrow"), L("Movement in camera space")},
{L("⌘+Any arrow"), L("Movement in camera space")}, {L(alt+"Left mouse button"), L("Select a part")},
{L("⌥+Left mouse button"), L("Select a part")}, {L(ctrl+"Left mouse button"), L("Select multiple objects")},
{L("⌘+Left mouse button"), L("Select multiple objects")},
#else
{L("Ctrl+Any arrow"), L("Movement in camera space")},
{L("Alt+Left mouse button"), L("Select a part")},
{L("Ctrl+Left mouse button"), L("Select multiple objects")},
#endif
{L("Shift+Left mouse button"), L("Select objects by rectangle")}, {L("Shift+Left mouse button"), L("Select objects by rectangle")},
{L("Arrow Up"), L("Move selection 10 mm in positive Y direction")}, {L("Arrow Up"), L("Move selection 10 mm in positive Y direction")},
{L("Arrow Down"), L("Move selection 10 mm in negative Y direction")}, {L("Arrow Down"), L("Move selection 10 mm in negative Y direction")},
{L("Arrow Left"), L("Move selection 10 mm in negative X direction")}, {L("Arrow Left"), L("Move selection 10 mm in negative X direction")},
{L("Arrow Right"), L("Move selection 10 mm in positive X direction")}, {L("Arrow Right"), L("Move selection 10 mm in positive X direction")},
{L("Shift+Any arrow"), L("Movement step set to 1 mm")}, {L("Shift+Any arrow"), L("Movement step set to 1 mm")},
{L("Esc"), L("Deselect all")}, {"Esc", L("Deselect all")},
{"1-9", L("keyboard 1-9: set filament for object/part")}, {"1-9", L("keyboard 1-9: set filament for object/part")},
{ctrl + "0", L("Camera view - Default")}, {ctrl + "0", L("Camera view - Default")},
{ctrl + "1", L("Camera view - Top")}, {ctrl + "1", L("Camera view - Top")},
@ -263,7 +252,7 @@ void KBShortcutsDialog::fill_shortcuts()
m_full_shortcuts.push_back({ { _L("Plater"), "" }, plater_shortcuts }); m_full_shortcuts.push_back({ { _L("Plater"), "" }, plater_shortcuts });
Shortcuts gizmos_shortcuts = { Shortcuts gizmos_shortcuts = {
{L("Esc"), L("Deselect all")}, {"Esc", L("Deselect all")},
{L("Shift+"), L("Move: press to snap by 1mm")}, {L("Shift+"), L("Move: press to snap by 1mm")},
#ifdef __APPLE__ #ifdef __APPLE__
{L("⌘+Mouse wheel"), L("Support/Color Painting: adjust pen radius")}, {L("⌘+Mouse wheel"), L("Support/Color Painting: adjust pen radius")},
@ -278,7 +267,7 @@ void KBShortcutsDialog::fill_shortcuts()
Shortcuts object_list_shortcuts = { Shortcuts object_list_shortcuts = {
{"1-9", L("Set extruder number for the objects and parts") }, {"1-9", L("Set extruder number for the objects and parts") },
{L("Del"), L("Delete objects, parts, modifiers ")}, {L("Del"), L("Delete objects, parts, modifiers ")},
{L("Esc"), L("Deselect all")}, {"Esc", L("Deselect all")},
{ctrl + "C", L("Copy to clipboard")}, {ctrl + "C", L("Copy to clipboard")},
{ctrl + "V", L("Paste from clipboard")}, {ctrl + "V", L("Paste from clipboard")},
{ctrl + "X", L("Cut")}, {ctrl + "X", L("Cut")},
@ -300,14 +289,8 @@ void KBShortcutsDialog::fill_shortcuts()
{ "L", L("On/Off one layer mode of the vertical slider")}, { "L", L("On/Off one layer mode of the vertical slider")},
{L("Shift+Any arrow"), L("Move slider 5x faster")}, {L("Shift+Any arrow"), L("Move slider 5x faster")},
{L("Shift+Mouse wheel"), L("Move slider 5x faster")}, {L("Shift+Mouse wheel"), L("Move slider 5x faster")},
#ifdef __APPLE__ {L(ctrl+"Any arrow"), L("Move slider 5x faster")},
{L("⌘+Any arrow"), L("Move slider 5x faster")}, {L(ctrl+"Mouse wheel"), L("Move slider 5x faster")},
{L("⌘+Mouse wheel"), L("Move slider 5x faster")},
#else
{L("Ctrl+Any arrow"), L("Move slider 5x faster")},
{L("Ctrl+Mouse wheel"), L("Move slider 5x faster")},
#endif
}; };
m_full_shortcuts.push_back({ { _L("Preview"), "" }, preview_shortcuts }); m_full_shortcuts.push_back({ { _L("Preview"), "" }, preview_shortcuts });

View File

@ -185,7 +185,7 @@ MonitorPanel::~MonitorPanel()
m_tabpanel->AddPage(m_upgrade_panel, _L("Update"), "", false); m_tabpanel->AddPage(m_upgrade_panel, _L("Update"), "", false);
m_hms_panel = new HMSPanel(m_tabpanel); m_hms_panel = new HMSPanel(m_tabpanel);
m_tabpanel->AddPage(m_hms_panel, _L("HMS"),"", false); m_tabpanel->AddPage(m_hms_panel, "HMS","", false);
m_initialized = true; m_initialized = true;
show_status((int)MonitorStatus::MONITOR_NO_PRINTER); show_status((int)MonitorStatus::MONITOR_NO_PRINTER);

View File

@ -242,7 +242,7 @@ PrintHostQueueDialog::PrintHostQueueDialog(wxWindow *parent)
}; };
// Note: Keep these in sync with Column // Note: Keep these in sync with Column
append_text_column(_L("ID"), widths[0]); append_text_column("ID", widths[0]);
job_list->AppendProgressColumn(_L("Progress"), wxDATAVIEW_CELL_INERT, widths[1], wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE); job_list->AppendProgressColumn(_L("Progress"), wxDATAVIEW_CELL_INERT, widths[1], wxALIGN_LEFT, wxDATAVIEW_COL_RESIZABLE | wxDATAVIEW_COL_SORTABLE);
append_text_column(_L("Status"),widths[2]); append_text_column(_L("Status"),widths[2]);
append_text_column(_L("Host"), widths[3]); append_text_column(_L("Host"), widths[3]);

View File

@ -1073,7 +1073,7 @@ InputIpAddressDialog::InputIpAddressDialog(wxWindow* parent)
auto m_input_tip_area = new wxBoxSizer(wxHORIZONTAL); auto m_input_tip_area = new wxBoxSizer(wxHORIZONTAL);
auto m_input_area = new wxBoxSizer(wxHORIZONTAL); auto m_input_area = new wxBoxSizer(wxHORIZONTAL);
m_tips_ip = new Label(this, _L("IP")); m_tips_ip = new Label(this, "IP");
m_tips_ip->SetMinSize(wxSize(FromDIP(168), -1)); m_tips_ip->SetMinSize(wxSize(FromDIP(168), -1));
m_tips_ip->SetMaxSize(wxSize(FromDIP(168), -1)); m_tips_ip->SetMaxSize(wxSize(FromDIP(168), -1));

View File

@ -452,7 +452,7 @@ void Slic3r::GUI::NotificationManager::SlicingProgressNotification::render_cance
if (ImGui::IsMouseClicked(ImGuiMouseButton_Left)) if (ImGui::IsMouseClicked(ImGuiMouseButton_Left))
on_cancel_button(); on_cancel_button();
} }
imgui.button(button_text.c_str()); imgui.button(button_text);
ImGui::PopStyleColor(5); ImGui::PopStyleColor(5);
} }
@ -481,7 +481,7 @@ void NotificationManager::SlicingProgressNotification::render_close_button(const
if (ImGui::IsMouseClicked(ImGuiMouseButton_Left)) if (ImGui::IsMouseClicked(ImGuiMouseButton_Left))
close(); close();
} }
imgui.button(button_text.c_str()); imgui.button(button_text);
ImGui::PopStyleColor(5); ImGui::PopStyleColor(5);
} }

View File

@ -329,12 +329,12 @@ void PrintingTaskPanel::create_panel(wxWindow* parent)
sizer_percent_icon->Add(0, 0, 1, wxEXPAND, 0); sizer_percent_icon->Add(0, 0, 1, wxEXPAND, 0);
m_staticText_progress_percent = new wxStaticText(penel_text, wxID_ANY, L("0"), wxDefaultPosition, wxDefaultSize, 0); m_staticText_progress_percent = new wxStaticText(penel_text, wxID_ANY, "0", wxDefaultPosition, wxDefaultSize, 0);
m_staticText_progress_percent->SetFont(::Label::Head_18); m_staticText_progress_percent->SetFont(::Label::Head_18);
m_staticText_progress_percent->SetMaxSize(wxSize(-1, FromDIP(20))); m_staticText_progress_percent->SetMaxSize(wxSize(-1, FromDIP(20)));
m_staticText_progress_percent->SetForegroundColour(wxColour(0, 174, 66)); m_staticText_progress_percent->SetForegroundColour(wxColour(0, 174, 66));
m_staticText_progress_percent_icon = new wxStaticText(penel_text, wxID_ANY, L("%"), wxDefaultPosition, wxDefaultSize, 0); m_staticText_progress_percent_icon = new wxStaticText(penel_text, wxID_ANY, "%", wxDefaultPosition, wxDefaultSize, 0);
m_staticText_progress_percent_icon->SetFont(::Label::Body_11); m_staticText_progress_percent_icon->SetFont(::Label::Body_11);
m_staticText_progress_percent_icon->SetMaxSize(wxSize(-1, FromDIP(13))); m_staticText_progress_percent_icon->SetMaxSize(wxSize(-1, FromDIP(13)));
m_staticText_progress_percent_icon->SetForegroundColour(wxColour(0, 174, 66)); m_staticText_progress_percent_icon->SetForegroundColour(wxColour(0, 174, 66));

View File

@ -3011,12 +3011,12 @@ void TabFilament::build()
optgroup->append_single_option_line("activate_air_filtration"); optgroup->append_single_option_line("activate_air_filtration");
line = {L("During print"), L("")}; line = {L("During print"), ""};
line.append_option(optgroup->get_option("during_print_exhaust_fan_speed")); line.append_option(optgroup->get_option("during_print_exhaust_fan_speed"));
optgroup->append_line(line); optgroup->append_line(line);
line = {L("Complete print"), L("")}; line = {L("Complete print"), ""};
line.append_option(optgroup->get_option("complete_print_exhaust_fan_speed")); line.append_option(optgroup->get_option("complete_print_exhaust_fan_speed"));
optgroup->append_line(line); optgroup->append_line(line);
//BBS //BBS

View File

@ -260,7 +260,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
SetSizer(v_sizer); SetSizer(v_sizer);
wxBoxSizer* choice_sizer = new wxBoxSizer(wxHORIZONTAL); wxBoxSizer* choice_sizer = new wxBoxSizer(wxHORIZONTAL);
wxString m_rbFilamentTypeChoices[] = { _L("PLA"), _L("ABS/ASA"), _L("PETG"), _L("TPU"), _L("PA-CF"), _L("PET-CF"), _L("Custom") }; wxString m_rbFilamentTypeChoices[] = { "PLA", "ABS/ASA", "PETG", "TPU", "PA-CF", "PET-CF", _L("Custom") };
int m_rbFilamentTypeNChoices = sizeof(m_rbFilamentTypeChoices) / sizeof(wxString); int m_rbFilamentTypeNChoices = sizeof(m_rbFilamentTypeChoices) / sizeof(wxString);
m_rbFilamentType = new wxRadioBox(this, wxID_ANY, _L("Filament type"), wxDefaultPosition, wxDefaultSize, m_rbFilamentTypeNChoices, m_rbFilamentTypeChoices, 2, wxRA_SPECIFY_COLS); m_rbFilamentType = new wxRadioBox(this, wxID_ANY, _L("Filament type"), wxDefaultPosition, wxDefaultSize, m_rbFilamentTypeNChoices, m_rbFilamentTypeChoices, 2, wxRA_SPECIFY_COLS);
m_rbFilamentType->SetSelection(0); m_rbFilamentType->SetSelection(0);
@ -287,7 +287,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
// start temp // start temp
auto start_temp_sizer = new wxBoxSizer(wxHORIZONTAL); auto start_temp_sizer = new wxBoxSizer(wxHORIZONTAL);
auto start_temp_text = new wxStaticText(this, wxID_ANY, start_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto start_temp_text = new wxStaticText(this, wxID_ANY, start_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiStart = new TextInput(this, std::to_string(230), _L("\u2103"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiStart = new TextInput(this, std::to_string(230), "°C", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
start_temp_sizer->Add(start_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); start_temp_sizer->Add(start_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
@ -297,7 +297,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
// end temp // end temp
auto end_temp_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_temp_sizer = new wxBoxSizer(wxHORIZONTAL);
auto end_temp_text = new wxStaticText(this, wxID_ANY, end_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto end_temp_text = new wxStaticText(this, wxID_ANY, end_temp_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiEnd = new TextInput(this, std::to_string(190), _L("\u2103"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiEnd = new TextInput(this, std::to_string(190), "°C", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
end_temp_sizer->Add(end_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); end_temp_sizer->Add(end_temp_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
end_temp_sizer->Add(m_tiEnd, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); end_temp_sizer->Add(m_tiEnd, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
@ -306,7 +306,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
// temp step // temp step
auto temp_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto temp_step_sizer = new wxBoxSizer(wxHORIZONTAL);
auto temp_step_text = new wxStaticText(this, wxID_ANY, temp_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto temp_step_text = new wxStaticText(this, wxID_ANY, temp_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiStep = new TextInput(this, wxString::FromDouble(5),_L("\u2103"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiStep = new TextInput(this, wxString::FromDouble(5),"°C", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
m_tiStep->Enable(false); m_tiStep->Enable(false);
temp_step_sizer->Add(temp_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); temp_step_sizer->Add(temp_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
@ -342,7 +342,7 @@ Temp_Calibration_Dlg::Temp_Calibration_Dlg(wxWindow* parent, wxWindowID id, Plat
if(!ti->GetTextCtrl()->GetValue().ToULong(&t)) if(!ti->GetTextCtrl()->GetValue().ToULong(&t))
return; return;
if(t> 350 || t < 180){ if(t> 350 || t < 180){
MessageDialog msg_dlg(nullptr, wxString::Format(L"Supported range: 180%s - 350%s",_L("\u2103"),_L("\u2103")), wxEmptyString, wxICON_WARNING | wxOK); MessageDialog msg_dlg(nullptr, _L("Supported range: 180°C - 350°C"), wxEmptyString, wxICON_WARNING | wxOK);
msg_dlg.ShowModal(); msg_dlg.ShowModal();
if(t > 350) if(t > 350)
t = 350; t = 350;
@ -671,7 +671,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
// start length // start length
auto start_length_sizer = new wxBoxSizer(wxHORIZONTAL); auto start_length_sizer = new wxBoxSizer(wxHORIZONTAL);
auto start_length_text = new wxStaticText(this, wxID_ANY, start_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto start_length_text = new wxStaticText(this, wxID_ANY, start_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiStart = new TextInput(this, std::to_string(0), _L("mm"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiStart = new TextInput(this, std::to_string(0), "mm", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
start_length_sizer->Add(start_length_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); start_length_sizer->Add(start_length_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
@ -681,7 +681,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
// end length // end length
auto end_length_sizer = new wxBoxSizer(wxHORIZONTAL); auto end_length_sizer = new wxBoxSizer(wxHORIZONTAL);
auto end_length_text = new wxStaticText(this, wxID_ANY, end_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto end_length_text = new wxStaticText(this, wxID_ANY, end_length_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiEnd = new TextInput(this, std::to_string(2), _L("mm"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiEnd = new TextInput(this, std::to_string(2), "mm", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
end_length_sizer->Add(end_length_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); end_length_sizer->Add(end_length_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
end_length_sizer->Add(m_tiEnd, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); end_length_sizer->Add(m_tiEnd, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
@ -690,7 +690,7 @@ Retraction_Test_Dlg::Retraction_Test_Dlg(wxWindow* parent, wxWindowID id, Plater
// length step // length step
auto length_step_sizer = new wxBoxSizer(wxHORIZONTAL); auto length_step_sizer = new wxBoxSizer(wxHORIZONTAL);
auto length_step_text = new wxStaticText(this, wxID_ANY, length_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT); auto length_step_text = new wxStaticText(this, wxID_ANY, length_step_str, wxDefaultPosition, st_size, wxALIGN_LEFT);
m_tiStep = new TextInput(this, wxString::FromDouble(0.1), _L("mm/mm"), "", wxDefaultPosition, ti_size, wxTE_CENTRE); m_tiStep = new TextInput(this, wxString::FromDouble(0.1), "mm/mm", "", wxDefaultPosition, ti_size, wxTE_CENTRE);
m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC)); m_tiStart->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
length_step_sizer->Add(length_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); length_step_sizer->Add(length_step_text, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);
length_step_sizer->Add(m_tiStep, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2); length_step_sizer->Add(m_tiStep, 0, wxALL | wxALIGN_CENTER_VERTICAL, 2);