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));
}
*/
}
posted @ 2011-06-29 11:17  Fandy Xie  Views(1040)  Comments(0Edit  收藏  举报