ruslangxpАвтор темы

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

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

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

Krig

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

ruslangxpАвтор темы

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

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

Krig

Цитата: ruslangxp от 19 мая 2021, 12:46:03мне кажется что разрабы специально все эти ресурсы локализации перенесли в ASCIIZ, что-бы их жестко закодированные ресурсы уж точно никто не трогал.
Нет, это навряд ли. В общем начудили с кодировками здорово. Кое что удалось пофиксить, а что-то нет (имена пресетов и аудиоустройств на кириллице во всплывающих сообщениях системного трея будут показаны иероглифами). Сделал на пробу локализацию версии 1.1.7.0 (). В архиве только локализованные файлы программы (FxSound.exe) на замену исходных в соответствии с разрядностью установленного приложения. В принципе все нормально за исключением указанных выше нюансов (там надо писать отдельную функцию, но лучше об этом баге сказать разработчику).

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

ruslangxpАвтор темы

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

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

* Ваши права на сайте

    Light Portal

  • Вы можете просматривать элементы портала
  • Вы не можете управлять блоками
  • Вы не можете управлять своими страницами
  • Вы не можете размещать свои страницы без модерации

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

Яндекс.Метрика Каталог@MAIL.RU - каталог ресурсов интернет