:Author: Laborejo Software Suite
:Version: 2.0
:iconfont-remote!:
:!webfonts:


////
This documentation is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a
letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
A copy of the license has been provided in the file documentation/LICENSE.
////

////
https://powerman.name/doc/asciidoc
https://asciidoctor.org/docs/user-manual/
////

:sectnums:

:toc: left
:toc-title: Inhaltsverzeichnis
:toclevels: 3

= Laborejo

// Don't write in the empty line above line. It will be interpreted as author html tag
Für Programmversion 2.0

== Bedienung
Hier gibt es nichts zu sehen. 

* Weiter
* Gehen



== Installation und Start

Laborejo ist exklusiv für Linux. Am besten installierst du Laborejo über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitte deine Linuxdistribution Laborejo bereitzustellen.

Falls in den Paketquellen vorhanden bitte direkt bei "laborejo2 im Non Session Manager starten" weiterlesen.
Falls nicht kann man Laborejo auch selbst "bauen".

.Abhängigkeiten* 
* Eine Liste der Abhängigkeit befindet sich in der README.md
* Kompilieren und Installieren geht entweder mit einem Releasedownload oder mit der Git-Version:
  ** Lade von https://www.laborejo.org/downloads die aktuelle Version herunter und entpacke sie.
  ** `git clone https://laborejo.org/laborejo2.git`
* Wechsele in das neue Verzeichnis und benutze diese Befehle:
*`./configure --prefix=/usr`
  ** Das Standardprefix is /usr/local
* `make`
* `sudo make install`

.laborejo2 im Non Session Manager (NSM) starten
* Starte `non-session-manager`
* Knopf `New`, gib einen Namen für dein Musikstück ein.
* Knopf `Add Client to Session`, gib hier `laborejo2` ein, kleingeschrieben.
* Nochmal Add Client, diesmal `jackpatch`.
* Füge beliebige kompatible Programme hinzu, z.B. Synthesizer.
** Siehe auch das NSM Handbuch: http://non.tuxfamily.org/nsm/
** Und die Liste der NSM kompatiblen Programme: http://non.tuxfamily.org/wiki/ApplicationsSupportingNsm

In der Datei README.md befinden sich weitere Möglichkeiten laborejo2 zu starten. Diese sind zum Musikmachen nicht praktikabel, 
aber nützlich für Tests und Entwicklung.

== Helfen und Entwicklung
Du kannst Laborejo in vielen Art helfen: Testen und Fehler melden, übersetzen, marketing, anderen Nutzern helfen und schließlich programmieren.

=== Testen und Programmfehler
Falls du einen Fehler im Programm entdeckst (oder es zu langsam läuft) melde dich bitte bei auf eine Art und Weise, die dir am besten passt.

.Kontaktmöglichkeiten
* Webseite: https://www.laborejo.org
* E-Mail: info@laborejo.org
* IRC: #laborejo auf dem Server irc.freenode.org
* Wenn du die Gelegenheit siehst und weist, dass ein Entwickler es lesen wird meinetwegen auch Foren, Socialmedia etc.

== Entwicklung
Falls du an der Entwicklung interessiert bist melde dich am besten direkt bei uns (s.o.)
Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns deine git URL zukommen lassen.

=== Übersetzungen
Laborejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrichten.

Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in das Programm einzubinden.

* Öffne ein Terminal und navigiere ins Patroneo Verzeichnis
* Im Patroneo Verzeichnis: `cd gui/translations`
* Bearbeite die Datei `config.pro` mit einem Texteditor
  ** Hänge in der 2. Zeile den Namen deiner Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.
  ** Achte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen
* Führe `pylupdate5 config.pro` aus.
  ** Das Programm hat nun eine neue `.ts` Datei im `translations` Verzeichnis generiert
* Starte Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffne von dort deine neu generierte Datei
* Wähle deine "Target Language", also Zielsprache, aus und benutze das Programm um eine Übersetzung anzufertigen
* Sende uns die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)

Die Übersetzung kannst du auch selbst, zum Testen, in Patroneo einbinden. Dafür sind rudimentäre Python Kentnisse nötig.

* Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie deine `.ts` Datei.
* Öffne die `patroneo` Starterdatei im Texteditor
  ** Scrolle nach ganz unten, dort wird die Sprache eingestellt.
  ** Um deinen Sprachstring herauszufinden (German, Esperanto etc.) entferne die # Raute aus der bereits vorhandenen Zeile `#print (language)`. Starte NSM aus einem Terminal, starte Patroneo und der Sprachstring wird dort ausgegeben (man muss ein bischen suchen)
  ** Am Ende der Datei ist ein Dictionary `supportedLanguages`. Füge deine Sprache hinzu. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}`
     
  
=== Übersetzungen
Laborejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrich

Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in das Programm einzubinden.
Das Programm ist in zwei Teile aufgeteilt: Ein gemeinsames "Template" (für alle Laborejo Software Suit Programme) sowie das eigentliche Programm.

Der Übersetzungsprozess ist der gleiche für beide Teile, man muss ihn jedoch in unterschiedlichen Verzeichnissen durchführen:
`template/qtgui` und nur `/qtgui`, relativ zum Stammverzeichnis, wo sich die ausführbare Datei laborejo2 befindet.

Jedes "template/qtgui" hier kann durch nur "qtgui" ersetzt werden um den zweiten Teil zu übersetzen.

So fügt man eine neue Sprache hinzu:

* Öffne ein Terminal und navigiere zu template/qtgui/resources/translations
* Bearbeite die Datei `config.pro` in einem Texteditor.
  ** Hänge in der letzten Zeile den Namen deiner Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.
  ** Achte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen
* Führe `sh update.sh` im selben Verzeichnis aus.
  ** Das Programm hat nun eine neue `.ts`-Datei im Verzeichnis erstellt.
* Starte Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffne von dort deine neu generierte Datei
* Wähle deine "Target Language", also Zielsprache, aus und benutze das Programm um eine Übersetzung anzufertigen
* Sende uns die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)

Die Übersetzung kannst du auch selbst, zum Testen, in Patroneo einbinden. Dafür sind rudimentäre Python Kentnisse nötig.

* Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie deine `.ts` Datei.
* Bearbeite `template/qtgui/resources/resources.qrc` kopiere die Zeile `<file>translations/de.qm</file>` , aber änder das Länderkürzel zu deinem neuen.
* Führe `sh buildresources.sh` aus
* Bearbeite `engine/config.py`: Füge deine Sprache hinzu. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}` 
  ** Um deinen Sprachstring herauszufinden öffne den `python3`-Interpreter im Terminal und führe aus:
  ** `from PyQt5 import QtCore;QtCore.QLocale().languageToString(QtCore.QLocale().language())`


Um deine neue Übersetzung zu testen starte dein Programm, falls dein System bereits auf diese Sprache eingstellt ist. Ansonsten starte laborejo2 mit diesem Befehl vom Terminal aus:

* `LANGUAGE=de_DE.UTF-8 ./laborejo2 -V --save /dev/null`
