• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
128 гостей, 0 пользователей

avatar_WYLEK

Локализация джава

Автор WYLEK, 26 марта 2014, 18:42:00

« предыдущая - следующая »

WYLEKАвтор темы

Локализация джава - перевод файлов с расширением .properties и .class в Radialix


Инструменты для этого действия-злодействия...

Radialix - шаблонный редактор
PSPad - текстовый редактор
TotalCommander - командир какой то
In Class Translator - локализатор файлов .class
MobiTrans - те же грабли...
Кролик - Войдите на сайт для перехода по ссылке



Идея написать руководство была еще год назад, когда поступил заказ перевести программу для игр в карты 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 строк? То при локализации запутаешься что и где. Тут начинаешь чесать бестолковку :ohno: и искать другие пути решения проблемы. При рассмотрении структуры файла первое что бросается в глаза, что это не что иное, как расширение .ini. Тут уже легче - можно в блокноте перевести, но как вспомнишь про локализацию, то этот метод сразу отодвигается на второй план. Почему енто так?? Например: вам не понравился перевод строки, а вражий текст уже исчез, и надо искать его в исходном файле. Бред какой то. Для этого лучше всего подключить всю мощь Radialix. Тут уж в своей тарелке, и работать одно удовольствие.

Что надо сделать для проекта в Radialix. Создаем папку енг и кидаем туда файл с расширением .properties

Показать / Скрыть текст
[свернуть]

Заходим в папку енг и изменяем расширение файла с .properties на .ini

Показать / Скрыть текст
[свернуть]

Делаем проект в Radialix на файл с расширением .ini. В свойствах проекта на вкладке Локализованные файлы уберите гальку и направьте путь создаваемого файла на файл с расширением .properties. То есть надо сразу создавать файл для джавы а не текстовый файл с последующим изменением расширения.

Показать / Скрыть текст
[свернуть]

После перевода есть одна проблема - кодировка. Но, в текстовом редакторе PSPad есть конвертер для нужной нам кодировки.

Показать / Скрыть текст
[свернуть]

Итак, все есть и настроено, теперь шаги работы.

1. Делаем перевод строк.
2. Создаем локализованный файл.
3. Запускаем PSPad и выбираем локализованный файл с расширением .properties
4. Выбираем опцию Конвертеры пользователя и преобразуем в нужную кодировку ресурсы. Сохраняем изменения.
5. Файл готов для использования в джава
[свернуть]



Я думаю, что проблем не возникнет для локализации этого расширения. Идем дальше...

2. Перевод файлов с расширением .class

Продолжаем ...

Показать / Скрыть текст

Кролик - Войдите на сайт для перехода по ссылке, в архиве файл проекта 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 создает локализованный файл и русский текст. Перевод помечается в списке зеленым цветом. Создайте файл с русским текстом

Показать / Скрыть текст
[свернуть]

Созданный файл с русским текстом имеет расширение .rus и строки выглядят как в расширении .ini

Показать / Скрыть текст
[свернуть]

С MobiTrans мы создадим русский текст с расширением .loc и английский файл с расширением .txt

Показать / Скрыть текст
[свернуть]

Вот они родимые

Показать / Скрыть текст
[свернуть]

Теперь у нас два пути создать исходный файл для Radialix. Первый это надо запустить MobiTrans, щелкнуть по первой строчке и в окошке перевода строку за строчкой поместить вниз. Потом сохранить только русский текст. Это будет файл для проекта Radialix

Показать / Скрыть текст
[свернуть]

Но 850 строк это долго, и если не хотите такого богачества, то сделайте файл для проекта Radialix в Microsoft Excel (я так и поступил в свое время). Данные в левую колонку содержатся в файле с расширением .loc, а в правую колонку с расширением .txt. В конце концов у нас получается файл со структурой расширения .ini

Показать / Скрыть текст
[свернуть]

Дайте расширение этому файлу .ini и сделайте проект в Radialix. Теперь настройки проекта.
Исходный файл - это файл с расширением .ini. В свойствах проекта на вкладке Локализованные файлы уберите гальку и направьте путь создаваемого файла на файл с расширением .rus

Показать / Скрыть текст
[свернуть]

Итак, все есть и настроено, теперь шаги работы.

1. Делаем перевод строк в Radialix
2. Создаем локализованный файл. Заметьте - файл создается в память переводов In Class Translator, это файл с расширением .rus
3. Запускаем In Class Translator и нажимаем кнопку Save. Программа возьмет ваш перевод из файла с расширением .rus и создаст конечный файл
4. Файл готов для использования в джава

Вот и вся беда. А теперь немного о ситуации, когда классов дохрена и трошки...

Шаги работы такие.

1. Открываете классы один за одним и увидев ресурсы просто создаете файл с русским текстом в In Class Translator
2. После удаления классов без ресурсов опять откройте классы в MobiTrans один за одним и все ресурсы в окне перевода забейте вниз

Показать / Скрыть текст
[свернуть]

3. Сделайте настройку сохранения только на русский текст - на выходе будет файлы с расширением .loc

Показать / Скрыть текст
[свернуть]

4. Для массового переименования расширения используйте TotalCommander. Запускаем его и даем ему путь файлов с расширением .loc
Для массового выделения нажимаем клавиши Ctrl + A

Показать / Скрыть текст
[свернуть]

Для вызова окна для замены расширения нажимаем клавиши Ctrl + M, сделайте настройки как на скрине и нажмите копку Выполнить

Показать / Скрыть текст
[свернуть]

Результат на лицо (или на рыло). Так надо проделать со всеми файлами с расширением .loc

Показать / Скрыть текст
[свернуть]

После завершения этой процедуры делаем проект в Radialix и работаем как написано выше. Что это дает - да практически все, как и работа с другими расширениями файлов для локализации.
[свернуть]

На этом все 

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

    TinyPortal

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

    Simple Machines

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

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