Справочное руководство

Авторские права на данный документ © 2010-2015 принадлежит его разработчикам (соавторам), перечисленным ниже. Вы можете распространять и/или изменять его в соответствии с правилами лицензии GNU General Public License (https://www.gnu.org/licenses/gpl.html), версии 3 или более поздней, или лицензии типа Creative Commons Attribution License (https://creativecommons.org/licenses/by/3.0/), версии 3.0 или более поздней.

Все торговые знаки этого руководства принадлежат его владельцам.

Соавторы

Jean-Pierre Charras, Fabrizio Tappero, Wayne Stambaugh.

Перевод

Барановский Константин <baranovskiykonstantin@gmail.com>, 2016.

Обратная связь

Просьба оставлять все комментарии и замечания на следующих ресурсах:

Дата публикации

10 октября 2015 года

1. Необходимые файлы и инструменты

Перевод и его сопровождение не требует особых навыков, как, например, программирование на C++: здесь не нужно изменять файлы исходных кодов KiCad.

Достаточно просто выполнять перевод с помощью приложения PoEdit, которое находит (в исходных кодах KiCad) термины для перевода и позволяет создать словарь для KiCad из переводов этих терминов. Таким образом, нужно установить PoEdit и получить последнюю версию исходных кодов KiCad, и, если доступны уже существующие переводы, получить их последнюю версию. Переводить можно в Linux, Windows или MacOSX.

1.1. Загрузка PoEdit

Смотрите: https://www.poedit.net/

1.2. Загрузка исходных кодов KiCad

В данный момент исходные коды KiCad хранятся на Launchpad:

Файлы можно загрузить из Launchpad с помощью инструмента под названием "bazaar" (команда bzr). Для этого:

  • Установите, если еще не установлен, инструмент bazaar (легко устанавливается в любой из операционных систем): смотрите https://bazaar.canonical.com/

  • Загрузите исходные коды KiCad, используя команду bzr branch lp:kicad <каталог для хранения файлов исходных кодов>

  • Найдите это справочное руководство о переводе и настройке PoEdit в разделе Документация на http://docs.kicad-pcb.org/en/gui_translation_howto.html

1.3. Загрузка существующих переводов и руководств пользователя

Переводы KiCad и руководств пользователя хранятся на github: https://github.com/KiCad/kicad-i18n/

Загрузите переводы используя команду:

git clone https://github.com/KiCad/kicad-i18n.git

2. Поиск терминов для перевода

Разнообразные меню и всплывающие подсказки в KiCad интернационализированы и могут быть легко переведены на нужный язык без изменения исходных кодов.

Основные положения:

  • Исходные термины написаны на английском языке.

  • Все строки, которые должны быть переведены, записаны в формате: _("hello world"). Если будет обнаружен словарь перевода на текущий язык, то отобразится перевод термина "hello world".

  • Словарь хранится в формате английский язык → текущий язык (по одному словарю для каждого языка).

Самый простой путь для создания и сопровождения словарей английский язык → текущий язык — использовать poedit. PoEdit ищет термины в исходных кодах KiCad и позволяет выполнять их перевод. Нужно только загрузить исходные коды KiCad и настроить нужным образом PoEdit для создания перевода.

3. Структура каталога переводов KiCad

3.1. Каталоги словарей

KiCad сможет найти словарь, только в том случае, если он находится по следующему пути:

images/i18n-tree.png

Правильный путь kicad/internat/xx,

или kicad/internat/xx_yy

где: xx = стандартное обозначение языка (сокращенная форма), например:

  • fr = французский

  • en = английский

  • es = испанский

  • pt = португальский

или: xx_yy = стандартное обозначение языка (расширенная форма), например:

  • fr_FR

  • en_GB

  • en_US

3.2. Пути поиска

Поиск словарей переводов ведется в следующем порядке:

  • В каталоге с обозначением языка в расширенной форме (kicad/internat/xx_yy)

  • В каталоге с обозначением языка в сокращенной форме (kicad/internat/xx)

А поиск руководств пользователя выполняется:

  • В каталоге с обозначением языка в расширенной форме (kicad/help/xx_yy)

  • В каталоге с обозначением языка в сокращенной форме (kicad/help/xx)

  • kicad/help/en

  • kicad/help/fr

Замечание

Путь к корневому каталогу KiCad образуется из пуки к исполняемому файлу или (если это не возможно):

в Winodws:
  • c:\kicad

  • d:\kicad

  • c:\Program Files\kicad

в Linux
  • /usr/share/kicad

  • /usr/local/share/kicad

  • /usr/local/kicad/share/kicad

  • /usr/local/kicad

3.3. Файлы

В каждом каталоге присутствует по 2 файла kicad/internat/xx:

  • internat.po (файл словаря)

  • internat.mo (служебный файл PoEdit)

4. Использование poedit

4.1. Установка

Загрузите и установите PoEdit (https://www.poedit.net). Существуют версии PoEdit для Windows, Linux и Mac OS X.

Загрузите и распакуйте исходные коды KiCad.

4.2. Подготовка KiCad

Исходные коды KiCad: в этом примере предполагается, что файлы расположены в /tmp/kicad/. Все строки для перевода обозначены в виде _("строка для перевода").

Poedit должен искать символ _ (подчёркивание) для обнаружения этих строк.

Сначала нужно добавить в KiCad каталог для хранения словаря (kicad/share/internat/xx). В данном примере этим каталогом будет kicad/share/internat/ru.

4.3. Настройка PoEdit

Запустите poedit.

Выполните команду Файл/Новый каталог…

Увидите что-то на подобии этого:

images/ru/poedit-settings.png

4.4. Настройка проекта

images/ru/poedit-settings-ru.png

Файлы исходных кодов на английском языке, поэтому для них не нужно ничего настраивать.

4.5. Настройка каталогов и файлов

images/ru/poedit-settings-paths.png

4.6. Настройка ключевых слов

images/ru/poedit-settings-keywords.png

Здесь нужно указать пару ключевых слов:

  • _ (подчёркивание) используется в качестве отметки в обычных файлах исходных кодов.

  • _HKI используется в качестве отметки для перевода описания сочетаний клавиш.

4.7. Сохранение проекта

Сохраните новый проект в kicad/share/internat/xx под именем kicad.po.

5. Создание или редактирование словаря

Запустите PoEdit и загрузите проект (здесь это kicad.po).

images/ru/poedit-settings-dict.png

Выполните команду Каталог/Обновить из исходного кода.

Новые строки (без перевода) будут показаны в верхней части окна.

6. Добавление пункта меню для нового языка в исходный код KiCad (только для разработчиков)

Этот шаг НЕ является обязательным. Эта функция используется только разработчиками и только в целях отладки.

В KiCad можно принудительно изменить язык интерфейса.

Крайне рекомендуется использовать язык по умолчанию.

images/ru/kicad-settings-language.png

Но, так как разработчикам нужно проверять состояние переводов, то новый элемент в меню языков может быть полезным при тестировании.

6.1. Действия

6.1.1. Добавление нового идентификатора в include/id.h.

→ В include/id.h найдите строки, как здесь:

ID_LANGUAGE_CHOICE,
ID_LANGUAGE_DEFAULT,
ID_LANGUAGE_ENGLISH,
ID_LANGUAGE_FRENCH,
ID_LANGUAGE_SPANISH,
ID_LANGUAGE_GERMAN,
ID_LANGUAGE_RUSSIAN,
ID_LANGUAGE_PORTUGUESE,

и добавьте новый элемент списка (который позже будет использоваться в меню), например:

ID_LANGUAGE_MY_LANGUAGE перед ID_LANGUAGE_CHOICE_END.

6.1.2. Добавление новой иконки (только в эстетических целях)

→ Создайте новую иконку в формате SVG (используя Inkscape, например): обычно это флаг страны. К примеру lang_new.svg

Иконки других языков расположены в common/bitmaps_png/source

6.1.3. Редактирование bitmaps_png/CMakeLists.txt

→ Найдите текст:

lang_catalan
lang_chinese
lang_bg
lang_cs
lang_def
lang_de
lang_en
lang_es
lang_fr
lang_fi
lang_gr
lang_hu
lang_it
lang_jp
lang_ko
lang_nl
lang_pl
lang_pt
lang_ru
lang_sl

и добавьте имя нового файла (без расширения): lang_new

6.1.4. Редактирование include/bitmaps.h

→ Найдите текст:

EXTERN_BITMAP( lang_bg_xpm )
EXTERN_BITMAP( lang_catalan_xpm )
EXTERN_BITMAP( lang_chinese_xpm )
EXTERN_BITMAP( lang_cs_xpm )
EXTERN_BITMAP( lang_def_xpm )
EXTERN_BITMAP( lang_de_xpm )
EXTERN_BITMAP( lang_en_xpm )
EXTERN_BITMAP( lang_es_xpm )
EXTERN_BITMAP( lang_fr_xpm )
EXTERN_BITMAP( lang_fi_xpm )
EXTERN_BITMAP( lang_gr_xpm )
EXTERN_BITMAP( lang_hu_xpm )
EXTERN_BITMAP( lang_it_xpm )
EXTERN_BITMAP( lang_jp_xpm )
EXTERN_BITMAP( lang_ko_xpm )
EXTERN_BITMAP( lang_nl_xpm )
EXTERN_BITMAP( lang_pl_xpm )
EXTERN_BITMAP( lang_pt_xpm )
EXTERN_BITMAP( lang_ru_xpm )
EXTERN_BITMAP( lang_sl_xpm )

и добавьте строку для подключения новой иконки под именем lang_new_xpm (_xpm добавляется к имени файла).

6.1.5. Редактирование common/edaappl.cpp

→ Найдите:

struct LANGUAGE_DESCR
{
    int           m_WX_Lang_Identifier;                 // wxWidget locale identifier (see wxWidget doc)
    int           m_KI_Lang_Identifier;                 // kicad identifier used in menu selection (see id.h)
    const char**  m_Lang_Icon;                          // the icon used in menus
    const wxChar* m_Lang_Label;                         // Label used in menus
    bool          m_DoNotTranslate;                     // set to true if the m_Lang_Label must not be translated
};

#define LANGUAGE_DESCR_COUNT 14
static struct LANGUAGE_DESCR s_Language_List[LANGUAGE_DESCR_COUNT] =
{
    {
        wxLANGUAGE_DEFAULT,
        ID_LANGUAGE_DEFAULT,
        lang_def_xpm,
        _( "Default" )
    },
    {
        wxLANGUAGE_ENGLISH,
        ID_LANGUAGE_ENGLISH,
        lang_en_xpm,
        wxT( "English" ),
        true;
    },
    {
        wxLANGUAGE_FRENCH,
        ID_LANGUAGE_FRENCH,
        lang_fr_xpm,
        _( "French" )
    },

и добавьте новый блок, например так:

    {
        wxLANGUAGE_MY_LANGUAGE,
        ID_LANGUAGE_MY_LANGUAGE,
        lang_new_xpm,
        _( "My_language" )
    },

wxLANGUAGE_MY_LANGUAGE - это идентификатор языка страны для wxWidgets (см. документацию на wxWidgets).

6.1.6. Повторная сборка проекта

Нужно быть управляющим по изображениям PNG (см. файл bitmaps_png/CMakeLists.txt), т.е. компилировать KiCad с включенным параметром MAINTAIN_PNGS. Как можно догадаться, этот шаг является завершающим.