Переклад dtdocs
Переклад документації Darktable здійснюється через наш екземпляр Weblate.
Ви можете використовувати веб-інтерфейс Weblate для перекладу документації або завантажити переклад з Weblate на свій комп’ютер, відредагувати його, а потім вивантажити зміни.
Будь ласка, виконуйте всі роботи з перекладу через Weblate. Ми не будемо приймати запити на прийняття змін (pull request) безпосередньо на GitHub для оновлення PO-файлів.
🔗Створення нової гілки в git
- Створіть нову гілку, щоб працювати над нею в git.
Наприклад:
git checkout -b fr-translation-init
🔗Додавання нової мови в Hugo
-
У файлах
config.yaml
таconfig-pdf.yaml
знайдіть рядокlanguages:
. -
Додайте мову, на яку хочете перекласти. Наприклад, англійська виглядає так:
en-us: title: darktable 3.4 user manual weight: 1
-
Збережіть файли.
🔗Створення файлу PO
Виконайте наступні кроки, якщо ви хочете оновити файли POT та PO з джерела markdown.
-
Створіть порожній файл PO для вашої мови в папці
po
з назвою файлуcontent.<мова>.po
. Наприклад:touch po/content.fr-fr.po
-
Запустіть сценарій для заповнення PO-файлу:
cd tools/ && ./generate-translations.sh --no-translations
🔗Створення перекладених файлів
Виконайте наступні кроки для створення файлів веб-сайту із перекладу.
-
Створіть перекладені файли:
cd tools/ && ./generate-translations.sh --no-update
. -
Перевірте переклад, запустивши внутрішній сервер hugo:
hugo server
-
Відкрийте веб-браузер і перевірте зміни. URL-адреса міститься у виводі команди
hugo server
. -
Видаліть перекладені файли, оскільки ми ніколи не заносимо їх у git:
cd tools/ && ./generate-translations.sh --rm-translations
.
🔗Переклад рядків веб-сайту, epub та PDF
Існує дві теми для документації Darktable: одна для веб-сайту HTML та одна для PDF. Вам потрібно буде перекласти рядки для обох.
-
Перейдіть до
themes/hugo-darktable-docs-themes/i18n
. -
Скопіюйте вміст файлу
en.yaml
та назвіть новий файл<ваша мова>.yaml
. -
Перекладіть вміст нового файлу yaml.
-
Внесіть перекладений файл PO в git, опублікуйте його на GitHub і відкрийте запит на прийняття змін (pull request), щоб ваші зміни були прийняті.
-
Повторіть останні чотири кроки для інших тем,
themes/hugo-darktable-docs-epub-theme
таthemes/hugo-darktable-docs-pdf-theme
.
🔗Інтеграція нових перекладів із Weblate
Наступне припускає, що ваш робочий каталог git чистий, що у вас є доступ через API до екземпляра Weblate, що ви налаштували git-репозиторій Weblate як віддалений у своєму локальному git-репозиторії dtdocs
і що wlc
, клієнт командного рядка Weblate, налаштовано.
-
Зафіксуйте будь-які зміни в Weblate:
wlc commit darktable/dtdocs
-
Заблокуйте проект Weblate, щоб запобігти подальшим змінам:
wlc lock darktable/dtdocs
-
У вашому локальному git-репозиторії
dtdocs
створіть нову гілку:git checkout -b po-updates
-
Оновіть віддалений репозиторій Weblate:
git remote update weblate
-
Злийте зміни Weblate у вашу локально створену гілку:
git merge weblate/master
-
Об’єднайте всі коміти Weblate, оскільки їх багато:
git reset $(git merge-base master $(git rev-parse --abbrev-ref HEAD))
-
Підготуйте зміни в PO-файлах для фіксації:
git add -A
-
Зафіксуйте
PO
файли:git commit -m "Updated with the PO files from weblate."
-
Оновіть
POT
іPO
файли:cd tools/ && ./generate-translations.sh --no-translations && cd ..
-
Підготуйте зміни в
POT
іPO
файлах для фіксації:git add -A
-
Зафіксуйте
POT
іPO
файли:git commit -m "Updated POT and PO files."
-
Створіть запит на прийняття змін (Pull Request) в GitHub.
-
Після того, як Pull Request буде прийнятий, скиньте репозиторій Weblate, щоб він відповідав репозиторію
dtdocs
:wlc reset darktable/dtdocs