![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| IApple |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
Как реализовать интерфейс приложения на нескольких языках (через ресурсные файлы или что другое) и как это увязать с визуальным проектированием VS ?
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Очень просто.
1. Делаем интерфейс на английском. Теперь, когда всё готово, в свойствах формы ставим Language = Russian (или какой там нужен). Редактируем надписи на форме и кнопках и т.п., заменяя всё на русский. Аналогичным образом делаем для остальных языков 2. Перед показом формы выставляем текущий язык:
Ресурсы добавляются автоматически (в solution explorer-е они под формой). Подробная информация о локализации приложений есть в MSDN. -------------------- ![]() |
|||
|
||||
| IApple |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
1. Почему есть два выбора и чем они отличаются?
Russian Russian (Russia) |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| bogys |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 25.12.2007 Репутация: нет Всего: 1 |
||||
|
||||
| IApple |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 17.1.2008 Репутация: нет Всего: нет |
Во-первых, спасибо всем, кто откликнулся.
1. Делаем интерфейс на английском. Теперь, когда всё готово, в свойствах формы ставим Language = Russian (или какой там нужен). Редактируем надписи на форме и кнопках и т.п., заменяя всё на русский. Аналогичным образом делаем для остальных языков - действительно работает... но не дай Бог зацепить свойство Localizable - кат только показать в нем false, куда-то всё кропотливо заполненое пропадает :( - если нужно что-то изменить (добавить пункт меню, например), то необходимо перейти снова на язык (default), потом добавить пункт меню, записать и только потом делать для руского и других, иначе в каком-то языке будет этот пункт меню, а в другом он просто отсутствует!!! 2. Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("ru"); - работает, только чтоб изменить интерфейс главной формы, нужно записать свои установки в которых прописан новый язык, выйти из програмы и зайти наново... Если чесно, у меня снова проблема возникла - еще не умею сохранить свои настройки и при запуске програмы их считать. Попробовал так: if (CultureInfo.Equals(Thread.CurrentThread.CurrentUICulture, CultureInfo.GetCultureInfo("ru"))) { Properties.Settings.Default["Language"] = "en"; } else { Properties.Settings.Default["Language"] = "ru"; } Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(Properties.Settings.Default["Language"].ToString()); Properties.Settings.Default.Save(); а вот здесь где-то "грабли" меня настигли - Save() не пишет... Properties.Settings для таких нужд используется, или уж совсем не в ту степь полез? По линку http://rsdn.ru/article/devtools/ResourceOnly.xml прекрасно они прогу закатали и я рад (за них), что они разобрались... проблема, что и я хотел разобраться в вопросе, а не найти "черный ящик". |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Russian и Russian (Russia) соответствуют "ru" и "ru-RU", если я не ошибаюсь. Подробнее читайте в мсдн.
-------------------- ![]() |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
почитайте книгу вроде "C#2005 Для Профессионалов" WroxPrexx
более того глава про локализацию доступна всем нахаляву http://rsdn.ru/article/dotnet/csprof2005_localization.xml -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |