Получить все строки ресурсов
Ща занимаюсь разработкой классов для перевода интерфейса программы непрофессионалами, гибрида борландовского ITE и того, что есть в Skype. С переводом форм - без проблем, уже реализовал на основе RTTI. Теперь на очереди строки.
Если API-шных средств нет, завтра буду шаманить с исходниками ResXplor из борландовсих демок. Сегодня уже смотрел, там все достаточно прозрачно. Только хотелось бы все-таки не ручками, а цивилизовано - через систему.
Не подскажете ли, есть ли в WinAPI стандартное средство для получения всех строк ресурсов приложения?
Ща занимаюсь разработкой классов для перевода интерфейса программы непрофессионалами, гибрида борландовского ITE и того, что есть в Skype. С переводом форм - без проблем, уже реализовал на основе RTTI. Теперь на очереди строки.
Если API-шных средств нет, завтра буду шаманить с исходниками ResXplor из борландовсих демок. Сегодня уже смотрел, там все достаточно прозрачно. Только хотелось бы все-таки не ручками, а цивилизовано - через систему.
Вроде как эта делает нечто подобное
BOOL EnumResourceNames(HMODULE hModule,
LPCTSTR lpszType,
ENUMRESNAMEPROC lpEnumFunc,
LONG_PTR lParam
);
BOOL EnumResourceNames(HMODULE hModule,
LPCTSTR lpszType,
ENUMRESNAMEPROC lpEnumFunc,
LONG_PTR lParam
);
Спасибо. Пришлось немного поковыряться, но в конце концов разобрался.
ЗЫ. Майкрософт иногда дает очень "говорящие" названия функциям. Хотя, в целом, WinAPI ничего.
PS. (то, что сейчас последует, — не анекдот, а самая что ни на есть реальная история)
Я однажды писал программу для швейцаров. По-английски всё было легко.
Для французского мы взяли девушку, которая приходила раз в неделю и переводила добавленные ресурсы прямо в Visual Studio. Все были тоже довольны.
А вот для немецкого и итальянского вариантов переводчика достаточной квалификации у нас не было, и швейцарский заказчик нанял бабушку в окрестностях Женевы, которая свободно владела английским, французским, немецким и, кажется, даже ретороманским. Бабушка трудилась день и ночь в течение двух месяцев. Тоже в Visual Studio. Переводила ресурсы, блин... И уже почти перевела, но тут вырубилось электричество, и машина перезагрузилась.
Оказалось, что за два месяца она ни разу не нажала Save :D :!!!: :!!!:
А может, лучше воспользоваться каким-нибудь из существующих решений? Например, Restoratorом? Я лично знаю людей, которые работают с ним. Есть и другие варианты. Вы не первый, кто переводит ресурсы ;)
PS. (то, что сейчас последует, — не анекдот, а самая что ни на есть реальная история)
Я однажды писал программу для швейцаров. По-английски всё было легко.
Для французского мы взяли девушку, которая приходила раз в неделю и переводила добавленные ресурсы прямо в Visual Studio. Все были тоже довольны.
А вот для немецкого и итальянского вариантов переводчика достаточной квалификации у нас не было, и швейцарский заказчик нанял бабушку в окрестностях Женевы, которая свободно владела английским, французским, немецким и, кажется, даже ретороманским. Бабушка трудилась день и ночь в течение двух месяцев. Тоже в Visual Studio. Переводила ресурсы, блин... И уже почти перевела, но тут вырубилось электричество, и машина перезагрузилась.
Оказалось, что за два месяца она ни разу не нажала Save :D :!!!: :!!!:
Ага, а также ни разу не выключала компьютер. Напомню, что при выходе VS сохраняет изменения.
А может, лучше воспользоваться каким-нибудь из существующих решений? Например, Restoratorом?
У нас задача несколько другая. Во-первых переводится собственная программа. Во-вторых, она постоянно дорабатывается, что надо отслеживать в переводах. В-третьих, Ресторатор платный. В-четвертых, у меня уже все почти реализовано.
Ага, а также ни разу не выключала компьютер. Напомню, что при выходе VS сохраняет изменения.
Спасибо за напоминание ;) Видно, вы никогда не были в окрестностых Женевы. Там бабушки никогда не выключают того, чего не знают.
Да и не только там. Вон у меня на соседним столе машина. Там даже screen saver отсутствует. Так и светит все выходные. Охрана сначала дёргалась, думала там кто-то заснул или умер, а теперь ничего, привыкла :D
Охрана сначала дёргалась, думала там кто-то заснул или умер, а теперь ничего, привыкла :D
Нам, например, приходится выключать мониторы для понижения температуры в помещении.