|
|
(не показаны 2 промежуточные версии этого же участника) |
Строка 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).
| + | |