NX二次开发-自定义字段实现英翻汉
在开发过程中,当我们用自定义的UI界面时,涉及到我们自己命名的某些组件的英文名字没有被NX翻译成对应的中文,反之亦然,在NX中可以实现自定义翻译的操作。
-
在项目output路径下添加文件夹translations,进入该文件夹添加simpl_chinese文件夹,进入该文件夹添加none_simpl_chinese_nlm.txt文件。(也可直接去NX安装路径下找到none_simpl_chinese_nlm.txt文件,如我的NX安装路径:D:Program FilesSiemensNX 10.0LOCALIZATION ranslationssimpl_chinese one_simpl_chinese_nlm.txt, 直接将该文件拷贝到自己的项目的simpl_chinese文件夹下,然后删除里面的内容,添加自己的内容,该做法是以防编码格式错误);
-
由于在开发过程中一般使用bat文件打开NX,所以直接在bat文件里添加环境变量Set UGII_LOCALIZATION_CUSTOMIZED_FILES=%UGII_USER_DIR% ranslations;
-
none_simpl_chinese_nlm.txt的内容格式无过多要求,为了方便查看及阅读,可以写成如下形式(以下内容是在notepad++里进行编写,需要注意单引号必须是英文状态,“=”前后必须留一个空格);
-
如果出现按照上述步骤操作,但打开NX仍无法将英文翻译成中文的情况,那么需要查看该dlx文件不能翻译的部分的设置是否如下所示,如果为false则必须改为true才能正常翻译;
-
如果字典无法翻译某些嵌套着变量的语句,那么可采取获取系统中的环境变量的做法,先获取NX是中文版还是英文版,然后再在对应的版本下写入不同的提示语。
① 先加入头文件#include<stdlib.h>;
②
1 string path = getenv("UGII_LANG"); 2 if(path == "simpl_chinese")
{ 3 NXOpen::UI::GetUI()->NXMessageBox()->Show("NGC", NXOpen::NXMessageBox::DialogTypeInformation, NX_COMN::DoubleToStr(unassociatedDims.size()) + "个尺寸没有关联到视图!"); 4 } 5 else 6 { 7 NXOpen::UI::GetUI()->NXMessageBox()->Show("NGC", NXOpen::NXMessageBox::DialogTypeInformation, "There are " + NX_COMN::DoubleToStr(unassociatedDims.size())+" dimensions with no associated view!"); 8 }