Задавайте вопросы по русификации и мы по возможности ответим
- 
  ОффлайнЗвание: Ветеран Команда сайта Сообщений: 1003 Создано тем: 79 Рейтинг: 8 Репа:  (133|133|0) (133|133|0) Баллы: 1971 Был: 2025-09-11 22:24 Лайков: 216 Цитата: MortenO410Перевод делаю на основе немецкого. Английский интерфейс хочу оставить
 MortenO410, переводить можно с английского языкового файла, он никуда не денется. В проекте Radialix укажите создавать новый файл с именем SeoSpider_ru.properties и все. После перевода полученный файл нужно просто поместить в папку к остальным языковым файлам. 
 В настройках программы язык интерфейса выбрать по языку системы (System).
 На системах с русской локалью интерфейс программы автоматом будет на русском языке. 
 Все языки, в том числе и английский, останутся доступными в любой момент, по желанию пользователя.
 Конечно же, если у пользователя установлена ось отличная от русского, то интерфейса на русском у него не будет. В этом случае можно вручную в файлах конфигурации программы ScreamingFrogSEOSpider.l4j.ini и ScreamingFrogSEOSpiderCli.l4j.ini, которые находятся в папке приложения по месту его установки, убрать признак комментария у параметра -Duser.language и указать для него значение ru, т.е. получится вот так -Duser.language=ru. Об этом, кстати, написано в самих файлах конфигурации. 
 Да, еще момент!
 В программе есть ещё одно место с языковыми файлами, в которых находятся строки интерфейса (диалоги настроек, отладка и прочее), отсутствующие в основном языковом файле. Это файл utils-1.0-SNAPSHOT.jar из папки "lib" в каталоге с установленной программой. 
 Таким образом необходимо сделать ещё языковой файл Utils_ru.properties.
 Подводя итог вышесказанному.
 Чтобы интерфейс программы стал на русском достаточно сделать и добавить языковые файлы:
 1) SeoSpider_ru.properties для файла ScreamingFrogSEOSpider.jar (подпапка "translations");
 2) Utils_ru.properties для файла utils-1.0-SNAPSHOT.jar (подпапка "translations");
 3) В ScreamingFrogSEOSpider.l4j.ini и ScreamingFrogSEOSpiderCli.l4j.ini указать параметр -Duser.language=ru.
 На этом все.  
 Желаю удачи!Сообщение отредактировал Leserg 27 июля 2024 - 00:34Кто ищет, тот всегда найдет! 
 27 июля 2024 - 00:18 / #1951
- 
  ОффлайнЗвание: Ветеран ИНКВИЗИТОР Сообщений: 854 Создано тем: 119 Рейтинг: 8 Репа:  (201|201|0) (201|201|0) Баллы: 4985 Был: 2025-10-31 11:31 Лайков: 320 Цитата: LesergНа этом все.
 Желаю удачи!
 Как всегда ответ на высшем уровне!"В одно окно смотрели двое. Один увидел дождь и грязь. 
 Другой — листвы зеленой вязь. Весну и небо голубое.
 В одно окно смотрели двое... "
 У нас свободный форум! Но в рамках приличий ! Конструктивная критика по существу с обратной связью !27 июля 2024 - 19:03 / #1952
- 
  Цитата: LesergВ настройках программы язык интерфейса выбрать по языку системы (System).
 На системах с русской локалью интерфейс программы автоматом будет на русском языке.
 А можно добавить в соответствующее меню Russian чтобы выбиралось не через (System)?28 июля 2024 - 01:23 / #1953
- 
  Цитата: LesergЧтобы интерфейс программы стал на русском достаточно сделать и добавить языковые файлы:
 1) SeoSpider_ru.properties для файла ScreamingFrogSEOSpider.jar (подпапка "translations");
 2) Utils_ru.properties для файла utils-1.0-SNAPSHOT.jar (подпапка "translations");
 3) В ScreamingFrogSEOSpider.l4j.ini и ScreamingFrogSEOSpiderCli.l4j.ini указать параметр -Duser.language=ru.
 Еще есть и третий ресурс в котором находятся строки для перевода, это файл:
 controls_de.properties
 который находится в javafx-controls-17.0.9-ea+c36-win.jar28 июля 2024 - 01:30 / #1954
- 
  ОффлайнЗвание: Ветеран Команда сайта Сообщений: 1003 Создано тем: 79 Рейтинг: 8 Репа:  (133|133|0) (133|133|0) Баллы: 1971 Был: 2025-09-11 22:24 Лайков: 216 Цитата: MortenO410А можно добавить в соответствующее меню Russian чтобы выбиралось не через (System)?
 Да, можно.
 Для этого нужно отредактировать SupportedLanguage.class в файле utils-1.0-SNAPSHOT.jar по пути "ukcoscreamingfrogutilslanguagemanager". 
 Этот файл можно найти по одному из имён языков, которые отображаются в списке выбора.
 К примеру я использовал для поиска имя "English (UK)" - строка нашлась только в файле SupportedLanguage.class.
 Самый простой вариант создания возможности выбора Русского языка интерфейса - это замена одного из языков (кроме Английского) в списке на Русский.
 ВАЖНО! Перед началом каких-либо модификаций с любыми файлами приложения обязательно сделайте их резервную копию.
 Вариант I
 Используем инструмент InJarTranslator. Он работает с файлами JAR напрямую, поэтому извлекать их них ничего не нужно. Запускаем инструмент, открываем файл utils-1.0-SNAPSHOT.jar, идём по пути "ukcoscreamingfrogutilslanguagemanagerSupportedLanguage", пролистывая список (или используем инструмент поиска), и изменяем значения выбранного языка, например, Итальянского, на Русский. Замену нужно сделать для идентификатора языка, его названия и аббревиатуры.
 ITALIAN -> RUSSIAN
 Italiano (Italia) -> Russian (Russia)
 it -> ru 
 После редактирования получится вот так: 
 Нажимаем кнопку "Сохранить JAR". Инструмент сообщит об успешном выполнении операции.
 После этого Русский будет в списке доступных языков вместо Итальянского. 
 Вместо инструмента InJarTranslator можно использовать древний инструмент InClassTranslator.
 На удивление он без проблем справился с файлом SupportedLanguage.class: 
 Но в отличие от InJarTranslator, придётся извлечь файл SupportedLanguage.class из utils-1.0-SNAPSHOT.jar, а после редактирования вставить обратно, заменив исходный.
 Вот и все. Работы на полминуты.
 Теперь вы знаете, как можно сделать возможность выбора Русского языка в настройках программы, хотя для этого пришлось пожертвовать другим языком.
 Если же хочется сделать все по "фэн-шую", а именно добавить, то необходимо потратить немного больше времени.
  Смотрящий нравится это сообщение. Смотрящий нравится это сообщение.Кто ищет, тот всегда найдет! 
 28 июля 2024 - 21:55 / #1955
- 
  ОффлайнЗвание: Ветеран Команда сайта Сообщений: 1003 Создано тем: 79 Рейтинг: 8 Репа:  (133|133|0) (133|133|0) Баллы: 1971 Был: 2025-09-11 22:24 Лайков: 216 Вариант II
 Теперь собственно добавление Русского языка в существующий список выбора.
 Для этого необходимо декомпилировать файл SupportedLanguage.class в исходник SupportedLanguage.java, отредактировать его, добавив запись о русском языке, и скомпилировать обратно в файл формата .class.
 Итак, извлекаем файл SupportedLanguage.class из utils-1.0-SNAPSHOT.jar. Для декомпиляции в исходный код можно воспользоваться как специализированными инструментами, например, Bytecode Viewer, или используя специализированные онлайн службы, например, Java Decompiler Online (коротко - JDec).
 Для примера возьмем онлайн сервис - JDec. На главной странице загружаем файл SupportedLanguage.class и получаем исходник. 
 Справа вверху щелкаем по строке SupportedLanguage.java и загружаем полученный исходник к себе на ПК.
 Открываем его текстовом редакторе, например, Notepad++. Будем редактировать. Исходная кодировка файла UTF-8, а формат конца строк - Unix. Не трогаем и не изменяем их! Вам потребуются минимальные знания по программированию Java. Нужно просто добавить языковой идентификатор, имя и название языка, действуя так, как это сделано для уже имеющихся языков.
 В начале кода сценария идет объявление массива с данными поддерживаемых языков: 
 По аналогии с этим списком, после строки ITALIAN("Italiano (Italia)", "it") и перед знаком точки с запятой, ставим запятую и с новой строки вводим строку RUSSIAN("Русский (Россия)", "ru"): 
 На этом редактирование завершено, сохраняем сделанные изменения.
 Теперь самое интересное. Компилировать обратно в class-файл нужно в той же версии Java, которую использовали для сборки исходной версии SupportedLanguage.class. Для этого изучаем спецификацию формата .class. 
 Первые четыре байта (u4 - magic) - это магическое число, которые определяют формат файла .class. Оно никогда не изменяется и равно CAFEBABE.
 Следующие 2 байта (u2 - minor_version) - младшая версия.
 Еще следующие 2 байта (u2 - major_version) - старшая версия.
 Остальные данные нам не нужны, главное - версия. Открываем исходный файл SupportedLanguage.class в шестнадцатеричном редакторе и смотрим версию class-файла: 
 Младшая версия - 0. Старшая версия - 3D, в десятичном формате 61. Теперь ищем в инете, какой выпуск компилятора Java соответствует версии 61 class-файла. Например здесь можно узнать, что это Java 17.
 Идем на страницу загрузок Java и загружаем пакет JDK 17 для разработчиков на платформе Windows. Если у вас другая платформа, то выбираете соответствующую. 
 Устанавливаем, перегружаем ПК. Я делал все это на виртуальном ПК.
 Перед компиляцией необходимо воссоздать исходные условия, при которых была выполнена сборка оригинальных файлов программы, и подготовить зависимости.
 Под исходными условиями имеется в виду структура каталогов, где находится файл, который необходимо собрать. В данном случае мы знаем, что файл SupportedLanguage.class находится в файле utils-1.0-SNAPSHOT.jar по пути "ukcoscreamingfrogutilslanguagemanager".
 Зависимости - это другие файлы (или библиотеки), без которых сборка исходного файла будет невозможной. В любых исходниках эти зависимости указываются в самом начале кода. В данном случае в файле SupportedLanguage.java указаны следующие зависимости (смотрите в директивах import):
 uk.co.screamingfrog.utils.i18n.UtilsKeys - это файл UtilsKeys.class по пути "ukcoscreamingfrogutilsi18n";
 uk.co.screamingfrog.utils.utils.Translatable - это файл Translatable.class по пути "ukcoscreamingfrogutilsutils".
 На системную библиотеку java.util.Optional не обращаем внимание - она уже имеется после установки Java.
 В свою очередь у этих файлов могут быть свои зависимости и т.д. Таким образом, чтобы не морочить себе голову выискиванием всех зависимостей, проще при компиляции нашего файла использовать все содержимое подкаталога "uk" из файла utils-1.0-SNAPSHOT.jar.
 Итак, поехали.
 1) Создайте на диске С: папку с коротким именем, например, "LANG",
 C:LANG - этот каталог будет корневым для компиляции файла.
 2) Распакуйте в папку "LANG" папку "uk" из файла utils-1.0-SNAPSHOT.jar со всем содержимым (C:LANGuk).
 3) Скопируйте в папку "languagemanager" наш модифицированный файл SupportedLanguage.java. Полный путь к нему будет выглядеть так:
 C:LANGukcoscreamingfrogutilslanguagemanagerSupportedLanguage.java
 4) В папке "LANG" (C:LANG) создайте каталог с именем файл JAR, из которого мы извлекали файл SupportedLanguage.class, т.е. с именем "utils-1.0-SNAPSHOT" без расширения jar. В эту папку компилятор выведет собранный исходный файл.
 По итогу у вас должно получиться так:  
 Компиляцию нужно выполнять из начального каталога (см. пункт 1), т.е. C:LANG.
 Открываем в этом каталоге окно командной строки (с правами администратора) и вводим следующую строку:
 javac -encoding UTF-8 -d utils-1.0-SNAPSHOT ukcoscreamingfrogutilslanguagemanagerSupportedLanguage.java 
 здесь javac - компилятор командной строки java;
 -encoding UTF-8 - параметр кодировки файла - UTF-8;
 -d utils-1.0-SNAPSHOT - параметр вывода скомпилированного файла - папка "utils-1.0-SNAPSHOT";
 ukcoscreamingfrogutilslanguagemanagerSupportedLanguage.java - относительный путь и имя исходного файла для компиляции.
 ... и нажимаем клавишу "Ввод". Будет выполнена компиляция. 
 Компилятор выдал 1 предупреждение о небезопасной операции. Чтобы узнать в каком месте кода это произошло, необходимо выполнить перекомпиляцию файла с параметром -Xlint:unchecked. Но если вы не программист на языке Java, то этот вам ни о чём не скажет. Поэтому в данном случае игнорируем это предупреждение. Главное, чтобы не было ошибок.
 Идём в папку "utils-1.0-SNAPSHOT" и берём там новый файл SupportedLanguage.class (не пугайтесь - компилятор воссоздал структуру каталогов для этого файла, т.е. так, как это действительно в оригинальном файле utils-1.0-SNAPSHOT.jar).
 Теперь копируем этот файл в utils-1.0-SNAPSHOT.jar по месту установки программы, подтверждая его замену. 
 Теперь запускаем программу и идем в настройки языка. Русский язык появился в списке выбора наряду с другими языками. 
 Таким образом мы успешно добавили Русский в список доступных языков и предоставили пользователю возможность его выбора.
 Вот и всё. Работы на пять минут Смотрящий нравится это сообщение.Сообщение отредактировал Leserg 28 июля 2024 - 22:41 Смотрящий нравится это сообщение.Сообщение отредактировал Leserg 28 июля 2024 - 22:41Кто ищет, тот всегда найдет! 
 28 июля 2024 - 22:29 / #1956
- 
  ОффлайнЗвание: Ветеран Команда сайта Сообщений: 1003 Создано тем: 79 Рейтинг: 8 Репа:  (133|133|0) (133|133|0) Баллы: 1971 Был: 2025-09-11 22:24 Лайков: 216 Цитата: MortenO410Еще есть и третий ресурс в котором находятся строки для перевода, это файл:
 controls_de.properties, который находится в javafx-controls-17.0.9-ea+c36-win.jar
 Это компонент JavaFX, который использовался при создании программы. Не уверен, что из него читаются строки. Хотя все возможно. Если добавите языковой файл русского (controls_ru.properties), то лишним он, думаю, не будет.
 Пробуйте, вам все карты в руки.Кто ищет, тот всегда найдет! 
 28 июля 2024 - 22:52 / #1957
- 
  Цитата: LesergИспользуем инструмент InJarTranslator.
 Этим инструментов никогда не пользовался. Очень понравился в использовании пр редактировании файлов *.class. Спасибо29 июля 2024 - 23:35 / #1958
- 
  Цитата: LesergВместо инструмента InJarTranslator можно использовать древний инструмент InClassTranslator
 При редактировании данным инструментом файла *.class как преобразовать обратно полученный файл с расширением в *.class?
 Потому что я при использовании MobiTrans после редактирования файла *.class получив 3 файла на выходе (GA4ColumnHeaderType.class.rus, GA4ColumnHeaderType.class.txt, GA4ColumnHeaderType.class.loc) и просто в файле GA4ColumnHeaderType.class.rus корректирую расширение на GA4ColumnHeaderType.class. В результате получается файл с переводом29 июля 2024 - 23:44 / #1959
- 
  Приветствую. можно ли русифицировать файлы такого типа VectorScribe.aip и каким образом? Сообщение отредактировал WYLEK 10 ноября 2024 - 08:5325 октября 2024 - 12:57 / #1960 Сообщение отредактировал WYLEK 10 ноября 2024 - 08:5325 октября 2024 - 12:57 / #1960
Статистика форума, пользователей онлайн: 0 (за последние 20 минут)
- Создано тем
- 1223
- Всего сообщений
- 16492
- Пользователей
- 18276
- Новый участник
- emadwizard
 Гость
Гость

 
       
       
      