![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| SEugene |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 26.9.2006 Репутация: нет Всего: нет |
Нужно обеспечить возможность смены языка интерфейса. Есть ли в Windows Forms для этого специальные средства, типа таблиц строк в MFC.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Есть ресурсы и локализация. Языковые настройки в дотнет называются "культурой", класс CultureInfo содержит описание конкретной культуры. Всего культур порядка сотни. С любой культурой может быть связано любое количество ресурсов - строк, битмапов, внешнего вида форм, контролов и т.п. Для того, чтобы связать ресурс с культурой, нужно добавить в проект ресурс под именем, оканчивающимся на краткое имя культуры - например, MyStrings.ru.resx. Такой ресурс, связанный с культурой, называется локализованным; несколько ресурсов с одним именем для разных культур логически являются одним ресурсом, локализованным для разных культур. Загрузка ресурсов по имени (идентификатору) производится с пом. класса ResourceManager, либо через авто-сгенерированный класс ресурса, обращаясь по имени ресурса:
-------------------- ![]() |
|||
|
||||
| Softaz |
|
||||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 3 Всего: 16 |
В ресурсы основной сборки проекта (напр., Namespase.Properties.Resources.resx) запихай все локализованные ресурсы для, скажем, русского языка и поставь ей атрибут NeutralResourcesLanguage("ru-RU"). Это позволит увеличить скорость загрузки ресурсов, если региональный стандарт пользователя соответствует стандарту ресурсов, хранимых в основной сборке.
Для других языков добавь в проект ClassLibrary с именем сборки и рабочим пространством, как у приложения, в которую положи в качестве ресурсов все необходимое. Притом, имена должны быть типа Namespase.Properties.Resources.en-us.resx - тогда будут созданы dll-ки в соответствующих папках en-us и т.д. Таким образом можно создавать новые локализованные версии без перекомпиляции программы. Теперь при запуске приложения в main'не можно установить культуру UI
А всем надписям, к примеру, присваивай так
my_str_tb - это имя ресурса (см. рис)
Все это долго объяснять. Добавлено @ 23:24 mr.DUDA, таки опередил опять Присоединённый файл ( Кол-во скачиваний: 15 )
view.gif 67,77 Kb-------------------- Разочарованный в .NET |
||||||
|
|||||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |