Русификация приложений на VLF Library
Доброго времени суток, думаю все помнят о существовании VLF Library - фреймворка созданного в относительно далеком прошлом самим Dark_AleX (ссылка). Данный фреймворка позволяет минимум использовать оформление в стиле Sony UPDATER, а также таит в себе немало интересных возможностей, связанных с использованием объектов из *.rco.
Все началось с того момента, как Frostegater стал писать прогу Everest, когда еще она тестировалась, я его начал допекать: "почему ты не сделаешь прогу с поддержкой русского языка?" Однако, когда уговоры начали потихоньку помогать и мы стали терзать VLF возникли интересные проблемы. В документации к VLF существует как раз нужная функция: Код:
/** Далее пошло время разных попыток и бредовых идей), в том числе даже о переписке библиотеки intraFont оговаривалось... (Хорошо, что дальше этого "оговаривания" дело не пошло :) ) Через некоторое время я, подумав, решил попробовать пойти путем, как бы это сказать правильно - несколько нестандартным... Код:
/** Код:
vlfGuiAddTextResource("ms0:/lang.rco", "my_resource_value", 10, 180); Код:
vlfGuiGetLanguage(); Однако у такого метода есть недостатки, о которых мне тут же "напомнил" Frost:
Но когда загрузка русского текста из RCO удалась, Frost выдал интересную идею: в каком же формате хранится текст в rco что он нормально воспроизводится через VLF? Данная идея оказалась ключевой.... Через некоторое время из RCO удалось вытащить русский алфавит, вот он кстати: (Вначале идёт буква, затем следует два хекс значения) Код:
А 1004 Далее интересный факт: чтобы понять что это за кодировка такая (4D04, 3904 и т.д.) понадобился не один час :blush:, забавно да? (для тех кто не понял - вопрос на засыпку в каком порядке пишутся символы в prx? (Пример "Загадочной кодировки") Надеюсь, что помогли кому-то (с) Frostegater & vit9696 2011. |
1. Кодировку языков в прошивке давным-давном разбирали. Поискали бы хоть для начала...
2. Какая проблема взять путь к хомке как нолевой параметр минус последние 9 символов (eboot.pbp) и плюс имя rco? P.S. По первым двум представителям алфавита видно, что это utf16le (с высокой вероятностью). |
Yoti, кстати ты не в курсе как можно заюзать vlfAddTextW подобно vlfAddTextF (этот умеет выводить статус функции.. ну типо vlfAddTextF("%d", alpha);)...?
|
Собирать строку с параметром отдельной функцией до вывода.
strcat или sprintf(swprintf). |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Однако интересует другой вопрос, если строку с параметром собрать таким образом можно, то как же собрать пункты меню? Там так не сделаешь..... |
Цитата:
Код:
int main(int argc, char *argv[]) |
Текущее время: 11:46. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.