Локализация
DkLang, DelLok. Второй, кстати, писал мой коллега.
Создать -> Остальные -> Новое.
DkLang, DelLok. Второй, кстати, писал мой коллега.
мне пакеты надо.
Создать -> Остальные -> Новое.
насколько я помню (пробовал я это когдато) вариант не катит, так как мне надо, чтобы пользователь мог сам выбирать язык.
Все таки страна у нас двуязычная, придется прогу "казахицировать". :)
И пользователь могет говорить как на казахском так и на русском. Поэтому надо дать возможность выбора.
А как быть с зарытыми в глубине строками? (сообщения, предупреждения, текст кнопок, подписей и т.д.)
А в чем проблема с ними?
Как до них добратся самописным локализатором?
К примеру есть СТОРОННИЙ компонент, у него есть некий диолог. Как в нём надписи кнопок и подписей поменять?
почему? этож не дельфиный подход получается! :)
каким образом стоит осуществлять подгрузку файла? В onCreate формы?
Если уж через файлы - то в спец. функции, которую можно вызывать как при загрузке приложения, так и во время работы, для перевода "на лету"
К примеру есть СТОРОННИЙ компонент, у него есть некий диолог. Как в нём надписи кнопок и подписей поменять?
Это уже видимо придется решать на конкретной задаче по разному. Наверное вплоть до отказа от таких компонентов. Хотя, по-моему, большинство компонентов позволяют настраивать свои надписи.
Но вот упоминание о компонентах и тексте на них навели меня на размышления о другой проблеме. Далеко не каждый как сторонний так и стандартный компонент поддерживает Unicode. А вот это уже может вызвать гораздо большие затруднения, если приложение должно поддерживать какой-нибудь язык с Unicode-символами.
Почему обещают, уже есть, испробовано! :)
Подгрузку строк можно осуществлять сразу (при запуске приложения или смене языка локализации), либо по мере необходимости (например перед загрузкой какой-либо формы).
Можно вообще залезть в стандартный функционал загрузки ресурсов формы (dfm) и скармливать для свойств типа Caption, Text и т.д. нужные строки.
В общем, здесь есть где разгуляться буйной фантазии. Былоб желание, да время :)
А почему бы оба варианта не реализовать? На выбор, так сказать, пользователя? ;)
По идее, парсер должен сказать "сохрани вот это..." классу, отвечающему за хранение, а формат его абсолютно не должен волновать. Аналогично и загрузчик: "загрузи мне вот это...". :)
А уж сами классы, отвечающие за хранение строк, каждый сам реализует так, как ему необходимо.
http://sources.codenet.ru/download/2180/Localizator_7z.html
если код сильно быдловатый, то не обессудьте. Но желание улучшить есть, если добавите поддержку например XML-файла или других свойств, то скиньте исходнеги. и жду мнений.
P.S. что планирую добавить:
1. Поддержку свойств Items и Lines
2. Перевод строковых констант, используемых например для StatusBar или для диалоговых окон.