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));
}
*/
}
分类:
X++
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 从零开始开发一个 MCP Server!
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档