Translation of the darktable documentation is done via our Weblate instance .

Du kannst die Übersetzungsarbeiten der Dokumentation entweder über das Web von Weblate machen, oder die Übersetzung herunterladen, diese editieren und die Änderungen wieder hochladen.

Bitte erstelle alle Übersetzungen in Weblate . Wir akzeptieren keine Pull-Anfragen direkt auf GitHub, um PO-Dateien zu aktualisieren.

Erstellen eines neuen Zweiges in git

  1. Make a new branch to work on it in git. For example: git checkout -b fr-translation-init

Eine neue Sprache zu Hugo hinzufügen

  1. In the files config.yaml and config-pdf.yaml, locate the languages: line.
  2. Add the language you wish to translate. For example, the English looks like this:
    1  en-us:
    2    title: darktable 3.4 user manual

date: 2022-12-04T02:19:02+01:00 weight: 1

 1
 23. Save the files.
 3
 4## Eine PO Datei generieren
 5
 6Führe die folgenden Schritte aus, wenn du POT- und PO-Dateien aus Markdown Quellen aktualisieren willst.
 7
 81. Create an empty PO file for your language in the `po` folder with the file name `content.<language>.po`.
 9For example:
10`touch po/content.fr-fr.po`
112. Run the script to populate the PO file:
12`cd tools/ && ./generate-translations.sh --no-translations`
13
14## Generieren von übersetzten Dateien
15
16Führe die folgenden Schritte aus, um die Wegseiten Dateien einer Übersetzung zu generieren.
17
181. Generate the translated files:
19`cd tools/ && ./generate-translations.sh --no-update`.
202. Check the translation by starting hugo's internal server:
21`hugo server`
223. Open a web browser and check the changes. The URL is in the output of the `hugo server` command.
234. Remove the translated files, as we never check them into git:
24`cd tools/ && ./generate-translations.sh --rm-translations`.
25
26## Übersetzung von Webseiten-, ePub- und PDF-Strings
27
28There are two themes for the darktable documentation: one for the HTML website and one for the PDF. You'll need to translate the strings for both.
29
301. Go to `themes/hugo-darktable-docs-themes/i18n`.
312. Copy content of the file `en.yaml` and name the new file `<your language>.yaml`.
323. Translate the content of the new yaml file.
334. Check the translated PO file into git, push it to github, and open a pull request to have your changes accepted.
345. Repeat the last four steps for the other themes, `themes/hugo-darktable-docs-epub-theme` and `themes/hugo-darktable-docs-pdf-theme`.
35
36## Integration neuer Übersetzungen aus Weblate
37
38Im folgenden wird angenommen, dass das git-Arbeitsverzeichnis leer ist, der API-Zugriff auf Wablate existiert, das git-Repository von Weblate als `remote` im lokalen git-Repository für `dtdocs` eingetragen ist und Weblate's Komandozeilenprogramm `wlc`eingerichtet ist.
39
401. Commit any changes in Weblate: `wlc commit darktable/dtdocs`
412. Lock the Weblate project to prevent further changes: `wlc lock darktable/dtdocs`
423. In your local `dtdocs` git repo, create a new branch: `git checkout -b po-updates`
434. Update the Weblate remote: `git remote update weblate`
445. Merge the Weblate changes into your locally created branch: `git merge weblate/master`
456. Squash all the Weblate commits, since there are so many: `git reset $(git merge-base master $(git rev-parse --abbrev-ref HEAD))`
467. Stage the changed PO files: `git add -A`
478. Commit the `PO` files: `git commit -m "Updated with the PO files from weblate."`
489. Update the `POT` and `PO` files: `cd tools/ && ./generate-translations.sh --no-translations && cd ..`
4910. Stage the `POT` and `PO` files: `git add -A`
5011. Commit the `POT` and`PO` files: `git commit -m "Updated POT and PO files."`
5112. Create a Pull Request in Github.
5213. After the Pull Request is accepted, reset the Weblate repo to match the `dtdocs` repo: `wlc reset darktable/dtdocs`