Skip to content
This repository has been archived by the owner on Apr 3, 2022. It is now read-only.

ru_TranslatingTheProgram

Ryzhehvost edited this page Dec 22, 2015 · 1 revision

Сейчас локализация не может быть применена к программе без перекомпиляции. Поэтому локализация происходит следующим образом: вы берёте файлы с исходным кодом, переводите, отправляете мне. Я смотрю перевод, добавляю его в проект и перекомпилирую программу. Если уже доступен перевод на тот же язык инсталлятора, я выкладываю новую версию keyla.

Скачайте файлы ресурсов (первый, второй) и для каждого из них проделайте действия, описанные ниже.

1. Подготовка

Скопируйте секцию, соответствующую какому-либо языку, и вставьте её в конец файла. Например, если хотите создавать свой перевод на основе перевода на английский, скопируйте кусок, начиная с

// === english resources ======================================================

и кончая

// === russian resources ======================================================

(последнюю строчку включать не надо).

2. Указание языка

Измените комментарий в названии секции и название языка. Например, если переводите на украинский, вместо

// === english resources ======================================================

LANGUAGE LANG_ENGLISH,SUBLANG_DEFAULT

запишите

// === ukrainian resources=====================================================

LANGUAGE LANG_UKRAINIAN,SUBLANG_DEFAULT

3. Информация о версии

Информация о версии располагается под комментарием

// ------- version info -------------------------------------------------------

найдите в разделе код вида

BLOCK "StringFileInfo"

BEGIN

BLOCK "040904b0"

и замените первые четыре цифры на код, соответствующий языку, на который переводите, без символов 0x.

Список кодов можно посмотреть на странице MSDN. Если страница не найдена, воспользуйтесь поиском по ключевым словам "Language Identifier Constants and Strings".

Найдите по всему файлу инструкции, начинающиеся со слов VALUE "Translation", и добавьте в список параметров через запятую код языка и число 1200. В этом случае символы 0x отбрасывать не надо.

Переведите все строки, располагающиеся на втором месте после ключевого слова VALUE.

4. Диалоговые окна

Информация о диалоговых окнах располагается под комментарием

// ------- dialogs ------------------------------------------------------------

Каждому диалоговому окну соответствует участок кода вида

... DIALOG ...

...

BEGIN

...

END

Переводить требуется лишь строки, располагающиеся внутри блока, ограниченного ключевыми словами BEGIN и END, где перечисляются элементы управления, располагающиеся в окне. Начало и конец описания элемента управления легко определить по выравниванию строк. Описание элемента управления содержит ключевое слово и список параметров через запятую. Если первым параметром идёт строка, её надо перевести. Остальные строки трогать не надо.

5. Меню

Информация о меню располагается под комментарием

// ------- menus --------------------------------------------------------------

Каждому меню соответствует участок кода вида

... MENU

BEGIN

...

END

Переводить требуется все строки, располагающиеся внутри блока, ограниченного ключевыми словами BEGIN и END.

6. Таблица строк

Таблица строк располагается под комментарием

// ------- string table -------------------------------------------------------

Она описывается кодом вида

STRINGTABLE

BEGIN

...

END

Переводить требуется все строки, располагающиеся внутри блока, ограниченного ключевыми словами BEGIN и END.

7. Отправка результатов

Напишите Issue и вложите все файлы, либо просто пришлите pull request.