|
|
|
| Помогите кто может!
Нужно сделать перевод интерфейса итальянской программы на VB с базой Access2003:
1. Можно ли (как) сделать запрос на выборку значений свойства caption у этикеток (label)
и меню.
2. Пока итальянцы придумали какой-то код который при открытии формы меняет итал. label
на русский. Как вообще правильно подходить к переводам.
3. в таблицах базы есть поля, в названиях которых используются итал. буквы с ударением, напр. citta' (где a' =1 символ.) На русских виндах это дает ошибку при попытке ввода значения. Можно ли (как) заставить работать или нужно перелопачивать весь код и менять поля с " a' " на обычную "a" | |
|
| |
|
|
|
| 1,2 Только перебором элементов формы с проверкой их типа. Что итальянцы, видимо, и сделали.
3. Главное правило при разработке программ не только для своего села - имена объектов только латинскими символами (коды 32-127). Видимо "перелопачивать" прийдется. | |
|
| |
|
|
|
| на счет "своего села" я так и предполагал. А вот насчет п.1 хотел бы уточнить: можно ли сделать запрос который выдаст в таблицу список всех надписей форм(формы), а то мне приходиться вручную все надписи вбивать в таблицу (Id, ital, rus, eng), к которой потом обращается "код перевода" для их замены. А там и х.. туча и помимо этого есть повторные label, но с разным кол-вом пробелов и многоточий... вот сижу и копирую по очереди ит. надписи в таблицу отлавливаю нужное кол-во пробелов между словами .... (далее непереводимая игра слов) | |
|
| |
|
|
|
| Я правильно вас понял, программа написана на VB?
У вас должны быть исходники, в т.ч. и файлы с расширением FRM (описание формы).
Если так, то процесс можно ускорить, анализируя по очереди текст в этих файлах.
Например, описание надписи выглядит так:
...
Begin VB.Label ProgrammName
Alignment = 2 'Center
BackStyle = 0 'Transparent
Caption = "Установка и обновление"
...
End
|
Читаете построчно или целиком файл как текстовый, находите строчки с Begin VB.Label, левее - имя, через 3 строчки - текст надписи. На основе этих данных добавляете запись в Recordset, открытый на таблице Access.
Наверно культурнее это сделать в среде VB, перебирая формы - в них контролы - проверять тип и добавлять запись в Recordset, в VB такого не делал и синтаксиса не знаю. Поспрошайте на форуме по VB. | |
|
| |
|
|
|
| Дубль убрал. | |
|
| |