Prisoner |
30-06-2003 02:18 208576 |
Угу, сабж. Вот скажем такая штука - нажал кнопочку в меню "По щучьему велению, по Гейтсову хотению, стань программа вся по русски такая..." и волшебным образом все преобразилось и засверкало могуществом русского... языка ;). Нажал другую кнопочку и опять все на аглицком, али на французззском, воть. Никто такой проблемой не заморачивался или рядом с ним решения оной не пролетало? Не охота изобретать колесо :\
|
APOSTOL |
30-06-2003 08:44 208577 |
Если программа не очень большая - проще поставить две (отдельно русскую, отдельно - на другом) в соседние каталоги.
|
DYURIK |
30-06-2003 09:50 208578 |
Ну можно все Caption сохранять например в файле *.lng (видил как в опере....). И всё при загрузке программы тянуть надписи с этого файла, да и проще будет перевод на разные языки твоего творения надо просто заменить этот файл.....
Если програмишь на Делфи или С++Билдере то там есть фича, которая позволяет изменять язык твоей прори в зависимости от языка операцыонной системы......
Дерзай!!!!!!!!!!!!
|
Prisoner |
01-07-2003 08:06 208579 |
А вот какое решение получилось у меня в итоге:
Код:
//Запись определяющая переводы объекта. Name - имя компонента.
//пусть первый элемент массива Caption соответствует русскому языку,
//2ой - английскому.
//Для компонент имеющих сложную структуру - помимо собственного заголовка
//еще и элементы тоже подлежащие переводу, массив Caption заполнять следующим
//образом - .Caption[1]:='Заголовок*Элемент1*Элемент2*...*ЭлементN';
// .Caption[2]:='Caption*Item1*Item2*...*ItemN';
//или без Заголовок/Caption если он не нужен
Type
TCmpCaptions = Record
Name: String;
Caption: Array [1..2] Of String;
End;
TACmpCaptions = Array of TCmpCaptions;
//выполняет поиск компонент на родителе Owner, сравнивая их имена с именами
//в массиве CmpCaptions и если обнаружит совпадение выполнит смену кэпшена
//на строку из соответствующей записи массива, с учетом стороны перевода
//Возвращаемое значение - число непереведенных компонент
Function MakeTranslate(Owner: TComponent; LangType: Integer; CmpCaptions: TACmpCaptions): Integer;
Есть нарекания? Советы?
|
Время: 19:31.
© OSzone.net 2001-