Привет всем. Несмотря на малое количество голосов за предыдущие статьи, продолжаю цикл о локализации программ (часть 1, часть 2). В сегодняшнем материале мы будем работать с шаблонными переводчиками. В данном случае я использую Radialix. К сожалению, программа уже давно не обновляется, а официальный сайт находится в ауте. Взять программу вы можете здесь.
Планировалось, что подопытным кроликом у нас опять будет уже замученная несколько раз программа Araxis Merge, но я решил для новизны взять всё же другого подопытного. На этот раз им будет небольшая программа - органайзер для управления коллекцией ваших APK файлов (установочных файлов для Android) - LocalAPK. Готовую перепакованную и русифицированную программу вы можете взять в моей раздаче.
Вообще, шаблонных переводчиков достаточно много. Это и упомянутый Radialix, а также Passolo, Multilizer, Sisulizer и другие. Пользуйтесь тем, который вам удобнее. Принципы работы в них очень похожи и если потратить некоторое время на изучение интерфейса и особенностей - то легко можно работать в любом.
Особенность перевода сегодняшнего пациента в том, что программа написана на .NET. Это, честно сказать, для меня как переводчика составляет некоторую сложность. Но не будем о грустном. Также в программе не предусмотрена возможность переключения языка интерфейса, так что тут подойдёт только замена файлов на русифицированные.
Итак, устанавливаем Radialix, скачанный выше и пациента в лице LocalAPK. Запускаем Radialix.
Создаём "проект локализации" и выбираем файлы. Я выбираю все, а уже потом смотрю, есть ли в них ресурсы, содержащие локализацию. Остальные удаляю из проекта потом.
Далее выбираем создание локализованного файла (в данном случае):
Выбираем язык, на который будете переводить программу:
Выбираем место сохранения вашего проекта и заполняем необходимые данные:
Создаем проект и видим слева дерево файлов и их ресурсов. Путем анализа узнаем, что локализация требуется в файлах LocalAPK.exe и LocalAPK.SharedResources.dll. Остальные ресурсы можно удалить из проекта через контекстное меню файла. Они конечно не мешают особо, но после компиляции локализация для них будет создана также и на неё будет тратиться время. Несмотря на то, что мы в "ненужных" файлах ничего не меняли.
Тут нам требуются ресурсы Metadata, так как это .NET. Если бы мы сейчас занимались локализацией того же Araxis Merge, то мы бы увидели тут меню, строки и диалоги. Например так:
Но нам требуется Metadata, открываем ресурс и начинаем локализацию. Думаю, тут проблем у вас не будет. Проблемы бывают, когда локализация вроде как сделана, а программа содержит текст на разных языках разберём отдельно. Это бывает в моей практике редко, но всё же встречается.
По странной прихоти я начинаю работать с ресурсами с их конца. Не знаю откуда у меня взялась такая привычка.
После завершения локализации сохраняем проект и идём в Перевод -> Создать все локализованные файлы.
В папке, где лежат исходные файлы, появятся файлы LocalAPK_ru.exe и LocalAPK.SharedResources_ru.dll. Копируем их в другую папку, переименовываем их в исходные и заменяем в папке с установленной программой. Тестируем интерфейс на наличие ошибок и исправляем.
На этом на сегодня всё. Такие возможности как импорт, обновление ресурсов и т.п разберем завтра.