Справочное руководство
Авторские права
Авторские права © 2010-2015 на данный документ принадлежит его разработчикам (соавторам), перечисленным ниже. Документ можно распространять и/или изменять в соответствии с правилами лицензии GNU General Public License (http://www.gnu.org/licenses/gpl.html), версии 3 или более поздней, или лицензии типа Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), версии 3.0 или более поздней.
Все торговые знаки этого руководства принадлежат его владельцам.
Соавторы
Jean-Pierre Charras, Fabrizio Tappero, Wayne Stambaugh.
Перевод
Барановский Константин <baranovskiykonstantin@gmail.com>, 2016-2019
Обратная связь
Оставить свои комментарии или замечания можно на следующих ресурсах:
-
О документации KiCad: https://github.com/KiCad/kicad-doc/issues
-
О программном обеспечении KiCad: https://bugs.launchpad.net/kicad
-
О переводе программного обеспечения KiCad: https://github.com/KiCad/kicad-i18n/issues
Дата публикации
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 сможет найти словарь, только в том случае, если он находится по следующему пути:
|
The suitable path is kicad/internat/xx, or kicad/internat/xx_yy with: xx = normalised locale indicator (short form) like:
or: xx_yy = normalized locale indicator (long form) like:
|
3.2. Пути поиска
Поиск словарей переводов ведется в следующем порядке:
-
В каталоге с обозначением языка в расширенной форме (kicad/internat/xx_yy)
-
В каталоге с обозначением языка в сокращенной форме (kicad/internat/xx)
А поиск руководств пользователя выполняется:
-
В каталоге с обозначением языка в расширенной форме (kicad/help/xx_yy)
-
В каталоге с обозначением языка в сокращенной форме (kicad/help/xx)
-
kicad/help/en
-
kicad/help/fr
Замечание
|
Путь к корневому каталогу KiCad образуется из пуки к исполняемому файлу или (если это не возможно): в Winodws:
в Linux
|
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.
Выполните команду Файл/Новый каталог…
Увидите что-то на подобии этого:
4.4. Настройка проекта
Файлы исходных кодов на английском языке, поэтому для них не нужно ничего настраивать.
4.5. Настройка каталогов и файлов
4.6. Настройка ключевых слов
Здесь нужно указать пару ключевых слов:
-
_ (подчёркивание) используется в качестве отметки в обычных файлах исходных кодов.
-
_HKI используется в качестве отметки для перевода описания сочетаний клавиш.
4.7. Сохранение проекта
Сохраните новый проект в kicad/share/internat/xx под именем kicad.po.
5. Создание или редактирование словаря
Запустите PoEdit и загрузите проект (здесь это kicad.po).
Выполните команду Каталог/Обновить из исходного кода.
Новые строки (без перевода) будут показаны в верхней части окна.
6. Добавление пункта меню для нового языка в исходный код KiCad (только для разработчиков)
Этот шаг НЕ является обязательным. Эта функция используется только разработчиками и только в целях отладки.
В KiCad можно принудительно изменить язык интерфейса.
Крайне рекомендуется использовать язык по умолчанию.
Но, так как разработчикам нужно проверять состояние переводов, то новый элемент в меню языков может быть полезным при тестировании.
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. Как можно догадаться, этот шаг является завершающим.