From a7b80e843d14276a11bfbab176a04c7811fd2a78 Mon Sep 17 00:00:00 2001 From: Luc Didry Date: Wed, 21 Mar 2018 08:04:22 +0100 Subject: [PATCH] [zanata] Zanata integration --- .gitignore | 1 + .gitlab-ci.yml | 17 ++- .po2txt.sh | 15 +++ Makefile | 22 ++++ config.toml | 71 ------------ config/en.toml | 35 ++++++ config/fr.toml | 35 ++++++ content/faq.fr.md | 277 ++++++++++++++++++++++++++++++++++++--------- content/home.en.md | 7 +- content/home.fr.md | 2 + po/.gitignore | 2 + pot/.gitignore | 2 + zanata.xml | 12 ++ 13 files changed, 369 insertions(+), 129 deletions(-) create mode 100755 .po2txt.sh create mode 100644 Makefile create mode 100644 config/en.toml create mode 100644 config/fr.toml create mode 100644 po/.gitignore create mode 100644 pot/.gitignore create mode 100644 zanata.xml diff --git a/.gitignore b/.gitignore index 87174b6..24216b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /public/ +.zanata-cache/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 52adae2..b5ba0ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,13 +6,13 @@ stages: validity-check: stage: validity-check script: - - hugo + - hugo --config=config.toml,`ls config/*toml | paste -sd "," -` - find public -name index.html | xargs java -jar /opt/dist/vnu.jar deploy: stage: deploy script: - - hugo -b "https://joinpeertube.org" + - hugo --config=config.toml,`ls config/*toml | paste -sd "," -` -b "https://joinpeertube.org" - mkdir "${HOME}/.ssh" - chmod 700 "${HOME}/.ssh" - if [ ! -z ${DEPLOYEMENT_KNOWN_HOSTS+x} ]; then echo -e "${DEPLOYEMENT_KNOWN_HOSTS}" > ${HOME}/.ssh/known_hosts; fi @@ -22,13 +22,20 @@ deploy: only: - master +trads: + stage: deploy + image: framasoft/push-trad:latest + script: + - if [ ! -z ${ZANATA_CONFIG_FRAMABOT+x} ]; then mkdir -p ${HOME}/.config; echo -e "${ZANATA_CONFIG_FRAMABOT}" > ${HOME}/.config/zanata.ini; fi + - if [ ! -z ${ZANATA_CONFIG_FRAMABOT+x} ]; then make push-locales; fi + only: + - master + pages: stage: deploy script: - - hugo -b "https://$GITLAB_USER_LOGIN.frama.io/$CI_PROJECT_NAME/" + - hugo --config=config.toml,`ls config/*toml | paste -sd "," -` -b "https://$GITLAB_USER_LOGIN.frama.io/$CI_PROJECT_NAME/" - rm public/js/pathnamereplace.js artifacts: paths: - public - only: - - master diff --git a/.po2txt.sh b/.po2txt.sh new file mode 100755 index 0000000..c1a47db --- /dev/null +++ b/.po2txt.sh @@ -0,0 +1,15 @@ +#!/bin/bash +for i in po/*.po +do + j=$(echo $i | cut -d '.' -f 1,2 | cut -d '/' -f 2) + k=$(echo $i | cut -d '.' -f 1 | cut -d '/' -f 2) + l=$(echo $i | cut -d '.' -f 2 | cut -d '/' -f 2) + if [ "$k" == 'config' ] + then + po2txt -i $i --progress none -o po/$l.toml + else + po2txt -i $i --progress none -o po/$j.md + fi +done +mv po/*.md content/ +mv po/*.toml config/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..60e59d2 --- /dev/null +++ b/Makefile @@ -0,0 +1,22 @@ +all: hugo + +locales: + txt2po --progress=none -P -i content/home.fr.md -o pot/home.pot + txt2po --progress=none -P -i content/faq.fr.md -o pot/faq.pot + txt2po --progress=none -P -i config/en.toml -o pot/config.pot + +push-locales: locales + zanata-cli -q -B push + +pull-locales: + zanata-cli -q -B pull + ./.po2txt.sh + +stats-locales: + zanata-cli -q stats + +hugo: + hugo --config=config.toml,`ls config/*toml | paste -sd "," -` + +serve: + hugo serve --config=config.toml,`ls config/*toml | paste -sd "," -` diff --git a/config.toml b/config.toml index 298b825..690ccdd 100644 --- a/config.toml +++ b/config.toml @@ -89,75 +89,4 @@ highlight = "default" # weight = 3 # identifier = "showcase" # i18n menus. A menu will be added for each language to the right in the top menu. This menu will switch to the selected language. Remember to add the corresponding language in pathnamereplace.js. -[[Languages.fr.menu.switchlang]] - name = "English" - identifier = "" - weight = 4 - url = "en" - -[[Languages.en.menu.switchlang]] - name = "Français" - identifier = "" - weight = 4 - url = "fr" - [Languages] -[Languages.fr] -languageCode = "fr" -weight = 1 -title = "PeerTube" - -[[Languages.fr.menu.main]] -name = "FAQ" -identifier = "faq" -weight = 2 -title = "FAQ" -url = "/fr/faq/" - -[[Languages.fr.menu.main]] -name = "Support" -weight = 3 -identifier = "" -url = "https://framacolibri.org/c/qualite/peertube" - -[[Languages.fr.menu.main]] -name = "Documentation" -weight = 4 -identifier = "" -url = "https://peertube.frama.wiki" - -[[Languages.fr.menu.main]] -name = "Code source" -weight = 5 -identifier = "" -url = "https://github.com/Chocobozzz/PeerTube" - -[Languages.en] -languageCode = "en" -weight = 1 -title = "PeerTube" - -[[Languages.en.menu.main]] -name = "FAQ" -identifier = "faq" -weight = 2 -title = "FAQ" -url = "/en/faq/" - -[[Languages.en.menu.main]] -name = "Support" -weight = 3 -identifier = "" -url = "https://framacolibri.org/c/qualite/peertube" - -[[Languages.en.menu.main]] -name = "Documentation" -weight = 4 -identifier = "" -url = "https://peertube.frama.wiki" - -[[Languages.en.menu.main]] -name = "Source code" -weight = 5 -identifier = "" -url = "https://github.com/Chocobozzz/PeerTube" diff --git a/config/en.toml b/config/en.toml new file mode 100644 index 0000000..36ef3e6 --- /dev/null +++ b/config/en.toml @@ -0,0 +1,35 @@ +[[Languages.en.menu.switchlang]] + name = "Français" + identifier = "" + weight = 4 + url = "fr" + +[Languages.en] +languageCode = "en" +weight = 1 +title = "PeerTube" + +[[Languages.en.menu.main]] +name = "FAQ" +identifier = "faq" +weight = 2 +title = "FAQ" +url = "/en/faq/" + +[[Languages.en.menu.main]] +name = "Support" +weight = 3 +identifier = "" +url = "https://framacolibri.org/c/qualite/peertube" + +[[Languages.en.menu.main]] +name = "Documentation" +weight = 4 +identifier = "" +url = "https://peertube.frama.wiki" + +[[Languages.en.menu.main]] +name = "Source code" +weight = 5 +identifier = "" +url = "https://github.com/Chocobozzz/PeerTube" diff --git a/config/fr.toml b/config/fr.toml new file mode 100644 index 0000000..d1d3307 --- /dev/null +++ b/config/fr.toml @@ -0,0 +1,35 @@ +[[Languages.fr.menu.switchlang]] + name = "English" + identifier = "" + weight = 4 + url = "en" + +[Languages.fr] +languageCode = "fr" +weight = 1 +title = "PeerTube" + +[[Languages.fr.menu.main]] +name = "FAQ" +identifier = "faq" +weight = 2 +title = "FAQ" +url = "/fr/faq/" + +[[Languages.fr.menu.main]] +name = "Support" +weight = 3 +identifier = "" +url = "https://framacolibri.org/c/qualite/peertube" + +[[Languages.fr.menu.main]] +name = "Documentation" +weight = 4 +identifier = "" +url = "https://peertube.frama.wiki" + +[[Languages.fr.menu.main]] +name = "Code source" +weight = 5 +identifier = "" +url = "https://github.com/Chocobozzz/PeerTube" diff --git a/content/faq.fr.md b/content/faq.fr.md index c323557..5eb477a 100644 --- a/content/faq.fr.md +++ b/content/faq.fr.md @@ -9,7 +9,7 @@ type = "page" {{% grid class="row faq" %}} {{% grid class="container" %}} -{{% grid class="col-sm-12" %}} +{{< grid class="col-sm-12" >}}

Quelques questions pour découvrir PeerTube…

@@ -18,14 +18,30 @@ type = "page"
-

PeerTube est un logiciel qui s'intalle sur un serveur. Il permet de créer un site web d'hébergement et de diffusion de vidéos, un peu comme YouTube.

-

La différence avec YouTube, c'est qu'il n'est pas pensé pour créer une énorme plateforme centralisant les vidéos du monde entier sur une ferme de serveurs (qui coûte horriblement cher).

-

Au contraire, le concept de PeerTube est de créer un réseau de nombreux petits hébergeurs de vidéos, interconnectés.

+

+ +PeerTube est un logiciel qui s’intalle sur un serveur. Il permet de créer un site web d’hébergement et de diffusion de vidéos, un peu comme YouTube. + +

+

+ +La différence avec YouTube, c’est qu’il n’est pas pensé pour créer une énorme plateforme centralisant les vidéos du monde entier sur une ferme de serveurs (qui coûte horriblement cher). + +

+

+ +Au contraire, le concept de PeerTube est de créer un réseau de nombreux petits hébergeurs de vidéos, interconnectés. + +

@@ -33,18 +49,42 @@ type = "page"
-

PeerTube est unique car (à notre connaissance), c'est la seule application web d'hébergement vidéo qui allie trois avantages :

+

+ +PeerTube est unique car (à notre connaissance), c’est la seule application web d’hébergement vidéo qui allie trois avantages : + +

    -
  1. Un code ouvert (transparence) sous licence libre (éthique, respect & developpement communautaire) ;
  2. -
  3. Une fédération d'hébergements interconnectés (donc plus de choix de vidéos où qu'on aille les voir) ;
  4. -
  5. De la diffusion -et donc du visionnage- en pair-à-pair (donc pas de ralentissement quand une vidéo devient virale).
  6. +
  7. + +Un code ouvert (transparence) sous licence libre (éthique, respect & developpement communautaire) ; + +
  8. +
  9. + +Une fédération d’hébergements interconnectés (donc plus de choix de vidéos où qu’on aille les voir) ; + +
  10. +
  11. + +De la diffusion -et donc du visionnage- en pair-à-pair (donc pas de ralentissement quand une vidéo devient virale). + +
-

Liées ensemble, ces trois caractéristiques permettent de faciliter l'hébergement de vidéos côté serveur, tout en restant pratique, éthique et amusant côté internautes.

+

+ +Liées ensemble, ces trois caractéristiques permettent de faciliter l’hébergement de vidéos côté serveur, tout en restant pratique, éthique et amusant côté internautes. + +

@@ -52,17 +92,41 @@ type = "page"
-

Parce que c'est un logiciel qui respecte nos libertés fondamentales, et les garantit par une licence, donc un contrat légalement opposable.

-

Concrètement, ici, cela signifie que :

+

+ +Parce que c’est un logiciel qui respecte nos libertés fondamentales, et les garantit par une licence, donc un contrat légalement opposable. + +

+

+ +Concrètement, ici, cela signifie que : + +

    -
  • PeerTube est diffusé gratuitement, pas besoin de payer pour l'installer sur son serveur ;
  • -
  • On peut regarder sous le capot de PeerTube (son code source) : il est auditable, transparent ;
  • -
  • Son développement est communautaire, il peut s'enrichir des contributions de chacun·e.
  • +
  • + +PeerTube est diffusé gratuitement, pas besoin de payer pour l’installer sur son serveur ; + +
  • +
  • + +On peut regarder sous le capot de PeerTube (son code source) : il est auditable, transparent ; + +
  • +
  • + +Son développement est communautaire, il peut s’enrichir des contributions de chacun·e. + +
@@ -71,15 +135,35 @@ type = "page"
-

L'avantage de YouTube (et autres plateformes), c'est son catalogue vidéo : du tuto tricot aux constructions minecraft en passant par les vidéos de chatons ou de vacances… on y trouve de tout !

-

Plus le catalogue vidéo est varié, plus il y a de public intéressé, plus on y poste de vidéos… mais héberger les vidéos du monde entier coûte (très, très) cher !

-

Si l'hébergeur Tricot-PeerTube devient ami avec Chatons-Tube et Framatube, il affichera les vidéos des autres sur son site : on dilue ainsi les coûts d'hébergement tout en restant pratique et complet pour les internautes.

-

Le protocole de fédération de PeerTube sera fluide (chacun peut choisir ses hébergeurs "amis"), et basé sur ActivityPub : cela ouvrira la possibilité de se connecter avec des outils comme Mastodon ou MediaGoblin.

+

+ +L’avantage de YouTube (et autres plateformes), c’est son catalogue vidéo : du tuto tricot aux constructions minecraft en passant par les vidéos de chatons ou de vacances… on y trouve de tout ! + +

+

+ +Plus le catalogue vidéo est varié, plus il y a de public intéressé, plus on y poste de vidéos… mais héberger les vidéos du monde entier coûte (très, très) cher ! + +

+

+ +Si l’hébergeur Tricot-PeerTube devient ami avec Chatons-Tube et Framatube, il affichera les vidéos des autres sur son site : on dilue ainsi les coûts d’hébergement tout en restant pratique et complet pour les internautes. + +

+

+ +Le protocole de fédération de PeerTube sera fluide (chacun peut choisir ses hébergeurs "amis"), et basé sur ActivityPub : cela ouvrira la possibilité de se connecter avec des outils comme Mastodon ou MediaGoblin. + +

@@ -87,14 +171,30 @@ type = "page"
-

Lorsque l'on héberge un fichier lourd comme une vidéo, la plus grosse chose à craindre, c'est le succès : si une vidéo devient virale et que plein de personnes la regardent en même temps, le serveur a de gros risque de tomber !

-

La diffusion en pair-à-pair permet, grâce au protocole WebRTC, que les internautes qui regardent la même vidéo en même temps s'échangent des bouts de fichiers, ce qui soulage le serveur.

-

Il n'y a rien à faire : votre navigateur web le fait automatiquement. Si vous êtes sur mobile ou si votre réseau ne le permet pas (routeur, pare-feu, etc.), cette fonction est désactivée pour repasser à une diffusion vidéo "à l'ancienne" ;).

+

+ +Lorsque l’on héberge un fichier lourd comme une vidéo, la plus grosse chose à craindre, c’est le succès : si une vidéo devient virale et que plein de personnes la regardent en même temps, le serveur a de gros risque de tomber ! + +

+

+ +La diffusion en pair-à-pair permet, grâce au protocole WebRTC, que les internautes qui regardent la même vidéo en même temps s’échangent des bouts de fichiers, ce qui soulage le serveur. + +

+

+ +Il n’y a rien à faire : votre navigateur web le fait automatiquement. Si vous êtes sur mobile ou si votre réseau ne le permet pas (routeur, pare-feu, etc.), cette fonction est désactivée pour repasser à une diffusion vidéo "à l’ancienne" ;). + +

@@ -102,15 +202,35 @@ type = "page"
-

On peut répondre avec certitude : non !

-

En mars 2018, PeerTube a sorti sa version bêta, utilisable publiquement. Plusieurs collectifs ont monté des premiers hébergements, créant ainsi les bases de la fédération.

-

Mais PeerTube n'est pas (encore) parfait, et de nombreuses fonctionnalités manquent à l'appel. Nous comptons bien continuer de l'améliorer pour sortir une version 1 d'ici fin 2018.

-

Mars 2018 représente donc la naissance des fédérations PeerTube : plus ce logiciel sera utilisé et soutenu, plus des personnes l'utiliseront et y contriburont, et plus vite il évolura vers une alternative concrète aux plateformes telles que YouTube.

+

+ +On peut répondre avec certitude : non ! + +

+

+ +En mars 2018, PeerTube a sorti sa version bêta, utilisable publiquement. Plusieurs collectifs ont monté des premiers hébergements, créant ainsi les bases de la fédération. + +

+

+ +Mais PeerTube n’est pas (encore) parfait, et de nombreuses fonctionnalités manquent à l’appel. Nous comptons bien continuer de l’améliorer pour sortir une version 1 d’ici fin 2018. + +

+

+ +Mars 2018 représente donc la naissance des fédérations PeerTube : plus ce logiciel sera utilisé et soutenu, plus des personnes l’utiliseront et y contriburont, et plus vite il évolura vers une alternative concrète aux plateformes telles que YouTube. + +

@@ -118,14 +238,29 @@ type = "page"
-

Être libre ne signifie pas être au dessus de la loi ! Chaque hébergement PeerTube peut décider de ses propres conditions générales d'utilisation, dans le cadre de la loi dont ils dépendent.

-

Par exemple, en France, les contenus discriminants sont interdits et peuvent être signalés aux autorités. PeerTube permet aux internautes de signaler une vidéo problématique, et chaque hébergeur doit alors appliquer sa modération conformément à ses conditions générales et à la loi.

-

Le système de fédération, quant à lui, permet aux hébergeurs de décider avec qui ils veulent se mettre en réseau, ou pas, selon les types de contenus ou les politiques de modération des autres.

+

+ +Être libre ne signifie pas être au dessus de la loi ! Chaque hébergement PeerTube peut décider de ses propres conditions générales d’utilisation, dans le cadre de la loi dont ils dépendent. + +

+

+ +Par exemple, en France, les contenus discriminants sont interdits et peuvent être signalés aux autorités. PeerTube permet aux internautes de signaler une vidéo problématique, et chaque hébergeur doit alors appliquer sa modération conformément à ses conditions générales et à la loi. + +

+

+ +Le système de fédération, quant à lui, permet aux hébergeurs de décider avec qui ils veulent se mettre en réseau, ou pas, selon les types de contenus ou les politiques de modération des autres. +

@@ -133,15 +268,15 @@ type = "page"

Framatube est le nom que nous avons donné au projet de financement participatif, pour promouvoir le développement de PeerTube.

-

Dès mars 2018, lorsque PeerTube aura une version bêta utilisée publiquement, Framatube ne deviendra qu'un des hébergements PeerTube, qu'une des portes d'entrées vers ce réseau fédéré.

-

Le futur hébergment Framatube n'hébergera que des vidéos sous licences libres, traitant du logiciel libre et de sa culture. Mais il sera en relation avec d'autres hébergements qui pourront, peut-être, héberger vos vidéos.

-

Le nom Framatube vient du nom de notre association, Framasoft : nous avons voulu mettre nos moyens et notre réputation au service de ce projet car nous croyons qu'il peut radicalement changer le paysage numérique.

+

Dès mars 2018, lorsque PeerTube aura une version bêta utilisée publiquement, Framatube ne deviendra qu’un des hébergements PeerTube, qu’une des portes d’entrées vers ce réseau fédéré.

+

Le futur hébergment Framatube n’hébergera que des vidéos sous licences libres, traitant du logiciel libre et de sa culture. Mais il sera en relation avec d’autres hébergements qui pourront, peut-être, héberger vos vidéos.

+

Le nom Framatube vient du nom de notre association, Framasoft : nous avons voulu mettre nos moyens et notre réputation au service de ce projet car nous croyons qu’il peut radicalement changer le paysage numérique.

@@ -150,15 +285,35 @@ type = "page"
-

Framasoft est une petite associaiton loi 1901 basée en France, qui existe depuis 2004. Notre but est de promouvoir les libertés numériques auprès du grand public, à l'aide de projets concrets.

-

D'octobre 2014 à octobre 2017, nous avons fait campagne pour "Dégoogliser Internet", afin de démontrer que le logiciel libre peut être une alternative éthique aux services des géants du web.

-

Nous hébergons aujourd'hui plus de 30 services alternatifs qui permettent à des centaines de milliers de personnes de changer leurs habitudes numériques, le tout étant principalement financé par les dons.

-

Nous nous sommes investis dans le financement de PeerTube dans le cadre de notre nouvelle campagne Contributopia, qui vise à concrétiser les outils numériques d'une socité de la contribution.

+

+ +Framasoft est une petite associaiton loi 1901 basée en France, qui existe depuis 2004. Notre but est de promouvoir les libertés numériques auprès du grand public, à l’aide de projets concrets. + +

+

+ +D’octobre 2014 à octobre 2017, nous avons fait campagne pour "Dégoogliser Internet", afin de démontrer que le logiciel libre peut être une alternative éthique aux services des géants du web. + +

+

+ +Nous hébergons aujourd’hui plus de 30 services alternatifs qui permettent à des centaines de milliers de personnes de changer leurs habitudes numériques, le tout étant principalement financé par les dons. + +

+

+ +Nous nous sommes investis dans le financement de PeerTube dans le cadre de notre nouvelle campagne Contributopia, qui vise à concrétiser les outils numériques d’une socité de la contribution. + +

@@ -166,23 +321,43 @@ type = "page"
-

Il ira dans le budget de l'association Framasoft, comme tous les dons que nous recevons.

-

Selon la loi française dont dépend Framasoft, un don ne peut pas engager de contrepartie ni être attribué à un poste spécifique des dépenses d'une association.

-

Nous cherchons à être transparents et à rendre compte régulièrement de l'ensemble des actions que nous menons, que ce soit dans notre blog, notre newsletter, ou sur nos comptes de médias sociaux.

-

Notre comptabilité est vérifiée et validée par un commissaire aux comptes indépendant dont nous publions les rapports annuels sur cette page (voir le rapport 2016).

+

+ +Il ira dans le budget de l’association Framasoft, comme tous les dons que nous recevons. + +

+

+ +Selon la loi française dont dépend Framasoft, un don ne peut pas engager de contrepartie ni être attribué à un poste spécifique des dépenses d’une association. + +

+

+ +Nous cherchons à être transparents et à rendre compte régulièrement de l’ensemble des actions que nous menons, que ce soit dans notre blog, notre newsletter, ou sur nos comptes de médias sociaux. + +

+

+ +Notre comptabilité est vérifiée et validée par un commissaire aux comptes indépendant dont nous publions les rapports annuels sur cette page (voir le rapport 2016). + +

-[Échanger sur notre forum](https://framacolibri.org/c/qualite/peertube) +Échanger sur notre forum -{{% /grid %}} +{{< /grid >}} {{% /grid %}} {{% /grid %}} diff --git a/content/home.en.md b/content/home.en.md index 8938292..a22b9a9 100644 --- a/content/home.en.md +++ b/content/home.en.md @@ -10,6 +10,7 @@ type = "page" {{% grid class="row intro" %}} {{% grid class="container" %}} {{% grid class="col-sm-12 text-center" %}} + # Video streaming, back in your hands ## A federated video streaming platform using P2P directly in the web browser @@ -115,10 +116,12 @@ or the entire fediverse. ## Sign up {#getting-started} -Liste des instances +Instances' list

+ +
This is like picking an e-mail hosting provider: the domain will be part of your username!
@@ -162,7 +165,7 @@ to that user’s updates for the first time. {{% /grid %}} {{% grid class="col-sm-7 text-center" %}} -[![](/pt-p2p.png)](../educ-pop) +![](/pt-p2p.png) {{% /grid %}} {{% grid class="col-sm-12" %}} diff --git a/content/home.fr.md b/content/home.fr.md index 611ed28..3ae38db 100644 --- a/content/home.fr.md +++ b/content/home.fr.md @@ -10,6 +10,7 @@ type = "page" {{% grid class="row intro" %}} {{% grid class="container" %}} {{% grid class="col-sm-12 text-center" %}} + # Reprenez le contrôle de vos vidéos ## L'hébergement de vidéos décentralisé, en réseau, basé sur du logiciel libre @@ -117,6 +118,7 @@ Liste des instances sur lesquelles vous pouvez vous inscrire :
+
C'est comme choisir un fournisseur d'email : le nom de domaine fera partie de votre identifiant !
{{% /grid %}} diff --git a/po/.gitignore b/po/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/po/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/pot/.gitignore b/pot/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/pot/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/zanata.xml b/zanata.xml new file mode 100644 index 0000000..a1a56f8 --- /dev/null +++ b/zanata.xml @@ -0,0 +1,12 @@ + + + https://trad.framasoft.org/zanata/ + join-peertube + master + gettext + pot + po + + {filename}.{locale_with_underscore}.po + +