Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
помогите разобраться, в новой 1.1.6 версии fxsound pro все возможные ресурсы для локализации перенесли из widez в ASCIIZ, и после перевода на русский ASCIIZ строки коряывозябро отображают кириллицу в интерфейсе программе.
уже в rdlx менял и кодировку и шрифт и все равно ни как по русский не показывает переведённое в ASCIIZ, спрашивал у 78Sergey и он туту бессилен
Брать отладчик и смотреть, разбираться. Но лучше всего написать об этом разработчику, т.к. например при вводе нового пресета кириллицей, имя пресета в сообщениях отображается некорректно. В предыдущих версиях с этим проблем не было.
Брать отладчик и смотреть, разбираться. Но лучше всего написать об этом разработчику, т.к. например при вводе нового пресета кириллицей, имя пресета в сообщениях отображается некорректно. В предыдущих версиях с этим проблем не было.
мне кажется что разрабы специально все эти ресурсы локализации перенесли в ASCIIZ, что-бы их жестко закодированные ресурсы уж точно никто не трогал........
мне кажется что разрабы специально все эти ресурсы локализации перенесли в ASCIIZ, что-бы их жестко закодированные ресурсы уж точно никто не трогал.
Нет, это навряд ли. В общем начудили с кодировками здорово. Кое что удалось пофиксить, а что-то нет (имена пресетов и аудиоустройств на кириллице во всплывающих сообщениях системного трея будут показаны иероглифами). Сделал на пробу локализацию версии 1.1.7.0 ([invisible guests=1]скачать - пароль ru-board[/invisible]). В архиве только локализованные файлы программы (FxSound.exe) на замену исходных в соответствии с разрядностью установленного приложения. В принципе все нормально за исключением указанных выше нюансов (там надо писать отдельную функцию, но лучше об этом баге сказать разработчику).
Если коротко, то строки интерфейса из кодировки ANSI преобразуются в UTF-8 по упрощенному методу (набор символов Latin). А вот строки, в которых имеется спецификатор (%s) преобразуются дважды. Значение спецификатора программа получает в кодировке UTF-16. Затем сама строка со спецификатором преобразуется в кодировку UTF-8. Потом в эту уже преобразованную строку вместо спецификатора подставляется само значение в кодировке UTF-16 и окончательный вид строки снова, еще раз!!!, преобразуется в кодировку UTF-8. По итогу полученная строка выводится на экран. Латиница с такими преобразованиями как была, так и останется. А вот строки с другим набором символов превращаются в говно. Вывод самих строк я поправил, а значения спецификаторов - нет.
Если коротко, то строки интерфейса из кодировки ANSI преобразуются в UTF-8 по упрощенному методу (набор символов Latin). А вот строки, в которых имеется спецификатор (%s) преобразуются дважды. Значение спецификатора программа получает в кодировке UTF-16. Затем сама строка со спецификатором преобразуется в кодировку UTF-8. Потом в эту уже преобразованную строку вместо спецификатора подставляется само значение в кодировке UTF-16 и окончательный вид строки снова, еще раз!!!, преобразуется в кодировку UTF-8. По итогу полученная строка выводится на экран. Латиница с такими преобразованиями как была, так и останется. А вот строки с другим набором символов превращаются в говно. Вывод самих строк я поправил, а значения спецификаторов - нет.