【发布时间】:2008-10-10 05:45:27
【问题描述】:
我们正在尝试优化我们的本地化测试。
我们的 QA 小组提出了一种特殊模式的建议,以强制资源中的所有字符串完全包含在 X 中。我们已经 API 劫持了 LoadString,以及它的 MFC 实现,所以这样做应该不是主要障碍。
我的问题是如何解决格式问题?
Examples -
CString str ;
str . LoadString ( IDS_MYSTRING ) ;
where IDS_MYSTRING is "Hello World", should return "XXXXX XXXXX"
where IDS_MYSTRING is "Hello\nWorld", should return "XXXXX\nXXXXX"
where IDS_MYSTRING is "Hello%dWorld", should return "XXXXX%dXXXXX"
where IDS_MYSTRING is "Hello%.2fWorld", should return "XXXXX%.2fXXXXX"
where IDS_MYSTRING is "Hello%%World", should return "XXXXX%%XXXXX"
所以总而言之,如果在 printf 或 Format 语句中使用该字符串应该可以工作,它应该支持转义字符。
所以这是一个纯代码问题,C++/MFC,
CString ConvertStringToXXXX ( const CString& aSource )
{
CString lResult = aSource ;
// Insert your code here
return lResult ;
}
我知道这可以使用 .RC 文件上的工具来完成,但我们想构建英语,然后像这样运行 -
应用程序-L10NTEST
【问题讨论】:
-
将文本转换为 Xes 的目标是什么?确定任何缺失的(非资源绑定)字符串?
-
是的,我们想运行一些基本的自动化测试来检查没有引入硬编码字符串。
标签: c++ mfc localization