Update documentation on main branch.

This commit is contained in:
John Livingston
2023-02-15 14:44:03 +01:00
parent 891a7336c4
commit 909bc9b335
26 changed files with 735 additions and 84 deletions

View File

@ -5,6 +5,6 @@ weight=60
chapter=false
+++
Interested in contributing? Awesome!
Interessiert beizutragen? Super!
{{% children style="li" depth="3" description="true" %}}

View File

@ -1,10 +1,146 @@
+++
title="Code of Conduct"
description="Contributor Covenant Code of Conduct"
title="Verhaltenskodex"
description="Vereinbarung über Verhaltenskodex für Mitwirkende"
weight=10
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
## Unsere Verpflichtung
Wir als Mitglieder, Teilnehmende und Verantwortliche unserer Gemeinschaft
verpflichten uns, allen Teilnehmenden an dem Projekt und unserer Gemeinschaft
eine belästigungsfreie Beteiligung, unabhängig von Alter, Körpergröße,
Behinderung, ethnischer Zuordnung, Geschlechtermerkmalen, -identität und -ausdruck,
Grad der Erfahrung, Bildung, sozialem Status, Nationalität, persönlicher
Erscheinung, Rasse, Religion oder sexueller Identität und Orientierung
zu ermöglichen.
Wir verpflichten uns, in einer Weise zu handeln und zu interagieren, die zu
einer offenen, einladenden, vielfältigen, inklusiven und gesunden Gemeinschaft
beiträgt.
## Unsere Standards
Beispiele für Verhaltensweisen, die zu einem positiven Umfeld für unsere
Gemeinschaft beitragen, sind:
- Einfühlungsvermögen und Freundlichkeit gegenüber anderen Menschen zeigen
- Unterschiedliche Meinungen, Standpunkte und Erfahrungen respektieren
- Konstruktives Feedback geben und würdevoll annehmen
- Verantwortung übernehmen und uns bei denjenigen entschuldigen, die von unseren
Fehlern betroffen sind, und aus den Erfahrungen lernen
- Konzentration auf das, was nicht nur für uns als Individuen, sondern für die
gesamte Gemeinschaft das Beste ist
Beispiele für inakzeptables Verhalten sind:
- Die Verwendung sexualisierter Sprache, Bilder oder Symbolik sowie unerwünschte
Versuche sexueller Annäherung
- Beleidigende oder abwertende Kommentare, persönliche oder politische Angriffe
und Trollen
- Öffentliche oder private Belästigungen
- Das Veröffentlichen von privaten Informationen Anderer, wie zum Beispiel
physische oder elektronische Adressen, ohne deren ausdrückliche Erlaubnis
- Anderes Verhalten, welches in einem professionellen Umfeld begründet als
unangemessen betrachtet werden kann
## Verantwortlichkeiten bei der Durchsetzung
Die Gemeinschaftsleitung ist verantwortlich dafür, unsere Standards für ein
akzeptables Verhalten klarzustellen und wird angemessen und fair
korrigierende Maßnahmen ergreifen um auf jegliches Verhalten, das sie für
unangemessen, bedrohlich oder beleidigend hält, zu reagieren.
Die Gemeinschaftsleitung hat das Recht und die Verantwortung, Kommentare,
Commits, Code, Wiki-Bearbeitungen, Support-Tickets und andere Beiträge, die
nicht mit diesem Verhaltenskodex vereinbar sind, zu entfernen, zu bearbeiten
oder abzulehnen, und wird die Gründe für eine Mäßigung mitteilen, wenn es
angebracht ist.
## Geltungsbereich
Dieser Verhaltenskodex gilt für alle Gemeinschaftsbereiche und gilt auch, wenn
eine Einzelperson die Gemeinschaft offiziell in öffentlichen Bereichen vertritt.
Beispiele für die Repräsentation unserer Gemeinschaft sind die Verwendung einer
offiziellen E-Mail-Adresse, das Posten über ein offizielles Social-Media-Konto
oder das Auftreten als ernannte Vertretung bei einer Online- oder
Offline-Veranstaltung.
## Durchsetzung
Fälle von missbräuchlichem, belästigendem oder anderweitig inakzeptablem
Verhalten können unter git.[at].john-livingston.fr der für die Durchsetzung
zuständigen Gemeinschaftsleitung gemeldet werden. Alle Beschwerden werden
zeitnah und fair geprüft und ermittelt.
Die gesamte Gemeinschaftsleitung ist verpflichtet, die Privatsphäre und die
Sicherheit derjenigen, die einen Vorfall gemeldet haben, zu respektieren.
## Durchsetzungsrichtlinien
Die Gemeinschaftsleitung wird sich bei der Bestimmung der Konsequenzen für
jede Handlung, die ihrer Ansicht nach gegen diesen Verhaltenskodex verstößt, an
diese Richtlinien über die Auswirkungen in der Gemeinschaft halten:
### 1. Berichtigung
**Auswirkungen in der Gemeinschaft**: Verwendung unangemessener Sprache oder
anderes Verhalten, das in der Gemeinschaft als unprofessionell oder unwillkommen
gilt.
**Folge**: Eine private, schriftliche Verwarnung der Gemeinschaftsleitung,
die Klarheit über die Art des Verstoßes und eine Erklärung dafür bietet, warum
das Verhalten unangemessen war. Eine öffentliche Entschuldigung kann verlangt
werden.
### 2. Verwarnung
**Auswirkungen in der Gemeinschaft**: Eine Verletzung durch einen einzelnen
Vorfall oder eine Reihe von Handlungen.
**Folge**: Eine Warnung mit Konsequenzen bei wiederholtem Fehlverhalten. Keine
Interaktion mit den beteiligten Personen, einschließlich unaufgeforderter
Interaktion mit denjenigen, die den Verhaltenskodex durchsetzen, für einen
bestimmten Zeitraum. Dazu gehört die Vermeidung von Interaktionen in
Gemeinschaftsräumen sowie in externen Kanälen wie sozialen Medien. Ein Verstoß
gegen diese Bedingungen kann zu einem vorübergehenden oder dauerhaften Verbot
führen.
### 3. Vorübergehender Ausschluss
**Auswirkungen in der Gemeinschaft**: Eine schwerwiegende Verletzung von
Gemeinschaftsstandards, einschließlich anhaltend unangemessenen Verhaltens.
**Folge**: Ein zeitlich begrenztes Verbot jeglicher Art von Interaktion oder
öffentlicher Kommunikation mit der Gemeinschaft. Während dieses Zeitraums ist
keine öffentliche oder private Interaktion mit den beteiligten Personen erlaubt.
Auch keine unaufgeforderte Interaktion mit denjenigen, die den Verhaltenskodex
durchsetzen. Ein Verstoß gegen diese Bedingungen kann zu einem dauerhaften
Verbot führen.
### 4. Dauerhafter Ausschluss
**Auswirkungen in der Gemeinschaft**: Aufzeigen eines Musters von Verletzungen
der Gemeinschaftsstandards, einschließlich anhaltend unangemessenen Verhaltens,
Belästigung einer Person oder Aggression gegen oder Herabsetzung von Gruppen von
Personen.
**Folge**: Ein dauerhaftes Verbot jeglicher Art von öffentlicher Interaktion
innerhalb der Gemeinschaft.
## Bezug
Dieser Verhaltenskodex basiert auf dem [Contributor Covenant][homepage],
Version 2.0, verfügbar unter
<https://www.contributor-covenant.org/de/version/2/0/code_of_conduct>
Community Impact Guidelines wurden von
[Mozillas Code of Conduct Enforcement Ladder][mozilla] inspiriert.
Antworten auf häufig gestellte Fragen zu diesem Verhaltenskodex finden Sie in
den häufig gestellten Fragen unter <https://www.contributor-covenant.org/faq>
(in Englisch). Andere Übersetzungen sind verfügbar unter
<https://www.contributor-covenant.org/translations>.
[homepage]: https://www.contributor-covenant.org
[mozilla]: https://github.com/mozilla/inclusion

View File

@ -1,10 +1,91 @@
+++
title="Code of Conduct"
description="Contributor Covenant Code of Conduct"
title="コントリビューター行動規範"
description="コントリビューター行動規範"
weight=10
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
## 私たちの約束
メンバー、コントリビューター、およびリーダーとして、年齢、体の大きさ、目に見えるまたは目に見えない障害、民族性、性別、
性同一性、表現、経験のレベル、教育、社会経済的地位、国籍、人格、人種、宗教、または性的同一性と指向に関係なく、
コミュニティへの参加をハラスメントのない体験にすることを誓います。
私たちは、オープンで親しみやすく、多様で包括的で健全なコミュニティに貢献する方法で行動し、交流することを誓います。
## 私たちの標準
前向きな環境を作り上げることに貢献する行動の例:
* 他人への共感と優しさを示す
* 異なる意見、視点、経験を尊重する
* 建設的なフィードバックを与え、礼儀正しく受け入れる
* 私たちの過ちの影響を受けた人々に責任を受け入れ、謝罪し、そしてその経験から学ぶ
* 個人としてだけでなく、コミュニティ全体にとっても最善であることに焦点を当てる
許容できない行動の例は次のとおりです。
* 性的な言葉や画像の使用、および性的な注意またはその他あらゆる種類の問題行為
* トローリング、侮辱的または中傷的なコメント、個人的または政治的攻撃
* 公的またはプライベートの嫌がらせ
* 明示的な許可なしに、住所や電子メールアドレスなど、他者の個人情報を公開する
* 職業上不適切と合理的に考えられるその他の行為
## 執行責任
コミュニティリーダーは、許容される行動の基準を明確にし、実施する責任があり、不適切、脅迫的、攻撃的、または有害と見なされる行動に応じて、適切で公正な是正措置を講じます。
コミュニティリーダーは、コメント、コミット、コード、wikiの編集、問題、およびこの行動規範に沿っていないその他の貢献を削除、編集、または拒否する権利と責任を持ち、適切な場合はモデレーションの決定の理由を伝えます。
## 適用範囲
この行動規範は、すべてのコミュニティスペース内で適用され、個人がパブリックスペースでコミュニティを公式に代表している場合にも適用されます。
私たちのコミュニティを代表する例には、公式の電子メールアドレスの使用、公式のソーシャルメディアアカウントを介した投稿、オンラインまたはオフラインのイベントでの指定代理人としての行動などがあります。
## 執行
虐待的、嫌がらせ、またはその他の許容できない行動の事例は、執行を担当するコミュニティリーダーに対して git.[at].john-livingston.fr で報告される場合があります。
すべての苦情は迅速かつ公正にレビューおよび調査されます。
すべてのコミュニティリーダーは、問題の報告者のプライバシーとセキュリティを尊重する義務があります。
## 執行ガイドライン
コミュニティリーダーは、この行動規範に違反していると見なした行動への帰結を判断する際に、これらのコミュニティガイドラインに従います。
### 1. 更生
**コミュニティへの影響**: コミュニティで専門家にふさわしくない、または歓迎されないと思われる不適切な言葉の使用やその他の不適切な行動をすること。
**帰結**: コミュニティリーダーからの非公開の書面による警告。違反の理由を明確にし、行動が不適切だった理由を説明します。 公の謝罪が要求される場合があります。
### 2. 警告
**コミュニティへの影響**: 単一の出来事または一連の動作による違反。
**帰結**: 持続的な行動の結果を伴う警告。 指定された期間、行動規範の実施者との一方的な対話を含め、関係者との対話はありません。 これには、コミュニティスペースやソーシャルメディアなどの外部チャネルでの相互作用の回避が含まれます。 これらの条件に違反すると、一時的または永続的に禁止される場合があります。
### 3. 一時的な禁止
**コミュニティへの影響**: 持続的で不適切な行動を含む、コミュニティ標準の重大な違反。
**帰結**: 指定された期間のコミュニティとのあらゆる種類の相互関係または公的なコミュニケーションの一時的な禁止。 この期間中、行動規範を実施する人々との一方的な対話を含め、関係する人々との公的または私的な対話は許可されません。
これらの条件に違反すると、永久的に禁止される場合があります。
### 4. 永久的な禁止
**コミュニティへの影響**: 連続的な不適切な行動、個人への嫌がらせ、または個人の集団に対する攻撃または名誉毀損を含む、コミュニティの標準への違反のパターンを示す。
**帰結**: コミュニティ内でのあらゆる種類の公的な相互関係の永久的な禁止。
## 帰属
この行動規範は、https://www.contributor-covenant.org/version/2/0/code_of_conduct.html で利用可能な [Contributor Covenant][homepage] バージョン2.0を基に作成されています。
コミュニティへの影響ガイドラインは[Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity)に適合しています。
[homepage]: https://www.contributor-covenant.org
この行動規範に関する一般的な質問への回答については、https://www.contributor-covenant.org/faq のFAQを参照してください。翻訳はhttps://www.contributor-covenant.org/translations で入手できます。

View File

@ -1,10 +1,62 @@
+++
title="Develop"
description="Develop"
title="Entwickeln"
description="Entwickeln"
weight=40
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
Sprechen Sie immer über die Funktionen, die Sie entwickeln wollen, indem Sie das Issue, das Ihr Problem behandelt, erstellen/finden und kommentieren bevor Sie mit der Arbeit daran beginnen und informieren Sie die Gemeinschaft darüber, dass Sie mit der Programmierung beginnen, indem Sie das Thema für sich beanspruchen.
Bitte benutzen Sie den `develop` Zweig. Der `main`-Zweig ist für veröffentlichte Versionen des Plugins reserviert, so dass die Dokumentation immer mit der veröffentlichten Version des Plugins synchronisiert ist.
Voraussetzung für die Erstellung dieses Plugins:
- Sie müssen `npm` installiert haben
- Sie müssen python venv installiert haben (z.B. das Paket `python3-venv` auf Debian)
Um das Repository zu klonen:
```bash
# Clone the repository
git clone https://github.com/JohnXLivingston/peertube-plugin-livechat.git
# Checkout the develop branch
git checkout develop
# Initialize the submodules. This command must be run again if any submodules' version changes.
git submodule update --init --recursive
# Install NPM dependencies and build the module for the first time:
npm install
# Build the plugin after a modification:
npm run build
# If you have a fork from the repository, add it as remote (example):
git remote add me git@github.com:MY_GITHUB_ACCOUNT/peertube-plugin-livechat.git
# Create a local branch for you developments, and checkout it (example):
git checkout my_development # Note: if an issue is associated, use fix_1234 as your branch name (where 1234 is the issue's number)
# To propose your modifications, push your branch to your repository (example):
git push --set-upstream me my_development
# Then go to your github repository with your web browser to propose the Pull Request (see additional instructions below)
```
Sobald Sie bereit sind, Ihren Code zu zeigen und um Feedback zu bitten, reichen Sie einen *Entwurf* für einen Pull Request ein.
Sobald Sie bereit für eine Codeüberprüfung vor der Zusammenführung sind, reichen Sie einen Pull Request ein. In jedem Fall sollten Sie Ihren PR mit dem Problem, die er behebt, verlinken, indem Sie die GitHub-Syntax verwenden: "fixes #issue_number".
Der Front-End-Code befindet sich im Ordner `client`, der Back-End-Code im Ordner `server`. Es gibt einige gemeinsam genutzte Codes im `shared` Ordner.
Für allgemeine Anweisungen (Entwicklung von Plugins, Erstellung, Installation, ...), lesen Sie bitte die [Peertube Dokumentation] (https://docs.joinpeertube.org/contribute-plugins?id=write-a-plugintheme).
Sie können das Plugin mit zusätzlichen Debug-Funktionen bauen, indem Sie es einfach benutzen:
```bash
NODE_ENV=dev npm run build
```
## ESBuild vs Typescript
Dieses Plugin verwendet ESBuild für die Generierung von Frontend-Code, wie das offizielle `peertube-plugin-quickstart` Plugin.
ESBuild kann mit Typescript umgehen, prüft aber keine Typen
(siehe [ESBuild-Dokumentation](https://esbuild.github.io/content-types/#typescript)).
Deshalb kompilieren wir Typescript zuerst mit der Option `-noEmit`, nur um die Typen zu überprüfen (`check:client:ts` in der package.json Datei).
Dann, wenn alles in Ordnung ist, führen wir ESBuild aus, um das kompilierte Javascript zu erzeugen.

View File

@ -1,10 +1,60 @@
+++
title="Document"
description="Documenter the plugin, or translate the documentation."
title="Dokumentation"
description="Dokumentieren Sie das Plugin, oder übersetzen Sie die Dokumentation."
weight=50
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
## Allgemeine Informationen
Informieren Sie die Community immer vor der Arbeit (indem Sie ein neues Problem erstellen oder ein bestehendes kommentieren). Damit soll vermieden werden, dass zwei Personen
an der gleichen Sache arbeiten, und Konflikte zu verhindern.
Bitte benutzen Sie den `develop`-Zweig. Der `main`-Zweig ist für veröffentlichte Versionen des Plugins reserviert, so dass die Dokumentation immer mit der veröffentlichten Version des Plugins synchronisiert ist.
Der Quellcode der Dokumentation befindet sich im Ordner `support/documentation/content`.
Die Dokumentation wird mit [Hugo](https://gohugo.io/) erstellt.
Sie müssen es auf Ihrem Computer installieren, wenn Sie eine Vorschau Ihrer Arbeit sehen wollen.
Das verwendete Thema ist [hugo-theme-learn](https://learn.netlify.app/).
Sie sollten dessen Dokumentation lesen, bevor Sie mit der Bearbeitung der Dokumentation beginnen.
## Übersätzungen
Die Hauptsprache ist Englisch (Code `en`).
Die verschiedenen Übersetzungen der gleichen Datei stehen nebeneinander im Verzeichnis und sind durch einen Sprachcode in der Dateinamenerweiterung gekennzeichnet.
Beispiel: `_index.fr.md` ist die französische Übersetzung von `_index.en.md`.
Bitte beachten Sie, dass eine fehlende Übersetzungsdatei nicht in den Menüs der generierten Website erscheint.
**Stellen Sie sicher, dass Sie immer alle Dateien für die Sprachen erstellen**, auch wenn die Übersetzung noch nicht verfügbar ist.
Dafür gibt es ein Skript `doc-generate-missing-translations.sh` im Stammverzeichnis des Projektes. Wenn Sie eine neue Datei hinzufügen, müssen Sie nur die englische Version erstellen und dann dieses Skript ausführen. Es erstellt alle fehlenden Übersetzungen und fügt eine Beispielmeldung hinzu, die den Benutzer auffordert, die englische Version zu lesen.
## Eine neue Sprache hinzufügen
Kopieren und ändern Sie den Abschnitt `[Languages.fr]` in der Datei `support/documentation/config.toml`.
Führen Sie dann das Skript `doc-generate-missing-translations.sh` aus.
Es wird alle fehlenden Dateien erstellen.
Dann können Sie sie eine Datei nach der anderen übersetzen.
Wenn die Übersetzungen nicht vollständig sind, macht das nichts, die generierten Dateien zeigen eine Meldung an, die vorschlägt, die Sprache zu ändern.
## Vorschau
Um eine Vorschau Ihrer Änderungen zu sehen, führen Sie einfach diesen Befehl aus:
```bash
hugo serve -s support/documentation/
```
Öffnen Sie dann Ihren Browser und gehen Sie auf die Adresse
[http://localhost:1313/peertube-plugin-livechat/](http://localhost:1313/peertube-plugin-livechat/).
Diese Seite wird bei jeder Änderung automatisch aktualisiert.
## Veröffentlichung
Die Veröffentlichung der Dokumentation erfolgt automatisch, sobald die Änderungen in den `main` Zweig eingefügt wurden.

View File

@ -5,7 +5,7 @@ weight=50
chapter=false
+++
## General informatiosn
## General information
Always inform the community before working (by creating a new issue, or commenting an existing one). This is to avoid that two persons are
working on the same thing, and prevent conflicts.

View File

@ -1,10 +1,11 @@
+++
title="Give your feedback"
description="Give your feedback"
title="Feedback"
description="Gib dein Feedback"
weight=30
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
Sie müssen keine Programmierkenntnisse haben, um zu diesem Plugin beizutragen! Andere
Beiträge sind auch sehr wertvoll, darunter:
Sie können die Software testen und Fehler melden, Sie können Feedback geben, Funktionen die Sie
interessieren, Benutzeroberfläche, Design, ...

View File

@ -1,10 +1,21 @@
+++
title="Translate"
description="Translate the plugin"
title="Übersätzen"
description="Das Plugin übersätzen"
weight=20
chapter=false
+++
{{% notice warning %}}
This page is not yet translated in your language, please refer to the english version. You can switch to it by using the language selector in the left menu.
{{% /notice %}}
Sie können uns helfen, dieses PeerTube-Plugin zu übersetzen, indem Sie Übersetzungsdateien im Ordner `languages` erstellen oder ändern.
Bitte arbeiten Sie auf dem `develop` Zweig, und machen Sie Ihre Änderungen und Pull Requests auf diesem Zweig.
Wenn die Sprache, für die Sie sich interessieren, noch nicht existiert, erstellen Sie eine Datei `code.json` im Ordner `languages`, wobei `code` der Code der Sprache ist.
Der Sprachcode muss derselbe sein wie der Sprachcode von Peertube (siehe [Peertube-Dokumentation](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
Fügen Sie dann die Sprachdatei in der Datei `package.json` unter dem Schlüssel `translations` hinzu.
Die Übersetzungen werden wie folgt in der Sprachdatei festgelegt:
- die Dateien sind im [JSON Format](https://www.json.org)
- der JSON Schlüssel ist der englische Text (Siehe die bestehenden Schlüssel in der [französischen Übersätzungsdatei](languages/fr.json)).
- der JSON Wert ist der übersätzte Text
- Hinweis: Es gibt keine englische Übersätzungsdatei (So funktionieren Übersätzungen für Peertube Plugins)

View File

@ -7,7 +7,15 @@ chapter=false
You can help us to translate this PeerTube plugin by creating or modifying translation files in the `languages` folder.
{{% notice info %}}
For now, translation is done in the git repository. Later in 2023, online translation tools will be set (probably [Weblate](https://weblate.org)). This will make the translation process easier.
{{% /notice %}}
{{% notice tip %}}
Please work on the `develop` branch, and do your commits and pull request on this branch.
{{% /notice %}}
## Standard application strings
If the language you are interesting in does not exist yet, create a file `code.json` in the `languages` folder, where `code` is the language code.
The language code must be the same as the Peertube's langage code (see [Peertube documentation](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
@ -19,3 +27,29 @@ Translation strings are set in the language file as follow:
- the JSON key is the english string (see existing keys in the [french translation file](languages/fr.json)).
- the JSON value is the translating string
- NB: there is no english translation file (this is how translation works for peertube's plugins)
## Settings translations
In the plugin settings page, there are more complex strings.
They can be HTML code, with newlines, HTML tags, ...
This is not suitable for the JSON format.
That's why the process is a little bit different for settings strings.
Settings strings are defined in [YAML files](https://en.wikipedia.org/wiki/YAML).
They don't use the english text as key, but a codified key, like `list_rooms_label`.
On the contrary of the standards application strings, there is also a configuration file for the english language.
These files are in the folder `languages/settings`. If the file for the language that you are interested in does not exist, just create a new file
named `code.yml`, where `code` is the language code (see above).
Then, you can copy YAML keys from the reference file `languages/settings/en.yml`, and translate strings.
If you don't want to translate a string, you can ignore it, or use `null` or `~` as value.
{{% notice warning %}}
There might be some «very technical» strings. If you are not 100% sure of
the meaning, or of your translation, you better not translate it,
so it will display in english.
{{% /notice %}}

View File

@ -7,7 +7,18 @@ chapter=false
Vous pouvez nous aider à traduire ce plugin Peertube en créant ou modifiant des fichiers de traduction dans le dossier `languages`.
{{% notice info %}}
Pour le moment, les traductions se font directement dans le dépôt git.
Plus tard en 2023, des outils de traduction en ligne seront mis en place
(probablement [Weblate](https://weblate.org)).
Le processus de traduction en sera plus simple.
{{% /notice %}}
{{% notice tip %}}
Merci de travailler sur la branche `develop`, et de faire vos _pull request_ sur cette branche.
{{% /notice %}}
## Chaîne applicatives standard
Si la langue dans laquelle vous souhaitez traduire n'existe pas encore, créez un fichier `code.json` dans le dossier `languages`, où `code` est le code langue.
Le code langue doit être dans le même format que les codes langues de Peertube (voir la [documentation Peertube](https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/translation.md)).
@ -19,3 +30,36 @@ Les traductions sont sous la forme suivante dans le fichier de langue :
- les clés JSON sont le texte en anglais (voir les clés existantes dans [le fichier de traduction français](languages/fr.json), qui fait référence)
- la valeur JSON est la traduction
- NB: il n'y a pas de fichier de traduction pour l'anglais (c'est la façon de fonctionner de Peertube)
## Traduction des paramètres du plugin
Dans la page des paramètres du plugin, il y a des chaînes de texte plus compliquées.
Elles peuvent contenir du code HTML, des retours à la ligne, ...
Il est donc compliqué de les maintenir dans des fichiers JSON.
C'est pourquoi le processus de traduction est différent pour les traductions de paramètres.
Les traductions des paramètres sont définies dans des fichiers [YAML](https://fr.wikipedia.org/wiki/YAML).
Elles n'utilisent pas l'anglais comme clé, mais des clés standardisées,
comme par exemple `list_rooms_label`.
Au contraire des chaînes applicatives standard, il y a aussi un fichier de
configuration pour l'anglais.
Ces fichiers sont dans le dossier `languages/settings`.
Si le fichier de la langue qui vous intéresse n'existe pas, vous
n'avez qu'à créer un fichier nommé `code.yml``code` est le code
de la langue (voir plus haut).
Ensuite, vous pouvez copier les clés du fichier HTML de référence
`languages/settings/en.yml`, et traduire les chaînes de texte.
Si vous ne voulez pas traduire une chaîne, vous pouvez l'ignorer,
ou utiliser `null` ou `~` comme valeur.
{{% notice warning %}}
Il peut y avoir des chaînes «assez techniques».
Si vous n'êtes pas sûr⋅e à 100% du sens, ou de la traduction,
il vaut mieux ne pas la traduire du tout ;
ainsi la version anglaise s'affichera.
{{% /notice %}}