Краткий справочник переводчика KDE
Содержание
- 1 С чего начать?
- 1.1 Где можно пообщаться с участниками команды переводчиков?
- 1.2 Хочу что-нибудь перевести. Как определиться с выбором программы?
- 1.3 Возможно, кто-то уже переводит выбранную мной программу, как избежать лишней работы?
- 1.4 Где взять материалы для перевода?
- 1.5 Хочу перевести приложение, основанное на библиотеках KDE, но не являющееся частью KDE. Обязательно ли советоваться с командой переводчиков KDE?
- 2 Как переводить?
- 2.1 Какой формат используется для перевода?
- 2.2 Есть ли какие-то общие рекомендации?
- 2.3 Как избежать ошибок?
- 2.4 Хочу посмотреть, как переведен тот или иной термин в других приложениях KDE. Как это сделать?
- 2.5 Что следует учесть при переводе документации?
- 2.6 Как собрать переведённую документацию и посмотреть, что получилось?
- 2.7 Хочу подготовить новые качественные снимки окон для документации. Что следует учесть?
- 2.8 Я пользуюсь Windows. Как мне помочь с переводом KDE?
- 2.9 В некоторых файлах перевода встречаются странные переводы, которые содержат последовательность символов |/| и какие-то коды. Это ошибки в переводе?
- 2.10 В процессе выполнения перевода мною обнаружена ошибка в английском тексте (непонятная фраза). Что делать?
- 2.11 Хочется посмотреть на исходные коды приложения, из которого извлечено сообщение. Как сделать процесс максимально удобным?
- 3 Что делать с готовыми файлами локализации?
- 4 Как улучшить качество переводов?
С чего начать?
Где можно пообщаться с участниками команды переводчиков?
Пообщаться на тему перевода KDE, вступить в команду переводчиков, а также задать вопросы относительно спорных моментов перевода можно в списке рассылки команды переводчиков. Ознакомиться с архивом списка рассылки вы можете здесь. Послать письмо в список можно лишь после оформления подписки.
Хочу что-нибудь перевести. Как определиться с выбором программы?
Прежде чем начать переводить, определитесь с вашими интересами. Согласитесь, вряд ли перевод будет удачным, если вы никогда не пользовались и не собираетесь пользоваться программой, которую переведёте. Выберите программу, которой пользуетесь из-за её удобства или в силу служебной необходимости.
Найдите пункт программы на этой странице. Обратите внимание на то, что переводы многих программ KDE состоят из двух частей: перевода интерфейса программы (как правило, название пункта такого перевода совпадает с названием программы) и перевода дополнительных элементов интерфейса (эти переводы выполняются с помощью пунктов, названия который начинаются с desktop). Проверьте, есть ли непереведённые сообщения (показаны красным цветом). Если всё переведено, откройте эту страницу и поищите перевод документации. Если и документация переведена полностью, обратитесь к этой странице и поищите нелокализированные или устаревшие снимки окон программы. Если и с этим всё в порядке, откройте страницу вики KDE и посмотрите, не требуется ли обновление странице избранной вами программы.
И наконец, локализация программ KDE не ограничивается переводом интерфейса или документации. Вы можете помочь в локализации других полезных компонентов. Приблизительный список можно найти тут.
Возможно, кто-то уже переводит выбранную мной программу, как избежать лишней работы?
Представьтесь в списке рассылки и сообщите о своих планах. Если никто из участников команды переводчиков не занимается переводом выбранной Вами программы, принимайтесь за дело.
Где взять материалы для перевода?
Переводы KDE осуществляются с помощью инструмента перевода Lokalize. Если вы ещё не знакомы с возможностями программы, внимательно прочтите справку к ней (чтобы открыть окно справки, достаточно нажать клавишу F1). Для полноценного доступа ко всем возможностям программы вам придется загрузить весь комплект русских переводов KDE. При создании проекта перевода (пункт меню Проект >Создать новый проект) соответствующие файлы будут загружены автоматически (конечно же, только если вы этого захотите)). Среди загруженных файлов будет и нужный вам файл. После завершения загрузки достаточно открыть проект перевода (клавиша F4), найти в дереве переводов файл и открыть его в редакторе двойным клацаньем левой кнопки мыши.
Если по каким-либо причинам вы не желаете или не можете загрузить всё дерево переводов, достаточно одного файла (с расширением po или pot). Ссылку на нужный вам файл можна найти на этой странице (интерфейс) или этой странице (документация). Мы не рекомендуем пользоваться этим путём по следующим причинам:
- Без загрузки полного комплекта вы не получите удобного доступа к глоссарию команды переводчиков. Старайтесь использовать согласованный командой глоссарий и соблюдать правила перевода.
- Если программу ещё никто не переводил, вероятно, в ней много сообщений, которые уже были ранее переведены другими участниками команды перевода. Их можно заполнить с помощью памяти переводов (подробное описание приведено в документации к Lokalize). Если комплект переводов не будет загружен, доступа к памяти переводов вы, естественно, не получите.
Хочу перевести приложение, основанное на библиотеках KDE, но не являющееся частью KDE. Обязательно ли советоваться с командой переводчиков KDE?
Многие популярные программы (Kdenlive, 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) поддерживают показ комментариев, поэтому можно спокойно переводить сообщения, не заглядывая постоянно в код программы.
Формы множественного числа
В KDE 3 была ужасно неочевидная форма записи форм множественного числа:
#: kilestdtools.cpp: 171 # c-format msgid "" "_n:%n error\n" "%n errors" msgstr "" "%n ошибка\n" "%n ошибки\n" "%n ошибок"
Сейчас от этой формы избавились. Теперь форма записи полностью совпадает со стандартной:
#: kilestdtools.cpp: 204 # kde-format msgid "1 error" msgid_plural "%1 errors" msgstr[0] "%1 ошибка" msgstr[1] "%1 ошибки" msgstr[2] "%1 ошибок"
Первой из форм соответствуют числа 1, 21, 31 и т.д., второй — 2, 3, 4, 22, 23 и т.д., третьей — 5, 6, 7 и т.д. Все эти формы будут показаны на вкладках перевода Lokalize.
С 20 июля 2010 года русские переводы KDE используют 4 формы множественного числа:
#: 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 "ivan@goodhost.org,petrov@nicehost.org"
Как видим, в 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>" "ivan@somewhere.org</ email> </ address> </ affiliation> <contrib>Перевод" "на русский</contrib> </othercredit> <othercredit role = \"translator" "\"> <firstname>Пётр </ firstname> <surname> Петров</" "surname> <affiliation> <address> <email>petrov@nevermind.net</email> </address> </" "affiliation> <contrib>Дополнение перевода на русский</contrib> </othercredit>"
Здесь мы видим XML-код, который можно просто скопировать из памяти переводов Lokalize и заполнить собственными данными. Кроме того, предусмотрена ещё одна запись в конце файла:
#. tag: trans_comment #: index.docbook: 1917 # no-c-format msgid "CREDIT_FOR_TRANSLATORS" msgstr "" "<para>Перевод на русский: Иван Иванов <email>ivan@host.ru" "</email></para><para>Дополнение перевода на русский: Пётр " "Петров <email>petrov@nevermind.net</email> </para>"
Замечания здесь те же: не переводите буквально!
Во-вторых, проверьте качество перевода простой командой
msgfmt -v -c ваш_файл.po
Если смысл появившихся сообщений об ошибках вам не ясен, сообщите о них в списке рассылки (не забудьте процитировать соответствующий фрагмент файла перевода).
В-третьих, соблюдайте правила орфографии. Стоит проверить переведенные файлы на возможные ошибки скриптом
#!/bin/bash for i in *.po do sed "s/[&a-zA-Z]//g"<$i|sed "s/ё/е/g"|aspell -l ru list|sort|uniq>${i%.*}.err done |
Если в системе надлежащим образом установлен комплект Pology, можно обойтись командой попроще:
posieve.py check-spell *.po |
В-четвёртых, важным в проверке перевода является выявление ошибок, связанных с неправильным использованием тегов в сообщениях интерфейса программы. Выявить такие ошибки можно с помощью Pology. Впрочем, вы можете оставить эту работу на усмотрение координатора перевода. Не забудьте, однако, сообщить о том, что этой проверки вы не выполняли.
Хочу посмотреть, как переведен тот или иной термин в других приложениях KDE. Как это сделать?
Воспользуйтесь интернет-словарём перевода. Если вам хочется сравнить перевод с переводом GNOME, воспользуйтесь словарём GNOME. Поиск по переводам KDE, GNOME, Firefox, OpenOffice.org и другого ПО: [1].
Что следует учесть при переводе документации?
Документация, также как и интерфейс программ, переводится в файлах переводов Gettext (см. Где взять материалы для перевода?). Не следует пытаться переводить веб-страницы с docs.kde.org в виде текста.
Если вы переводите документацию, помните, что переведенный вами файл справки будет собран и добавлен в пакеты KDE, только если этот перевод будет готов на 100%. Один справочник может состоять из нескольких модулей, не забывайте об их переводе.
Если вам встретилось выражение в формате &что-нибудь;, попробуйте определиться с тем, что оно будет означать в конечном тексте перевода. Вообще-то общий перевод таких сокращений определяется согласованным командой словарём, но поскольку в русском языке существительные и другие части речи довольно сильно изменяются в рамках контекста предложения, а обороты строго отделяются от остальной части предложения пунктуацией, стоит просто заменять некоторые «сокращения» полными вариантами. Следуйте таким рекомендациям:
Сокращение | Перевод | Комментарий |
---|---|---|
&ie; | то есть | Замена полной формой с целью сохранения пунктуации |
⪚ | например | Замена полной формой с целью сохранения пунктуации |
&НАЗВАНИЕ_ПРОГРАММЫ; | &НАЗВАНИЕ_ПРОГРАММЫ; или полная форма с учётом падежа | Замена полной формой с целью учёта падежей. Пример: &systemsettings; = Параметры системы (с учётом падежа) |
&НАДПИСЬ_НА_КЛАВИШЕ; | &НАДПИСЬ_НА_КЛАВИШЕ; | «Оптимус Максимус» всё ещё не смог заметно распространиться. ;) Пример: &Ctrl; = &Ctrl; |
&LMB; &RMB; &MMB; | левая, правая, средняя кнопка мыши | Замена полной формой с целью учёта падежей. Пример: &LMB; = левая кнопка мыши (с учётом падежа в предложении) |
Как собрать переведённую документацию и посмотреть, что получилось?
Установите пакеты kdesdk-po2xml, subversion, git и md5deep.
Загрузите скрипты обработки переводов:
svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4/scripts/
По завершению перевода документации попробуйте собрать документацию программы командой
scripts/update_xml ru название_модуля название_приложения
выполненной из корневой папки ваших переводов. Скрипт автоматически загрузит документацию к приложению (вам, очевидно, понадобится пригодное к использованию интернет-соединение) и соберёт документацию в соответствующей папке переводов команды (ru/docs/название_модуля/название_программы). После успешной сборки можно приступить к дополнению переведенной документации снимками окон (вы сможете выполнить дополнительную проверку соответствия вашего перевода реальной картинке, которую видит пользователь).
Если при компиляции будут показаны сообщения об ошибках, вам следует внимательно с ними ознакомиться. Обычно, причин ошибок может быть три: ошибки в тегах XML при переводе, создание новых записей авторов и названий программ (entities), ошибки в оригинальном файле DocBook.
Разберем все возможные варианты последовательно:
1) Вы допустили ошибку при переводе. Внимательно прочитайте сообщение, выведеные скриптом update_xml. Найдите первую ошибку. Если легко удается идентифицировать ложное сообщение, откройте его в Lokalize, перейдите в конец сообщения и нажмите комбинацию клавиш Ctrl+T. В ответ программа покажет список тегов сообщения. Обратите внимание на тег, который выделен: возможно, именно его вы пропустили или расположили неправильно. Если идентифицировать ошибочное сообщение не удалось, вы можете попробовать собрать черновик документации и определить сообщение по строке ошибки: скопируйте соответствующий файл docbook и файл po в другую папку и выполните команду
po2xml файл.docbook файл.po> translated.docbook
По номеру строки с ошибкой определите ошибочное сообщение и исправьте его.
2) Авторы документации создали новые записи в файлах типовых записей (такие ошибки можно обнаружить по характерным сообщениям о неопределенных записях entities). Для сбора документации вам придется загрузить новые файлы записей
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs/kdoctools/customization/entities
и переписать их в / usr/share/apps/ksgmltools2/customization/entities
3) Если два описанных способа не дали результатов, попробуйте проверить DocBook на корректность командой
checkXML index.docbook
Если будет показано сообщение об ошибке, сообщите о нём в список рассылки переводчиков KDE.
Если всё прошло удачно, скопируйте готовые файлы справки (update_xml создаст их в каталоге /ru/docs/название модуля/название программы) в отдельный каталог тестирования. Для преобразования документации в формат HTML воспользуйтесь командой
meinproc4 index.docbook
Попробуйте вычитать документацию и исправить ошибочно переведенные сообщения.
Хочу подготовить новые качественные снимки окон для документации. Что следует учесть?
Конечно же, переведенная документация лучше выглядит с полностью локализованным элементами. Для создания снимков окон можно воспользоваться KSnapshot (просто откройте соответствующее окно локализованной программы и нажмите PrintScreen). Образцы соответствующих снимков можно найти в каталоге /documentation с оригинальной документацией. Следует придерживаться размеров изображений оригиналов, а также использовать типовую тему KDE (в текущей версии Oxygen). Вы можете создать особого пользователя в системе с неизменными настройками учётной записи.
Стандартным форматом снимков окон KDE является Portable Network Graphics (PNG).
Я пользуюсь 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: стабильная и разрабатываемая.
Метакаталог documentation является объединённым хранилищем документации соответствующей ветки. Не стоит пытаться перевести файлы .docbook из этого каталога, — с целью уменьшения трудозатрат текст из этих файлов преобразован в формат Gettext (PO/POT). Доступ к соответствующим файлам переводов можно получить с помощью панели каталога переводов Lokalize.
В каталоге scripts содержатся сценарии обработки каталогов KDE SC (scripty) и дополнительные сценарии для Lokalize, в частности merge_all.sh, используемый для объединения переводов с новыми версиями шаблонов, и opensrc (сценарий для просмотра файлов исходников программ, предназначенный для уточнения контекста перевода). С перечнем действий, которые могут быть выполнены с помощью этих скриптов в вашей локальной копии репозитория, а также действий, призванных облегчить задачу администрирования репозитория переводов, можно ознакомиться на этой странице.
Файлы переводов вспомогательных данных программ (словари для анаграмм, звуки для Картофельного парня, файлы автокоррекции KWord) расположены в подкаталоге 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 можно с помощью следующей команды:
svn co svn://anonsvn.kde.org/home/kde/trunk/l10n-support/pology
Скрипты набора находятся в каталоге /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 unfuzzy-context-only -snoreview -seqmsgid ../../ru/messages/kdeedu/kstars.po
5) Заменить все английские кавычки на русские типографские в переводе (kstars):
./posieve.py fancy_quote ../../ru/messages/kdeedu/kstars.po -slongdouble:'«','»'
Примеры администрирования репозитория переводов с помощью 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, пропустить непереведенные сообщения.