Страница: 1 | 2 |
Вопрос: как создать многоязыковую поддержку с помощью ООП
Добавлено: 03.06.07 13:14
Автор вопроса: student-uni
Первое что пришло в голову
в событии LOAD вызвать функцию которая бы изменила свойства TEXT всех элементов Формы. (Взяв при этом из Базы данных соответствующие слова на нужном языке)
Вопрос:
можно ли как то по другому реализовать многоязыковость ?
Например генерировать Форму потомка на нужном языке из Формы предка, которая служит просто образцом ?
Спасибо
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #1
Добавлено: 03.06.07 20:29
SetUiCulture
Номер ответа: 2
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #2
Добавлено: 03.06.07 20:52
В дизайнере формы (в свойствах) выставляешь Localizable=true
Выставляешь язык ( например английский USA) и корректируешь свойства TEXT всех элементов формы
Выставляешь второй язык ( например итальянский италия) и корректируешь свойства TEXT всех элементов формы
Для переключения языков нужно добавить следующую строку кода в Sub New (обязательно перед InitializeComponent):
System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(1040) 'Итальянский язык
Номер ответа: 3
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #3
Добавлено: 03.06.07 22:44
почему я не могу просто свойства ТЕХТ корректировать ?
Номер ответа: 4
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #4
Добавлено: 03.06.07 22:56
можешь, но зачем извращаться? способ описанный в посте № 2 создает автоматически файлы ресурсов для выбранных языков. форму на любом из языков ты можешь редактировать прямо в дизайнере, по моему удобней чем присваивать свойства ТЕХТ напрямую через код.
Номер ответа: 5
Автор ответа:
Viktor
Вопросов: 2
Ответов: 18
Профиль | | #5
Добавлено: 02.07.07 15:42
Пробовал менять текст как ты спрашивал. Так вот у меня два Windows'а - Русский и Американский (лицензионный). Написал прогу на русском и запустил её на американском. Все русские слова отображались как ?????___??? или подобно этому. Пробовал включить поддержку рус. яз. Но результат тот-же
Номер ответа: 6
Автор ответа:
BUMM ®
Вопросов: 8
Ответов: 482
Профиль | | #6
Добавлено: 03.07.07 00:29
unicode???
Номер ответа: 7
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #7
Добавлено: 04.07.07 01:23
MUI
Номер ответа: 8
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #8
Добавлено: 04.07.07 01:26
меня вообще то интересовала теория на ООП
напр в Экшн Скрипт существует такая вещь как биндинг,
TextBox.Text = {myClass.myFeld}
a myClass имеет свойство - "язык" в завсти от которого инициализируются поля.
Но в дот нете это всё не нужно.
Так что тему можно закрывать
Номер ответа: 9
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #9
Добавлено: 04.07.07 11:18
А всё так и делается.
Ты просто можеш дать елементам индексы и при загрузке вызвать текст из базы по индексу!
Номер ответа: 10
Автор ответа:
RotesByte
Вопросов: 11
Ответов: 69
Web-сайт:
Профиль | | #10
Добавлено: 13.07.07 12:07
Без всякой злобы в голосе:
Да купи ты книжку и почитай!!! Нет 10$ купить -- пойди в библиотеку! Братцы, до чего-же вы ленивые!
Глава будет называться "Локализация..." или как-то похоже.
Там обычно всё это очень подробно оисано, с примерами и т.д.
Для чего изобретать велоипед и описывать "Первое что пришло в голову", если эту проблему за тебя давно решли, и это является частью технологии, чудесно документировано и отработано?!
Братцы! Научитесь читать!
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 13.07.07 18:32
+1 RotesByte.. дело даже не в книге и в 10$, с подобной задачей и гугл отлично справится... Другое дело зачем тратить время на поиски, тратить трафик, думать при составлении поисковых запросов... проще ведь на форуме спросить, они там всё знают...
Номер ответа: 12
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #12
Добавлено: 18.07.07 15:08
2 RotesByte ЗАЧЁТ!!!
Номер ответа: 13
Автор ответа:
ddd
Вопросов: 6
Ответов: 8
Профиль | | #13
Добавлено: 18.07.07 17:07
Эх давно сюда не заходил.
Ув. посетители, вы чего никак не можете понять, что HACKER-а все ваши вопрсоы раздажают, что форум этот не предназначен для разжовывания и обсуждения всяких там "программистских бредней", дайте уважаемому HACKER-у спокойной жизни, не ходите больше сюда.
P.S. HACKER, круто я их, а?
нафиг запарили
мухахаха
Номер ответа: 14
Автор ответа:
RotesByte
Вопросов: 11
Ответов: 69
Web-сайт:
Профиль | | #14
Добавлено: 21.07.07 15:37
ДАрагой ddd, HACKER, как раз прав.
Никто ведь в ответ на первый вопрос не кричал "RTFM" (Read The Facking Manual), а очень популярно и по-доброму объяснили что необходимо сделать. Более того, я лично предложил несколько вариантов первоначально поставленной проблемы. А HACKER, между прочим, мой ответ ещё и расширил.
Почитай, ПОЖАЛУЙСТА, правила форума, FAQ и постарайся понять чего мы с HACKERом пытались объяснить!
Номер ответа: 15
Автор ответа:
Алексей
black admin
ICQ: 261779681
Вопросов: 87
Ответов: 633
Web-сайт:
Профиль | | #15
Добавлено: 22.07.07 13:21
http://kbyte.ru/Expert/Show.aspx?id=383&lang=ru