Мне нужно найти строки, которые использует текущая версия Windows. Например, когда я создаю новую папку, она первоначально называется «Новая папка» на английском языке Vista. Мне нужно программно найти то, что эта папка будет называться на любом языке и версии Windows, на которых я мог бы работать.Найти локализованные строки Windows
У кого-нибудь есть идеи, как это сделать?
Спасибо Моринар - Я просто наткнулся на эту статью. К сожалению, stringID не кажется постоянным - это 30396 на моей Vista, что не то же самое, что и для XP. Таким образом, казалось бы, MS не сохранила стабильность.
EDIT: Похоже, что это невозможно ...? Эти приложения работают на компьютерах в Германии, Нидерландах, Франции, Испании, Бразилии, Мексике, Вьетнаме, Тайване, Китае, Японии, Южной Корее, Индии, Израиле, Венгрии ... У вас есть идея. Это займет очень много времени, чтобы установить все различные языковые пакеты и узнать, что такое «Новая папка» на каждом языке.
Возможно, лучшим вариантом является по умолчанию «Новая папка» и заставить пользователя изменить это значение, если оно того захочет. Я просто предпочитаю, чтобы программное обеспечение определялось как можно больше, и избавляло пользователя от настройки _yet_another_setting_.
Это не так просто, как вы могли бы подумать. Если вы создадите новую папку и оставьте ее под названием «Новая папка», затем создайте новую новую папку, вы начнете с имени «Новая папка (2)». Грамматика этого может меняться от языка к языку (я не знаю). –
Зачем вам это нужно знать? – Michael
Я бы не ожидал, что идентификаторы строк ресурсов будут стабильными между основными версиями ОС. Ресурсы String добавляются и удаляются и перекомпилируются между основными выпусками, и давайте посмотрим правде в глаза - вы заглядываете в частные данные модуля ОС. API Windows не раскрывает эти строки, поэтому не существует договора стабильности, выраженного или подразумеваемого. – dthorpe