我们正在尝试优化我们的本地化测试。
我们的 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