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 @   Fandy Xie  Views(1046)  Comments(0Edit  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
点击右上角即可分享
微信分享提示