Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Подкинте пример мультиязыкового приложения. Добавлено: 09.11.06 15:20  

Автор вопроса:  Homutke
Лучше несколько вариантов ( хранение в ресурсах и в текстовых файлах).

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 »VladikComper«



ICQ: 419668582 

Вопросов: 23
Ответов: 147
 Web-сайт: vladikcomper.narod.ru
 Профиль | | #1
Добавлено: 12.11.06 11:23
Мультиязыкового? Не знаю, как это сделать с ресурсами, но есть один способ: через функцию Open! Создаешь 2 текстовых файла - с разными языками. Сделай в программе, скажем форму для выбора языка, которая отображается при запуске программы. Допустим язык выбирается листбоксом Lang. Создадим кнопку, которая применяет к программе язык:

Salect Case Lang.ListIndex
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


А зписать данные можно вот так:

Open "русский.txt" For Output As #1 ' Откроем файл для записи
Dim OKCap As String, CancelCap As String, Label1Cap As String
OKCap = "ОК"
CancelCap = "Отмена"
Label1Cap = "Надпись 1"
Write #1, OKCap; CancelCap; Label1Cap ' Записываем переменные в файл (важно их расположить в таком порядке, в каком его будет читать программа (Input)
Close #1


Можно заполнить файл на текстовом редакторе. Например, действия для записи, описанные выше будут в файле выглядеть:

"ОК","Отмена","Надпись 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
А как вывести китайский в unicode?
уу, расчет на широкую публику :)

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 16.11.06 20:49
Найти лабел поддерживающий юникод...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам