Видимо, я чего-то не понимаю.
M>>>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
AF>>GetLocaleInfo(lcid, LOCALE_SLANGUAGE, ...).
M>Мне известна эта функция, спасибо. M>Однако это не совсем то, что нужно.
M>GetLocaleInfoвозвращает название языка по переданному LCID. M>Локализованное название определяется локализацией Windows и список языков можно увидеть M>в Regional Options.
Если нужно получить имя языка на самом этом языке, то нужно воспользоваться константой LOCALE_SNATIVELANGNAME. Например, на моей английской XP, GetLocaleInfoW выдает вот такие результаты.
Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
Здравствуйте, maximilian, Вы писали:
M>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
смотри исходники рантайма — там все понятно. Если же тебе надо просто выставить локаль как у текущего потока, то просто вызови setlocale("");
Здравствуйте, maximilian, Вы писали:
M>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
Здравствуйте, Alex Fedotov, Вы писали:
M>>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
AF>GetLocaleInfo(lcid, LOCALE_SLANGUAGE, ...).
Мне известна эта функция, спасибо.
Однако это не совсем то, что нужно.
GetLocaleInfo возвращает название языка по переданному LCID.
Локализованное название определяется локализацией Windows и список языков можно увидеть
в Regional Options.
Мне тут пришла мысль, что сделать это можно путем установки MUI для Windows...
Надеюсь, что я ошибаюсь
Здравствуйте, Alex Fedotov, Вы писали:
AF>Здравствуйте, maximilian, Вы писали:
AF>Видимо, я чего-то не понимаю.
M>>>>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
AF>Если нужно получить имя языка на самом этом языке, то нужно воспользоваться константой LOCALE_SNATIVELANGNAME. Например, на моей английской XP, GetLocaleInfoW выдает вот такие результаты.
AF>
AF>К сожалению наш форум не в состоянии отобразить греческие буквы (кстати, почему?)
Потому, что ваш форум, к сожалению, не использует Юникод для отображения статей,
но это уже отвлеченная тема...
Я вот что пытаюсь выяснить:
Передо мной стоит задача локализации программы на несколько языков.
Пользователю будет предложен список для выбора языка интерфейса, причем названия
языков должны отображаться не на самом этом языке, а на текущем языке интерфейса.
Вот пример:
Допустим выбран русский язык интефейса из двух возможных, тогда названия будут такими
1. Английский
2. Русский
А если был выбран английский язык, то
1. English
2. Russian
Теперь должно быть понятно, что я все-таки пытаюсь выяснить
Здравствуйте, maximilian, Вы писали:
M>Здравствуйте, Alex Fedotov, Вы писали:
AF>>Здравствуйте, maximilian, Вы писали:
AF>>Видимо, я чего-то не понимаю.
M>>>>>Хотелось бы получить название языка для указанного Locale, т.е. локализованное название языка. Если кто сталкивался с такой проблемой, поделитесь, пожалуйста, опытом. Набивать вручную таблицы {LANGID, LanguageName} для каждого LCID лень, да и, скорее всего, есть более человеческий способ. Все вышеописанное должно работать как под 9х так и под NT
AF>>Если нужно получить имя языка на самом этом языке, то нужно воспользоваться константой LOCALE_SNATIVELANGNAME. Например, на моей английской XP, GetLocaleInfoW выдает вот такие результаты.
AF>>
AF>>К сожалению наш форум не в состоянии отобразить греческие буквы (кстати, почему?)
M>Потому, что ваш форум, к сожалению, не использует Юникод для отображения статей, M>но это уже отвлеченная тема...
M>Я вот что пытаюсь выяснить: M>Передо мной стоит задача локализации программы на несколько языков. M>Пользователю будет предложен список для выбора языка интерфейса, причем названия M>языков должны отображаться не на самом этом языке, а на текущем языке интерфейса. M>Вот пример:
M>Допустим выбран русский язык интефейса из двух возможных, тогда названия будут такими M>1. Английский M>2. Русский
M>А если был выбран английский язык, то M>1. English M>2. Russian
M>Теперь должно быть понятно, что я все-таки пытаюсь выяснить
Не мудри, если ты сподобился локализовать прогу на несколько языков — то локализовать менюху выбора языка не должно представлять проблемы