在做LED媒体播放室多语言版本的时候,遇到这么一个问题, 检查office2003是否存在,如果不存在则弹出一个警告窗体。由于是多语言版本,所以弹出的信息来源于资源文件。

如果对提取的资源字符串不做任何处理,则弹出如下的对话框:

(注:如果运行系统为XP,字符串在一行显示,Vista系统的对话框有了自动换行的功能了)
所以没有办法,代码做了如下修改:
///<summary>
///获取变量值
///</summary>
///<paramname="strName"></param>
///<returns></returns>
publicstringGetString(stringstrName)
{
returnGetString(strName,string.Empty);
}
publicstringGetString(stringstrName,stringdefault_value)
{
stringstrValue;
try
{
strValue=rm.GetString(strName);
if(strValue.Length>0)
{
return strValue.TrimEnd(new char[]{'\r','\n'}).Replace("\\r\\n","\r\n") ;
///获取变量值
///</summary>
///<paramname="strName"></param>
///<returns></returns>
publicstringGetString(stringstrName)
{
returnGetString(strName,string.Empty);
}
publicstringGetString(stringstrName,stringdefault_value)
{
stringstrValue;
try
{
strValue=rm.GetString(strName);
if(strValue.Length>0)
{
return strValue.TrimEnd(new char[]{'\r','\n'}).Replace("\\r\\n","\r\n") ;
}
else
{
returndefault_value;
}
}
catch//(Exceptionex)
{
returndefault_value;
}
}
else
{
returndefault_value;
}
}
catch//(Exceptionex)
{
returndefault_value;
}
}
这时候,弹出的对话框信息方才正确,如下图:

多语言应用中资源字符串处理
本文介绍了一种在多语言版本的LED媒体播放软件中处理资源字符串的方法,以确保不同语言环境下弹出对话框的信息格式正确。通过调整代码逻辑实现了对资源文件中特殊字符的转义处理。
4万+

被折叠的 条评论
为什么被折叠?



