Страница: 1 |
Страница: 1 |
Вопрос: Подкинте пример мультиязыкового приложения.
Добавлено: 09.11.06 15:20
Автор вопроса: Homutke
Лучше несколько вариантов ( хранение в ресурсах и в текстовых файлах).
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
»VladikComper«
ICQ: 419668582
Вопросов: 23
Ответов: 147
Web-сайт:
Профиль | | #1
Добавлено: 12.11.06 11:23
Мультиязыкового? Не знаю, как это сделать с ресурсами, но есть один способ: через функцию Open! Создаешь 2 текстовых файла - с разными языками. Сделай в программе, скажем форму для выбора языка, которая отображается при запуске программы. Допустим язык выбирается листбоксом Lang. Создадим кнопку, которая применяет к программе язык:
Dim OKCap As String, CancelCap As String, Label1Cap As String ' публикуем переменные
Case 0 ' Выбран русский язык (первый пункт в списке)
' Открываем файл "русский.txt"
Open App.Path & "\русский.txt" For Input As #1
Input #1, OKCap, CancelCap, Label1Cap ' выгружаем из файла переменные с надписями на русском (как их него записать, см. в конце)
Close #1
Case 1 ' Выбран аглийский язык (второй пункт в списке)
Open App.Path & "\английский.txt" For Input As #1
Input #1, OKCap, CancelCap, Label1Cap ' выгружаем из файла переменные с надписями на английском (как их него записать, см. в конце)
Close #1
End Select
' А теперь присваиваем надписям на объектах значение переменных. В зависимости от выбранного пункта в листбоксе Lang значение тех же переменных будет меняться
btn_OK.Caption = OKCap
btn_Cancel.Caption = CancelCap
Label1 = Label1Cap
А зписать данные можно вот так:
Dim OKCap As String, CancelCap As String, Label1Cap As String
OKCap = "ОК"
CancelCap = "Отмена"
Label1Cap = "Надпись 1"
Write #1, OKCap; CancelCap; Label1Cap ' Записываем переменные в файл (важно их расположить в таком порядке, в каком его будет читать программа (Input)
Close #1
Можно заполнить файл на текстовом редакторе. Например, действия для записи, описанные выше будут в файле выглядеть:
Я непроверял этот код на работоспособность, он может вызвать ошибки, но подобные вещи я делал.
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 12.11.06 17:03
Пример чтения/записи ресурсов можно найти поиском, на нешем форуме. Достаточно ввести слово "ресурсы", поставить галку слово целиком, и нажать кнопку Искать
После чтения ресурсов суть не меняется... Хотя...
В файл(в ресурсы) записывать примерно так
Имя лабела=Текст
rus
Label1=Привет Вася
eng
Label1=Hello Vasya
Потом в цикле For Each перебрать все лабелы, проверяя name, или совпадет - устанавливать caption, в соответствии тому что в файле...
Номер ответа: 3
Автор ответа:
Homutke
Вопросов: 1
Ответов: 1
Профиль | | #3
Добавлено: 16.11.06 17:14
Не очень правильно задал вопрос? Русский, английский понятно. А как вывести китайский в unicode?
Номер ответа: 4
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #4
Добавлено: 16.11.06 20:48
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 16.11.06 20:49
Найти лабел поддерживающий юникод...