Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
Локализация джава - перевод файлов с расширением .properties и .class в Radialix
Инструменты для этого действия-злодействия...
Radialix - шаблонный редактор
PSPad - текстовый редактор
TotalCommander - командир какой то
In Class Translator - локализатор файлов .class
MobiTrans - те же грабли...
Кролик - JaBack10
Идея написать руководство была еще год назад, когда поступил заказ перевести программу для игр в карты Poker Office, но заказчик испарился, а карты мне пофиг, то проект был сверну и забыт. Но вот подогнали программу JaBack.10, а там такие же ресурсы, да и файлы с .properties на 3000 строк, и файлы с .class на 2500 строк, то переводить одни в блокноте а другие в In Class Translator желания ни какого у меня не наблюдалось. Да и локализовать это чудо с такими инструментами затруднительно. Если в программе Poker Office один файл .class со всеми ресурсами, то в JaBack.10 их штук 200. Но, метод у меня уже был, два вечера потратил на проект для Radialix, и теперь можно локализовать эти классы, и есть возможность поддерживать обновление программы.
1. Перевод файлов с расширением .properties
Конечно, для этого расширения существует хороший инструмент attesoro v1.8, который делает на выходе правильную кодировку.
Но он хороший до тех пор, пока размер ресурса строк на 20. А если 3000 строк? То при локализации запутаешься что и где. Тут начинаешь чесать бестолковкуи искать другие пути решения проблемы. При рассмотрении структуры файла первое что бросается в глаза, что это не что иное, как расширение .ini. Тут уже легче - можно в блокноте перевести, но как вспомнишь про локализацию, то этот метод сразу отодвигается на второй план. Почему енто так?? Например: вам не понравился перевод строки, а вражий текст уже исчез, и надо искать его в исходном файле. Бред какой то. Для этого лучше всего подключить всю мощь Radialix. Тут уж в своей тарелке, и работать одно удовольствие.
Что надо сделать для проекта в Radialix. Создаем папку енг и кидаем туда файл с расширением .properties
Делаем проект в Radialix на файл с расширением .ini. В свойствах проекта на вкладке Локализованные файлы уберите гальку и направьте путь создаваемого файла на файл с расширением .properties. То есть надо сразу создавать файл для джавы а не текстовый файл с последующим изменением расширения.
3. Запускаем PSPad и выбираем локализованный файл с расширением .properties
4. Выбираем опцию Конвертеры пользователя и преобразуем в нужную кодировку ресурсы. Сохраняем изменения.
5. Файл готов для использования в джава
Я думаю, что проблем не возникнет для локализации этого расширения. Идем дальше...
2. Перевод файлов с расширением .class
Продолжаем ...
Кролик - Poker Office, в архиве файл проекта Radialix и распакованная программа с готовыми файлами для перевода
Итак добираемся до расширения .class
Это бинарный файл и открыть его в Radialix не получится. Когда в программе Poker Office я открыл файл с расширением .class для перевода в In Class Translator, и увидел сколько там строк, то кроме стишка << Стою на асфальте я в лыжи обутый....>> ничего на ум не пришло. Начал рыть инет на локализаторы классов. Нашел еще три штуки кроме In Class Translator, но все программы работали с построчным переводом и дебильные какие то. Ну, начал было делать перевод, а термины то незнакомые, локализация так и просится. Не то. Начал изучать программы для этих классов - что создают, как создают и какие расширения файлов. Свет в конце тоннеля заблымал. Выбрал две программы одного автора.
1. In Class Translator - по отзывам в нете , это самый надежный инструмент. Поддерживает эдакую память переводов при создании русского текста. Это для нас плюс.
2. MobiTrans - создает локализованный файл (это нам ни к чему), русские строки (это то, что надо) и английские строки.
Просмотрев кишки выходных файлов я решил, что In Class Translator вместе со своей памятью переводов будет основным инструментом, а MobiTrans создаст исходный файл, который будет скормлен Radialix. Теперь по порядку и с картинками.
In Class Translator создает локализованный файл и русский текст. Перевод помечается в списке зеленым цветом. Создайте файл с русским текстом
Теперь у нас два пути создать исходный файл для Radialix. Первый это надо запустить MobiTrans, щелкнуть по первой строчке и в окошке перевода строку за строчкой поместить вниз. Потом сохранить только русский текст. Это будет файл для проекта Radialix
Но 850 строк это долго, и если не хотите такого богачества, то сделайте файл для проекта Radialix в Microsoft Excel (я так и поступил в свое время). Данные в левую колонку содержатся в файле с расширением .loc, а в правую колонку с расширением .txt. В конце концов у нас получается файл со структурой расширения .ini
Дайте расширение этому файлу .ini и сделайте проект в Radialix. Теперь настройки проекта.
Исходный файл - это файл с расширением .ini. В свойствах проекта на вкладке Локализованные файлы уберите гальку и направьте путь создаваемого файла на файл с расширением .rus
2. Создаем локализованный файл. Заметьте - файл создается в память переводов In Class Translator, это файл с расширением .rus
3. Запускаем In Class Translator и нажимаем кнопку Save. Программа возьмет ваш перевод из файла с расширением .rus и создаст конечный файл 4. Файл готов для использования в джава
Вот и вся беда. А теперь немного о ситуации, когда классов дохрена и трошки...
Шаги работы такие.
1. Открываете классы один за одним и увидев ресурсы просто создаете файл с русским текстом в In Class Translator
2. После удаления классов без ресурсов опять откройте классы в MobiTrans один за одним и все ресурсы в окне перевода забейте вниз
После завершения этой процедуры делаем проект в Radialix и работаем как написано выше. Что это дает - да практически все, как и работа с другими расширениями файлов для локализации.
Может я чего не понимаю, но почему нельзя сразу в PSPad-е открыть файл с расширением .properties, перевести его и сохранить? Я эту прогу специально держу для файлов с расширением .properties. И Radialix вроде не треба?
Может я чего не понимаю, но почему нельзя сразу в PSPad-е открыть файл с расширением .properties,
Цитата: WYLEK
Например: вам не понравился перевод строки, а вражий текст уже исчез, и надо искать его в исходном файле
Метод с Radialix снимает проблему поиска, а мне пришлось искать с помощью txt2uni в нем писал, а затем забивал в поиск. Думал что решу эту проблему с помощью TM-database-182 эта программка совмещает Radialix и PSPad для перевода .properties, но оказалась что она не показывает все строки Можно ли в Radialix переводить common_zh_CN.properties ?
[spoiler]А если .properties не на ENG Вот например столкнулся часть на ENG и другая половина CN то есть на китайском. В Radialix будет как на рисунки снизу
Лазил по различным форумам в них был тот-же вопрос, но ответа не нашел. Здесь и пригодилась программа TM-database в ней выглядит вот так (и строк открыла много)
Еще по поводу .properties из моего небольшого опыта не все файлы .properties одинаковы. Берем любую программу MartView - чтение PDF или JugglingLab - тренажер жонглера Я покажу на примере JugglingLab Если переводим как положено например программой attesoro v1.8 результат получился вот такой
Берем Notepad++ выставляем Кодировать в UTF-8 и пишем русскими буквами
Если не по теме просьба переместить или удалить.
Сообщение отредактировал Смотрящий 25 июля 2024 - 14:14
Можно ли в Radialix переводить common_zh_CN.properties ?
Можно любой язык. А вообще дай файл для интереса.
Еще по поводу .properties из моего небольшого опыта не все файлы .properties одинаковы.
Да, это так. Для этого мы и существуем если бы было все так легко - то юзеры без нас бы обходились Кодировка там гуляет тоже - например плагины для фаерфокса на UTF-8
Блин, плохо читал до использования в радиаликс надо конвертер использовать. Но какой - надо искать. А если в TM-database возможен перевод, то что огород то городить? Прогу эту закинь на сайт в раздел Инструменты
Можно ли в Radialix переводить common_zh_CN.properties ?
pp0312, почему твой выбор пал именно на файл common_zh_CN.properties? Там же рядом лежит файл common.properties с английским текстом. Бери его и по вышеуказанной методике переводи. Потом добавь к имени файла языковой идентификатор ru-RU (common_ru_RU.properties) и вставь в программу, при условии что она поддерживает автоматическую привязку к локали. Если нет, то замени оригинальный файл китайского языка, переименовав common_ru_RU.properties в common_zh_CN.properties.
common.properties и common.tip я перевел не все конечно . если в китайском убираю строки программам не работает. Я понимаю что с выходом Android телефонным играм на JAVA приходит конец и программу отложил, а здесь такая тема о properties . Всегда хочется понять те места где был в танке ,но отлично понимаю, что список таких мест у меня большой и будет увеличиваться .
если в китайском убираю строки программам не работает
Да зачем же вы строки убираете то? Он один кадр уже грохнул строки в ресурсах и удивляется почему программа не работает. Где вы это прочитали, что строки нужно удалять? Это все равно что из книжки вырвать листы и попытаться её потом прочитать.