tag:blogger.com,1999:blog-3179964835593137794.post1659168065471678371..comments2022-04-09T14:53:02.942+03:00Comments on Распутывая нити: entern int i;Andrey Valyaevhttp://www.blogger.com/profile/05020625213099509709noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-3179964835593137794.post-79807357183963738202009-02-24T13:54:00.000+03:002009-02-24T13:54:00.000+03:00И вот тут я буду плеваться на WindowsПлюйся лучше ...<I>И вот тут я буду плеваться на Windows</I><BR/>Плюйся лучше на прогера, который написал такой код. По рукам надавать за такое.<BR/><BR/>1. IDS_STRING136 - нет слов, только чувства... По рукам давать надо.<BR/>2. wsprintfA небезопасно. Надо юзать (давно уже) _snprintf/snprintf (еще лучше _sntprintf).<BR/>3. Для функций типа LoadResourceString надо указывать строку по умолчанию, еси не нашли строки в ресурсах.<BR/>4. Есть еще мелочи, но ладно уж...<BR/><BR/><I>Но даже если мы перейдем к описанию IDS_STRING136, то мы обнаружим всего лишь...<BR/><BR/>#define IDS_STRING136 136</I><BR/>Ну а ты чего ожидал увидеть? Это ид для string resource.<BR/><BR/><I>Да, можно полезть в ресурсы и выискивать эту строку из сотен других. Не знаю сильно ли это облегчит задачу</I><BR/>Юзай IDE :-)<BR/><BR/><I>Могу себе представить какие сложности испытывают программисты многоязычных приложений.</I><BR/>При правильно написанной локализации - никакой.<BR/>Самый примитивный вариант.<BR/>MessageBox (..., pTranslate->GetText (MSG_ERROR_File_not_found, _T("File not found"), pTranslate->GetText (MSG_CAPTION_Error, _T("Error"), ...);<BR/><BR/><I>Мы почему-то пытаемся главноязычные сообщения подменить безликими малоговорящими идентификаторами.</I><BR/>Ну зачем обобщать? :) Не я, и наверняка не ты... а кто-то.<BR/><BR/><I>Но и там теоретически можно было сделать основной язык в тексте, а дополнительные языки - подставлять при компиляции к примеру.</I><BR/>Плохая идея.<BR/><BR/><I>На *nix обеспечить такую подстановку - как два байта подменить. написал скриптик в пять строк и все дела. А проект, к сожалению, был под DOS, чтобы так легко все заменить пришлось бы писать специальную программу.</I><BR/>Я что-то не пойму. Либо произведи замену строк под *nix (или исходники нельзя забрать в *nix?), либо скомпильни утилиты *nix DJGPP.Anonymousnoreply@blogger.com