Using X++ get Language List from Dynamics AX 2009
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));
}
*/
}

浙公网安备 33010602011771号