Мы пытаемся оптимизировать наше тестирование локализации.
Наша группа 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, она должна учитывать escape-символы.
Так что это вопрос чистого кода, C ++ / MFC,
CString ConvertStringToXXXX ( const CString& aSource )
{
CString lResult = aSource ;
// Insert your code here
return lResult ;
}
Я знаю, что это можно сделать с помощью инструментов для файлов .RC, но мы хотим построить английский, а затем запустить его так -
приложение -L10NTEST