Можно ли локализовать Vb6 программу на много языков?

  • Автор темы Автор темы IvanAbramov
  • Дата начала Дата начала
I

IvanAbramov

Добрый день.

В чем могут быть основные трудности локалзиации интерфейса программы на VB6?
Насколько я вижу, на два языка (Русский и Английский) локализовать интерфейс нет ни каких проблем.
А, если добавить еще и Украинский, Азербайджанский ...
Как вообще быть с локализацией не юникодовских программ VB6?

Заранее спасибо.
 
Самый простой способ использовать текстовые строки в ресурсе с каким нибудь константным сдвигом. Например строки с 100 по 200 на русском, с 200 до 300 на украинском с 300 до 400 на английском и т.д. И реализовать сдвиг через переменную: txt = LoadResString(100 + iLangShift). Соответственно iLangShift у тебя будет при русском = 0, при украинском - 100, при англ = 200 и т.д. Я делал так.
 
А, если хранить все строки в БД (в mdb-файле), где каждому языку было бы отведено отдельное поле, разве это не буедт удобнее чем файл-ресурсов? Вопрос, вообще говоря не про то или иное удобное хранение, а по реализации...
Как все будет выглядеть в лицевом интерфейсе для пользователя? Ведь, насколько мне известно, все стандартные элементы управления VB6 не поддерживают UNICODE. Т.е. нужно как то на лету менять шрифт или что???
Разъяснил бы кто поподробнее...
 
Ну создаешь процедурку, в которой присваиваешь всем Caption и строкам и т.д. соответствующую строку из ресурсов:
Код:
Public Sub Text_Init()
Command_Button1.Caption = LoadResString(100 + iLangShift)
Label1.Caption = LoadResString(101 + iLangShift)
txtMsgBox = LoadResString(102 + iLangShift)
UserForm1.Caption = LoadResString(103 + iLangShift)
и т.д.
End Sub
И в событии преключения языка вызываешь эту процедуру с соотв. iLangShift:
Код:
Sub optButton_Click(Index as integer)
Select Case Index
Case 0: iLangShift = 0	  'Выбран русский 
Case 1: iLangShift = 100  'Выбран украинский
Case 2: iLangShift = 200  'Выбран английский
End select
Call Text_Init
End Sub

Подробнее уже некуда... ;)
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab