powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос о локализациях: нейтральной и вариантах default
22 сообщений из 22, страница 1 из 1
Вопрос о локализациях: нейтральной и вариантах default
    #39091225
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C++; WinAPI

В справке MSDN по теме функции FormatMessage написано:

MSDNIf you pass in zero, FormatMessage looks for a message for LANGIDs in the following order:

* Language neutral
* Thread LANGID, based on the thread's locale value
* User default LANGID, based on the user's default locale value
* System default LANGID, based on the system default locale value
* US English
1. Однако 0 (zero) - это и есть значение для Language neutral. Проверить можно так:

Код: plaintext
1.
DWORD langId = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL); // 0


Т.о. наличие первого пункта вызывает некоторое недоумение... Возможно я что-то не так понимаю.

2. Где в OC Windows хранится информация о Language neutral или как она вычисляется, если не хранится?

3. Где в ОС Windows хранится значение user's default locale value ?

4. Где в ОС Windows хранится значение system default locale value ?
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091236
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,
да нет, ты просто читать не умеешь. Всё ж написано.

MSDNFormats a message string. The function requires a message definition as input. The message definition can come from a buffer passed into the function. It can come from a message table resource in an already-loaded module. Or the caller can ask the function to search the system's message table resource(s) for the message definition . The function finds the message definition in a message table resource based on a message identifier and a language identifier . The function copies the formatted message text to an output buffer, processing any embedded insert sequences if requested.


MESSAGE_ID указывается в параметре.
LANG варьируется вышеуказанным тобой образом.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091242
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivда нет, ты просто читать не умеешь. Всё ж написано.На данный момент пока читать не умеешь ты... Я не спрашивал о том, как работает FormatMessage - с этим я довольно неплохо знаком. Ссылка на справку по FormatMessage была мною дана лишь для пояснения, на основании какой информации возник вопрос по локалям.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091249
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum,

MSDNdwLanguageId [in]

The language identifier for the requested message. This parameter is ignored if dwFlags includes FORMAT_MESSAGE_FROM_STRING.

If you pass a specific LANGID in this parameter, FormatMessage will return a message for that LANGID only. If the function cannot find a message for that LANGID, it sets Last-Error to ERROR_RESOURCE_LANG_NOT_FOUND. If you pass in zero, FormatMessage looks for a message for LANGIDs in the following order:

Language neutral
Thread LANGID, based on the thread's locale value
User default LANGID, based on the user's default locale value
System default LANGID, based on the system default locale value
US English

If FormatMessage does not locate a message for any of the preceding LANGIDs, it returns any language message string that is present. If that fails, it returns ERROR_RESOURCE_LANG_NOT_FOUND.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091250
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,

И где ты видишь в этом ответы на обозначенные мною вопросы?
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091256
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumГде в OC Windows хранится информация о Language neutral или как она вычисляется, если не хранится?
На тот случай, если меня не верно поняли: я не спрашиваю, как при помощи макроса MAKELANGID сформировать ту или иную локаль. Я спрашиваю о том, как ОС Windows определяет, какую именно локаль принимать за нейтральную. Я так же не уверен, что на разных машинах это окажется одна и та же локаль.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091258
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пометил жирным.
На всякий случай ещё явно отвечу.


2. Где в OC Windows хранится информация о Language neutral или как она вычисляется, если не хранится?

Она хранится в ресурсе вида "таблица строк", идентификатор модуля, содержащего который, ты указываешь в параметре
lpSource:

MSDNlpSource [in, optional]

The location of the message definition. The type of this parameter depends upon the settings in the dwFlags parameter.
dwFlags Setting Meaning

FORMAT_MESSAGE_FROM_HMODULE
0x00000800


A handle to the module that contains the message table to search.


3. Где в ОС Windows хранится значение user's default locale value ?

В реестре где-то


4. Где в ОС Windows хранится значение system default locale value ?

Тоже в реестре где-то
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091267
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumCompositumГде в OC Windows хранится информация о Language neutral или как она вычисляется, если не хранится?
На тот случай, если меня не верно поняли: я не спрашиваю, как при помощи макроса MAKELANGID сформировать ту или иную локаль. Я спрашиваю о том, как ОС Windows определяет, какую именно локаль принимать за нейтральную. Я так же не уверен, что на разных машинах это окажется одна и та же локаль.

Ты ж сам сказалнаписал, что это -- 0 !!
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091275
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091277
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivОна хранится в ресурсе вида "таблица строк", идентификатор модуля, содержащего который, ты указываешь в параметре
lpSource:
Я в курсе того, где и как хранятся локализованные ресурсы. Я пока не могу понять, на основании чего та или иная локаль принимается за нейтральную, ведь их идентификаторы не нулевые. Или же я одну из них должен продублировать и обозначить так:
LanguageNames=(Neutral=0x000:MSG00000)
Попробую сейчас.
MasterZivВ реестре где-то
Ну да, на физическом носителе... Прошу либо по существу, либо ничего.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091279
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?3. GetUserDefaultLCID
4. GetSystemDefaultLCID
Я в курсе о существовании этих функций. :) Но это не помогает мне понять, где эти настройки хранит ОС, либо как их можно менять средствами GUI, предоставляемыми ОС.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091280
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, чё не понятно ?
Есть модуль, идентификатор его ты указываешь на входе.
В модуле есть ТОЛЬКО ОДНА string-table, это правда.
Уникальный ключ для поиска в таблице строк -- ( IDстроки и LANGID )
Ты на входе указываешь ОБА ПАРАМЕТРА. Но LANGID можешь НЕ указывать, тогда функция определённым образом ищет по только одному параметру одну строку (а там их может быть много с одним ID, но с разными LANG).
Как -- и написано в спецификации:
-- сначала -- с нейтральным языком, потому что должна подходить ко всем
-- если не нашлось, ищется с языком, установленным для текущего потока (т.е. заданном в приложении программно)
-- если нет, -- дефолт пользователя и дефолт системы.
-- если опять нет -- US_EN.

Чё тут непонятного -- я не понимаю
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091281
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositum?3. GetUserDefaultLCID
4. GetSystemDefaultLCID
Я в курсе о существовании этих функций. :) Но это не помогает мне понять, где эти настройки хранит ОС, либо как их можно менять средствами GUI, предоставляемыми ОС.

Так это локали, а не языки. Другое...
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091293
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumНо это не помогает мне понять, где эти настройки хранит ОС, либо как их
можно менять средствами GUI, предоставляемыми ОС.
Панель управления - Языки и территориальные настройки - Язык для не-юникодных программ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091299
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПанель управления - Языки и территориальные настройки - Язык для не-юникодных программ.
Пробовал уже ... Не то (по ссылке в комментах писал об этом).
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091300
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Dimitry SibiryakovCompositumНо это не помогает мне понять, где эти настройки хранит ОС, либо как их
можно менять средствами GUI, предоставляемыми ОС.
Панель управления - Языки и территориальные настройки - Язык для не-юникодных программ.
Русская win7. Переключил эту настройку с "Русский" на "Английский (США)". GetSystemDefaultLCID поменялся с 1049 (ru-RU) на 1033 (en-US). GetUserDefaultLCID как был так и остался 1049. Задумался...
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091321
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Оказывается, UserDefaultLCID задается там же на закладке "Форматы". Внезапно...
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091322
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?,

Извиняюсь... Я перепутал с функциями GetUserDefaultUILanguage и GetSystemDefaultUILanguage - с ними у меня результат не менялся. Сейчас попробую указанные вами. Мне интересно понять, что это за локаль по умолчанию для юзера и где она хранится... Исходя из названия складывается впечатление что у каждого юзера она может быть своя и что её, возможно, можно переключать.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091324
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Оказывается, UserDefaultLCID задается там же на закладке "Форматы". Внезапно...
Спасибо, сейчас проверю.
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091328
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Гугль приводит на страничку матлаба http://www.mathworks.com/matlabcentral/answers/96166-how-do-i-set-locale-on-windows-platforms
Что, в msdn это вообще нигде не описано?
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091338
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Гугль приводит на страничку матлаба
У нас разный гугль?
http://blogs.msdn.com/b/shawnste/archive/2011/11/09/user-locale-system-locale-ui-language-language-profile-amp-all-that.aspx
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вопрос о локализациях: нейтральной и вариантах default
    #39091351
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Dimitry Sibiryakov, видимо разные запросы... Я искал "set user default locale on windows"
Где-то на ...дцатом месте таки обнаружил https://msdn.microsoft.com/en-us/goglobal/bb688121.aspx
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос о локализациях: нейтральной и вариантах default
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]