logo
logo
Англоязычная версия [Шанхай 30/01/2004 05:09]
А когда мы будем "инджой инглиш вершен"? Или будем ли?
 
Dervish: Докладываю:
 
В AbilityCash предусмотрена возможность перевода на другие языки. Для этого было сделано:
 
1. Вся программа работает на Unicode, а для Windows`95 (98/Me) предусмотрена автоматическое перекодирование всех строк в Ansi. Кстати, формат базы данных тоже построен на основе Unicode (это одна из причин, почему вырос размер базы).
 
2. Все текстовые подписи вынесены в отдельный модуль, который допускает загрузку другого языка из файла. После загрузки всем окнам программы рассылается специальное сообщение, в обработке которого перегружаются все текстовые пометки и заново выравниваются все контролы (текст может оказаться длиннее).
 
А вот что ещё предстоит сделать:
 
1. Надо будет добавить на диалог настроек ещё комбо-бокс, в котором будут перечисляться доступные языки. Планируется, что заполняться этот комбо-бокс будет динамически, после просмотра всех файлов, которые будут лежать в папке программы.
 
2. Надо будет выложить и откомментировать файл с русским языком. Тогда желающие смогут самостоятельно перевести его не только на английский, но и вообще на любой другой язык мира. Правда, тут надо оговориться, что я пока не занимался языками, в которых слова пишутся справа налево, тут мне будет нужна помощь в отладке.
 
Кстати, можно будет не только перевести программу, но и, например, поменять какие-то сообщения, текстовые подписи... В общем, "подогнать" программу под себя.
 
Языковой файл будет очень сильно напоминать по структуре файлы "*.ini". Вот небольшой пример:
 
; Русский язык в AbilityCash.
; Комментарий начинается с символа ";"
 
; Общие данные о переводе
[TranslatedBy]
name=(Enter your name here)
email=your@email.here
page=http://your.page.here
 
; Кодовая страница языка.
[Language]
CodePage=1251
 
; Метки валют
[Currencies]
1=&Название валюты:
2=&Обозначение:
3=&Знаков после запятой:
 
; Несколько строк удалено
; Кто хочет, сможет тут заменить на "Валюта"
11=$$
 
; Сообщения страницы и диалога валют
; Часть длинных строк убрал, чтобы вместилось в форуме
[Messages.Currency]
2=Не указано название валюты.
Пожалуйста, введите название.
3=Не указано обозначение валюты.
Пожалуйста, введите обозначение.
7=Вы действительно хотите удалить
валюту "%s" ?
 

Небольшое замечание: языковой файл должен быть тоже в формате Unicode. Поэтому изменять его можно будет обычным блокнотом, но только под Windows`NT (2000, XP), либо в какой-то специальной программе под Windows`95 (98/Me). Но пока у меня не было планов делать эту специальную программу.
 
Я пока не выкладываю этот файл целиком потому что он ещё правится и дорабатывается.