ASCIIZ

помогите разобраться, в новой 1.1.6 версии fxsound pro все возможные ресурсы для локализации перенесли из
  1. Оффлайн

    Автор темы

    ruslangxp

    Звание: Ветеран

    Администратор

    Сообщений: 1378

    Создано тем: 137

    Рейтинг: 8

    Репа: (220|220|0)

    Баллы: 9396

    Страна: не указана!

    Был: 2024-05-01 23:54

    Лайков: 207

    помогите разобраться, в новой 1.1.6 версии fxsound pro все возможные ресурсы для локализации перенесли из widez в ASCIIZ, и после перевода на русский ASCIIZ строки коряывозябро отображают кириллицу в интерфейсе программе.

    уже в rdlx менял и кодировку и шрифт и все равно ни как по русский не показывает переведённое в ASCIIZ, спрашивал у 78Sergey и он туту бессилен

    что то можно сделать?????

    @RuslangXP

    15 мая 2021 - 10:56 / #1
  2. Оффлайн

    Krig

    Звание: Бывалый

    Знаток

    Сообщений: 188

    Создано тем: 7

    Рейтинг: 4

    Репа: (86|86|0)

    Баллы: 56

    Был: 2023-03-14 15:26

    Лайков: 82

    Цитата: ruslangxp
    что то можно сделать?????


    Брать отладчик и смотреть, разбираться. Но лучше всего написать об этом разработчику, т.к. например при вводе нового пресета кириллицей, имя пресета в сообщениях отображается некорректно. В предыдущих версиях с этим проблем не было.
    16 мая 2021 - 20:48 / #2
  3. Оффлайн

    Автор темы

    ruslangxp

    Звание: Ветеран

    Администратор

    Сообщений: 1378

    Создано тем: 137

    Рейтинг: 8

    Репа: (220|220|0)

    Баллы: 9396

    Страна: не указана!

    Был: 2024-05-01 23:54

    Лайков: 207

    Цитата: Krig
    Брать отладчик и смотреть, разбираться. Но лучше всего написать об этом разработчику, т.к. например при вводе нового пресета кириллицей, имя пресета в сообщениях отображается некорректно. В предыдущих версиях с этим проблем не было.



    мне кажется что разрабы специально все эти ресурсы локализации перенесли в ASCIIZ, что-бы их жестко закодированные ресурсы уж точно никто не трогал........

    @RuslangXP

    19 мая 2021 - 12:46 / #3
  4. Оффлайн

    Krig

    Звание: Бывалый

    Знаток

    Сообщений: 188

    Создано тем: 7

    Рейтинг: 4

    Репа: (86|86|0)

    Баллы: 56

    Был: 2023-03-14 15:26

    Лайков: 82

    Цитата: ruslangxp
    мне кажется что разрабы специально все эти ресурсы локализации перенесли в 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. По итогу полученная строка выводится на экран. Латиница с такими преобразованиями как была, так и останется. А вот строки с другим набором символов превращаются в говно. Вывод самих строк я поправил, а значения спецификаторов - нет.
    78Sergey нравится это сообщение.
    Сообщение отредактировал ruslangxp 22 мая 2021 - 11:17
    21 мая 2021 - 23:47 / #4
  5. Оффлайн

    Автор темы

    ruslangxp

    Звание: Ветеран

    Администратор

    Сообщений: 1378

    Создано тем: 137

    Рейтинг: 8

    Репа: (220|220|0)

    Баллы: 9396

    Страна: не указана!

    Был: 2024-05-01 23:54

    Лайков: 207

    Цитата: Krig
    Если коротко, то строки интерфейса из кодировки ANSI преобразуются в UTF-8 по упрощенному методу (набор символов Latin). А вот строки, в которых имеется спецификатор (%s) преобразуются дважды. Значение спецификатора программа получает в кодировке UTF-16. Затем сама строка со спецификатором преобразуется в кодировку UTF-8. Потом в эту уже преобразованную строку вместо спецификатора подставляется само значение в кодировке UTF-16 и окончательный вид строки снова, еще раз!!!, преобразуется в кодировку UTF-8. По итогу полученная строка выводится на экран. Латиница с такими преобразованиями как была, так и останется. А вот строки с другим набором символов превращаются в говно. Вывод самих строк я поправил, а значения спецификаторов - нет.



    это только вам и по силам!

    @RuslangXP

    22 мая 2021 - 11:16 / #5

Статистика форума, пользователей онлайн: 0 (за последние 20 минут)

---
Создано тем
1177
Всего сообщений
15352
Пользователей
17855
Новый участник
granIT