Работа с переводами KDE через SVN — различия между версиями

Материал из l10n.lrn.ru
Перейти к: навигация, поиск
(Содержимое страницы заменено на «Статья переехала: https://community.kde.org/RU/Работа_с_переводами_KDE_через_SVN Катег…»)
 
(не показана одна промежуточная версия этого же участника)
Строка 1: Строка 1:
== Начало работы ==
+
Статья переехала: https://community.kde.org/RU/Работа_с_переводами_KDE_через_SVN
Перед тем как начать вносить изменения в репозиторий KDE, необходимо создать на своём компьютере рабочую копию части репозитория (если попробовать выгрузить весь репозиторий KDE, это может занять слишком много времени).
+
  
Какие части репозитория могут понадобиться переводчику:
+
[[Категория:KDE-перенаправления]]
* '''trunk/l10n-kde4/ru''' — здесь находятся русские переводы для приложений KDE из разрабатываемой ветки ('''trunk''') и для нестабильных версий приложений, выпускающихся отдельно от KDE.
+
* '''branches/stable/l10n-kde4/ru''' — русские переводы для приложений KDE из стабильной ветки (с конца июня до конца декабря 2010 года это ветка '''4.5''') и для стабильных версий приложений, выпускающихся отдельно от KDE. На основе файлов из этого каталога собирается пакет kde-l10n-ru для большинства дистрибутивов.
+
 
+
Используя только эти два каталога, уже вполне можно работать над переводами KDE.
+
Однако, и другие каталоги могут быть очень полезны:
+
* '''trunk/l10n-kde4/scripts''' — скрипты, имеющие отношение к локализации KDE. В подкаталоге '''lokalize''' находятся некоторые сценарии для Lokalize, среди них сценарий '''opensrc''' (он служит для открытия файлов исходного кода из Lokalize).
+
* '''trunk/l10n-kde4/templates''' — шаблоны переводов (файлы .pot). Они бывают полезны, если нужно запустить '''merge_all.sh''' или '''msgmerge'''. Кроме того, при наличии этих шаблонов, Lokalize будет показывать их на вкладке "Обзор проекта", что позволит одним щелчком мыши начать перевод полностью непереведённого файла. Однако, не надо забывать о том, что русские переводы KDE перешли на 4 формы множественного числа, а Lokalize при создании файла перевода будет по-прежнему использовать 3 формы множественного числа.
+
* '''branches/stable/l10n-kde4/templates''' — шаблоны переводов для стабильной ветки.
+
* '''trunk/l10n-kde4/documentaton''' и '''branches/stable/l10n-kde4/documentaton''' — оригинал документации на английском языке в формате DocBook. Используется для обновления русской документации, которая находится в каталоге '''trunk/l10n-kde4/ru/docs''' ('''branches/stable/l10n-kde4/ru/docs''' для стабильной ветки).
+
* '''trunk/l10n-support''' — вспомогательный каталог для работы над локализацией. Русской командой KDE он пока не используется, но именно в нём находится Pology.
+
* '''trunk/KDE''' — исходный код программ, входящих в состав KDE SC.
+
* '''trunk/extragear''', '''trunk/kdereview''', '''trunk/playground''' — исходный код других программ, которые переводятся русской командой KDE.
+
* '''trunk/koffice''' — исходный код KOffice.
+
 
+
Не все программы, локализация которых происходит в репозитории KDE, хранят свой исходный код в этом SVN-репозитории. Amarok и Konversation вместо SVN используют Git-репозитории:
+
git@git.kde.org:amarok/amarok.git                        ([http://projects.kde.org/projects/amarok/repository веб-страница])
+
git@git.kde.org:konversation/konversation.git            ([http://projects.kde.org/projects/konversation/repository веб-страница])
+
 
+
Файлы переводов из каталога '''trunk/l10n-kde4/ru/messages/qt''' относятся к переводам библиотеки Qt, на которой основаны программы KDE. Поэтому может оказаться полезным и исходный код Qt, находящийся тоже в репозитории Git:
+
git://gitorious.org/qt/qt.git                            ([http://qt.gitorious.org/qt веб-страница])
+
== Scripty ==
+
 
+
== Конфликты ==
+
Конфликты изменений возникают, когда пересекающиеся части файла изменяются одновременно в репозитории и в рабочей копии на вашем компьютере. Говоря о переводах, конфликты могут возникнуть при нескоординированной работе над одним файлом в SVN нескольких переводчиков.
+
 
+
В чём выражаются конфликты: при попытке выполнения команды '''svn up''' SVN сообщает о конфликте и отказывается выполнить '''svn up''' для файла (т.е. отказывается "добавить" к изменениям в рабочей копии те изменения, которые были сделаны в репозитории с момента последнего запуска '''svn up''').
+
 
+
=== Конфликты со scripty ===
+
Но часто конфликты возникают всего лишь из-за вмешательства сервиса обновления файлов переводов ('''scripty''').
+
 
+
Например, вы решили поработать над одним из файлов перевода. Перед этим, конечно, рекомендуется запустить '''svn up'''. И вот, вы начали редактировать файл перевода, но, не успев зафиксировать изменения в репозитории, захотели спать. Ночью запустился '''scripty''', который добавил, изменил, удалил или поменял местами строки в файле перевода. На следующий день вы запускаете '''svn up''' и обнаруживаете конфликт, потому что SVN не знает о структуре файлов переводов, и поэтому не может соотнести ваши изменения в файле с изменениями от '''scripty'''. Этот пример намекает нам на то, что лучше почаще фиксировать свои изменения в репозитории, чтобы избежать конфликтов.
+
 
+
Но как теперь разрешить возникший конфликт? Есть несколько возможностей:
+
* После запуска '''svn up''' скопировать <файл>.po.mine в <файл>.po, убрать лишние файлы и зафиксировать изменения. Таким образом, вы проигнорируете изменения от '''scripty''' и оставите только свои изменения. Следующей ночью '''scripty''' снова обновит файл перевода, и всё встанет на свои места.
+
* Если вы не хотите ждать следующего запуска '''scripty''', можно выполнить ту же работу за него. Для этого нужно запустить '''scripts/merge_all.sh''' из каталога '''l10n-kde4'''.
+
* Если нужно обновить всего лишь несколько файлов переводов, то нет необходимости запускать скрипт '''merge_all.sh'''. Можно воспользоваться '''msgmerge''':
+
msgmerge --previous -q -o ru/messages/kdeedu/kstars.po \
+
    ru/messages/kdeedu/kstars.po templates/messages/kdeedu/kstars.pot
+
* Объединить файлы переводов при помощи Lokalize (такой способ подойдёт и в случае, если два переводчика по ошибке стали работать над одним файлов в SVN).
+
 
+
== Ссылки ==
+
* [http://l10n.kde.org/docs/translation-howto/check-gui.html#gui-commit Committing Your Work to SVN]
+

Текущая версия на 23:43, 22 сентября 2018

Статья переехала: https://community.kde.org/RU/Работа_с_переводами_KDE_через_SVN