Jump to content

RU/Краткий справочник переводчика KDE: Difference between revisions

From KDE Community Wiki
< RU
Aspotashev (talk | contribs)
Aspotashev (talk | contribs)
No edit summary
 
(11 intermediate revisions by the same user not shown)
Line 19: Line 19:
===Где взять материалы для перевода?===
===Где взять материалы для перевода?===


Переводы KDE осуществляются с помощью инструмента перевода Lokalize. Если вы ещё не знакомы с возможностями программы, внимательно прочтите справку к ней (чтобы открыть окно справки, достаточно нажать клавишу '''F1'''). Для полноценного доступа ко всем возможностям программы вам придётся загрузить весь комплект русских переводов KDE. При создании проекта перевода (пункт меню '''Проект''' >'''Создать новый проект''') соответствующие файлы будут загружены автоматически (конечно же, только если вы этого захотите)). Среди загруженных файлов будет и нужный вам файл. После завершения загрузки достаточно открыть проект перевода (клавиша '''F4'''), найти в дереве переводов файл и открыть его в редакторе двойным клацаньем левой кнопки мыши.
Переводы KDE осуществляются с помощью инструмента перевода Lokalize. Если вы ещё не знакомы с возможностями программы, внимательно прочтите справку к ней (чтобы открыть окно справки, достаточно нажать клавишу '''F1'''). Для полноценного доступа ко всем возможностям программы вам придётся загрузить весь комплект русских переводов KDE, проще всего это сделать при помощи [[RU/Работа с переводами KDE через SVN|Subversion]]. Затем откройте проект ru/index.lokalize (используйте пункт меню '''Проект''' >'''Открыть проект...'''). Когда проект открыт, достаточно открыть вкладку со списком файлов (клавиша '''F4'''), найти в дереве переводов файл и открыть его в редакторе нажатием левой кнопкой мыши.


Если по каким-либо причинам вы не желаете или не можете загрузить всё дерево переводов, достаточно одного файла (с расширением ''po'' или ''pot''). Ссылку на нужный вам файл можна найти на [http://l10n.kde.org/stats/gui/trunk-kde4/team/ru/ этой странице] (интерфейс) или [http://l10n.kde.org/stats/doc/trunk-kde4/team/ru/ этой странице] (документация). Мы не рекомендуем пользоваться этим путём по следующим причинам:
Если по каким-либо причинам вы не желаете или не можете загрузить всё дерево переводов, достаточно одного файла (с расширением ''po'' или ''pot''). Ссылку на нужный вам файл можна найти на [http://l10n.kde.org/stats/gui/trunk-kde4/team/ru/ этой странице] (интерфейс) или [http://l10n.kde.org/stats/doc/trunk-kde4/team/ru/ этой странице] (документация). Мы не рекомендуем пользоваться этим путём по следующим причинам:
Line 152: Line 152:
  "</email></para><para>Дополнение перевода на русский: Пётр "  
  "</email></para><para>Дополнение перевода на русский: Пётр "  
  "Петров <email>[email protected]</email> </para>"  
  "Петров <email>[email protected]</email> </para>"  
Для удобства в программе Lokalize можно выбрать строку <tt>ROLES_OF_TRANSLATORS</tt> или <tt>CREDIT_FOR_TRANSLATORS</tt> и просто нажать Ctrl+Пробел, чтобы добавить себя в список авторов перевода. Предварительно следует указать своё имя и адрес электронной почты в параметрах Lokalize.


Замечания здесь те же: не переводите буквально!
Замечания здесь те же: не переводите буквально!
Line 193: Line 195:


Документация, также как и интерфейс программ, переводится в файлах переводов Gettext (см. [[#Где взять материалы для перевода?|Где взять материалы для перевода?]]). '''Не следует пытаться переводить веб-страницы с docs.kde.org в виде текста.'''
Документация, также как и интерфейс программ, переводится в файлах переводов Gettext (см. [[#Где взять материалы для перевода?|Где взять материалы для перевода?]]). '''Не следует пытаться переводить веб-страницы с docs.kde.org в виде текста.'''
Документация со временем устаревает, не стоит тратить время на перевод безнадёжно устаревшей документации. Проверьте актуальность документации [https://techbase.kde.org/Projects/Documentation/KDE_(health_table) здесь].


Если вы переводите документацию, помните, что переведённый вами файл справки будет собран и добавлен в пакеты KDE, только если этот перевод будет готов на 100%. Один справочник может состоять из нескольких модулей, не забывайте об их переводе.
Если вы переводите документацию, помните, что переведённый вами файл справки будет собран и добавлен в пакеты KDE, только если этот перевод будет готов на 100%. Один справочник может состоять из нескольких модулей, не забывайте об их переводе.
Line 217: Line 221:
| левая, правая, средняя кнопка мыши || Замена полной формой с целью учёта падежей. Пример: &LMB; = левая кнопка мыши (с учётом падежа в предложении)
| левая, правая, средняя кнопка мыши || Замена полной формой с целью учёта падежей. Пример: &LMB; = левая кнопка мыши (с учётом падежа в предложении)
|}
|}
Теги keyword нужно переводить на русский, потому что они [https://lists.kde.ru/pipermail/kde-russian/2018-February/019387.html оказываются в HTML-коде] документации и теоретически могут влиять на поисковые системы.


===Как собрать переведённую документацию и посмотреть, что получилось?===  
===Как собрать переведённую документацию и посмотреть, что получилось?===  
Line 299: Line 305:
Если Вы желаете и имеете достаточные навыки, признанные другими участниками команды, вы можете вносить переводы в хранилище самостоятельно.  
Если Вы желаете и имеете достаточные навыки, признанные другими участниками команды, вы можете вносить переводы в хранилище самостоятельно.  


Пожалуйста, ознакомьтесь с [http://techbase.kde.org/Contribute/Get_a_SVN_Account этими инструкциями]. Зарегистрируйтесь на identity.kde.org. Войдите в систему, заполните соответствующую веб-форму, укажите свой ключ SSH и учётную запись координатора команды перевода в поле supporter. Координатор решит, стоит ли поддерживать вашу заявку.
Пожалуйста, ознакомьтесь с [[Infrastructure/Get_a_Developer_Account|этими инструкциями]]. Зарегистрируйтесь на identity.kde.org. Войдите в систему, заполните соответствующую веб-форму, укажите свой ключ SSH и учётную запись координатора команды перевода в поле supporter. Координатор решит, стоит ли поддерживать вашу заявку.


Если ваша заявка будет подтверждена, вы станете участником или участницей KDE (и русской команды по переводу KDE в частности) с правом самостоятельных вкладов.  
Если ваша заявка будет подтверждена, вы станете участником или участницей KDE (и русской команды по переводу KDE в частности) с правом самостоятельных вкладов.  
Line 309: Line 315:
===Какова структура дерева переводов KDE? Где следует располагать файлы переводов (полезные скрипты)?===
===Какова структура дерева переводов KDE? Где следует располагать файлы переводов (полезные скрипты)?===


Существует две основные ветки перевода KDE: [http://websvn.kde.org/branches/stable/l10n-kde4/ru/ стабильная] и [http://websvn.kde.org/trunk/l10n-kde4/ru/ разрабатываемая].
Существует две основные ветки перевода KDE: [http://websvn.kde.org/branches/stable/l10n-kf5/ru/ стабильная] и [http://websvn.kde.org/trunk/l10n-kf5/ru/ разрабатываемая]. Можно [https://docs.kde.org/trunk5/en/kdesdk/lokalize/file-sync.html настроить Lokalize], чтобы при редактировании переводов изменения сохранялись сразу в двух ветках.


Метакаталог '''documentation''' является объединённым хранилищем документации соответствующей ветки. Не стоит пытаться перевести файлы .docbook из этого каталога, — с целью уменьшения трудозатрат текст из этих файлов преобразован в формат Gettext (PO/POT). Доступ к соответствующим файлам переводов можно получить с помощью панели каталога переводов Lokalize.
Метакаталог '''documentation''' является объединённым хранилищем документации соответствующей ветки. Не стоит пытаться перевести файлы .docbook из этого каталога, — с целью уменьшения трудозатрат текст из этих файлов преобразован в формат Gettext (PO/POT). Доступ к соответствующим файлам переводов можно получить с помощью панели каталога переводов Lokalize.
Line 337: Line 343:
Созданный Чаславом Иличем набор скриптов на языке Python под общим названием Pology является чрезвычайно полезным инструментом поиска и редактирования переводов.  
Созданный Чаславом Иличем набор скриптов на языке Python под общим названием Pology является чрезвычайно полезным инструментом поиска и редактирования переводов.  


Загрузить Pology можно с помощью следующей команды:
Pology можно установить из дистрибутива Linux или загрузить с помощью следующей команды:


  <nowiki>svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-support/pology</nowiki>
  <nowiki>git clone git://anongit.kde.org/pology.git</nowiki>


Скрипты набора находятся в каталоге /scripts.
Скрипты набора находятся в каталоге /scripts.
Line 365: Line 371:
  ./posieve.py fancy_quote ../../ru/messages/kdeedu/kstars.po -slongdouble:'«','»'
  ./posieve.py fancy_quote ../../ru/messages/kdeedu/kstars.po -slongdouble:'«','»'


6) Проверить все строки кроме устаревших и «неточных» на соответствие [[RU/Правила Pology|правилам Pology]] для русской команды KDE:
6) Проверить все строки кроме [http://pology.nedohodnik.net/doc/user/en_US/ch-poformat.html#sec-poobsol устаревших] и «неточных» на соответствие [[RU/Правила Pology|правилам Pology]] для русской команды KDE:


  ./posieve.py check-rules --skip-obsolete -slang:ru ../../ru/messages/kdeedu/kstars.po
  ./posieve.py check-rules --skip-obsolete -slang:ru ../../ru/messages/kdeedu/kstars.po

Latest revision as of 02:09, 8 November 2019

С чего начать?

Где можно пообщаться с участниками команды переводчиков?

Пообщаться на тему перевода KDE, вступить в команду переводчиков, а также задать вопросы относительно спорных моментов перевода можно в списке рассылки команды переводчиков. Ознакомиться с архивом списка рассылки вы можете здесь. Послать письмо в список можно лишь после оформления подписки.

Хочу что-нибудь перевести. Как определиться с выбором программы?

Прежде чем начать переводить, определитесь с вашими интересами. Согласитесь, вряд ли перевод будет удачным, если вы никогда не пользовались и не собираетесь пользоваться программой, которую переведёте. Выберите программу, которой пользуетесь из-за её удобства или в силу служебной необходимости.

Найдите пункт программы на этой странице. Обратите внимание на то, что переводы многих программ KDE состоят из двух частей: перевода интерфейса программы (как правило, название пункта такого перевода совпадает с названием программы) и перевода дополнительных элементов интерфейса (эти переводы выполняются с помощью пунктов, названия который начинаются с desktop). Проверьте, есть ли непереведённые сообщения (показаны красным цветом). Если всё переведено, откройте эту страницу и поищите перевод документации. Если и документация переведена полностью, обратитесь к этой странице и поищите нелокализированные или устаревшие снимки окон программы. Если и с этим всё в порядке, откройте страницу вики KDE и посмотрите, не требуется ли обновление странице избранной вами программы.

И наконец, локализация программ KDE не ограничивается переводом интерфейса или документации. Вы можете помочь в локализации других полезных компонентов. Приблизительный список можно найти тут.

Возможно, кто-то уже переводит выбранную мной программу, как избежать лишней работы?

Представьтесь в списке рассылки и сообщите о своих планах. Если никто из участников команды переводчиков не занимается переводом выбранной Вами программы, принимайтесь за дело.

Где взять материалы для перевода?

Переводы KDE осуществляются с помощью инструмента перевода Lokalize. Если вы ещё не знакомы с возможностями программы, внимательно прочтите справку к ней (чтобы открыть окно справки, достаточно нажать клавишу F1). Для полноценного доступа ко всем возможностям программы вам придётся загрузить весь комплект русских переводов KDE, проще всего это сделать при помощи Subversion. Затем откройте проект ru/index.lokalize (используйте пункт меню Проект >Открыть проект...). Когда проект открыт, достаточно открыть вкладку со списком файлов (клавиша F4), найти в дереве переводов файл и открыть его в редакторе нажатием левой кнопкой мыши.

Если по каким-либо причинам вы не желаете или не можете загрузить всё дерево переводов, достаточно одного файла (с расширением po или pot). Ссылку на нужный вам файл можна найти на этой странице (интерфейс) или этой странице (документация). Мы не рекомендуем пользоваться этим путём по следующим причинам:

Без загрузки полного комплекта вы не получите удобного доступа к глоссарию команды переводчиков. Старайтесь использовать согласованный командой глоссарий и соблюдать правила перевода.
Если программу ещё никто не переводил, вероятно, в ней много сообщений, которые уже были ранее переведены другими участниками команды перевода. Их можно заполнить с помощью памяти переводов (подробное описание приведено в документации к Lokalize). Если комплект переводов не будет загружен, доступа к памяти переводов вы, естественно, не получите.

Хочу перевести приложение, основанное на библиотеках KDE, но не являющееся частью KDE. Обязательно ли советоваться с командой переводчиков KDE?

Многие популярные программы (например, k9copy) основаны на библиотеках KDE, но частью KDE не являются. Конечно же, вы можете переводить ни с кем не советуясь. Однако, если вам нужен добрый совет или помощь в улучшении качества перевода, вам всё же стоит сотрудничать с русской командой переводчиков KDE. Кроме того, часть перевода так или иначе будет загружена из перевода библиотек KDE, поэтому без должной основы и однородности использованной терминологии качественного перевода у вас не получится.

Как переводить?

Какой формат используется для перевода?

Для перевода интерфейса и справочной информации KDE используется формат файлов GNU Gettext. Подробнее о формате можно прочитать тут.

Остановимся лишь на некоторых особенностях комментариев в файлах переводов KDE. Дело в том, что во время извлечения сообщений в файлы PO попадает важная информация о сообщении, которая позволяет точнее его перевести. С этой информацией можно ознакомиться на одной из панелей Lokalize (если вы ничего не меняли, эта панель расположена слева, она называется «Метаданные сегмента»).

В нашем примере часть комментария (QLabel) означает, что вы имеете дело с меткой в одном из окон программы. Имя переменной (serverNameLA) указывает на то, что это имя сервера. |}

Есть ли какие-то общие рекомендации?

Не спешите, постарайтесь взвесить всё с точки зрения пользователя. Для проверки работы воспользуйтесь возможностями Lokalize по локальной установке файлов перевода. После компиляции перевода интерфейса запустите программу и попробуйте с ней немного поработать.

Следуйте рекомендациям глоссариев KDE.

Если у вас возникли вопросы (по использованию программы, контролю качества или вопросы, касающиеся самого перевода), не стесняйтесь задавать их в списке рассылки.

Как избежать ошибок?

Во-первых, следует придерживаться следующих правил:

Переменные

Переменные в KDE, начиная с версии 4, не обозначаются, подобно переменным Gtk/Gnome, а нумеруются:

<span style='color: %1;'>[Who:%2] <b><u>Username</u></b>: %3, <b><u>Address</u>
</b>: %4, <b><u>Server</u></b>: %5, <b><u>Nick</u></b>: %6, <b><u>Flags</
u></b>: %7, <b><u>Hops</u></b>: %8, <b><u>Real Name</u></b>: %9</span>

В русском языке часто фразы переводов строятся так, что порядок переменных может быть совершенно иным. Не стесняйтесь менять местами переменные.

Комментарии

С введением нумерации возникает проблема определения назначения переменных. Эту проблему решают комментарии. С комментарием можно ознакомится на одной из левых панелей просмотра данных Lokalize. Пример:

#: statusbar/StatusBar.cpp:339
#, kde-format
msgctxt "%1 is number of tracks, %2 is time"
msgid "%1 track (%2)"
msgid_plural "%1 tracks (%2)"

На левой панели вы увидите:

%1 is number of tracks, %2 is time

Как видим, комментарий описывает всё что нужно. К счастью, современные программы для перевода (автономные: Lokalize, Gtranslator, Virtaal, PoEdit, OmegaT и серверные: Pootle, Rosetta, Narro) поддерживают показ комментариев, поэтому можно спокойно переводить сообщения, не заглядывая постоянно в код программы.

Формы множественного числа

С 20 июля 2010 года русские переводы KDE используют 4 формы множественного числа (раньше были 3 формы):

#: kilestdtools.cpp: 204 
# kde-format 
msgid "1 error" 
msgid_plural "%1 errors" 
msgstr[0] "%1 ошибка" 
msgstr[1] "%1 ошибки" 
msgstr[2] "%1 ошибок" 
msgstr[3] "одна ошибка" 

Первой из форм соответствуют числа 21, 31 и т.д., второй — 2, 3, 4, 22, 23 и т.д., третьей — 5, 6, 7 и т.д., четвёртой — единственное число (1). Подробнее о причинах, следствиях и способах перехода к новому количеству форм множественного числа вы можете узнать тут.

Разметка

В процессе перевода встречаются конструкции вида

<interface>%1</interface> is invalid.<nl/>Local Admin rule: <icode>%2</icode>

Элементы в угловых скобках — разметка. Не переводите её. Не стоит также вводить разметку вручную: вставить элемент разметки можно с помощью контекстного меню (достаточно нажать комбинацию клавиш Ctrl+T).

Этим же приёмом можно воспользоваться для контроля качества: в нашем примере пропущен элемент разметки <br>. Его следует добавить нажатием клавиши Enter.

Благодарности авторам перевода

Довольно долгое время подобные вопросы оставались неурегулированными (в некоторых программах это состояние сохранилось и сейчас). Авторы программ записывали переводчиков в файлы CREDITS, создавали специальные файлы, которые программа обрабатывала при запуске или во время открытия вспомогательного окна «О программе». В современном KDE благодарности переводчикам являются частью самих файлов перевода.

  • В интерфейсе программ:
#: rc.cpp: 46 
msgctxt "NAME OF TRANSLATORS" 
msgid "Your names" 
msgstr "Иван Иванов,Пётр Петров" 
#: rc.cpp: 47 
msgctxt "EMAIL OF TRANSLATORS" 
msgid "Your emails" 
msgstr "[email protected],[email protected]" 

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

Пожалуйста, не переводите буквально: «ИМЕНА ПЕРЕВОДЧИКОВ» или «АДРЕСА ЭЛЕКТРОННОЙ ПОЧТЫ ПЕРЕВОДЧИКОВ»!

  • В документации к программам:
#. tag: trans_comment 
#: index.docbook: 57 
# no-c-format 
msgid "ROLES_OF_TRANSLATORS" 
msgstr "" 
"<othercredit Role=\"translator\"> <firstname>Иван</" 
"firstname> <surname>Иванов</surname> <affiliation> <address> <email>" 
"[email protected]</ email> </ address> </ affiliation> <contrib>Перевод" 
"на русский</contrib> </othercredit> <othercredit role = \"translator" 
"\"> <firstname>Пётр </ firstname> <surname> Петров</" 
"surname> <affiliation> <address> <email>[email protected]</email> </address> </" 
"affiliation> <contrib>Дополнение перевода на русский</contrib> </othercredit>" 

Здесь мы видим XML-код, который можно просто скопировать из памяти переводов Lokalize и заполнить собственными данными. Кроме того, предусмотрена ещё одна запись в конце файла:

#. tag: trans_comment 
#: index.docbook: 1917 
# no-c-format 
msgid "CREDIT_FOR_TRANSLATORS" 
msgstr "" 
"<para>Перевод на русский: Иван Иванов <email>[email protected]" 
"</email></para><para>Дополнение перевода на русский: Пётр " 
"Петров <email>[email protected]</email> </para>" 

Для удобства в программе Lokalize можно выбрать строку ROLES_OF_TRANSLATORS или CREDIT_FOR_TRANSLATORS и просто нажать Ctrl+Пробел, чтобы добавить себя в список авторов перевода. Предварительно следует указать своё имя и адрес электронной почты в параметрах Lokalize.

Замечания здесь те же: не переводите буквально!

Во-вторых, проверьте качество перевода простой командой

msgfmt -v -c ваш_файл.po

Если смысл появившихся сообщений об ошибках вам не ясен, сообщите о них в списке рассылки (не забудьте процитировать соответствующий фрагмент файла перевода).

В-третьих, соблюдайте правила орфографии. Стоит проверить переведённые файлы на возможные ошибки скриптом

#!/bin/bash 

for i in *.po
do
	sed "s/[&a-zA-Z]//g"<$i|sed "s/ё/е/g"|hunspell -d ru_RU -l|sort|uniq>${i%.*}.err
done

Если в системе надлежащим образом установлен комплект Pology, можно обойтись командой попроще:

posieve.py check-spell *.po

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

Хочу посмотреть, как переведён тот или иной термин в других приложениях KDE. Как это сделать?

Воспользуйтесь интернет-словарём перевода. Если вы хотите поискать вдохновения в других открытых источниках переводов, воспользуйтесь https://mymemory.translated.net/ru/ .

Что следует учесть при переводе документации?

Документация, также как и интерфейс программ, переводится в файлах переводов Gettext (см. Где взять материалы для перевода?). Не следует пытаться переводить веб-страницы с docs.kde.org в виде текста.

Документация со временем устаревает, не стоит тратить время на перевод безнадёжно устаревшей документации. Проверьте актуальность документации здесь.

Если вы переводите документацию, помните, что переведённый вами файл справки будет собран и добавлен в пакеты KDE, только если этот перевод будет готов на 100%. Один справочник может состоять из нескольких модулей, не забывайте об их переводе.

Если вам встретилось выражение в формате &что-нибудь;, попробуйте определиться с тем, что оно будет означать в конечном тексте перевода. Вообще-то общий перевод таких сокращений определяется согласованным командой словарём, но поскольку в русском языке существительные и другие части речи довольно сильно изменяются в рамках контекста предложения, а обороты строго отделяются от остальной части предложения пунктуацией, стоит просто заменять некоторые «сокращения» полными вариантами. Следуйте таким рекомендациям:

Перевод сокращений (entities) в документации
Сокращение Перевод Комментарий
&ie; то есть Замена полной формой с целью сохранения пунктуации
например Замена полной формой с целью сохранения пунктуации
&НАЗВАНИЕ_ПРОГРАММЫ; &НАЗВАНИЕ_ПРОГРАММЫ; или полная форма с учётом падежа Замена полной формой с целью учёта падежей. Пример: &systemsettings; = Параметры системы (с учётом падежа)
&НАДПИСЬ_НА_КЛАВИШЕ; &НАДПИСЬ_НА_КЛАВИШЕ; «Оптимус Максимус» всё ещё не смог заметно распространиться. ;) Пример: &Ctrl; = &Ctrl;
&LMB; &RMB; &MMB; левая, правая, средняя кнопка мыши Замена полной формой с целью учёта падежей. Пример: &LMB; = левая кнопка мыши (с учётом падежа в предложении)

Теги keyword нужно переводить на русский, потому что они оказываются в HTML-коде документации и теоретически могут влиять на поисковые системы.

Как собрать переведённую документацию и посмотреть, что получилось?

Установите пакеты kdesdk-po2xml, subversion, git и md5deep.

Загрузите скрипты обработки переводов:

svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4/scripts/

По завершению перевода документации попробуйте собрать документацию программы командой

scripts/update_xml --nodelete ru название_модуля название_приложения

выполненной из корневой папки ваших переводов. Скрипт автоматически загрузит документацию к приложению (вам, очевидно, понадобится пригодное к использованию интернет-соединение) и соберёт документацию в соответствующей папке переводов команды (ru/docs/название_модуля/название_программы). После успешной сборки можно приступить к дополнению переведённой документации снимками окон (вы сможете выполнить дополнительную проверку соответствия вашего перевода реальной картинке, которую видит пользователь).

Если при компиляции будут показаны сообщения об ошибках, вам следует внимательно с ними ознакомиться. Обычно, причин ошибок может быть три: ошибки в тегах XML при переводе, создание новых записей авторов и названий программ (entities), ошибки в оригинальном файле DocBook.

Разберём все возможные варианты последовательно:

1) Вы допустили ошибку при переводе. Внимательно прочитайте сообщение, выведеные скриптом update_xml. Найдите первую ошибку. Если легко удаётся идентифицировать ложное сообщение, откройте его в Lokalize, перейдите в конец сообщения и нажмите комбинацию клавиш Ctrl+T. В ответ программа покажет список тегов сообщения. Обратите внимание на тег, который выделен: возможно, именно его вы пропустили или расположили неправильно. Если идентифицировать ошибочное сообщение не удалось, вы можете попробовать собрать черновик документации и определить сообщение по строке ошибки: скопируйте соответствующий файл docbook и файл po в другую папку и выполните команду

po2xml файл.docbook файл.po> translated.docbook 

По номеру строки с ошибкой определите ошибочное сообщение и исправьте его.

2) Авторы документации создали новые записи в файлах типовых записей (такие ошибки можно обнаружить по характерным сообщениям о неопределённых записях entities). Для сбора документации вам придётся загрузить новые файлы записей

git clone git://anongit.kde.org/kdelibs
cd ./kdelibs/kdoctools/customization/entities

и переписать их в / usr/share/apps/ksgmltools2/customization/entities

3) Если два описанных способа не дали результатов, попробуйте проверить DocBook на корректность командой

checkXML index.docbook 

Если будет показано сообщение об ошибке, сообщите о нём в список рассылки переводчиков KDE.

Если всё прошло удачно, скопируйте готовые файлы справки (update_xml создаст их в каталоге /ru/docs/название модуля/название программы) в отдельный каталог тестирования. Для преобразования документации в формат HTML воспользуйтесь командой

meinproc4 index.docbook 

Попробуйте вычитать документацию и исправить ошибочно переведённые сообщения.

Хочу подготовить новые качественные снимки окон для документации. Что следует учесть?

Конечно же, переведённая документация лучше выглядит с полностью локализованным элементами. Для создания снимков окон можно воспользоваться Spectacle (просто откройте соответствующее окно локализованной программы и нажмите PrintScreen). Образцы соответствующих снимков можно найти в каталоге /documentation с оригинальной документацией. Следует придерживаться размеров изображений оригиналов, а также использовать типовую тему KDE (в текущей версии Oxygen). Вы можете создать отдельного пользователя в операционной системе с неизменными параметрами учётной записи, специально для создания снимков окон.

Стандартным форматом снимков окон в документации KDE является Portable Network Graphics (PNG). Чтобы уменьшить размер файла изображения, его можно сжать при помощи утилит pngnq и optipng.

Я пользуюсь Windows. Как мне помочь с переводом KDE?

Lokalize можно установить с помощью обычного инсталлятора KDE для Windows. При установке выберите соответствующий пункт в модуле kdesdk.

Если вы работаете за учётной записью, в названии которой нет символов кириллицы, воспользуйтесь Virtaal.

В крайнем случае можете воспользоваться poEdit. К сожалению, poEdit не соответствует по набору возможностей требованиям к современному инструменту локализации.

В некоторых файлах перевода встречаются странные переводы, которые содержат последовательность символов |/| и какие-то коды. Это ошибки в переводе?

Нет. Для перевода некоторых сложных фраз, в которых названия элементов интерфейса или каких-либо других параметров приложения приходится склонять (изменять род прилагательных и т.д.), приходится пользоваться Transcript. Пожалуйста, не удаляйте такие переводы, без них вы рискуете столкнуться при работе в приложении с весьма корявыми конструкциями, подобными «Показать Боковая панель».

В процессе выполнения перевода мною обнаружена ошибка в английском тексте (непонятная фраза). Что делать?

Сообщите о своей находке в список рассылки переводчиков KDE. Не забудьте сначала подписаться (иначе ваша почта задержится на неопределённый срок). Если вы не обладаете широкими знаниями английского, ничего страшного: старайтесь избегать длинных предложений, чётко и точно опишите суть проблемы простыми предложениями из 3-4 слов. Не забудьте указать название программы и расположение ошибочной или непонятной строки (необходимые данные показаны на боковой панели Lokalize «Метаданные сегмента»).

Хочется посмотреть на исходные коды приложения, из которого извлечено сообщение. Как сделать процесс максимально удобным?

Пожалуйста, ознакомьтесь с инструкциями, касающимися соответствующих скриптов и настройки Lokalize.

Что делать с готовыми файлами локализации?

Всё. Готово. Куда слать файлы?

Если вы переводили отдельные шаблоны, для удобства рецензентов, пожалуйста, переименуйте файлы POT в файлы PO (example.pot → example.po).

Запакуйте файлы архиватором Ark в любой удобный для вас формат и отошлите архив с сопроводительным письмом в список рассылки переводчиков.

Хочу отправлять переводы самостоятельно!

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

Пожалуйста, ознакомьтесь с этими инструкциями. Зарегистрируйтесь на identity.kde.org. Войдите в систему, заполните соответствующую веб-форму, укажите свой ключ SSH и учётную запись координатора команды перевода в поле supporter. Координатор решит, стоит ли поддерживать вашу заявку.

Если ваша заявка будет подтверждена, вы станете участником или участницей KDE (и русской команды по переводу KDE в частности) с правом самостоятельных вкладов.

Пожалуйста, будьте осмотрительными, от ваших действий зависит не только ваша личная репутация, но и репутация всей вашей команды.

Полезно также ознакомиться с основными принципами работы систем управления версиями. Переводчикам KDE, в частности, следует изучить соответствующие справочные материалы.

Какова структура дерева переводов KDE? Где следует располагать файлы переводов (полезные скрипты)?

Существует две основные ветки перевода KDE: стабильная и разрабатываемая. Можно настроить Lokalize, чтобы при редактировании переводов изменения сохранялись сразу в двух ветках.

Метакаталог documentation является объединённым хранилищем документации соответствующей ветки. Не стоит пытаться перевести файлы .docbook из этого каталога, — с целью уменьшения трудозатрат текст из этих файлов преобразован в формат Gettext (PO/POT). Доступ к соответствующим файлам переводов можно получить с помощью панели каталога переводов Lokalize.

В каталоге scripts содержатся сценарии обработки каталогов KDE SC (scripty) и дополнительные сценарии для Lokalize, в частности merge_all.sh, используемый для объединения переводов с новыми версиями шаблонов, и opensrc (сценарий для просмотра файлов исходников программ, предназначенный для уточнения контекста перевода). С перечнем действий, которые могут быть выполнены с помощью этих скриптов в вашей локальной копии репозитория, а также действий, призванных облегчить задачу администрирования репозитория переводов, можно ознакомиться на этой странице.

Файлы переводов вспомогательных данных программ (словари для анаграмм, звуки для Картофельного парня, файлы автокоррекции Words) расположены в подкаталоге ru/data (каталоги в data соответствуют расположению файлов после установки языкового пакета).

Файлы переводов справочной информации программ расположены в подкаталоге ru/docmessages (каталоги в docmessages соответствуют модулям KDE SC).

Файлы переведённой справочной информации программ расположены в подкаталоге ru/docs (в каталоге ru/docs/common можно сохранять юридически точные переводы лицензионных соглашений, касающихся использования документации (FSF такие переводы не признаются, поэтому их следует приводить вместе с оригинальным текстом), а также таблицу стилей (CSS), используемую командой в оформлении переведённой документации KDE SC).

Локализованные версии сценариев Lokalize, используемые командой переводчиков, а также файлы проекта переводов расположены в подкаталоге ru/lokalize-scripts.

Файлы переводов интерфейсов программ расположены в подкаталоге ru/messages (каталоги в ru/messages соответствуют модулям KDE SC).

Файлы скриптов Transcript могут быть расположены в подкаталоге ru/scripts (эти файлы будут установлены вместе с пакетом локализации).

Как улучшить качество переводов?

Использование сервера проверки переводов l10n.kde.ru

На l10n.kde.ru вы можете проверить файлы переводов при помощи Pology с включённой проверкой орфографии (т.е. создана символическая ссылка check-spell.rules -> check-spell.rules.disabled). Проверку орфографии приходится отключать, например, при проверке файла с названиями городов, звёзд и так далее, потому что их нет в словаре, и вместо списка настоящих ошибок Pology выдаст список почти всех этих названий.

Как пользоваться Pology?

Созданный Чаславом Иличем набор скриптов на языке Python под общим названием Pology является чрезвычайно полезным инструментом поиска и редактирования переводов.

Pology можно установить из дистрибутива Linux или загрузить с помощью следующей команды:

git clone git://anongit.kde.org/pology.git

Скрипты набора находятся в каталоге /scripts.

Приведём несколько полезных команд:

1) Найти и открыть в Lokalize все строки без учёта акселератора, содержащие «(c)» в шаблоне и не содержащие «©» в переводе (из каталога scripts Pology):

./posieve.py find-messages ../../ru/messages/ -saccel:'&' -stransl -smsgid:'\(c\)' -snmsgstr:'©' -slokalize

2) Упорядочить заголовки всех файлов перевода:

./posieve.py normalize-header ../../ru

3) Получить статистику перевода определённой папки (kdepim):

./posieve.py stats ../../ru/messages/kdepim

4) Снять обозначения неточного перевода со всех переводов, где изменился лишь контекст (для kstars):

./posieve.py unfuzzy-context-only -snoreview -seqmsgid ../../ru/messages/kdeedu/kstars.po

5) Заменить все английские кавычки на русские типографские в переводе (kstars):

./posieve.py fancy_quote ../../ru/messages/kdeedu/kstars.po -slongdouble:'«','»'

6) Проверить все строки кроме устаревших и «неточных» на соответствие правилам Pology для русской команды KDE:

./posieve.py check-rules --skip-obsolete -slang:ru ../../ru/messages/kdeedu/kstars.po

Примеры администрирования репозитория переводов с помощью Pology можно найти на этой странице.

Можно ли воспользоваться возможностями Translate Toolkit?

Конечно! Контроль соответствия элементов начальной строки и элементов перевода целесообразно осуществлять с помощью программы pofilter или графического интерфейса Virtaal (версии 0.7 и позднейших).

Фильтры

accelerators проверить соответствие акселераторов в строках 
acronyms проверить, не изменены ли аббревиатуры 
blank проверить, не состоит ли «перевод» лишь с пробелов 
brackets проверить, совпадает количество скобок в начальном строке и в переводе 
compendiumconflicts проверить наличие конфликтов с резюме Gettext (#-#-#-#-#) 
credits проверить, содержатся в строках данные о переводчиках вместо обычных (неправильных) переводов. 
doublequoting проверить парность кавычек в обоих строках 
doublespacing проверить наличие лишних двойных пробелов, по сравнению с исходным строкой 
doublewords проверить наличие повторов слов в переводах 
emails проверить, не переведены ли адреса 
endpunc проверить, совпадает пунктуация конце строк 
endwhitespace проверить, нет лишних пробелов в конце строк 
escapes проверить правильность экранирования escape-последовательностей 
filepaths проверить, не переведены ли адреса файлов 
functions проверить, не переведены ли названия функций 
hassuggestion найти модули с предложениями перевода 
isfuzzy найти модули, которые переведены неточно 
isreview найти модули, обозначенные для дальнейшего рецензирования 
long проверить, не является перевод значительно длиннее начальной строки 
musttranslatewords проверить, переведены ли слова, специально обозначенные для перевода 
newlines проверить, совпадают отметки разрывов строк 
notranslatewords проверить, имеются ли в переводах слова, помеченные как такие, которые нельзя переводить 
nplurals проверить, правильным является количество форм множественного числа
numbers проверить, соответствуют ли числа в начальной строке и строке перевода 
options проверить, не переведены ли названия параметров 
printf проверить, совпадают строки форматирования printf 
puncspacing проверить, правильно ли расставлены пробелы после знаков препинания 
purepunc проверить, не изменены ли строки, состоящие только из знаков препинания 
sentencecount проверить, совпадает количество предложений в начальной строке и строке перевода 
short проверить, не является перевод намного более коротким по сравнению с оригиналом
simplecaps проверить, не является регистр букв значительно расходящимся 
simpleplurals найти для редактирования формы множественного числа
singlequoting проверить соответствие одинарных кавычек в строках 
spellcheck найти слова, не соответствующие правилам правописания 
startcaps проверить, использованы заглавные буквы в начале предложения 
startpunc проверить, совпадает ли пунктуация в начале строк 
startwhitespace проверить, совпадает количество пробелов в начале строк 
tabs проверить, совпадает табуляция в обеих строках 
unchanged найти «переводы», которые совпадают с начальными строками 
untranslated найти строки, которые не переведены 
urls проверить, не переведены ли адреса URL 
validchars проверить, использованы ли в переводе лишь корректные символы 
variables проверить, использованы ли в переводе соответствующие формы переменных 
xmltags проверить, не переведены ли теги XML/HTML 

Примеры

pofilter -kde ru ru-check 

Использовать стандартные параметры проверки для KDE. Проверить все PO-файлы в каталоге ru и вывести все сообщения об ошибках в каталог ru-check (создать каталог, если его не существует).

pofilter -t isfuzzy -t untranslated ru ru-check 

Выполнить только проверки isfuzzy и untranslated. Программа создаст файлы с сообщениями, которые либо были обозначены, как переведённые неточно, или не были переведены.

pofilter -excludefilter=simplecaps -nofuzzy ru ru-check 

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

pofilter -language=ru dir dir-check 

Проверить с помощью pofilter русские переводы с учётом правил языка (пунктуации, пробелов, кавычек и т.д.). Некоторые из фильтров будут выключены.

pofilter -excludefilter=untranslated 

Проверить с помощью pofilter, пропустить непереведённые сообщения.