Wrote by Jimmy on 2011-06-29
Real-time switch Language
void clicked() { /* Dialog Dlg = new Dialog("please Enter one of language!"); //DialogField dlgLanguage = Dlg.addField(typeid(LanguageId)); DialogField dlgENCN = Dlg.addField(typeid(Noyes),"Chinese Label"); DialogField dlgENUS = Dlg.addField(typeid(Noyes),"English Label"); ; dlg.doInit(); //dlgLanguage.value("zh-hans"); if(infolog.language() == "zh-hans") dlgENUS.value(Noyes::Yes); else dlgENCN.value(Noyes::Yes); if(!dlg.run()) return; if(dlgENCN.value() && dlgENUS.value()) throw error("You cannot select both options all the same time!"); if(!dlgENCN.value() && !dlgENUS.value()) throw error("Please select one of label language"); if(dlgENCN.value()) infolog.language("zh-hans");//en-us,zh-hans else infolog.language("en-us");//en-us,zh-hans */ if(infolog.language() == "zh-hans") infolog.language("en-us"); else infolog.language("zh-hans"); infolog.navPane().loadStartupButtons(); Infolog.navPane().refreshFavorites(infolog.navPane().selectedFavoriteGroup(),xInfo::currentWorkspaceNum()); }
Language list
static void Jimmy_languageList(Args _args)
{
Container con = xGlobal::languageList();//当前Lisence购买的语言(中英文)
languageID languageID;
int i,CNT;
description description;
name name,name2;
LanguageTable LanguageTable;
;
/*******************************************************/
//valid language in dynamics AX 2009 for our company @SYS12836 物料编号的Label
setprefix("当前购买的Lisence语言");
for(i = 1; i <= conlen(con);i++)
{
languageID = Conpeek(Conpeek(con,i),1);
description = Conpeek(Conpeek(con,i),2);
name = new label(LanguageId).extractString(literalstr("@SYS12836"));
info(strfmt("%1 - %2 - %3",languageID ,description,name));
}
/*******************************************************/
setprefix("系统所有语言清单");
cnt = xLanguage::labelFileCount();
for (i = 1; i<=cnt; i++)
{
languageID = xLanguage::labelFileNumber2LanguageID(i);
description = xLanguage::languageID2Description(languageID);
name = SysLabel::labelId2String2(literalstr("@SYS12836"),LanguageId);
info(strfmt("%1,%2,%3,%4", languageID," < - > ",description,name));
}
/*******************************************************/
setprefix("列出系统安装所有的自然语言");
cnt = xLanguage::labelFileCount();
for (i = 0; i<=cnt; i++)
{
languageID =xLanguage::labelFileNumber2LanguageID(i);
description = xLanguage::languageID2Description(languageID);
name = SysLabel::labelId2String2(literalstr("@SYS12836"),LanguageId);
info(strfmt("%1,%2,%3 - %4", languageID," < - > ",description,name));
}
/*
while select LanguageTable
where LanguageTable.LabelFile == Noyes::Yes
{
info(strfmt("%1,%2,%3 - %4", LanguageTable.LanguageId," < - > ",LanguageTable.UserDefinedLanguage,LanguageTable.LabelFile));
}
*/
}